@redneckz/wildless-cms-uni-blocks 0.14.738 → 0.14.740

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 (245) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +44 -47
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/CreditCardForm/CreditCardFormStep.d.ts +0 -1
  5. package/bundle/components/CreditForm/CreditFormStep.d.ts +0 -1
  6. package/bundle/services/retail/model/LeadFormState.d.ts +1 -1
  7. package/bundle/services/retail/model/NameFieldDef.d.ts +6 -0
  8. package/bundle/services/retail/model/RetailFormContent.d.ts +1 -1
  9. package/bundle/services/retail/utils/calculateInputs.d.ts +1 -2
  10. package/bundle/ui-kit/FormField/BaseFieldDef.d.ts +8 -0
  11. package/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -4
  12. package/bundle/ui-kit/FormField/getField.d.ts +2 -2
  13. package/bundle/ui-kit/FormField/getObjectValidator.d.ts +2 -2
  14. package/bundle/ui-kit/FormField/shouldRenderField.d.ts +6 -0
  15. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  16. package/dist/components/ApplicationLeadForm/GroupedConsents.js +1 -1
  17. package/dist/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  18. package/dist/components/ApplicationLeadForm/renderInputs.js +3 -3
  19. package/dist/components/ApplicationLeadForm/renderInputs.js.map +1 -1
  20. package/dist/components/CreditCardForm/CreditCardForm.js +2 -1
  21. package/dist/components/CreditCardForm/CreditCardForm.js.map +1 -1
  22. package/dist/components/CreditCardForm/CreditCardFormStep.d.ts +0 -1
  23. package/dist/components/CreditCardForm/CreditCardFormStep.js +3 -4
  24. package/dist/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
  25. package/dist/components/CreditCardForm/renderInputs.js.map +1 -1
  26. package/dist/components/CreditCardForm/useCreditCardFormAPI.js +1 -4
  27. package/dist/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  28. package/dist/components/CreditForm/CreditForm.js +2 -1
  29. package/dist/components/CreditForm/CreditForm.js.map +1 -1
  30. package/dist/components/CreditForm/CreditFormStep.d.ts +0 -1
  31. package/dist/components/CreditForm/CreditFormStep.js +3 -4
  32. package/dist/components/CreditForm/CreditFormStep.js.map +1 -1
  33. package/dist/components/CreditForm/renderInputs.js.map +1 -1
  34. package/dist/services/retail/model/LeadFormState.d.ts +1 -1
  35. package/dist/services/retail/model/NameFieldDef.d.ts +6 -0
  36. package/dist/services/retail/model/NameFieldDef.js +2 -0
  37. package/dist/services/retail/model/NameFieldDef.js.map +1 -0
  38. package/dist/services/retail/model/RetailFormContent.d.ts +1 -1
  39. package/dist/services/retail/utils/calculateInputs.d.ts +1 -2
  40. package/dist/services/retail/utils/calculateInputs.js.map +1 -1
  41. package/dist/ui-kit/FormField/BaseFieldDef.d.ts +8 -0
  42. package/dist/ui-kit/FormField/BaseFieldDef.js +2 -0
  43. package/dist/ui-kit/FormField/BaseFieldDef.js.map +1 -0
  44. package/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -4
  45. package/dist/ui-kit/FormField/getField.d.ts +2 -2
  46. package/dist/ui-kit/FormField/getField.js +3 -3
  47. package/dist/ui-kit/FormField/getField.js.map +1 -1
  48. package/dist/ui-kit/FormField/getObjectValidator.d.ts +2 -2
  49. package/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  50. package/dist/ui-kit/FormField/shouldRenderField.d.ts +6 -0
  51. package/dist/ui-kit/FormField/{isRenderField.js → shouldRenderField.js} +4 -4
  52. package/dist/ui-kit/FormField/shouldRenderField.js.map +1 -0
  53. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  54. package/lib/components/ApplicationLeadForm/GroupedConsents.js +1 -1
  55. package/lib/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  56. package/lib/components/ApplicationLeadForm/renderInputs.js +3 -3
  57. package/lib/components/ApplicationLeadForm/renderInputs.js.map +1 -1
  58. package/lib/components/CreditCardForm/CreditCardForm.js +2 -1
  59. package/lib/components/CreditCardForm/CreditCardForm.js.map +1 -1
  60. package/lib/components/CreditCardForm/CreditCardFormStep.d.ts +0 -1
  61. package/lib/components/CreditCardForm/CreditCardFormStep.js +3 -4
  62. package/lib/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
  63. package/lib/components/CreditCardForm/renderInputs.js.map +1 -1
  64. package/lib/components/CreditCardForm/useCreditCardFormAPI.js +1 -4
  65. package/lib/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  66. package/lib/components/CreditForm/CreditForm.js +2 -1
  67. package/lib/components/CreditForm/CreditForm.js.map +1 -1
  68. package/lib/components/CreditForm/CreditFormStep.d.ts +0 -1
  69. package/lib/components/CreditForm/CreditFormStep.js +3 -4
  70. package/lib/components/CreditForm/CreditFormStep.js.map +1 -1
  71. package/lib/components/CreditForm/renderInputs.js.map +1 -1
  72. package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +1 -1
  73. package/lib/services/retail/model/LeadFormState.d.ts +1 -1
  74. package/lib/services/retail/model/NameFieldDef.d.ts +6 -0
  75. package/lib/services/retail/model/NameFieldDef.js +2 -0
  76. package/lib/services/retail/model/NameFieldDef.js.map +1 -0
  77. package/lib/services/retail/model/RetailFormContent.d.ts +1 -1
  78. package/lib/services/retail/utils/calculateInputs.d.ts +1 -2
  79. package/lib/services/retail/utils/calculateInputs.js.map +1 -1
  80. package/lib/ui-kit/FormField/BaseFieldDef.d.ts +8 -0
  81. package/lib/ui-kit/FormField/BaseFieldDef.js +2 -0
  82. package/lib/ui-kit/FormField/BaseFieldDef.js.map +1 -0
  83. package/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -4
  84. package/lib/ui-kit/FormField/getField.d.ts +2 -2
  85. package/lib/ui-kit/FormField/getField.js +3 -3
  86. package/lib/ui-kit/FormField/getField.js.map +1 -1
  87. package/lib/ui-kit/FormField/getObjectValidator.d.ts +2 -2
  88. package/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  89. package/lib/ui-kit/FormField/shouldRenderField.d.ts +6 -0
  90. package/lib/ui-kit/FormField/{isRenderField.js → shouldRenderField.js} +2 -2
  91. package/lib/ui-kit/FormField/shouldRenderField.js.map +1 -0
  92. package/mobile/bundle/bundle.umd.js +44 -47
  93. package/mobile/bundle/bundle.umd.min.js +1 -1
  94. package/mobile/bundle/components/CreditCardForm/CreditCardFormStep.d.ts +0 -1
  95. package/mobile/bundle/components/CreditForm/CreditFormStep.d.ts +0 -1
  96. package/mobile/bundle/services/retail/model/LeadFormState.d.ts +1 -1
  97. package/mobile/bundle/services/retail/model/NameFieldDef.d.ts +6 -0
  98. package/mobile/bundle/services/retail/model/RetailFormContent.d.ts +1 -1
  99. package/mobile/bundle/services/retail/utils/calculateInputs.d.ts +1 -2
  100. package/mobile/bundle/ui-kit/FormField/BaseFieldDef.d.ts +8 -0
  101. package/mobile/bundle/ui-kit/FormField/NameFieldDef.d.ts +1 -4
  102. package/mobile/bundle/ui-kit/FormField/getField.d.ts +2 -2
  103. package/mobile/bundle/ui-kit/FormField/getObjectValidator.d.ts +2 -2
  104. package/mobile/bundle/ui-kit/FormField/shouldRenderField.d.ts +6 -0
  105. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  106. package/mobile/dist/components/ApplicationLeadForm/GroupedConsents.js +1 -1
  107. package/mobile/dist/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  108. package/mobile/dist/components/ApplicationLeadForm/renderInputs.js +3 -3
  109. package/mobile/dist/components/ApplicationLeadForm/renderInputs.js.map +1 -1
  110. package/mobile/dist/components/CreditCardForm/CreditCardForm.js +2 -1
  111. package/mobile/dist/components/CreditCardForm/CreditCardForm.js.map +1 -1
  112. package/mobile/dist/components/CreditCardForm/CreditCardFormStep.d.ts +0 -1
  113. package/mobile/dist/components/CreditCardForm/CreditCardFormStep.js +3 -4
  114. package/mobile/dist/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
  115. package/mobile/dist/components/CreditCardForm/renderInputs.js.map +1 -1
  116. package/mobile/dist/components/CreditCardForm/useCreditCardFormAPI.js +1 -4
  117. package/mobile/dist/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  118. package/mobile/dist/components/CreditForm/CreditForm.js +2 -1
  119. package/mobile/dist/components/CreditForm/CreditForm.js.map +1 -1
  120. package/mobile/dist/components/CreditForm/CreditFormStep.d.ts +0 -1
  121. package/mobile/dist/components/CreditForm/CreditFormStep.js +3 -4
  122. package/mobile/dist/components/CreditForm/CreditFormStep.js.map +1 -1
  123. package/mobile/dist/components/CreditForm/renderInputs.js.map +1 -1
  124. package/mobile/dist/services/retail/model/LeadFormState.d.ts +1 -1
  125. package/mobile/dist/services/retail/model/NameFieldDef.d.ts +6 -0
  126. package/mobile/dist/services/retail/model/NameFieldDef.js +2 -0
  127. package/mobile/dist/services/retail/model/NameFieldDef.js.map +1 -0
  128. package/mobile/dist/services/retail/model/RetailFormContent.d.ts +1 -1
  129. package/mobile/dist/services/retail/utils/calculateInputs.d.ts +1 -2
  130. package/mobile/dist/services/retail/utils/calculateInputs.js.map +1 -1
  131. package/mobile/dist/ui-kit/FormField/BaseFieldDef.d.ts +8 -0
  132. package/mobile/dist/ui-kit/FormField/BaseFieldDef.js +2 -0
  133. package/mobile/dist/ui-kit/FormField/BaseFieldDef.js.map +1 -0
  134. package/mobile/dist/ui-kit/FormField/NameFieldDef.d.ts +1 -4
  135. package/mobile/dist/ui-kit/FormField/getField.d.ts +2 -2
  136. package/mobile/dist/ui-kit/FormField/getField.js +3 -3
  137. package/mobile/dist/ui-kit/FormField/getField.js.map +1 -1
  138. package/mobile/dist/ui-kit/FormField/getObjectValidator.d.ts +2 -2
  139. package/mobile/dist/ui-kit/FormField/getObjectValidator.js.map +1 -1
  140. package/mobile/dist/ui-kit/FormField/shouldRenderField.d.ts +6 -0
  141. package/mobile/dist/ui-kit/FormField/{isRenderField.js → shouldRenderField.js} +4 -4
  142. package/mobile/dist/ui-kit/FormField/shouldRenderField.js.map +1 -0
  143. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  144. package/mobile/lib/components/ApplicationLeadForm/GroupedConsents.js +1 -1
  145. package/mobile/lib/components/ApplicationLeadForm/GroupedConsents.js.map +1 -1
  146. package/mobile/lib/components/ApplicationLeadForm/renderInputs.js +3 -3
  147. package/mobile/lib/components/ApplicationLeadForm/renderInputs.js.map +1 -1
  148. package/mobile/lib/components/CreditCardForm/CreditCardForm.js +2 -1
  149. package/mobile/lib/components/CreditCardForm/CreditCardForm.js.map +1 -1
  150. package/mobile/lib/components/CreditCardForm/CreditCardFormStep.d.ts +0 -1
  151. package/mobile/lib/components/CreditCardForm/CreditCardFormStep.js +3 -4
  152. package/mobile/lib/components/CreditCardForm/CreditCardFormStep.js.map +1 -1
  153. package/mobile/lib/components/CreditCardForm/renderInputs.js.map +1 -1
  154. package/mobile/lib/components/CreditCardForm/useCreditCardFormAPI.js +1 -4
  155. package/mobile/lib/components/CreditCardForm/useCreditCardFormAPI.js.map +1 -1
  156. package/mobile/lib/components/CreditForm/CreditForm.js +2 -1
  157. package/mobile/lib/components/CreditForm/CreditForm.js.map +1 -1
  158. package/mobile/lib/components/CreditForm/CreditFormStep.d.ts +0 -1
  159. package/mobile/lib/components/CreditForm/CreditFormStep.js +3 -4
  160. package/mobile/lib/components/CreditForm/CreditFormStep.js.map +1 -1
  161. package/mobile/lib/components/CreditForm/renderInputs.js.map +1 -1
  162. package/mobile/lib/services/retail/model/LeadFormState.d.ts +1 -1
  163. package/mobile/lib/services/retail/model/NameFieldDef.d.ts +6 -0
  164. package/mobile/lib/services/retail/model/NameFieldDef.js +2 -0
  165. package/mobile/lib/services/retail/model/NameFieldDef.js.map +1 -0
  166. package/mobile/lib/services/retail/model/RetailFormContent.d.ts +1 -1
  167. package/mobile/lib/services/retail/utils/calculateInputs.d.ts +1 -2
  168. package/mobile/lib/services/retail/utils/calculateInputs.js.map +1 -1
  169. package/mobile/lib/ui-kit/FormField/BaseFieldDef.d.ts +8 -0
  170. package/mobile/lib/ui-kit/FormField/BaseFieldDef.js +2 -0
  171. package/mobile/lib/ui-kit/FormField/BaseFieldDef.js.map +1 -0
  172. package/mobile/lib/ui-kit/FormField/NameFieldDef.d.ts +1 -4
  173. package/mobile/lib/ui-kit/FormField/getField.d.ts +2 -2
  174. package/mobile/lib/ui-kit/FormField/getField.js +3 -3
  175. package/mobile/lib/ui-kit/FormField/getField.js.map +1 -1
  176. package/mobile/lib/ui-kit/FormField/getObjectValidator.d.ts +2 -2
  177. package/mobile/lib/ui-kit/FormField/getObjectValidator.js.map +1 -1
  178. package/mobile/lib/ui-kit/FormField/shouldRenderField.d.ts +6 -0
  179. package/mobile/lib/ui-kit/FormField/{isRenderField.js → shouldRenderField.js} +2 -2
  180. package/mobile/lib/ui-kit/FormField/shouldRenderField.js.map +1 -0
  181. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +1 -1
  182. package/mobile/src/components/ApplicationLeadForm/GroupedConsents.tsx +1 -1
  183. package/mobile/src/components/ApplicationLeadForm/renderInputs.tsx +6 -4
  184. package/mobile/src/components/CreditCardForm/CreditCardForm.tsx +13 -9
  185. package/mobile/src/components/CreditCardForm/CreditCardFormStep.tsx +3 -9
  186. package/mobile/src/components/CreditCardForm/renderInputs.tsx +3 -1
  187. package/mobile/src/components/CreditCardForm/useCreditCardFormAPI.tsx +1 -4
  188. package/mobile/src/components/CreditForm/CreditForm.tsx +14 -10
  189. package/mobile/src/components/CreditForm/CreditFormStep.tsx +4 -9
  190. package/mobile/src/components/CreditForm/renderInputs.tsx +1 -1
  191. package/mobile/src/services/retail/model/LeadFormState.ts +2 -2
  192. package/mobile/src/services/retail/model/NameFieldDef.ts +89 -0
  193. package/mobile/src/services/retail/model/RetailFormContent.ts +1 -1
  194. package/mobile/src/services/retail/utils/calculateInputs.ts +6 -7
  195. package/mobile/src/ui-kit/FormField/BaseFieldDef.ts +8 -0
  196. package/mobile/src/ui-kit/FormField/NameFieldDef.ts +1 -81
  197. package/mobile/src/ui-kit/FormField/getField.tsx +10 -9
  198. package/mobile/src/ui-kit/FormField/getObjectValidator.tsx +5 -5
  199. package/mobile/src/ui-kit/FormField/{isRenderField.tsx → shouldRenderField.tsx} +3 -3
  200. package/package.json +1 -1
  201. package/src/components/ApplicationForm/ApplicationForm.tsx +1 -1
  202. package/src/components/ApplicationLeadForm/GroupedConsents.tsx +1 -1
  203. package/src/components/ApplicationLeadForm/renderInputs.tsx +6 -4
  204. package/src/components/CreditCardForm/CreditCardForm.tsx +13 -9
  205. package/src/components/CreditCardForm/CreditCardFormStep.tsx +3 -9
  206. package/src/components/CreditCardForm/renderInputs.tsx +3 -1
  207. package/src/components/CreditCardForm/useCreditCardFormAPI.tsx +1 -4
  208. package/src/components/CreditForm/CreditForm.tsx +14 -10
  209. package/src/components/CreditForm/CreditFormStep.tsx +4 -9
  210. package/src/components/CreditForm/renderInputs.tsx +1 -1
  211. package/src/services/retail/model/LeadFormState.ts +2 -2
  212. package/src/services/retail/model/NameFieldDef.ts +89 -0
  213. package/src/services/retail/model/RetailFormContent.ts +1 -1
  214. package/src/services/retail/utils/calculateInputs.ts +6 -7
  215. package/src/ui-kit/FormField/BaseFieldDef.ts +8 -0
  216. package/src/ui-kit/FormField/NameFieldDef.ts +1 -81
  217. package/src/ui-kit/FormField/getField.tsx +10 -9
  218. package/src/ui-kit/FormField/getObjectValidator.tsx +5 -5
  219. package/src/ui-kit/FormField/{isRenderField.tsx → shouldRenderField.tsx} +3 -3
  220. package/bundle/ui-kit/FormField/dataSources.d.ts +0 -3
  221. package/bundle/ui-kit/FormField/isRenderField.d.ts +0 -6
  222. package/dist/ui-kit/FormField/dataSources.d.ts +0 -3
  223. package/dist/ui-kit/FormField/dataSources.js +0 -6
  224. package/dist/ui-kit/FormField/dataSources.js.map +0 -1
  225. package/dist/ui-kit/FormField/isRenderField.d.ts +0 -6
  226. package/dist/ui-kit/FormField/isRenderField.js.map +0 -1
  227. package/lib/ui-kit/FormField/dataSources.d.ts +0 -3
  228. package/lib/ui-kit/FormField/dataSources.js +0 -4
  229. package/lib/ui-kit/FormField/dataSources.js.map +0 -1
  230. package/lib/ui-kit/FormField/isRenderField.d.ts +0 -6
  231. package/lib/ui-kit/FormField/isRenderField.js.map +0 -1
  232. package/mobile/bundle/ui-kit/FormField/dataSources.d.ts +0 -3
  233. package/mobile/bundle/ui-kit/FormField/isRenderField.d.ts +0 -6
  234. package/mobile/dist/ui-kit/FormField/dataSources.d.ts +0 -3
  235. package/mobile/dist/ui-kit/FormField/dataSources.js +0 -6
  236. package/mobile/dist/ui-kit/FormField/dataSources.js.map +0 -1
  237. package/mobile/dist/ui-kit/FormField/isRenderField.d.ts +0 -6
  238. package/mobile/dist/ui-kit/FormField/isRenderField.js.map +0 -1
  239. package/mobile/lib/ui-kit/FormField/dataSources.d.ts +0 -3
  240. package/mobile/lib/ui-kit/FormField/dataSources.js +0 -4
  241. package/mobile/lib/ui-kit/FormField/dataSources.js.map +0 -1
  242. package/mobile/lib/ui-kit/FormField/isRenderField.d.ts +0 -6
  243. package/mobile/lib/ui-kit/FormField/isRenderField.js.map +0 -1
  244. package/mobile/src/ui-kit/FormField/dataSources.ts +0 -3
  245. package/src/ui-kit/FormField/dataSources.ts +0 -3
@@ -13,4 +13,6 @@ export interface RenderInputsProps {
13
13
  const InputsMap = { ...InputsRetailMap, ...InputRetailCardMap };
14
14
 
15
15
  export const renderInputs = ({ field, inputs, params }: RenderInputsProps) =>
16
- inputs.map(getField(field, params, InputsMap));
16
+ inputs.map(
17
+ getField<FieldRetailDef>(field, params, InputsMap),
18
+ );
@@ -63,10 +63,7 @@ export const useCreditCardFormAPI = ({
63
63
  resetForm(response);
64
64
  }
65
65
 
66
- onNextStep();
67
- if (isFinalStep) {
68
- onFinish?.();
69
- }
66
+ isFinalStep ? onFinish?.() : onNextStep();
70
67
  } catch (ex) {
71
68
  // Do nothing
72
69
  } finally {
@@ -7,6 +7,7 @@ import { UniBlock } from '../../UniBlock/UniBlock';
7
7
  import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
8
8
  import { type CreditFormContent } from './CreditFormContent';
9
9
  import { CreditFormProgress } from './CreditFormProgress';
10
+ import { CreditFormStatusTracker } from './CreditFormStatusTracker';
10
11
  import { CreditFormStep } from './CreditFormStep';
11
12
  import { stepsSectionsMap } from './creditFormStepsData';
12
13
  import { type ProgramsSourceProps } from './ProgramsSourceProps';
@@ -60,16 +61,19 @@ export const CreditForm = UniBlock<CreditFormProps>(({ className, programsSource
60
61
  <CreditFormProgress stepsTitles={STEP_TITLES} step={step} totalSteps={STEPS} />
61
62
  )}
62
63
  <div className="py-lg px-5xl mt-2xs bg-white col-span-12">
63
- <CreditFormStep
64
- key={String(step)}
65
- step={step}
66
- sections={sections}
67
- isFormFinished={isFormFinished}
68
- programsSource={programsSource as ProgramsSourceProps}
69
- onNextStep={handleNextStep}
70
- onPrevStep={handlePrevStep}
71
- onFinish={handleFinish}
72
- />
64
+ {isFormFinished ? (
65
+ <CreditFormStatusTracker />
66
+ ) : (
67
+ <CreditFormStep
68
+ key={String(step)}
69
+ step={step}
70
+ sections={sections}
71
+ programsSource={programsSource as ProgramsSourceProps}
72
+ onNextStep={handleNextStep}
73
+ onPrevStep={handlePrevStep}
74
+ onFinish={handleFinish}
75
+ />
76
+ )}
73
77
  </div>
74
78
  </div>
75
79
  </BlockWrapper>
@@ -2,12 +2,10 @@ import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useCallback, useMemo } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { useForm } from '../../hooks/useForm/useForm';
4
4
  import { useRetailFormStore } from '../../hooks/useRetailFormStore';
5
- import { type SectionsProps, type SectionsRetailProps } from '../../model/InputSectionsType';
5
+ import { type SectionsRetailProps } from '../../model/InputSectionsType';
6
6
  import type { LeadFormState } from '../../services/retail/model/LeadFormState';
7
- import { type FieldRetailDef } from '../../services/retail/model/RetailFormContent';
8
7
  import { calculateInputs } from '../../services/retail/utils/calculateInputs';
9
8
  import { getFormValidator } from '../../ui-kit/FormField/getObjectValidator';
10
- import { CreditFormStatusTracker } from './CreditFormStatusTracker';
11
9
  import { type ProgramsSourceProps } from './ProgramsSourceProps';
12
10
  import { renderStep } from './renderStep';
13
11
  import { StepsNavigationButtons } from './StepsNavigationButtons';
@@ -16,7 +14,6 @@ import { useCreditFormAPI } from './useCreditFormAPI';
16
14
  export interface CreditFormStepProps {
17
15
  step: number;
18
16
  sections: SectionsRetailProps[];
19
- isFormFinished?: boolean;
20
17
  programsSource?: ProgramsSourceProps;
21
18
  onNextStep: () => void;
22
19
  onPrevStep: () => void;
@@ -24,12 +21,12 @@ export interface CreditFormStepProps {
24
21
  }
25
22
 
26
23
  export const CreditFormStep = JSX<CreditFormStepProps>(
27
- ({ step, sections, isFormFinished, programsSource, onPrevStep, onNextStep, onFinish }) => {
24
+ ({ step, sections, programsSource, onPrevStep, onNextStep, onFinish }) => {
28
25
  const { programId } = useRetailFormStore();
29
26
  const calcData = programsSource?.[programId ?? '']; // Need normalizator useForm, to be save defaultParams
30
27
 
31
28
  const inputs = useMemo(
32
- () => (sections?.flatMap((_: SectionsProps) => _?.inputs) || []) as FieldRetailDef[],
29
+ () => sections?.flatMap((_: SectionsRetailProps) => _?.inputs ?? []),
33
30
  [sections],
34
31
  );
35
32
 
@@ -51,9 +48,7 @@ export const CreditFormStep = JSX<CreditFormStepProps>(
51
48
  onSubmit,
52
49
  });
53
50
 
54
- return isFormFinished ? (
55
- <CreditFormStatusTracker />
56
- ) : (
51
+ return (
57
52
  <form onSubmit={handleSubmit} className="space-y-m">
58
53
  {renderStep({ sections, field, step, params: { calcData } })}
59
54
  <StepsNavigationButtons step={step} isSending={isSending} onPrevStep={onPrevStep} />
@@ -11,4 +11,4 @@ export interface RenderInputsProps {
11
11
  }
12
12
 
13
13
  export const renderInputs = ({ field, inputs, params }: RenderInputsProps) =>
14
- inputs.map(getField(field, params, { ...InputsRetailMap }));
14
+ inputs.map(getField<FieldRetailDef>(field, params, { ...InputsRetailMap }));
@@ -148,6 +148,6 @@ export interface LeadFormState extends FormRetailConsents, FormStateDeliveryType
148
148
  loanAmount?: number;
149
149
  creditPeriod?: number;
150
150
  paymentTypeCd?: PaymentType;
151
+ // TODO: Only fields with value should be in state. Currently, for compatibility, all fields from NameFieldDef are listed here
152
+ infoCard?: string;
151
153
  }
152
-
153
- export { type NameFieldDef } from '../../../ui-kit/FormField/NameFieldDef';
@@ -0,0 +1,89 @@
1
+ type NameFieldApplicationBaseDef =
2
+ | 'surname'
3
+ | 'name'
4
+ | 'middleName'
5
+ | 'limitedBirthday'
6
+ | 'email'
7
+ | 'phone'
8
+ | 'inn';
9
+
10
+ type NameFieldConsentDef =
11
+ | 'processPersonalDataFlg'
12
+ | 'consentProviderFlg'
13
+ | 'consentInformFlg'
14
+ | 'consentPfrFlg'
15
+ | 'consentOthersFlg';
16
+
17
+ type NameFieldCreditCardDef =
18
+ | 'addressCourier'
19
+ | 'paymentSystem'
20
+ | 'currency'
21
+ | 'cardCategory'
22
+ | 'codeWord'
23
+ | 'confirmationIncome'
24
+ | 'methodObtain'
25
+ | 'deliveryDate';
26
+
27
+ type NameFieldRetailDef =
28
+ | 'organization'
29
+ | 'organizationAddress'
30
+ | 'organizationPhone'
31
+ | 'organizationName'
32
+ | 'legalForm'
33
+ | 'generalSeniority'
34
+ | 'lastJobExperience'
35
+ | 'experience5Years'
36
+ | 'jobsNumber'
37
+ | 'beginDate'
38
+ | 'addressFact'
39
+ | 'addressRegistration'
40
+ | 'addressRetail'
41
+ | 'addressMatch'
42
+ | 'sex'
43
+ | 'birthPlace'
44
+ | 'education'
45
+ | 'housing'
46
+ | 'amountWorkers'
47
+ | 'employment'
48
+ | 'employerActivities'
49
+ | 'employerOrganization'
50
+ | 'positionOrganization'
51
+ | 'familyStatus'
52
+ | 'familyMembers'
53
+ | 'children'
54
+ | 'dependents'
55
+ | 'totalIncome'
56
+ | 'expenses'
57
+ | 'snils'
58
+ | 'conscription'
59
+ | 'armyIdFlg'
60
+ | 'dulSerie'
61
+ | 'dulNumber'
62
+ | 'dulIssueDateField'
63
+ | 'dulSubdivisionCode'
64
+ | 'dulIssuedBy'
65
+ | 'participantDateRegistration'
66
+ | 'retirementIncome'
67
+ | 'rentalIncome'
68
+ | 'otherIncome'
69
+ | 'otherPayments'
70
+ | 'additionalIncome'
71
+ | 'wages'
72
+ | 'mandatoryPayments'
73
+ | 'disablePeopleFlg'
74
+ | 'bankruptcyFlg'
75
+ | 'shareholderFlg'
76
+ | 'legalEntityName'
77
+ | 'creditInRshbCd'
78
+ | 'bankEmployeeCode'
79
+ | 'partInBusiness'
80
+ | 'regionRetail'
81
+ | 'calculator'
82
+ | 'infoCard'
83
+ | 'comment';
84
+
85
+ export type NameFieldDef =
86
+ | NameFieldApplicationBaseDef
87
+ | NameFieldConsentDef
88
+ | NameFieldRetailDef
89
+ | NameFieldCreditCardDef;
@@ -1,5 +1,5 @@
1
1
  import { type LabelProps, type LinkButtonVersion, type TextProps } from '../external/types';
2
- import { type NameFieldDef } from './LeadFormState';
2
+ import { type NameFieldDef } from './NameFieldDef';
3
3
 
4
4
  interface Required {
5
5
  /** @title Обязательно для заполнения */
@@ -1,4 +1,3 @@
1
- import { type FieldDef } from '../../../components/ApplicationForm/ApplicationFormContent';
2
1
  import { type Option } from '../../../ui-kit/Select/Option';
3
2
  import { type LeadFormState } from '../model/LeadFormState';
4
3
  import { type FieldRetailDef } from '../model/RetailFormContent';
@@ -28,24 +27,24 @@ export const calculateInputs = (getValue: GetValue) => (inputs: FieldRetailDef[]
28
27
  const checkIsRetiree = (step: number, getValue: GetValue) =>
29
28
  step === 2 && getValue('employment')?.key === 'RETIREE';
30
29
 
31
- const checkBusinessOwner = ({ name }: FieldDef, getValue: GetValue) =>
30
+ const checkBusinessOwner = ({ name }: FieldRetailDef, getValue: GetValue) =>
32
31
  name === 'partInBusiness' && getValue('positionOrganization')?.key !== 'BUSINESS_OWNER';
33
32
 
34
- const checkAddressFillFromESIA = ({ name, filledByEsia }: FieldDef, getValue: GetValue) =>
33
+ const checkAddressFillFromESIA = ({ name, filledByEsia }: FieldRetailDef, getValue: GetValue) =>
35
34
  name?.startsWith('address') && getValue('esiaAccountTypeCd')?.key && filledByEsia;
36
35
 
37
- const checkAddressFact = ({ name }: FieldDef, getValue: GetValue) =>
36
+ const checkAddressFact = ({ name }: FieldRetailDef, getValue: GetValue) =>
38
37
  name === 'addressFact' && getValue('addressMatch');
39
38
 
40
- export const checkCondition = ({ condition }: FieldDef, getValue: GetValue) =>
39
+ export const checkCondition = ({ condition }: FieldRetailDef, getValue: GetValue) =>
41
40
  condition?.name &&
42
41
  condition?.values?.some((_) => {
43
- const dataValue = getValue(condition?.name as keyof LeadFormState);
42
+ const dataValue = getValue(condition?.name);
44
43
 
45
44
  return _ !== ((dataValue as Option)?.key ?? dataValue);
46
45
  });
47
46
 
48
- const checkConsentPfrFlg = ({ name }: FieldDef, getValue: GetValue) =>
47
+ const checkConsentPfrFlg = ({ name }: FieldRetailDef, getValue: GetValue) =>
49
48
  name === 'snils' && isSnilsRequired(getValue);
50
49
 
51
50
  const isSnilsRequired = (getValue: GetValue) =>
@@ -0,0 +1,8 @@
1
+ export interface BaseFieldDef {
2
+ name?: string;
3
+ required?: boolean;
4
+ condition?: {
5
+ name: string;
6
+ values: string[];
7
+ };
8
+ }
@@ -1,79 +1,3 @@
1
- type NameFieldConsentDef =
2
- | 'processPersonalDataFlg'
3
- | 'consentProviderFlg'
4
- | 'consentInformFlg'
5
- | 'consentPfrFlg'
6
- | 'consentOthersFlg';
7
-
8
- type NameFieldCreditCardDef =
9
- | 'addressCourier'
10
- | 'paymentSystem'
11
- | 'currency'
12
- | 'cardCategory'
13
- | 'codeWord'
14
- | 'confirmationIncome'
15
- | 'methodObtain'
16
- | 'deliveryDate';
17
-
18
- type NameFieldRetailDef =
19
- | 'organization'
20
- | 'organizationAddress'
21
- | 'organizationPhone'
22
- | 'organizationName'
23
- | 'legalForm'
24
- | 'generalSeniority'
25
- | 'lastJobExperience'
26
- | 'experience5Years'
27
- | 'jobsNumber'
28
- | 'beginDate'
29
- | 'addressFact'
30
- | 'addressRegistration'
31
- | 'addressRetail'
32
- | 'addressMatch'
33
- | 'sex'
34
- | 'limitedBirthday'
35
- | 'birthPlace'
36
- | 'education'
37
- | 'housing'
38
- | 'amountWorkers'
39
- | 'employment'
40
- | 'employerActivities'
41
- | 'employerOrganization'
42
- | 'positionOrganization'
43
- | 'familyStatus'
44
- | 'familyMembers'
45
- | 'children'
46
- | 'dependents'
47
- | 'totalIncome'
48
- | 'expenses'
49
- | 'snils'
50
- | 'conscription'
51
- | 'armyIdFlg'
52
- | 'dulSerie'
53
- | 'dulNumber'
54
- | 'dulIssueDateField'
55
- | 'dulSubdivisionCode'
56
- | 'dulIssuedBy'
57
- | 'participantDateRegistration'
58
- | 'retirementIncome'
59
- | 'rentalIncome'
60
- | 'otherIncome'
61
- | 'otherPayments'
62
- | 'additionalIncome'
63
- | 'wages'
64
- | 'mandatoryPayments'
65
- | 'incomeAverage'
66
- | 'disablePeopleFlg'
67
- | 'bankruptcyFlg'
68
- | 'shareholderFlg'
69
- | 'legalEntityName'
70
- | 'creditInRshbCd'
71
- | 'bankEmployeeCode'
72
- | 'partInBusiness'
73
- | 'regionRetail'
74
- | 'calculator'
75
- | 'infoCard';
76
-
77
1
  type NameFieldApplicationDef =
78
2
  | 'surname'
79
3
  | 'name'
@@ -110,8 +34,4 @@ type NameFieldApplicationDef =
110
34
  | 'consentToReceiveMaterials'
111
35
  | 'consentDataProcessing';
112
36
 
113
- export type NameFieldDef =
114
- | NameFieldApplicationDef
115
- | NameFieldRetailDef
116
- | NameFieldCreditCardDef
117
- | NameFieldConsentDef;
37
+ export type NameFieldDef = NameFieldApplicationDef;
@@ -1,9 +1,8 @@
1
- //TODO: Убрать обращение к компонентам т.к. ApplicationForm
2
- import { type FieldDef } from '../../components/ApplicationForm/ApplicationFormContent';
3
1
  import { type FormFieldRegisterer } from '../../hooks/useForm/useForm';
4
2
  import { type FormTypeFieldDef } from '../../model/FormTypeFieldDef';
5
3
  import { type VNode } from '../../model/VNode';
6
4
  import { InputControl } from '../Input/InputControl';
5
+ import { type BaseFieldDef } from './BaseFieldDef';
7
6
  import { type CustomFieldProps } from './CustomFieldProps';
8
7
  import { AcquiringField } from './Fields/AcquiringField';
9
8
  import { AddressBranchField } from './Fields/AddressBranchField';
@@ -37,7 +36,7 @@ import { TermField } from './Fields/TermField';
37
36
  import { UltraPremiumField } from './Fields/UltraPremiumField';
38
37
  import { VedField } from './Fields/VedField';
39
38
  import { getPremium } from './getPremium';
40
- import { isRenderField } from './isRenderField';
39
+ import { shouldRenderField } from './shouldRenderField';
41
40
 
42
41
  const PRODUCT_REF = {
43
42
  $ref: '/wcms-resources/outservice-productlist.json',
@@ -86,18 +85,20 @@ const InputsMap = {
86
85
  };
87
86
 
88
87
  export const getField =
89
- (
88
+ <F extends BaseFieldDef>(
90
89
  field: FormFieldRegisterer<any>,
91
90
  params?: Record<string, any>,
92
91
  externalInputs: Record<string, VNode> = {},
93
92
  ) =>
94
- (input: FieldDef, i: number) => {
95
- const resultInputsMap = {
93
+ (input: F, i: number) => {
94
+ const fieldsRegister = {
96
95
  ...InputsMap,
97
96
  ...externalInputs,
98
97
  };
99
98
 
100
- return isRenderField({ input, field }) ? (
101
- <div key={String(i)}>{resultInputsMap[input?.name || '']?.({ field, input, params })}</div>
102
- ) : null;
99
+ return (
100
+ shouldRenderField({ input, field }) && (
101
+ <div key={i}>{fieldsRegister[String(input.name)]?.({ field, input, params })}</div>
102
+ )
103
+ );
103
104
  };
@@ -1,6 +1,6 @@
1
- import { type FieldDef } from '../../components/ApplicationForm/ApplicationFormContent';
2
1
  import { type FieldValidatorsMap } from '../../hooks/useForm/FormOptions';
3
2
  import { type Validator } from '../../validation/validator';
3
+ import { type BaseFieldDef } from './BaseFieldDef';
4
4
  import {
5
5
  addressDaDataValidator,
6
6
  addressOrganizationValidator,
@@ -124,8 +124,8 @@ export const validatorObj: Record<string, Validator> = {
124
124
  ...validatorCreditCardObj,
125
125
  };
126
126
 
127
- export const getFormValidator = <FormState extends Record<string, any>>(
128
- fieldDefs: FieldDef[],
127
+ export const getFormValidator = <FormState extends Record<string, any>, F extends BaseFieldDef>(
128
+ fieldDefs: F[],
129
129
  ): ((_: FormState) => FieldValidatorsMap<FormState>) => {
130
130
  const requiredFields = fieldDefs.filter((_) => Boolean(_?.required && _?.name));
131
131
 
@@ -145,11 +145,11 @@ export const getFormValidator = <FormState extends Record<string, any>>(
145
145
  : requiredFieldValidatorsMap;
146
146
  };
147
147
 
148
- const byNonEmptyValidator = ({ name }: FieldDef): boolean => Boolean(validatorObj[name ?? '']);
148
+ const byNonEmptyValidator = ({ name }: BaseFieldDef): boolean => Boolean(validatorObj[name ?? '']);
149
149
 
150
150
  const byCondition =
151
151
  <FormState extends Record<string, any>>(formState: FormState) =>
152
- (fieldDef: FieldDef) =>
152
+ (fieldDef: BaseFieldDef) =>
153
153
  !fieldDef?.condition ||
154
154
  fieldDef.condition.values.find((_) => {
155
155
  const dependencyValue = formState?.[fieldDef?.condition?.name ?? ''];
@@ -1,11 +1,11 @@
1
- import { type FieldDef } from '../../components/ApplicationForm/ApplicationFormContent';
2
1
  import { type FormFieldRegisterer } from '../../hooks/useForm/useForm';
2
+ import { type BaseFieldDef } from './BaseFieldDef';
3
3
 
4
- export function isRenderField({
4
+ export function shouldRenderField<F extends BaseFieldDef>({
5
5
  input,
6
6
  field,
7
7
  }: {
8
- input: FieldDef;
8
+ input: F;
9
9
  field: FormFieldRegisterer<any>;
10
10
  }) {
11
11
  const { condition } = input;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.14.738",
3
+ "version": "0.14.740",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -86,7 +86,7 @@ export const ApplicationForm = JSX<ApplicationFormProps>(
86
86
  className={style(inputColumnStyles(_.columns), 'grid gap-x-m')}
87
87
  >
88
88
  {renderTitle(_.title)}
89
- {(_?.inputs || [])?.map(getField(field, { typeForm }))}
89
+ {(_?.inputs || [])?.map(getField<FieldDef>(field, { typeForm }))}
90
90
  </div>
91
91
  ))}
92
92
  {renderAgreementSubmit(
@@ -56,7 +56,7 @@ export const GroupedConsents = JSX<GroupedConsentsProps>(({ inputs = [], field,
56
56
  <FoldableSection isUnfolded={isUnfolded} className="flex flex-col pl-2xl">
57
57
  {
58
58
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
59
- inputs.map(getField(field, {}, InputsConsentsMap))
59
+ inputs.map(getField<FieldRetailDef>(field, {}, { ...InputsConsentsMap }))
60
60
  }
61
61
  </FoldableSection>
62
62
  )}
@@ -10,7 +10,7 @@ export const renderInputs = ({ field, inputs }: GroupedConsentsProps) => {
10
10
 
11
11
  return consentInputs.length > 2 ? (
12
12
  <div>
13
- {restInputs.map(getField(field, {}, { ...InputsApplicationLeadMap }))}
13
+ {restInputs.map(getField<FieldRetailDef>(field, {}, { ...InputsApplicationLeadMap }))}
14
14
  <GroupedConsents inputs={consentInputs} field={field} />
15
15
  </div>
16
16
  ) : (
@@ -18,7 +18,9 @@ export const renderInputs = ({ field, inputs }: GroupedConsentsProps) => {
18
18
  );
19
19
  };
20
20
 
21
- const splitInputs = (inputs?: FieldRetailDef[]) => ({
22
- consentInputs: inputs?.filter((_) => Object.keys(CONSENTS).includes(_.name || '')) || [],
23
- restInputs: inputs?.filter((_) => !Object.keys(CONSENTS).includes(_.name || '')) || [],
21
+ const splitInputs = (
22
+ inputs: FieldRetailDef[] = [],
23
+ ): { consentInputs: FieldRetailDef[]; restInputs: FieldRetailDef[] } => ({
24
+ consentInputs: inputs.filter(({ name }) => Object.keys(CONSENTS).includes(String(name))),
25
+ restInputs: inputs.filter(({ name }) => !Object.keys(CONSENTS).includes(String(name))),
24
26
  });
@@ -6,6 +6,7 @@ import { BlockWrapper } from '../../ui-kit/BlockWrapper';
6
6
  import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
7
7
  import { type CreditCardFormContent } from './CreditCardFormContent';
8
8
  import { CreditCardFormProgress } from './CreditCardFormProgress';
9
+ import { CreditCardFormStatusTracker } from './CreditCardFormStatusTracker';
9
10
  import { CreditCardFormStep } from './CreditCardFormStep';
10
11
  import { stepsSectionsMap } from './creditCardFormStepsData';
11
12
 
@@ -55,15 +56,18 @@ export const CreditCardForm = JSX<CreditCardFormWizardProps>(({ className, ...re
55
56
  <CreditCardFormProgress stepsTitles={TITLES} step={step} totalSteps={STEPS} />
56
57
  )}
57
58
  <div className="py-lg px-5xl mt-2xs bg-white col-span-12">
58
- <CreditCardFormStep
59
- key={String(step)}
60
- step={step}
61
- sections={sections}
62
- isFormFinished={isFormFinished}
63
- onNextStep={handleNextStep}
64
- onPrevStep={handlePrevStep}
65
- onFinish={handleFinish}
66
- />
59
+ {isFormFinished ? (
60
+ <CreditCardFormStatusTracker />
61
+ ) : (
62
+ <CreditCardFormStep
63
+ key={String(step)}
64
+ step={step}
65
+ sections={sections}
66
+ onNextStep={handleNextStep}
67
+ onPrevStep={handlePrevStep}
68
+ onFinish={handleFinish}
69
+ />
70
+ )}
67
71
  </div>
68
72
  </div>
69
73
  </BlockWrapper>
@@ -3,11 +3,8 @@ import { useCallback, useMemo } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { useForm } from '../../hooks/useForm/useForm';
4
4
  import { type SectionsRetailProps } from '../../model/InputSectionsType';
5
5
  import { type LeadFormState } from '../../services/retail/model/LeadFormState';
6
- import { type FieldRetailDef } from '../../services/retail/model/RetailFormContent';
7
6
  import { calculateInputs } from '../../services/retail/utils/calculateInputs';
8
7
  import { getFormValidator } from '../../ui-kit/FormField/getObjectValidator';
9
- import { type SectionsProps } from '../ApplicationForm/ApplicationFormContent';
10
- import { CreditCardFormStatusTracker } from './CreditCardFormStatusTracker';
11
8
  import { renderStep } from './renderStep';
12
9
  import { StepsNavigationButtons } from './StepsNavigationButtons';
13
10
  import { useCreditCardFormAPI } from './useCreditCardFormAPI';
@@ -15,16 +12,15 @@ import { useCreditCardFormAPI } from './useCreditCardFormAPI';
15
12
  export interface CreditCardFormStepProps {
16
13
  step: number;
17
14
  sections: SectionsRetailProps[];
18
- isFormFinished: boolean;
19
15
  onNextStep: () => void;
20
16
  onPrevStep: () => void;
21
17
  onFinish?: () => void;
22
18
  }
23
19
 
24
20
  export const CreditCardFormStep = JSX<CreditCardFormStepProps>(
25
- ({ step, sections, isFormFinished, onPrevStep, onNextStep, onFinish }) => {
21
+ ({ step, sections, onPrevStep, onNextStep, onFinish }) => {
26
22
  const inputs = useMemo(
27
- () => (sections?.flatMap((_: SectionsProps) => _?.inputs) || []) as FieldRetailDef[],
23
+ () => sections?.flatMap((_: SectionsRetailProps) => _?.inputs || []),
28
24
  [sections],
29
25
  );
30
26
 
@@ -46,9 +42,7 @@ export const CreditCardFormStep = JSX<CreditCardFormStepProps>(
46
42
  onSubmit,
47
43
  });
48
44
 
49
- return isFormFinished ? (
50
- <CreditCardFormStatusTracker />
51
- ) : (
45
+ return (
52
46
  <form onSubmit={handleSubmit} className="space-y-m">
53
47
  {renderStep({ sections, field, step })}
54
48
  <StepsNavigationButtons isSending={isSending} step={step} onPrevStep={onPrevStep} />
@@ -13,4 +13,6 @@ export interface RenderInputsProps {
13
13
  const InputsMap = { ...InputsRetailMap, ...InputRetailCardMap };
14
14
 
15
15
  export const renderInputs = ({ field, inputs, params }: RenderInputsProps) =>
16
- inputs.map(getField(field, params, InputsMap));
16
+ inputs.map(
17
+ getField<FieldRetailDef>(field, params, InputsMap),
18
+ );
@@ -63,10 +63,7 @@ export const useCreditCardFormAPI = ({
63
63
  resetForm(response);
64
64
  }
65
65
 
66
- onNextStep();
67
- if (isFinalStep) {
68
- onFinish?.();
69
- }
66
+ isFinalStep ? onFinish?.() : onNextStep();
70
67
  } catch (ex) {
71
68
  // Do nothing
72
69
  } finally {
@@ -7,6 +7,7 @@ import { UniBlock } from '../../UniBlock/UniBlock';
7
7
  import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
8
8
  import { type CreditFormContent } from './CreditFormContent';
9
9
  import { CreditFormProgress } from './CreditFormProgress';
10
+ import { CreditFormStatusTracker } from './CreditFormStatusTracker';
10
11
  import { CreditFormStep } from './CreditFormStep';
11
12
  import { stepsSectionsMap } from './creditFormStepsData';
12
13
  import { type ProgramsSourceProps } from './ProgramsSourceProps';
@@ -60,16 +61,19 @@ export const CreditForm = UniBlock<CreditFormProps>(({ className, programsSource
60
61
  <CreditFormProgress stepsTitles={STEP_TITLES} step={step} totalSteps={STEPS} />
61
62
  )}
62
63
  <div className="py-lg px-5xl mt-2xs bg-white col-span-12">
63
- <CreditFormStep
64
- key={String(step)}
65
- step={step}
66
- sections={sections}
67
- isFormFinished={isFormFinished}
68
- programsSource={programsSource as ProgramsSourceProps}
69
- onNextStep={handleNextStep}
70
- onPrevStep={handlePrevStep}
71
- onFinish={handleFinish}
72
- />
64
+ {isFormFinished ? (
65
+ <CreditFormStatusTracker />
66
+ ) : (
67
+ <CreditFormStep
68
+ key={String(step)}
69
+ step={step}
70
+ sections={sections}
71
+ programsSource={programsSource as ProgramsSourceProps}
72
+ onNextStep={handleNextStep}
73
+ onPrevStep={handlePrevStep}
74
+ onFinish={handleFinish}
75
+ />
76
+ )}
73
77
  </div>
74
78
  </div>
75
79
  </BlockWrapper>