@redneckz/wildless-cms-uni-blocks 0.14.134 → 0.14.136

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 (222) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +329 -236
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/ApplicationForm/ApplicationFormAntiFraud.d.ts +12 -0
  5. package/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +8 -1
  6. package/bundle/components/ApplicationForm/ApplicationFormFeedback.d.ts +8 -12
  7. package/bundle/components/ApplicationForm/ApplicationFormIndividuals.d.ts +2 -2
  8. package/bundle/components/ApplicationForm/EmbeddableForms.d.ts +1 -0
  9. package/bundle/components/ApplicationForm/InputControl.d.ts +2 -9
  10. package/bundle/components/ApplicationForm/PhoneInputControl.d.ts +2 -2
  11. package/bundle/components/ApplicationForm/handleSubmit.d.ts +16 -0
  12. package/bundle/components/ApplicationForm/renderTextarea.d.ts +9 -1
  13. package/bundle/components/ApplicationForm/renderUserData.d.ts +8 -1
  14. package/bundle/ui-kit/Input/InputProps.d.ts +2 -1
  15. package/dist/components/ApplicationForm/ApplicationForm.js +1 -1
  16. package/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  17. package/dist/components/ApplicationForm/ApplicationFormAntiFraud.d.ts +12 -0
  18. package/dist/components/ApplicationForm/ApplicationFormAntiFraud.js +49 -0
  19. package/dist/components/ApplicationForm/ApplicationFormAntiFraud.js.map +1 -0
  20. package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +8 -1
  21. package/dist/components/ApplicationForm/ApplicationFormFeedback.d.ts +8 -12
  22. package/dist/components/ApplicationForm/ApplicationFormFeedback.js +21 -34
  23. package/dist/components/ApplicationForm/ApplicationFormFeedback.js.map +1 -1
  24. package/dist/components/ApplicationForm/ApplicationFormIndividuals.d.ts +2 -2
  25. package/dist/components/ApplicationForm/ApplicationFormIndividuals.js +9 -9
  26. package/dist/components/ApplicationForm/ApplicationFormIndividuals.js.map +1 -1
  27. package/dist/components/ApplicationForm/ApplicationFormWed.js +5 -1
  28. package/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  29. package/dist/components/ApplicationForm/EmbeddableForms.d.ts +1 -0
  30. package/dist/components/ApplicationForm/EmbeddableForms.js +2 -0
  31. package/dist/components/ApplicationForm/EmbeddableForms.js.map +1 -1
  32. package/dist/components/ApplicationForm/InputControl.d.ts +2 -9
  33. package/dist/components/ApplicationForm/InputControl.js +1 -1
  34. package/dist/components/ApplicationForm/InputControl.js.map +1 -1
  35. package/dist/components/ApplicationForm/PhoneInputControl.d.ts +2 -2
  36. package/dist/components/ApplicationForm/PhoneInputControl.js.map +1 -1
  37. package/dist/components/ApplicationForm/feedbackTypes.js +1 -1
  38. package/dist/components/ApplicationForm/handleSubmit.d.ts +16 -0
  39. package/dist/components/ApplicationForm/handleSubmit.js +71 -0
  40. package/dist/components/ApplicationForm/handleSubmit.js.map +1 -0
  41. package/dist/components/ApplicationForm/renderAgreementWithSubmit.js +1 -1
  42. package/dist/components/ApplicationForm/renderAgreementWithSubmit.js.map +1 -1
  43. package/dist/components/ApplicationForm/renderIndividualsFields.js +1 -1
  44. package/dist/components/ApplicationForm/renderIndividualsFields.js.map +1 -1
  45. package/dist/components/ApplicationForm/renderTextarea.d.ts +9 -1
  46. package/dist/components/ApplicationForm/renderTextarea.js +2 -1
  47. package/dist/components/ApplicationForm/renderTextarea.js.map +1 -1
  48. package/dist/components/ApplicationForm/renderUserData.d.ts +8 -1
  49. package/dist/components/ApplicationForm/renderUserData.js +1 -1
  50. package/dist/components/ApplicationForm/renderUserData.js.map +1 -1
  51. package/dist/ui-kit/Input/Input.js +8 -5
  52. package/dist/ui-kit/Input/Input.js.map +1 -1
  53. package/dist/ui-kit/Input/InputProps.d.ts +2 -1
  54. package/lib/common.css +1 -1
  55. package/lib/components/ApplicationForm/ApplicationForm.fixture.d.ts +1 -0
  56. package/lib/components/ApplicationForm/ApplicationForm.js +1 -1
  57. package/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  58. package/lib/components/ApplicationForm/ApplicationFormAntiFraud.d.ts +12 -0
  59. package/lib/components/ApplicationForm/ApplicationFormAntiFraud.js +47 -0
  60. package/lib/components/ApplicationForm/ApplicationFormAntiFraud.js.map +1 -0
  61. package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +8 -1
  62. package/lib/components/ApplicationForm/ApplicationFormFeedback.d.ts +8 -12
  63. package/lib/components/ApplicationForm/ApplicationFormFeedback.js +22 -35
  64. package/lib/components/ApplicationForm/ApplicationFormFeedback.js.map +1 -1
  65. package/lib/components/ApplicationForm/ApplicationFormIndividuals.d.ts +2 -2
  66. package/lib/components/ApplicationForm/ApplicationFormIndividuals.js +9 -9
  67. package/lib/components/ApplicationForm/ApplicationFormIndividuals.js.map +1 -1
  68. package/lib/components/ApplicationForm/ApplicationFormWed.js +5 -1
  69. package/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  70. package/lib/components/ApplicationForm/EmbeddableForms.d.ts +1 -0
  71. package/lib/components/ApplicationForm/EmbeddableForms.js +2 -0
  72. package/lib/components/ApplicationForm/EmbeddableForms.js.map +1 -1
  73. package/lib/components/ApplicationForm/InputControl.d.ts +2 -9
  74. package/lib/components/ApplicationForm/InputControl.js +1 -1
  75. package/lib/components/ApplicationForm/InputControl.js.map +1 -1
  76. package/lib/components/ApplicationForm/PhoneInputControl.d.ts +2 -2
  77. package/lib/components/ApplicationForm/PhoneInputControl.js.map +1 -1
  78. package/lib/components/ApplicationForm/feedbackTypes.js +1 -1
  79. package/lib/components/ApplicationForm/handleSubmit.d.ts +16 -0
  80. package/lib/components/ApplicationForm/handleSubmit.js +66 -0
  81. package/lib/components/ApplicationForm/handleSubmit.js.map +1 -0
  82. package/lib/components/ApplicationForm/renderAgreementWithSubmit.js +1 -1
  83. package/lib/components/ApplicationForm/renderAgreementWithSubmit.js.map +1 -1
  84. package/lib/components/ApplicationForm/renderIndividualsFields.js +1 -1
  85. package/lib/components/ApplicationForm/renderIndividualsFields.js.map +1 -1
  86. package/lib/components/ApplicationForm/renderTextarea.d.ts +9 -1
  87. package/lib/components/ApplicationForm/renderTextarea.js +2 -1
  88. package/lib/components/ApplicationForm/renderTextarea.js.map +1 -1
  89. package/lib/components/ApplicationForm/renderUserData.d.ts +8 -1
  90. package/lib/components/ApplicationForm/renderUserData.js +1 -1
  91. package/lib/components/ApplicationForm/renderUserData.js.map +1 -1
  92. package/lib/ui-kit/Input/Input.js +8 -5
  93. package/lib/ui-kit/Input/Input.js.map +1 -1
  94. package/lib/ui-kit/Input/InputProps.d.ts +2 -1
  95. package/mobile/bundle/bundle.umd.js +329 -236
  96. package/mobile/bundle/bundle.umd.min.js +1 -1
  97. package/mobile/bundle/components/ApplicationForm/ApplicationFormAntiFraud.d.ts +12 -0
  98. package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +8 -1
  99. package/mobile/bundle/components/ApplicationForm/ApplicationFormFeedback.d.ts +8 -12
  100. package/mobile/bundle/components/ApplicationForm/ApplicationFormIndividuals.d.ts +2 -2
  101. package/mobile/bundle/components/ApplicationForm/EmbeddableForms.d.ts +1 -0
  102. package/mobile/bundle/components/ApplicationForm/InputControl.d.ts +2 -9
  103. package/mobile/bundle/components/ApplicationForm/PhoneInputControl.d.ts +2 -2
  104. package/mobile/bundle/components/ApplicationForm/handleSubmit.d.ts +16 -0
  105. package/mobile/bundle/components/ApplicationForm/renderTextarea.d.ts +9 -1
  106. package/mobile/bundle/components/ApplicationForm/renderUserData.d.ts +8 -1
  107. package/mobile/bundle/ui-kit/Input/InputProps.d.ts +2 -1
  108. package/mobile/dist/components/ApplicationForm/ApplicationForm.js +1 -1
  109. package/mobile/dist/components/ApplicationForm/ApplicationForm.js.map +1 -1
  110. package/mobile/dist/components/ApplicationForm/ApplicationFormAntiFraud.d.ts +12 -0
  111. package/mobile/dist/components/ApplicationForm/ApplicationFormAntiFraud.js +49 -0
  112. package/mobile/dist/components/ApplicationForm/ApplicationFormAntiFraud.js.map +1 -0
  113. package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +8 -1
  114. package/mobile/dist/components/ApplicationForm/ApplicationFormFeedback.d.ts +8 -12
  115. package/mobile/dist/components/ApplicationForm/ApplicationFormFeedback.js +21 -34
  116. package/mobile/dist/components/ApplicationForm/ApplicationFormFeedback.js.map +1 -1
  117. package/mobile/dist/components/ApplicationForm/ApplicationFormIndividuals.d.ts +2 -2
  118. package/mobile/dist/components/ApplicationForm/ApplicationFormIndividuals.js +9 -9
  119. package/mobile/dist/components/ApplicationForm/ApplicationFormIndividuals.js.map +1 -1
  120. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js +5 -1
  121. package/mobile/dist/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  122. package/mobile/dist/components/ApplicationForm/EmbeddableForms.d.ts +1 -0
  123. package/mobile/dist/components/ApplicationForm/EmbeddableForms.js +2 -0
  124. package/mobile/dist/components/ApplicationForm/EmbeddableForms.js.map +1 -1
  125. package/mobile/dist/components/ApplicationForm/InputControl.d.ts +2 -9
  126. package/mobile/dist/components/ApplicationForm/InputControl.js +1 -1
  127. package/mobile/dist/components/ApplicationForm/InputControl.js.map +1 -1
  128. package/mobile/dist/components/ApplicationForm/PhoneInputControl.d.ts +2 -2
  129. package/mobile/dist/components/ApplicationForm/PhoneInputControl.js.map +1 -1
  130. package/mobile/dist/components/ApplicationForm/feedbackTypes.js +1 -1
  131. package/mobile/dist/components/ApplicationForm/handleSubmit.d.ts +16 -0
  132. package/mobile/dist/components/ApplicationForm/handleSubmit.js +71 -0
  133. package/mobile/dist/components/ApplicationForm/handleSubmit.js.map +1 -0
  134. package/mobile/dist/components/ApplicationForm/renderAgreementWithSubmit.js +1 -1
  135. package/mobile/dist/components/ApplicationForm/renderAgreementWithSubmit.js.map +1 -1
  136. package/mobile/dist/components/ApplicationForm/renderIndividualsFields.js +1 -1
  137. package/mobile/dist/components/ApplicationForm/renderIndividualsFields.js.map +1 -1
  138. package/mobile/dist/components/ApplicationForm/renderTextarea.d.ts +9 -1
  139. package/mobile/dist/components/ApplicationForm/renderTextarea.js +2 -1
  140. package/mobile/dist/components/ApplicationForm/renderTextarea.js.map +1 -1
  141. package/mobile/dist/components/ApplicationForm/renderUserData.d.ts +8 -1
  142. package/mobile/dist/components/ApplicationForm/renderUserData.js +1 -1
  143. package/mobile/dist/components/ApplicationForm/renderUserData.js.map +1 -1
  144. package/mobile/dist/ui-kit/Input/Input.js +8 -5
  145. package/mobile/dist/ui-kit/Input/Input.js.map +1 -1
  146. package/mobile/dist/ui-kit/Input/InputProps.d.ts +2 -1
  147. package/mobile/lib/common.css +1 -1
  148. package/mobile/lib/components/ApplicationForm/ApplicationForm.js +1 -1
  149. package/mobile/lib/components/ApplicationForm/ApplicationForm.js.map +1 -1
  150. package/mobile/lib/components/ApplicationForm/ApplicationFormAntiFraud.d.ts +12 -0
  151. package/mobile/lib/components/ApplicationForm/ApplicationFormAntiFraud.js +47 -0
  152. package/mobile/lib/components/ApplicationForm/ApplicationFormAntiFraud.js.map +1 -0
  153. package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +8 -1
  154. package/mobile/lib/components/ApplicationForm/ApplicationFormFeedback.d.ts +8 -12
  155. package/mobile/lib/components/ApplicationForm/ApplicationFormFeedback.js +22 -35
  156. package/mobile/lib/components/ApplicationForm/ApplicationFormFeedback.js.map +1 -1
  157. package/mobile/lib/components/ApplicationForm/ApplicationFormIndividuals.d.ts +2 -2
  158. package/mobile/lib/components/ApplicationForm/ApplicationFormIndividuals.js +9 -9
  159. package/mobile/lib/components/ApplicationForm/ApplicationFormIndividuals.js.map +1 -1
  160. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js +5 -1
  161. package/mobile/lib/components/ApplicationForm/ApplicationFormWed.js.map +1 -1
  162. package/mobile/lib/components/ApplicationForm/EmbeddableForms.d.ts +1 -0
  163. package/mobile/lib/components/ApplicationForm/EmbeddableForms.js +2 -0
  164. package/mobile/lib/components/ApplicationForm/EmbeddableForms.js.map +1 -1
  165. package/mobile/lib/components/ApplicationForm/InputControl.d.ts +2 -9
  166. package/mobile/lib/components/ApplicationForm/InputControl.js +1 -1
  167. package/mobile/lib/components/ApplicationForm/InputControl.js.map +1 -1
  168. package/mobile/lib/components/ApplicationForm/PhoneInputControl.d.ts +2 -2
  169. package/mobile/lib/components/ApplicationForm/PhoneInputControl.js.map +1 -1
  170. package/mobile/lib/components/ApplicationForm/feedbackTypes.js +1 -1
  171. package/mobile/lib/components/ApplicationForm/handleSubmit.d.ts +16 -0
  172. package/mobile/lib/components/ApplicationForm/handleSubmit.js +66 -0
  173. package/mobile/lib/components/ApplicationForm/handleSubmit.js.map +1 -0
  174. package/mobile/lib/components/ApplicationForm/renderAgreementWithSubmit.js +1 -1
  175. package/mobile/lib/components/ApplicationForm/renderAgreementWithSubmit.js.map +1 -1
  176. package/mobile/lib/components/ApplicationForm/renderIndividualsFields.js +1 -1
  177. package/mobile/lib/components/ApplicationForm/renderIndividualsFields.js.map +1 -1
  178. package/mobile/lib/components/ApplicationForm/renderTextarea.d.ts +9 -1
  179. package/mobile/lib/components/ApplicationForm/renderTextarea.js +2 -1
  180. package/mobile/lib/components/ApplicationForm/renderTextarea.js.map +1 -1
  181. package/mobile/lib/components/ApplicationForm/renderUserData.d.ts +8 -1
  182. package/mobile/lib/components/ApplicationForm/renderUserData.js +1 -1
  183. package/mobile/lib/components/ApplicationForm/renderUserData.js.map +1 -1
  184. package/mobile/lib/ui-kit/Input/Input.js +8 -5
  185. package/mobile/lib/ui-kit/Input/Input.js.map +1 -1
  186. package/mobile/lib/ui-kit/Input/InputProps.d.ts +2 -1
  187. package/mobile/src/components/ApplicationForm/ApplicationForm.tsx +6 -9
  188. package/mobile/src/components/ApplicationForm/ApplicationFormAntiFraud.tsx +86 -0
  189. package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +11 -1
  190. package/mobile/src/components/ApplicationForm/ApplicationFormFeedback.tsx +62 -85
  191. package/mobile/src/components/ApplicationForm/ApplicationFormIndividuals.tsx +13 -12
  192. package/mobile/src/components/ApplicationForm/ApplicationFormWed.tsx +5 -4
  193. package/mobile/src/components/ApplicationForm/EmbeddableForms.tsx +2 -0
  194. package/mobile/src/components/ApplicationForm/InputControl.tsx +5 -11
  195. package/mobile/src/components/ApplicationForm/PhoneInputControl.tsx +2 -2
  196. package/mobile/src/components/ApplicationForm/feedbackTypes.ts +1 -1
  197. package/mobile/src/components/ApplicationForm/handleSubmit.tsx +87 -0
  198. package/mobile/src/components/ApplicationForm/renderAgreementWithSubmit.tsx +1 -1
  199. package/mobile/src/components/ApplicationForm/renderIndividualsFields.tsx +2 -2
  200. package/mobile/src/components/ApplicationForm/renderTextarea.tsx +35 -23
  201. package/mobile/src/components/ApplicationForm/renderUserData.tsx +15 -5
  202. package/mobile/src/ui-kit/Input/Input.tsx +45 -31
  203. package/mobile/src/ui-kit/Input/InputProps.ts +2 -1
  204. package/package.json +2 -2
  205. package/src/components/ApplicationForm/ApplicationForm.fixture.tsx +14 -0
  206. package/src/components/ApplicationForm/ApplicationForm.tsx +6 -9
  207. package/src/components/ApplicationForm/ApplicationFormAntiFraud.tsx +86 -0
  208. package/src/components/ApplicationForm/ApplicationFormContent.ts +11 -1
  209. package/src/components/ApplicationForm/ApplicationFormFeedback.tsx +62 -85
  210. package/src/components/ApplicationForm/ApplicationFormIndividuals.tsx +13 -12
  211. package/src/components/ApplicationForm/ApplicationFormWed.tsx +5 -4
  212. package/src/components/ApplicationForm/EmbeddableForms.tsx +2 -0
  213. package/src/components/ApplicationForm/InputControl.tsx +5 -11
  214. package/src/components/ApplicationForm/PhoneInputControl.tsx +2 -2
  215. package/src/components/ApplicationForm/feedbackTypes.ts +1 -1
  216. package/src/components/ApplicationForm/handleSubmit.tsx +87 -0
  217. package/src/components/ApplicationForm/renderAgreementWithSubmit.tsx +1 -1
  218. package/src/components/ApplicationForm/renderIndividualsFields.tsx +2 -2
  219. package/src/components/ApplicationForm/renderTextarea.tsx +35 -23
  220. package/src/components/ApplicationForm/renderUserData.tsx +15 -5
  221. package/src/ui-kit/Input/Input.tsx +45 -31
  222. package/src/ui-kit/Input/InputProps.ts +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"renderTextarea.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/renderTextarea.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,oBAAoB,GACxB,uFAAuF,CAAC;AAC1F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAA6B,EAAE,IAAa,EAAE,WAAW,GAAG,EAAE,EAAE,EAAE,CAAC,CAChG,iBAAO,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,UAAU,aAC7C,IAAI,CAAC,CAAC,CAAC,CACN,wBACE,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,YAClC,IAAI,GACA,GACH,CACP,CAAC,CAAC,CAAC,IAAI,EACR,mBACE,EAAE,EAAC,UAAU,EACb,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,KAAK,CACd,+EAA+E,EAC/E,oBAAoB,CACrB,EACD,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,OAAO,EACL,CAAC,CAAC,CAAkC,EAAE,EAAE,CACtC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAQ,GAE3E,IACI,CACT,CAAC"}
1
+ {"version":3,"file":"renderTextarea.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/renderTextarea.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAUpD,MAAM,oBAAoB,GACxB,uFAAuF,CAAC;AAC1F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,EAAE,EAAE,KAAK,EAAkB,EAAE,EAAE,CAAC,CAC9F,0BACE,iBAAO,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,UAAU,aAC7C,IAAI,CAAC,CAAC,CAAC,CACN,wBACE,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,YAClC,IAAI,GACA,GACH,CACP,CAAC,CAAC,CAAC,IAAI,EACR,mBACE,EAAE,EAAC,UAAU,EACb,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,KAAK,CACd,+EAA+E,EAC/E,oBAAoB,CACrB,EACD,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,OAAO,EACL,CAAC,CAAC,CAAkC,EAAE,EAAE,CACtC,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAQ,GAE3E,IACI,EACP,eAAe,CAAC,KAAK,CAAC,IACnB,CACP,CAAC"}
@@ -1,4 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import { type FormFieldRegisterer } from '../../hooks/useForm';
3
+ import { type AntiFraudFormState } from './ApplicationFormAntiFraud';
3
4
  import { type FeedbackFormState } from './ApplicationFormFeedback';
4
- export declare const renderUserData: (field: FormFieldRegisterer<FeedbackFormState>) => JSX.Element;
5
+ export interface UserDataState {
6
+ surname: string;
7
+ name: string;
8
+ middleName?: string;
9
+ birthday: Date | undefined;
10
+ }
11
+ export declare const renderUserData: <T extends FeedbackFormState | AntiFraudFormState>(field: FormFieldRegisterer<T>) => JSX.Element;
@@ -3,5 +3,5 @@ import { withValidator } from '../../validation/withValidator.js';
3
3
  import { DatePickerControl } from './DatePickerControl.js';
4
4
  import { InputControl } from './InputControl.js';
5
5
  import { defaultValidator, nameValidator } from './validators.js';
6
- export const renderUserData = (field) => (_jsxs("div", { children: [_jsx(InputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F*", ...withValidator(field('surname'), nameValidator) }), _jsx(InputControl, { label: "\u0418\u043C\u044F*", ...withValidator(field('name'), nameValidator) }), _jsx(InputControl, { label: "\u041E\u0442\u0447\u0435\u0441\u0442\u0432\u043E (\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E, \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438)", ...withValidator(field('middleName'), nameValidator) }), _jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F*", ...withValidator(field('date'), defaultValidator) })] }));
6
+ export const renderUserData = (field) => (_jsxs("div", { children: [_jsx(InputControl, { label: "\u0424\u0430\u043C\u0438\u043B\u0438\u044F*", ...withValidator(field('surname'), nameValidator) }), _jsx(InputControl, { label: "\u0418\u043C\u044F*", ...withValidator(field('name'), nameValidator) }), _jsx(InputControl, { label: "\u041E\u0442\u0447\u0435\u0441\u0442\u0432\u043E (\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E, \u043F\u0440\u0438 \u043D\u0430\u043B\u0438\u0447\u0438\u0438)", ...field('middleName') }), _jsx(DatePickerControl, { label: "\u0414\u0430\u0442\u0430 \u0440\u043E\u0436\u0434\u0435\u043D\u0438\u044F*", ...withValidator(field('birthday'), defaultValidator) })] }));
7
7
  //# sourceMappingURL=renderUserData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderUserData.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/renderUserData.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA6C,EAAE,EAAE,CAAC,CAC/E,0BACE,KAAC,YAAY,IAAC,KAAK,EAAC,6CAAU,KAAK,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,GAAI,EACrF,KAAC,YAAY,IAAC,KAAK,EAAC,qBAAM,KAAK,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,GAAI,EAC9E,KAAC,YAAY,IACX,KAAK,EAAC,sLAAqC,KACvC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,GACrD,EACF,KAAC,iBAAiB,IAAC,KAAK,EAAC,4EAAgB,KAAK,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,GAAI,IAC5F,CACP,CAAC"}
1
+ {"version":3,"file":"renderUserData.js","sourceRoot":"","sources":["../../../src/components/ApplicationForm/renderUserData.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAS/D,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAA6B,EAC7B,EAAE,CAAC,CACH,0BACE,KAAC,YAAY,IAAC,KAAK,EAAC,6CAAU,KAAK,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,GAAI,EACrF,KAAC,YAAY,IAAC,KAAK,EAAC,qBAAM,KAAK,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,GAAI,EAC9E,KAAC,YAAY,IAAC,KAAK,EAAC,sLAAqC,KAAK,KAAK,CAAC,YAAY,CAAC,GAAI,EACrF,KAAC,iBAAiB,IAChB,KAAK,EAAC,4EAAgB,KAClB,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC,GACtD,IACE,CACP,CAAC"}
@@ -3,7 +3,7 @@ import { JSX } from '@redneckz/uni-jsx';
3
3
  import { useCallback, useEffect, useRef } from '@redneckz/uni-jsx/lib/hooks';
4
4
  import { style } from '../../utils/style.js';
5
5
  import { Text } from '../Text/Text.js';
6
- export const Input = JSX(({ key, className = '', inputClassName = '', id, name, type = 'text', label, placeholder, value = '', valid = true, children, onChange, onFocus, onBlur, pattern, autoFocus = false, }) => {
6
+ export const Input = JSX(({ key, className = '', id, name, type = 'text', label, placeholder, value = '', valid = true, children, onChange, onFocus, onBlur, pattern, autoFocus = false, isTextarea = false, }) => {
7
7
  const inputRef = useRef(null);
8
8
  const handleChange = useCallback((e) => {
9
9
  onChange && onChange(e.target?.value || '');
@@ -13,10 +13,13 @@ export const Input = JSX(({ key, className = '', inputClassName = '', id, name,
13
13
  inputRef.current?.focus();
14
14
  }
15
15
  }, [autoFocus, inputRef]);
16
+ const defaultStyle = 'w-full border rounded-md text-primary-text outline-none p-m';
16
17
  const paddingStyle = children ? 'pr-3xl' : '';
17
- const validStyle = valid
18
- ? 'border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'
19
- : 'border-error';
20
- return (_jsxs("div", { className: style('relative', className), children: [_jsxs("label", { children: [label ? (_jsx("div", { className: "mb-xs", children: _jsx(Text, { size: "text-m", font: "font-light", children: label }) })) : null, _jsx("input", { ref: inputRef, className: style('w-full h-14 border rounded-md text-primary-text outline-none p-m', paddingStyle, validStyle, inputClassName), id: id, name: name || id, placeholder: placeholder, type: type, value: value, onInput: handleChange, onFocus: onFocus, onBlur: onBlur, pattern: pattern }, key)] }), children] }));
18
+ const validStyle = getValidStyle(valid);
19
+ return (_jsxs("div", { className: style('relative', className), children: [_jsxs("label", { children: [label ? renderLabel(label) : null, isTextarea ? (_jsx("textarea", { className: style('block resize-y min-h-24', defaultStyle, validStyle), id: style('textarea', id), name: name || id, placeholder: placeholder, value: value, onInput: handleChange, onFocus: onFocus, onBlur: onBlur }, key)) : (_jsx("input", { type: type, className: style('h-14', defaultStyle, paddingStyle, validStyle), ref: inputRef, id: id, name: name || id, placeholder: placeholder, value: value, onInput: handleChange, onFocus: onFocus, onBlur: onBlur, pattern: pattern }, key))] }), children] }));
21
20
  });
21
+ const renderLabel = (label) => (_jsx("div", { className: "mb-xs", children: _jsx(Text, { size: "text-m", font: "font-light", children: label }) }));
22
+ const getValidStyle = (valid) => valid
23
+ ? 'border-gray hover:border-primary-hover active:border-primary-text focus:border-primary-text'
24
+ : 'border-error';
22
25
  //# sourceMappingURL=Input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../src/ui-kit/Input/Input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGpC,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CACtB,CAAC,EACC,GAAG,EACH,SAAS,GAAG,EAAE,EACd,cAAc,GAAG,EAAE,EACnB,EAAE,EACF,IAAI,EACJ,IAAI,GAAG,MAAM,EACb,KAAK,EACL,WAAW,EACX,KAAK,GAAG,EAAE,EACV,KAAK,GAAG,IAAI,EACZ,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,OAAO,EACP,SAAS,GAAG,KAAK,GAClB,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,CAAkC,EAAE,EAAE;QACrC,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,EAAE;YACb,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;SAC3B;IACH,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1B,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,MAAM,UAAU,GAAG,KAAK;QACtB,CAAC,CAAC,6FAA6F;QAC/F,CAAC,CAAC,cAAc,CAAC;IAEnB,OAAO,CACL,eAAK,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,aAC1C,4BACG,KAAK,CAAC,CAAC,CAAC,CACP,cAAK,SAAS,EAAC,OAAO,YACpB,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,YAClC,KAAK,GACD,GACH,CACP,CAAC,CAAC,CAAC,IAAI,EACR,gBACE,GAAG,EAAE,QAAQ,EAEb,SAAS,EAAE,KAAK,CACd,kEAAkE,EAClE,YAAY,EACZ,UAAU,EACV,cAAc,CACf,EACD,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,IAAI,EAAE,EAChB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,YAAmB,EAC5B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,IAfX,GAAG,CAgBR,IACI,EACP,QAAQ,IACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../src/ui-kit/Input/Input.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@ import { type InputTypes } from '../../model/InputTypes';
3
3
  import { type ControlProps } from '../ControlProps';
4
4
  export interface InputProps<V = string> extends ControlProps<V>, LabelProps {
5
5
  className?: string;
6
- inputClassName?: string;
7
6
  id?: string;
8
7
  name?: string;
9
8
  type?: InputTypes;
@@ -14,4 +13,6 @@ export interface InputProps<V = string> extends ControlProps<V>, LabelProps {
14
13
  valid?: boolean;
15
14
  disabled?: boolean;
16
15
  autoFocus?: boolean;
16
+ isTextarea?: boolean;
17
+ error?: string;
17
18
  }
@@ -20,15 +20,12 @@ export const ApplicationForm = JSX<ApplicationFormProps>((props) => {
20
20
 
21
21
  const [responseType, setResponseType] = useState<'OK' | 'Fail' | ''>('');
22
22
 
23
- const handleSubmit = useCallback(
24
- async (data: Record<string, any>, isIndividualType?: boolean) => {
25
- const status = (await API.send(data, isIndividualType)) ? 'OK' : 'Fail';
26
- setResponseType(status);
27
-
28
- return status;
29
- },
30
- [],
31
- );
23
+ const handleSubmit = useCallback(async (data: Record<string, any>, isIndividualType = false) => {
24
+ const status = (await API.send(data, isIndividualType)) ? 'OK' : 'Fail';
25
+ setResponseType(status);
26
+
27
+ return status;
28
+ }, []);
32
29
 
33
30
  return (
34
31
  <BlockWrapper className={className} defaultPadding="p-6xl" {...rest}>
@@ -0,0 +1,86 @@
1
+ /* eslint-disable max-lines-per-function,max-lines */
2
+
3
+ import { JSX } from '@redneckz/uni-jsx';
4
+ import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
5
+ import { useForm } from '../../hooks/useForm';
6
+ import { type Option } from '../../ui-kit/Select/Option';
7
+ import { objectValidator } from '../../validation/objectValidator';
8
+ import { isValidationSuccess } from '../../validation/validator';
9
+ import { withValidator } from '../../validation/withValidator';
10
+ import { ApplicationFieldsetLayout } from './ApplicationFieldsetLayout';
11
+ import { type ApplicationFormsProps } from './ApplicationFormsProps';
12
+ import { formStyle } from './formStyle';
13
+ import { PhoneInputControl } from './PhoneInputControl';
14
+ import { renderAgreementWithSubmit } from './renderAgreementWithSubmit';
15
+ import { renderUserData, type UserDataState } from './renderUserData';
16
+ import {
17
+ consentDataProcessingValidator,
18
+ defaultValidator,
19
+ nameValidator,
20
+ phoneValidator,
21
+ } from './validators';
22
+
23
+ export type AntiFraudFormState = UserDataState & {
24
+ typeForm: Option;
25
+ phone: string;
26
+ birthday: Date | undefined;
27
+ isClient: boolean;
28
+ comment?: string;
29
+ consentDataProcessing: boolean;
30
+ };
31
+
32
+ const initialFormState: AntiFraudFormState = {
33
+ typeForm: { key: 'ANTIFRAUD', text: 'Предупреждение о мошенничестве' },
34
+ surname: '',
35
+ name: '',
36
+ middleName: '',
37
+ phone: '',
38
+ birthday: undefined,
39
+ isClient: false,
40
+ comment: '',
41
+ consentDataProcessing: false,
42
+ };
43
+
44
+ const feedbackValidator = objectValidator({
45
+ typeForm: defaultValidator,
46
+ surname: defaultValidator,
47
+ name: nameValidator,
48
+ birthday: defaultValidator,
49
+ phone: phoneValidator,
50
+ consentDataProcessing: consentDataProcessingValidator,
51
+ });
52
+
53
+ export const ApplicationFormAntiFraud = JSX<ApplicationFormsProps>(({ button, link, onSubmit }) => {
54
+ const handleSubmit = useCallback(
55
+ (formState: AntiFraudFormState) => {
56
+ const { typeForm, phone, ...usedFields } = formState;
57
+
58
+ const submitData = {
59
+ ...usedFields,
60
+ typeForm: typeForm.key,
61
+ phone: phone.replace(/[^+\d]/g, ''),
62
+ };
63
+ isValidationSuccess(feedbackValidator(formState)) && onSubmit(submitData);
64
+ },
65
+ [onSubmit],
66
+ );
67
+
68
+ const [, { field, ...formProps }] = useForm(initialFormState, handleSubmit);
69
+
70
+ return (
71
+ <form className={formStyle} onSubmit={formProps.onSubmit}>
72
+ <ApplicationFieldsetLayout
73
+ firstChildren={
74
+ <div className="w-full max-w-xl space-y-s m-auto">
75
+ {renderUserData<AntiFraudFormState>(field)}
76
+ <PhoneInputControl
77
+ label="Телефон*"
78
+ {...withValidator(field('phone'), phoneValidator)}
79
+ />
80
+ {renderAgreementWithSubmit(field('consentDataProcessing'), link, button)}
81
+ </div>
82
+ }
83
+ />
84
+ </form>
85
+ );
86
+ });
@@ -94,6 +94,15 @@ export type FeedbackFormParamsDef = TitleProps &
94
94
  formType: 'ApplicationFormFeedback';
95
95
  };
96
96
 
97
+ /**
98
+ * @title Сообщить о мошенничестве
99
+ */
100
+ export type AntiFraudFormParamsDef = TitleProps &
101
+ CommonApplicationFormProps & {
102
+ /** @default ApplicationFormAntiFraud */
103
+ formType: 'ApplicationFormAntiFraud';
104
+ };
105
+
97
106
  /**
98
107
  * @title Настройки формы
99
108
  */
@@ -105,7 +114,8 @@ export type ApplicationFormBlockDef =
105
114
  | AcquiringFormParamsDef
106
115
  | GrantSupportFormParamsDef
107
116
  | IndividualsFormParamsDef
108
- | FeedbackFormParamsDef;
117
+ | FeedbackFormParamsDef
118
+ | AntiFraudFormParamsDef;
109
119
 
110
120
  /**
111
121
  * @title Форма заявки
@@ -5,49 +5,36 @@ import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
5
5
  import { useBranches } from '../../hooks/useBranches';
6
6
  import { useForm } from '../../hooks/useForm';
7
7
  import { type Option } from '../../ui-kit/Select/Option';
8
- import { objectValidator } from '../../validation/objectValidator';
9
- import { isValidationSuccess } from '../../validation/validator';
10
8
  import { withValidator } from '../../validation/withValidator';
11
9
  import { useGetRegions } from '../SafeDepositRental/useGetRegions';
12
10
  import { ApplicationFieldsetLayout } from './ApplicationFieldsetLayout';
13
11
  import { type ApplicationFormsProps } from './ApplicationFormsProps';
14
12
  import { FEEDBACK_METHOD, FEEDBACK_TYPES, SERVICE_DIRECTIONS } from './feedbackTypes';
15
13
  import { formStyle } from './formStyle';
14
+ import { handleSubmitIndividual, handleSubmitLegal, handleSubmitQuestion } from './handleSubmit';
16
15
  import { InputControl } from './InputControl';
17
16
  import { PhoneInputControl } from './PhoneInputControl';
18
17
  import { renderAgreementWithSubmit } from './renderAgreementWithSubmit';
19
- import { renderTextarea } from './renderTextarea';
20
- import { renderUserData } from './renderUserData';
18
+ import { renderUserData, type UserDataState } from './renderUserData';
21
19
  import { SelectControl } from './SelectControl';
22
- import {
23
- consentDataProcessingValidator,
24
- defaultValidator,
25
- innValidator,
26
- nameValidator,
27
- phoneValidator,
28
- } from './validators';
20
+ import { defaultValidator, innValidator, phoneValidator } from './validators';
29
21
 
30
- export interface FeedbackFormState {
22
+ export type FeedbackFormState = UserDataState & {
31
23
  typeForm: Option;
32
24
  region?: Option;
33
- serviceDirection: Option;
34
- department?: Option;
35
- surname: string;
36
- name: string;
37
- middleName;
25
+ serviceDirection?: Option;
26
+ addressBranch?: Option;
27
+ inn?: string;
38
28
  fullName?: string;
39
- date: Date | undefined;
40
29
  feedbackMethod: Option;
41
30
  phone: string;
42
- phoneAdditional?: string;
43
- mail: string;
31
+ secondaryPhone?: string;
32
+ email?: string;
44
33
  bankEmpolee?: string;
45
34
  applicationDate?: string;
46
- text: string;
47
35
  comment: string;
48
36
  consentDataProcessing: boolean;
49
- inn?: string;
50
- }
37
+ };
51
38
 
52
39
  const initialFormState: FeedbackFormState = {
53
40
  typeForm: { key: 'FEEDBACK', text: 'Задать вопрос по продуктам и услугам' },
@@ -55,51 +42,41 @@ const initialFormState: FeedbackFormState = {
55
42
  surname: '',
56
43
  name: '',
57
44
  middleName: '',
58
- date: undefined,
45
+ birthday: undefined,
59
46
  feedbackMethod: { key: 'Телефонный звонок' },
60
47
  phone: '',
61
- phoneAdditional: '',
62
- mail: '',
63
- text: '',
48
+ email: '',
64
49
  comment: '',
65
50
  consentDataProcessing: false,
66
51
  };
67
52
 
68
- const feedbackValidator = objectValidator({
69
- typeForm: defaultValidator,
70
- region: defaultValidator,
71
- department: defaultValidator,
72
- name: nameValidator,
73
- date: defaultValidator,
74
- feedbackMethod: defaultValidator,
75
- phone: phoneValidator,
76
- mail: defaultValidator,
77
- consentDataProcessing: consentDataProcessingValidator,
78
- inn: innValidator,
79
- });
80
-
81
53
  export const ApplicationFormFeedback = JSX<ApplicationFormsProps>(({ button, link, onSubmit }) => {
82
54
  const handleSubmit = useCallback(
83
- (formState: FeedbackFormState) => {
84
- const submitData = {
85
- ...formState,
86
- typeForm: formState.typeForm.key,
87
- region: formState.region?.text || '',
88
- department: formState.department?.text || '',
89
- phone: formState.phone.replace(/[^+\d]/g, ''),
90
- };
55
+ (feedbackFormState: FeedbackFormState) => {
56
+ const isLegal = getLegalEntity(
57
+ feedbackFormState.typeForm.key,
58
+ feedbackFormState.serviceDirection?.key,
59
+ );
91
60
 
92
- isValidationSuccess(feedbackValidator(formState)) && onSubmit(submitData);
61
+ if (isLegal) {
62
+ handleSubmitLegal(feedbackFormState, onSubmit);
63
+ } else if (feedbackFormState.typeForm.key === 'FEEDBACK') {
64
+ handleSubmitQuestion(feedbackFormState, onSubmit);
65
+ } else {
66
+ handleSubmitIndividual(feedbackFormState, onSubmit);
67
+ }
93
68
  },
94
69
  [onSubmit],
95
70
  );
96
71
 
97
72
  const [formState, { field, ...formProps }] = useForm(initialFormState, handleSubmit);
98
- const regions = useGetRegions();
99
- const branches = useBranches(formState.region?.key).filter((branch) => branch?.address);
100
- const isQualityService = field('typeForm').value?.key === 'FEEDBACK_QC';
101
- const isLegalEntity =
102
- isQualityService && field('serviceDirection').value?.key === 'Юридическое лицо / ИП';
73
+ const branch = useGetRegions();
74
+ const regions = useBranches(formState?.region?.key).filter((region) => region?.address);
75
+ const isQualityService = field('typeForm').value?.key === 'FEEDBACK_QS';
76
+ const isLegalEntity = getLegalEntity(
77
+ field('typeForm').value?.key,
78
+ field('serviceDirection').value?.key,
79
+ );
103
80
 
104
81
  return (
105
82
  <form className={formStyle} onSubmit={formProps.onSubmit}>
@@ -124,31 +101,30 @@ export const ApplicationFormFeedback = JSX<ApplicationFormsProps>(({ button, lin
124
101
  label="Филиал обслуживания*"
125
102
  placeholder="Выберите филиал"
126
103
  isSearch={true}
127
- options={regions.map(({ code = '', name = '' }) => ({ key: code, text: name }))}
104
+ options={branch.map(({ code = '', name = '' }) => ({ key: code, text: name }))}
128
105
  {...withValidator(field('region'), defaultValidator)}
129
106
  />
130
- <SelectControl
131
- label="Адрес"
132
- placeholder="Выберите адрес"
133
- options={branches.map(({ branchCode = '', address = '' }) => ({
134
- key: branchCode,
135
- text: address,
136
- }))}
137
- {...withValidator(field('department'), defaultValidator)}
138
- />
139
- {renderUserData(field)}
107
+ {isQualityService ? (
108
+ <SelectControl
109
+ label="Адрес*"
110
+ placeholder="Выберите адрес"
111
+ options={regions.map(({ branchCode = '', address = '' }) => ({
112
+ key: branchCode,
113
+ text: address,
114
+ }))}
115
+ {...withValidator(field('addressBranch'), defaultValidator)}
116
+ />
117
+ ) : null}
118
+ {renderUserData<FeedbackFormState>(field)}
140
119
  {isLegalEntity ? (
141
120
  <div>
142
- <InputControl label="ИНН" {...withValidator(field('inn'), innValidator)} />
143
- <InputControl
144
- label="Наименование организации"
145
- {...withValidator(field('fullName'), defaultValidator)}
146
- />
121
+ <InputControl label="ИНН*" {...withValidator(field('inn'), innValidator)} />
122
+ <InputControl label="Наименование организации" {...field('fullName')} />
147
123
  </div>
148
124
  ) : null}
149
125
  <SelectControl
150
126
  label="Способ получения ответа*"
151
- options={FEEDBACK_METHOD.map(({ key: key = '' }) => ({ key, text: key }))}
127
+ options={FEEDBACK_METHOD}
152
128
  {...withValidator(field('feedbackMethod'), defaultValidator)}
153
129
  />
154
130
  <PhoneInputControl
@@ -157,30 +133,28 @@ export const ApplicationFormFeedback = JSX<ApplicationFormsProps>(({ button, lin
157
133
  />
158
134
  {isQualityService ? (
159
135
  <div>
160
- <PhoneInputControl
161
- label="Дополнительный телефон"
162
- {...withValidator(field('phoneAdditional'), phoneValidator)}
163
- />
136
+ <InputControl label="Дополнительный телефон" {...field('secondaryPhone')} />
164
137
  <InputControl
165
- label="Электронная почта"
166
- {...withValidator(field('mail'), defaultValidator)}
138
+ label="Электронная почта*"
139
+ {...withValidator(field('email'), defaultValidator)}
167
140
  />
168
141
  <InputControl
169
142
  label="ФИО или должность обслуживавшего Вас сотрудника Банка"
170
- {...withValidator(field('bankEmpolee'), defaultValidator)}
171
- />
172
- <InputControl
173
- label="Дата и время обращения в Банк"
174
- {...withValidator(field('applicationDate'), defaultValidator)}
143
+ {...field('bankEmpolee')}
175
144
  />
145
+ <InputControl label="Дата и время обращения в Банк" {...field('applicationDate')} />
176
146
  </div>
177
147
  ) : (
178
148
  <InputControl
179
- label="Электронная почта"
180
- {...withValidator(field('mail'), defaultValidator)}
149
+ label="Электронная почта*"
150
+ {...withValidator(field('email'), defaultValidator)}
181
151
  />
182
152
  )}
183
- {renderTextarea(field('text'), 'Ваше сообщение*')}
153
+ <InputControl
154
+ {...withValidator(field('comment'), defaultValidator)}
155
+ placeholder="Ваше сообщение*"
156
+ isTextarea={true}
157
+ />
184
158
  {renderAgreementWithSubmit(field('consentDataProcessing'), link, button)}
185
159
  </div>
186
160
  }
@@ -188,3 +162,6 @@ export const ApplicationFormFeedback = JSX<ApplicationFormsProps>(({ button, lin
188
162
  </form>
189
163
  );
190
164
  });
165
+
166
+ const getLegalEntity = (typeFormKey = '', serviceDirectionKey = '') =>
167
+ typeFormKey === 'FEEDBACK_QS' && serviceDirectionKey === 'Юридическое лицо / ИП';
@@ -18,8 +18,8 @@ export interface IndividualsFormState {
18
18
  name: string;
19
19
  middleName: string;
20
20
  phone: string;
21
- mail: string;
22
- date: Date | undefined;
21
+ email: string;
22
+ birthday: Date | undefined;
23
23
  consentDataProcessing: boolean;
24
24
  }
25
25
 
@@ -28,8 +28,8 @@ const initialFormState: IndividualsFormState = {
28
28
  name: '',
29
29
  middleName: '',
30
30
  phone: '',
31
- mail: '',
32
- date: undefined,
31
+ email: '',
32
+ birthday: undefined,
33
33
  consentDataProcessing: true,
34
34
  };
35
35
 
@@ -38,8 +38,8 @@ const individualsValidator = objectValidator({
38
38
  name: nameValidator,
39
39
  middleName: nameValidator,
40
40
  phone: phoneValidator,
41
- mail: defaultValidator,
42
- date: defaultValidator,
41
+ email: defaultValidator,
42
+ birthday: defaultValidator,
43
43
  });
44
44
 
45
45
  export const ApplicationFormIndividuals = JSX<ApplicationFormsProps>((props) => {
@@ -47,7 +47,8 @@ export const ApplicationFormIndividuals = JSX<ApplicationFormsProps>((props) =>
47
47
 
48
48
  const handleSubmit = useCallback(
49
49
  (formState: IndividualsFormState) => {
50
- const { surname, name, middleName, phone, mail, date, consentDataProcessing } = formState;
50
+ const { surname, name, middleName, phone, email, birthday, consentDataProcessing } =
51
+ formState;
51
52
 
52
53
  isValidationSuccess(individualsValidator(formState)) &&
53
54
  onSubmit(
@@ -56,10 +57,10 @@ export const ApplicationFormIndividuals = JSX<ApplicationFormsProps>((props) =>
56
57
  surname,
57
58
  name,
58
59
  middleName,
59
- mail,
60
+ email,
60
61
  consentDataProcessing,
61
- phone: phone.replace(/[^+\d]/g, ''),
62
- date: date?.toISOString().slice(0, 10) || '',
62
+ phoneNumber: phone.replace(/[^+\d]/g, ''),
63
+ birthday: birthday?.toISOString().slice(0, 10) || '',
63
64
  product: product || '',
64
65
  },
65
66
  true,
@@ -85,11 +86,11 @@ export const ApplicationFormIndividuals = JSX<ApplicationFormsProps>((props) =>
85
86
  <InputControl label="Имя" {...withValidator(field('name'), nameValidator)} />
86
87
  <DatePickerControl
87
88
  label="Дата рождения*"
88
- {...withValidator(field('date'), defaultValidator)}
89
+ {...withValidator(field('birthday'), defaultValidator)}
89
90
  />
90
91
  <InputControl
91
92
  label="Электронная почта"
92
- {...withValidator(field('mail'), defaultValidator)}
93
+ {...withValidator(field('email'), defaultValidator)}
93
94
  />
94
95
  </div>
95
96
  }
@@ -96,11 +96,12 @@ export const ApplicationFormWed = JSX<ApplicationFormsProps>((props) => {
96
96
  {renderQuestionsInterested(field)}
97
97
  <Heading headingType="h6" title="Данные организации" className="@xl:text-center" />
98
98
  {renderWedDataOrganization({ field, regions })}
99
- {renderTextarea(
99
+ {renderTextarea({
100
100
  textField,
101
- 'Обращение',
102
- 'Укажите интересующий вас вопрос, место ведения бизнеса и удобное время для телефонного звонка',
103
- )}
101
+ text: 'Обращение',
102
+ placeholder:
103
+ 'Укажите интересующий вас вопрос, место ведения бизнеса и удобное время для телефонного звонка',
104
+ })}
104
105
  {renderSubmitButton(button)}
105
106
  <Footnote link={link} />
106
107
  <Heading
@@ -1,4 +1,5 @@
1
1
  import { ApplicationFormAcquiring } from './ApplicationFormAcquiring';
2
+ import { ApplicationFormAntiFraud } from './ApplicationFormAntiFraud';
2
3
  import { ApplicationFormBusinessCard } from './ApplicationFormBusinessCard';
3
4
  import { ApplicationFormCredit } from './ApplicationFormCredit';
4
5
  import { ApplicationFormDeposit } from './ApplicationFormDeposit';
@@ -16,4 +17,5 @@ export const EmbeddableForms = {
16
17
  ApplicationFormGrantSupport,
17
18
  ApplicationFormIndividuals,
18
19
  ApplicationFormFeedback,
20
+ ApplicationFormAntiFraud,
19
21
  };
@@ -1,19 +1,11 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { Input } from '../../ui-kit/Input/Input';
3
+ import { type InputProps } from '../../ui-kit/Input/InputProps';
3
4
  import { style } from '../../utils/style';
4
5
  import { renderErrorText } from './renderErrorText';
5
6
 
6
- export interface InputControlProps {
7
- className?: string;
8
- label: string;
9
- value?: string;
10
- error?: string;
11
- onChange?: (value: string) => void;
12
- onBlur?: () => void;
13
- }
14
-
15
- export const InputControl = JSX<InputControlProps>(
16
- ({ className, label, value = '', error, onChange, onBlur }) => (
7
+ export const InputControl = JSX<InputProps>(
8
+ ({ className, label, value = '', placeholder, error, onChange, onBlur, isTextarea }) => (
17
9
  <div className={style('shrink-0 w-full', className)}>
18
10
  <Input
19
11
  type="text"
@@ -23,6 +15,8 @@ export const InputControl = JSX<InputControlProps>(
23
15
  value={value}
24
16
  onChange={onChange}
25
17
  onBlur={onBlur}
18
+ isTextarea={isTextarea}
19
+ placeholder={placeholder}
26
20
  />
27
21
  {renderErrorText(error)}
28
22
  </div>
@@ -1,10 +1,10 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import { type InputProps } from '../../ui-kit/Input/InputProps';
2
3
  import { PhoneInput } from '../../ui-kit/PhoneInput/PhoneInput';
3
4
  import { style } from '../../utils/style';
4
- import { type InputControlProps } from './InputControl';
5
5
  import { renderErrorText } from './renderErrorText';
6
6
 
7
- export const PhoneInputControl = JSX<InputControlProps>(
7
+ export const PhoneInputControl = JSX<InputProps>(
8
8
  ({ className, label, value, error, onChange, onBlur }) => (
9
9
  <div className={style('shrink-0 w-full', className)}>
10
10
  <PhoneInput
@@ -7,7 +7,7 @@ export const FEEDBACK_TYPES: Option[] = [
7
7
  },
8
8
  {
9
9
  text: 'Качество обслуживания',
10
- key: 'FEEDBACK_QC',
10
+ key: 'FEEDBACK_QS',
11
11
  },
12
12
  ];
13
13