@redneckz/wildless-cms-uni-blocks 0.14.1039 → 0.14.1040

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 (70) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +17 -23
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/ReferalForm/ReferalFormContent.d.ts +2 -2
  5. package/bundle/components/ReferalForm/referalFormData.d.ts +2 -2
  6. package/dist/components/ReferalForm/ReferalForm.js +6 -6
  7. package/dist/components/ReferalForm/ReferalForm.js.map +1 -1
  8. package/dist/components/ReferalForm/ReferalFormContent.d.ts +2 -2
  9. package/dist/components/ReferalForm/referalFormData.d.ts +2 -2
  10. package/dist/components/ReferalForm/referalFormData.js +8 -14
  11. package/dist/components/ReferalForm/referalFormData.js.map +1 -1
  12. package/dist/components/ReferalForm/renderLinkInput.js +4 -1
  13. package/dist/components/ReferalForm/renderLinkInput.js.map +1 -1
  14. package/lib/components/ReferalForm/ReferalForm.js +6 -6
  15. package/lib/components/ReferalForm/ReferalForm.js.map +1 -1
  16. package/lib/components/ReferalForm/ReferalFormContent.d.ts +2 -2
  17. package/lib/components/ReferalForm/referalFormData.d.ts +2 -2
  18. package/lib/components/ReferalForm/referalFormData.js +7 -13
  19. package/lib/components/ReferalForm/referalFormData.js.map +1 -1
  20. package/lib/components/ReferalForm/renderLinkInput.js +4 -1
  21. package/lib/components/ReferalForm/renderLinkInput.js.map +1 -1
  22. package/mobile/bundle/bundle.umd.js +17 -23
  23. package/mobile/bundle/bundle.umd.min.js +1 -1
  24. package/mobile/bundle/components/ReferalForm/ReferalFormContent.d.ts +2 -2
  25. package/mobile/bundle/components/ReferalForm/referalFormData.d.ts +2 -2
  26. package/mobile/dist/components/ReferalForm/ReferalForm.js +6 -6
  27. package/mobile/dist/components/ReferalForm/ReferalForm.js.map +1 -1
  28. package/mobile/dist/components/ReferalForm/ReferalFormContent.d.ts +2 -2
  29. package/mobile/dist/components/ReferalForm/referalFormData.d.ts +2 -2
  30. package/mobile/dist/components/ReferalForm/referalFormData.js +8 -14
  31. package/mobile/dist/components/ReferalForm/referalFormData.js.map +1 -1
  32. package/mobile/dist/components/ReferalForm/renderLinkInput.js +4 -1
  33. package/mobile/dist/components/ReferalForm/renderLinkInput.js.map +1 -1
  34. package/mobile/lib/components/ReferalForm/ReferalForm.js +6 -6
  35. package/mobile/lib/components/ReferalForm/ReferalForm.js.map +1 -1
  36. package/mobile/lib/components/ReferalForm/ReferalFormContent.d.ts +2 -2
  37. package/mobile/lib/components/ReferalForm/referalFormData.d.ts +2 -2
  38. package/mobile/lib/components/ReferalForm/referalFormData.js +7 -13
  39. package/mobile/lib/components/ReferalForm/referalFormData.js.map +1 -1
  40. package/mobile/lib/components/ReferalForm/renderLinkInput.js +4 -1
  41. package/mobile/lib/components/ReferalForm/renderLinkInput.js.map +1 -1
  42. package/mobile/src/components/ReferalForm/ReferalForm.example.json +3 -1
  43. package/mobile/src/components/ReferalForm/ReferalForm.tsx +11 -11
  44. package/mobile/src/components/ReferalForm/ReferalFormContent.ts +11 -9
  45. package/mobile/src/components/ReferalForm/referalFormData.ts +8 -14
  46. package/mobile/src/components/ReferalForm/renderLinkInput.tsx +5 -1
  47. package/package.json +1 -1
  48. package/src/components/ReferalForm/ReferalForm.example.json +3 -1
  49. package/src/components/ReferalForm/ReferalForm.fixture.mobile.tsx +2 -0
  50. package/src/components/ReferalForm/ReferalForm.fixture.tsx +2 -0
  51. package/src/components/ReferalForm/ReferalForm.tsx +11 -11
  52. package/src/components/ReferalForm/ReferalFormContent.ts +11 -9
  53. package/src/components/ReferalForm/referalFormData.ts +8 -14
  54. package/src/components/ReferalForm/renderLinkInput.tsx +5 -1
  55. package/bundle/components/ReferalForm/renderSections.d.ts +0 -3
  56. package/dist/components/ReferalForm/renderSections.d.ts +0 -3
  57. package/dist/components/ReferalForm/renderSections.js +0 -10
  58. package/dist/components/ReferalForm/renderSections.js.map +0 -1
  59. package/lib/components/ReferalForm/renderSections.d.ts +0 -3
  60. package/lib/components/ReferalForm/renderSections.js +0 -7
  61. package/lib/components/ReferalForm/renderSections.js.map +0 -1
  62. package/mobile/bundle/components/ReferalForm/renderSections.d.ts +0 -3
  63. package/mobile/dist/components/ReferalForm/renderSections.d.ts +0 -3
  64. package/mobile/dist/components/ReferalForm/renderSections.js +0 -10
  65. package/mobile/dist/components/ReferalForm/renderSections.js.map +0 -1
  66. package/mobile/lib/components/ReferalForm/renderSections.d.ts +0 -3
  67. package/mobile/lib/components/ReferalForm/renderSections.js +0 -7
  68. package/mobile/lib/components/ReferalForm/renderSections.js.map +0 -1
  69. package/mobile/src/components/ReferalForm/renderSections.tsx +0 -18
  70. package/src/components/ReferalForm/renderSections.tsx +0 -18
@@ -1,10 +1,10 @@
1
- import { type TextProps } from '../../model/HeadlineType';
1
+ import { type DescriptionProps, type TextProps, type TitleProps } from '../../model/HeadlineType';
2
2
  import { type Picture } from '../../model/Picture';
3
3
  import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
4
4
  /**
5
5
  * @title Форма для создания реферальной ссылки
6
6
  */
7
- export declare type ReferalFormContent = UniBlockContent & {
7
+ export declare type ReferalFormContent = UniBlockContent & TitleProps & DescriptionProps & {
8
8
  /** @title Адрес страницы с заявкой для реферала */
9
9
  link?: string;
10
10
  /** @title Кнопка */
@@ -1,2 +1,2 @@
1
- import { type SectionsProps } from '../../model/InputSectionsType';
2
- export declare const sections: SectionsProps[];
1
+ import { type FieldDef } from '../ApplicationForm/ApplicationFormContent';
2
+ export declare const inputs: FieldDef[];
@@ -5,19 +5,19 @@ const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
5
5
  const useForm_1 = require("../../hooks/useForm/useForm");
6
6
  const ApplicationFormLayout_1 = require("../../ui-kit/ApplicationFormLayout/ApplicationFormLayout");
7
7
  const SubmitButton_1 = require("../../ui-kit/Button/SubmitButton");
8
+ const getField_1 = require("../../ui-kit/FormField/getField");
8
9
  const getObjectValidator_1 = require("../../ui-kit/FormField/getObjectValidator");
10
+ const renderTitle_1 = require("../../ui-kit/FormField/renderTitle");
9
11
  const Link_1 = require("../../ui-kit/Link/Link");
10
12
  const Paragraph_1 = require("../../ui-kit/Paragraph/Paragraph");
11
13
  const Text_1 = require("../../ui-kit/Text/Text");
12
14
  const UniBlock_1 = require("../../UniBlock/UniBlock");
13
15
  const referalFormData_1 = require("./referalFormData");
14
- const renderSections_1 = require("./renderSections");
15
16
  const ResultLink_1 = require("./ResultLink");
16
- exports.ReferalForm = (0, UniBlock_1.UniBlock)(({ link = '', button, copyIcon, ...rest }) => {
17
+ exports.ReferalForm = (0, UniBlock_1.UniBlock)(({ title, description, link = '', button, copyIcon, ...rest }) => {
17
18
  const [isShowResultLink, setIsShowResultLink] = (0, hooks_1.useState)(false);
18
19
  const [referalLink, setReferalLink] = (0, hooks_1.useState)('');
19
- const inputs = (0, hooks_1.useMemo)(() => (referalFormData_1.sections?.flatMap((_) => _?.inputs) || []), [referalFormData_1.sections]);
20
- const formValidator = (0, hooks_1.useMemo)(() => (0, getObjectValidator_1.getFormValidator)(inputs), [inputs]);
20
+ const formValidator = (0, hooks_1.useMemo)(() => (0, getObjectValidator_1.getFormValidator)(referalFormData_1.inputs), [referalFormData_1.inputs]);
21
21
  const handleSubmit = (0, hooks_1.useCallback)(async (formData) => {
22
22
  setReferalLink(`${link}?utm_source=${formData.dadataPartyInnSelect?.text}&utm_mail=${formData.email}`);
23
23
  setIsShowResultLink(true);
@@ -27,7 +27,7 @@ exports.ReferalForm = (0, UniBlock_1.UniBlock)(({ link = '', button, copyIcon, .
27
27
  formValidator,
28
28
  onSubmit: handleSubmit,
29
29
  });
30
- return ((0, jsx_runtime_1.jsx)(ApplicationFormLayout_1.ApplicationFormLayout, { className: "container space-y-m col-span-12", title: getTitle(isShowResultLink), ...rest, children: isShowResultLink ? ((0, jsx_runtime_1.jsx)(ResultLink_1.ResultLink, { link: referalLink, copyIcon: copyIcon })) : ((0, jsx_runtime_1.jsxs)("form", { onSubmit: onSubmit, children: [(0, renderSections_1.renderSections)(referalFormData_1.sections, field), (0, jsx_runtime_1.jsxs)(Paragraph_1.Paragraph, { size: "text-l", font: "font-light", color: "text-secondary-text", children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { children: "\u041D\u0430\u0436\u0438\u043C\u0430\u044F \u043A\u043D\u043E\u043F\u043A\u0443, \u0432\u044B \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u0441 " }), (0, jsx_runtime_1.jsx)(Link_1.Link, { href: "/privacy-policy", target: "_blank", ariaLabel: "\u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043D\u043D\u044B\u0445", children: "\u0443\u0441\u043B\u043E\u0432\u0438\u044F\u043C\u0438 \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043D\u043D\u044B\u0445" })] }), (0, jsx_runtime_1.jsx)(SubmitButton_1.SubmitButton, { className: "w-full @xl:w-auto mt-xs", children: button?.text ?? 'Получить ссылку' })] })) }));
30
+ return ((0, jsx_runtime_1.jsx)(ApplicationFormLayout_1.ApplicationFormLayout, { className: "container space-y-m col-span-12", title: getTitle(title, isShowResultLink), ...rest, children: isShowResultLink ? ((0, jsx_runtime_1.jsx)(ResultLink_1.ResultLink, { link: referalLink, copyIcon: copyIcon })) : ((0, jsx_runtime_1.jsxs)("form", { onSubmit: onSubmit, children: [(0, jsx_runtime_1.jsxs)("div", { className: "grid @xl:grid-cols-2 gap-x-m", children: [(0, renderTitle_1.renderTitle)(description), referalFormData_1.inputs.map((0, getField_1.getField)(field))] }), (0, jsx_runtime_1.jsxs)(Paragraph_1.Paragraph, { size: "text-l", font: "font-light", color: "text-secondary-text", children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { children: "\u041D\u0430\u0436\u0438\u043C\u0430\u044F \u043A\u043D\u043E\u043F\u043A\u0443, \u0432\u044B \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u0441 " }), (0, jsx_runtime_1.jsx)(Link_1.Link, { href: "/privacy-policy", target: "_blank", ariaLabel: "\u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043D\u043D\u044B\u0445", children: "\u0443\u0441\u043B\u043E\u0432\u0438\u044F\u043C\u0438 \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043D\u043D\u044B\u0445" })] }), (0, jsx_runtime_1.jsx)(SubmitButton_1.SubmitButton, { className: "w-full @xl:w-auto mt-xs", children: button?.text ?? 'Получить ссылку' })] })) }));
31
31
  });
32
- const getTitle = (isShowResultLink = false) => isShowResultLink ? 'Ваша личная ссылка' : 'Как получить бесплатное обслуживание счёта';
32
+ const getTitle = (title = '', isShowResultLink = false) => isShowResultLink ? 'Ваша личная ссылка' : title;
33
33
  //# sourceMappingURL=ReferalForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReferalForm.js","sourceRoot":"","sources":["../../../src/components/ReferalForm/ReferalForm.tsx"],"names":[],"mappings":";;;AAAA,uDAA6E;AAC7E,yDAAsD;AACtD,oGAAiG;AACjG,mEAAgE;AAChE,kFAA6E;AAC7E,iDAA8C;AAC9C,gEAA6D;AAE7D,iDAA8C;AAC9C,sDAAmD;AAInD,uDAA6C;AAC7C,qDAAkD;AAClD,6CAA0C;AAS7B,QAAA,WAAW,GAAG,IAAA,mBAAQ,EACjC,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IAC3C,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,IAAA,eAAO,EACpB,GAAG,EAAE,CAAC,CAAC,0BAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAe,EAC/D,CAAC,0BAAQ,CAAC,CACX,CAAC;IAEF,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAA,qCAAgB,EAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAExE,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,KAAK,EAAE,QAAmB,EAAE,EAAE;QAC7D,cAAc,CACZ,GAAG,IAAI,eAAe,QAAQ,CAAC,oBAAoB,EAAE,IAAI,aAAa,QAAQ,CAAC,KAAK,EAAE,CACvF,CAAC;QACF,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAA,iBAAO,EACrC,EAAE,EACF;QACE,aAAa,EAAE,IAAI;QACnB,aAAa;QACb,QAAQ,EAAE,YAAY;KACvB,CACF,CAAC;IAEF,OAAO,CACL,uBAAC,6CAAqB,IACpB,SAAS,EAAC,iCAAiC,EAC3C,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,KAC7B,IAAI,YAEP,gBAAgB,CAAC,CAAC,CAAC,CAClB,uBAAC,uBAAU,IAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACtD,CAAC,CAAC,CAAC,CACF,kCAAM,QAAQ,EAAE,QAAQ,aACrB,IAAA,+BAAc,EAAC,0BAAQ,EAAE,KAAK,CAAC,EAChC,wBAAC,qBAAS,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,qBAAqB,aACpE,uBAAC,WAAI,wPAAoD,EACzD,uBAAC,WAAI,IAAC,IAAI,EAAC,iBAAiB,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,EAAC,kIAAyB,6JAEzE,IACG,EACZ,uBAAC,2BAAY,IAAC,SAAS,EAAC,yBAAyB,YAC9C,MAAM,EAAE,IAAI,IAAI,iBAAiB,GACrB,IACV,CACR,GACqB,CACzB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,gBAAgB,GAAG,KAAK,EAAE,EAAE,CAC5C,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,4CAA4C,CAAC"}
1
+ {"version":3,"file":"ReferalForm.js","sourceRoot":"","sources":["../../../src/components/ReferalForm/ReferalForm.tsx"],"names":[],"mappings":";;;AAAA,uDAA6E;AAC7E,yDAAsD;AACtD,oGAAiG;AACjG,mEAAgE;AAChE,8DAA2D;AAC3D,kFAA6E;AAC7E,oEAAiE;AACjE,iDAA8C;AAC9C,gEAA6D;AAE7D,iDAA8C;AAC9C,sDAAmD;AAInD,uDAA2C;AAC3C,6CAA0C;AAS7B,QAAA,WAAW,GAAG,IAAA,mBAAQ,EACjC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IAC/D,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAEnD,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,IAAA,qCAAgB,EAAC,wBAAM,CAAC,EAAE,CAAC,wBAAM,CAAC,CAAC,CAAC;IAExE,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,KAAK,EAAE,QAAmB,EAAE,EAAE;QAC7D,cAAc,CACZ,GAAG,IAAI,eAAe,QAAQ,CAAC,oBAAoB,EAAE,IAAI,aAAa,QAAQ,CAAC,KAAK,EAAE,CACvF,CAAC;QACF,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAA,iBAAO,EACrC,EAAE,EACF;QACE,aAAa,EAAE,IAAI;QACnB,aAAa;QACb,QAAQ,EAAE,YAAY;KACvB,CACF,CAAC;IAEF,OAAO,CACL,uBAAC,6CAAqB,IACpB,SAAS,EAAC,iCAAiC,EAC3C,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,KACpC,IAAI,YAEP,gBAAgB,CAAC,CAAC,CAAC,CAClB,uBAAC,uBAAU,IAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACtD,CAAC,CAAC,CAAC,CACF,kCAAM,QAAQ,EAAE,QAAQ,aACtB,iCAAK,SAAS,EAAC,8BAA8B,aAC1C,IAAA,yBAAW,EAAC,WAAW,CAAC,EACxB,wBAAM,CAAC,GAAG,CAAC,IAAA,mBAAQ,EAAW,KAAK,CAAC,CAAC,IAClC,EACN,wBAAC,qBAAS,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,qBAAqB,aACpE,uBAAC,WAAI,wPAAoD,EACzD,uBAAC,WAAI,IAAC,IAAI,EAAC,iBAAiB,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,EAAC,kIAAyB,6JAEzE,IACG,EACZ,uBAAC,2BAAY,IAAC,SAAS,EAAC,yBAAyB,YAC9C,MAAM,EAAE,IAAI,IAAI,iBAAiB,GACrB,IACV,CACR,GACqB,CACzB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,gBAAgB,GAAG,KAAK,EAAE,EAAE,CACxD,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC"}
@@ -1,10 +1,10 @@
1
- import { type TextProps } from '../../model/HeadlineType';
1
+ import { type DescriptionProps, type TextProps, type TitleProps } from '../../model/HeadlineType';
2
2
  import { type Picture } from '../../model/Picture';
3
3
  import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
4
4
  /**
5
5
  * @title Форма для создания реферальной ссылки
6
6
  */
7
- export declare type ReferalFormContent = UniBlockContent & {
7
+ export declare type ReferalFormContent = UniBlockContent & TitleProps & DescriptionProps & {
8
8
  /** @title Адрес страницы с заявкой для реферала */
9
9
  link?: string;
10
10
  /** @title Кнопка */
@@ -1,2 +1,2 @@
1
- import { type SectionsProps } from '../../model/InputSectionsType';
2
- export declare const sections: SectionsProps[];
1
+ import { type FieldDef } from '../ApplicationForm/ApplicationFormContent';
2
+ export declare const inputs: FieldDef[];
@@ -1,19 +1,13 @@
1
1
  Object.defineProperty(exports, "__esModule", { value: true });
2
- exports.sections = void 0;
3
- exports.sections = [
4
- { title: 'Заполните ваши данные и получите персональную ссылку', inputs: [] },
2
+ exports.inputs = void 0;
3
+ exports.inputs = [
5
4
  {
6
- columns: 2,
7
- inputs: [
8
- {
9
- name: 'dadataPartyInnSelect',
10
- required: true,
11
- },
12
- {
13
- name: 'email',
14
- required: true,
15
- },
16
- ],
5
+ name: 'dadataPartyInnSelect',
6
+ required: true,
7
+ },
8
+ {
9
+ name: 'email',
10
+ required: true,
17
11
  },
18
12
  ];
19
13
  //# sourceMappingURL=referalFormData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"referalFormData.js","sourceRoot":"","sources":["../../../src/components/ReferalForm/referalFormData.ts"],"names":[],"mappings":";;AAEa,QAAA,QAAQ,GAAoB;IACvC,EAAE,KAAK,EAAE,sDAAsD,EAAE,MAAM,EAAE,EAAE,EAAE;IAC7E;QACE,OAAO,EAAE,CAAC;QACV,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,IAAI;aACf;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"referalFormData.js","sourceRoot":"","sources":["../../../src/components/ReferalForm/referalFormData.ts"],"names":[],"mappings":";;AAEa,QAAA,MAAM,GAAe;IAChC;QACE,IAAI,EAAE,sBAAsB;QAC5B,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,IAAI;KACf;CACF,CAAC"}
@@ -6,6 +6,9 @@ const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
6
6
  const Img_1 = require("../../ui-kit/Img/Img");
7
7
  const styles_1 = require("../../ui-kit/Input/styles");
8
8
  const style_1 = require("../../utils/style");
9
+ const defaultIcon = {
10
+ icon: 'CopyIcon',
11
+ };
9
12
  exports.renderLinkInput = (0, uni_jsx_1.JSX)(({ className, value = '', copyIcon }) => {
10
13
  const onClick = (0, hooks_1.useCallback)(async () => {
11
14
  try {
@@ -15,6 +18,6 @@ exports.renderLinkInput = (0, uni_jsx_1.JSX)(({ className, value = '', copyIcon
15
18
  console.log('Ошибка копирования');
16
19
  }
17
20
  }, []);
18
- return ((0, jsx_runtime_1.jsxs)("div", { className: (0, style_1.style)('relative flex items-center max-w-lg m-auto', className), children: [(0, jsx_runtime_1.jsx)("input", { className: (0, style_1.style)('h-14 border-gray text-ellipsis pr-5xl', styles_1.defaultStyle), type: "text", value: value, disabled: true }), (0, jsx_runtime_1.jsx)("div", { role: "button", className: "absolute right-3", onClick: onClick, children: (0, jsx_runtime_1.jsx)(Img_1.Img, { image: copyIcon }) })] }));
21
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, style_1.style)('relative flex items-center max-w-lg m-auto', className), children: [(0, jsx_runtime_1.jsx)("input", { className: (0, style_1.style)('h-14 border-gray text-ellipsis pr-5xl', styles_1.defaultStyle), type: "text", value: value, disabled: true }), (0, jsx_runtime_1.jsx)("div", { role: "button", className: "absolute right-3", onClick: onClick, children: (0, jsx_runtime_1.jsx)(Img_1.Img, { image: copyIcon ?? defaultIcon, width: "20px" }) })] }));
19
22
  });
20
23
  //# sourceMappingURL=renderLinkInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderLinkInput.js","sourceRoot":"","sources":["../../../src/components/ReferalForm/renderLinkInput.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAA0D;AAE1D,8CAA2C;AAE3C,sDAAyD;AACzD,6CAA0C;AAM7B,QAAA,eAAe,GAAG,IAAA,aAAG,EAAuB,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/F,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,KAAK,IAAI,EAAE;QACrC,IAAI;YACF,MAAM,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACvD;QAAC,MAAM;YACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;SACnC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,iCAAK,SAAS,EAAE,IAAA,aAAK,EAAC,4CAA4C,EAAE,SAAS,CAAC,aAC5E,kCACE,SAAS,EAAE,IAAA,aAAK,EAAC,uCAAuC,EAAE,qBAAY,CAAC,EACvE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,IAAI,GACd,EACF,gCAAK,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,kBAAkB,EAAC,OAAO,EAAE,OAAO,YAC9D,uBAAC,SAAG,IAAC,KAAK,EAAE,QAAQ,GAAI,GACpB,IACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"renderLinkInput.js","sourceRoot":"","sources":["../../../src/components/ReferalForm/renderLinkInput.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAA0D;AAE1D,8CAA2C;AAE3C,sDAAyD;AACzD,6CAA0C;AAM1C,MAAM,WAAW,GAAY;IAC3B,IAAI,EAAE,UAAU;CACjB,CAAC;AAEW,QAAA,eAAe,GAAG,IAAA,aAAG,EAAuB,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/F,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,KAAK,IAAI,EAAE;QACrC,IAAI;YACF,MAAM,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACvD;QAAC,MAAM;YACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;SACnC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,iCAAK,SAAS,EAAE,IAAA,aAAK,EAAC,4CAA4C,EAAE,SAAS,CAAC,aAC5E,kCACE,SAAS,EAAE,IAAA,aAAK,EAAC,uCAAuC,EAAE,qBAAY,CAAC,EACvE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,IAAI,GACd,EACF,gCAAK,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,kBAAkB,EAAC,OAAO,EAAE,OAAO,YAC9D,uBAAC,SAAG,IAAC,KAAK,EAAE,QAAQ,IAAI,WAAW,EAAE,KAAK,EAAC,MAAM,GAAG,GAChD,IACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -3,18 +3,18 @@ import { useCallback, useMemo, useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { useForm } from '../../hooks/useForm/useForm.js';
4
4
  import { ApplicationFormLayout } from '../../ui-kit/ApplicationFormLayout/ApplicationFormLayout.js';
5
5
  import { SubmitButton } from '../../ui-kit/Button/SubmitButton.js';
6
+ import { getField } from '../../ui-kit/FormField/getField.js';
6
7
  import { getFormValidator } from '../../ui-kit/FormField/getObjectValidator.js';
8
+ import { renderTitle } from '../../ui-kit/FormField/renderTitle.js';
7
9
  import { Link } from '../../ui-kit/Link/Link.js';
8
10
  import { Paragraph } from '../../ui-kit/Paragraph/Paragraph.js';
9
11
  import { Text } from '../../ui-kit/Text/Text.js';
10
12
  import { UniBlock } from '../../UniBlock/UniBlock.js';
11
- import { sections } from './referalFormData.js';
12
- import { renderSections } from './renderSections.js';
13
+ import { inputs } from './referalFormData.js';
13
14
  import { ResultLink } from './ResultLink.js';
14
- export const ReferalForm = UniBlock(({ link = '', button, copyIcon, ...rest }) => {
15
+ export const ReferalForm = UniBlock(({ title, description, link = '', button, copyIcon, ...rest }) => {
15
16
  const [isShowResultLink, setIsShowResultLink] = useState(false);
16
17
  const [referalLink, setReferalLink] = useState('');
17
- const inputs = useMemo(() => (sections?.flatMap((_) => _?.inputs) || []), [sections]);
18
18
  const formValidator = useMemo(() => getFormValidator(inputs), [inputs]);
19
19
  const handleSubmit = useCallback(async (formData) => {
20
20
  setReferalLink(`${link}?utm_source=${formData.dadataPartyInnSelect?.text}&utm_mail=${formData.email}`);
@@ -25,7 +25,7 @@ export const ReferalForm = UniBlock(({ link = '', button, copyIcon, ...rest }) =
25
25
  formValidator,
26
26
  onSubmit: handleSubmit,
27
27
  });
28
- return (_jsx(ApplicationFormLayout, { className: "container space-y-m col-span-12", title: getTitle(isShowResultLink), ...rest, children: isShowResultLink ? (_jsx(ResultLink, { link: referalLink, copyIcon: copyIcon })) : (_jsxs("form", { onSubmit: onSubmit, children: [renderSections(sections, field), _jsxs(Paragraph, { size: "text-l", font: "font-light", color: "text-secondary-text", children: [_jsx(Text, { children: "\u041D\u0430\u0436\u0438\u043C\u0430\u044F \u043A\u043D\u043E\u043F\u043A\u0443, \u0432\u044B \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u0441 " }), _jsx(Link, { href: "/privacy-policy", target: "_blank", ariaLabel: "\u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043D\u043D\u044B\u0445", children: "\u0443\u0441\u043B\u043E\u0432\u0438\u044F\u043C\u0438 \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043D\u043D\u044B\u0445" })] }), _jsx(SubmitButton, { className: "w-full @xl:w-auto mt-xs", children: button?.text ?? 'Получить ссылку' })] })) }));
28
+ return (_jsx(ApplicationFormLayout, { className: "container space-y-m col-span-12", title: getTitle(title, isShowResultLink), ...rest, children: isShowResultLink ? (_jsx(ResultLink, { link: referalLink, copyIcon: copyIcon })) : (_jsxs("form", { onSubmit: onSubmit, children: [_jsxs("div", { className: "grid @xl:grid-cols-2 gap-x-m", children: [renderTitle(description), inputs.map(getField(field))] }), _jsxs(Paragraph, { size: "text-l", font: "font-light", color: "text-secondary-text", children: [_jsx(Text, { children: "\u041D\u0430\u0436\u0438\u043C\u0430\u044F \u043A\u043D\u043E\u043F\u043A\u0443, \u0432\u044B \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u0441 " }), _jsx(Link, { href: "/privacy-policy", target: "_blank", ariaLabel: "\u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043D\u043D\u044B\u0445", children: "\u0443\u0441\u043B\u043E\u0432\u0438\u044F\u043C\u0438 \u043F\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043D\u043D\u044B\u0445" })] }), _jsx(SubmitButton, { className: "w-full @xl:w-auto mt-xs", children: button?.text ?? 'Получить ссылку' })] })) }));
29
29
  });
30
- const getTitle = (isShowResultLink = false) => isShowResultLink ? 'Ваша личная ссылка' : 'Как получить бесплатное обслуживание счёта';
30
+ const getTitle = (title = '', isShowResultLink = false) => isShowResultLink ? 'Ваша личная ссылка' : title;
31
31
  //# sourceMappingURL=ReferalForm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReferalForm.js","sourceRoot":"","sources":["../../../src/components/ReferalForm/ReferalForm.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReferalForm.js","sourceRoot":"","sources":["../../../src/components/ReferalForm/ReferalForm.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import { type TextProps } from '../../model/HeadlineType';
1
+ import { type DescriptionProps, type TextProps, type TitleProps } from '../../model/HeadlineType';
2
2
  import { type Picture } from '../../model/Picture';
3
3
  import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
4
4
  /**
5
5
  * @title Форма для создания реферальной ссылки
6
6
  */
7
- export declare type ReferalFormContent = UniBlockContent & {
7
+ export declare type ReferalFormContent = UniBlockContent & TitleProps & DescriptionProps & {
8
8
  /** @title Адрес страницы с заявкой для реферала */
9
9
  link?: string;
10
10
  /** @title Кнопка */
@@ -1,2 +1,2 @@
1
- import { type SectionsProps } from '../../model/InputSectionsType';
2
- export declare const sections: SectionsProps[];
1
+ import { type FieldDef } from '../ApplicationForm/ApplicationFormContent';
2
+ export declare const inputs: FieldDef[];
@@ -1,17 +1,11 @@
1
- export const sections = [
2
- { title: 'Заполните ваши данные и получите персональную ссылку', inputs: [] },
1
+ export const inputs = [
3
2
  {
4
- columns: 2,
5
- inputs: [
6
- {
7
- name: 'dadataPartyInnSelect',
8
- required: true,
9
- },
10
- {
11
- name: 'email',
12
- required: true,
13
- },
14
- ],
3
+ name: 'dadataPartyInnSelect',
4
+ required: true,
5
+ },
6
+ {
7
+ name: 'email',
8
+ required: true,
15
9
  },
16
10
  ];
17
11
  //# sourceMappingURL=referalFormData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"referalFormData.js","sourceRoot":"","sources":["../../../src/components/ReferalForm/referalFormData.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAoB;IACvC,EAAE,KAAK,EAAE,sDAAsD,EAAE,MAAM,EAAE,EAAE,EAAE;IAC7E;QACE,OAAO,EAAE,CAAC;QACV,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,sBAAsB;gBAC5B,QAAQ,EAAE,IAAI;aACf;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,IAAI;aACf;SACF;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"referalFormData.js","sourceRoot":"","sources":["../../../src/components/ReferalForm/referalFormData.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAe;IAChC;QACE,IAAI,EAAE,sBAAsB;QAC5B,QAAQ,EAAE,IAAI;KACf;IACD;QACE,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,IAAI;KACf;CACF,CAAC"}
@@ -4,6 +4,9 @@ import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
4
4
  import { Img } from '../../ui-kit/Img/Img.js';
5
5
  import { defaultStyle } from '../../ui-kit/Input/styles.js';
6
6
  import { style } from '../../utils/style.js';
7
+ const defaultIcon = {
8
+ icon: 'CopyIcon',
9
+ };
7
10
  export const renderLinkInput = JSX(({ className, value = '', copyIcon }) => {
8
11
  const onClick = useCallback(async () => {
9
12
  try {
@@ -13,6 +16,6 @@ export const renderLinkInput = JSX(({ className, value = '', copyIcon }) => {
13
16
  console.log('Ошибка копирования');
14
17
  }
15
18
  }, []);
16
- return (_jsxs("div", { className: style('relative flex items-center max-w-lg m-auto', className), children: [_jsx("input", { className: style('h-14 border-gray text-ellipsis pr-5xl', defaultStyle), type: "text", value: value, disabled: true }), _jsx("div", { role: "button", className: "absolute right-3", onClick: onClick, children: _jsx(Img, { image: copyIcon }) })] }));
19
+ return (_jsxs("div", { className: style('relative flex items-center max-w-lg m-auto', className), children: [_jsx("input", { className: style('h-14 border-gray text-ellipsis pr-5xl', defaultStyle), type: "text", value: value, disabled: true }), _jsx("div", { role: "button", className: "absolute right-3", onClick: onClick, children: _jsx(Img, { image: copyIcon ?? defaultIcon, width: "20px" }) })] }));
17
20
  });
18
21
  //# sourceMappingURL=renderLinkInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderLinkInput.js","sourceRoot":"","sources":["../../../src/components/ReferalForm/renderLinkInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAM1C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAuB,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/F,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,IAAI;YACF,MAAM,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACvD;QAAC,MAAM;YACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;SACnC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,eAAK,SAAS,EAAE,KAAK,CAAC,4CAA4C,EAAE,SAAS,CAAC,aAC5E,gBACE,SAAS,EAAE,KAAK,CAAC,uCAAuC,EAAE,YAAY,CAAC,EACvE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,IAAI,GACd,EACF,cAAK,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,kBAAkB,EAAC,OAAO,EAAE,OAAO,YAC9D,KAAC,GAAG,IAAC,KAAK,EAAE,QAAQ,GAAI,GACpB,IACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"renderLinkInput.js","sourceRoot":"","sources":["../../../src/components/ReferalForm/renderLinkInput.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAM1C,MAAM,WAAW,GAAY;IAC3B,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAuB,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/F,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,IAAI;YACF,MAAM,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACvD;QAAC,MAAM;YACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;SACnC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,eAAK,SAAS,EAAE,KAAK,CAAC,4CAA4C,EAAE,SAAS,CAAC,aAC5E,gBACE,SAAS,EAAE,KAAK,CAAC,uCAAuC,EAAE,YAAY,CAAC,EACvE,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,IAAI,GACd,EACF,cAAK,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,kBAAkB,EAAC,OAAO,EAAE,OAAO,YAC9D,KAAC,GAAG,IAAC,KAAK,EAAE,QAAQ,IAAI,WAAW,EAAE,KAAK,EAAC,MAAM,GAAG,GAChD,IACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -3,6 +3,8 @@
3
3
  "link": "https://www.rshb.ru/business/dlya-druga/rko",
4
4
  "button": {
5
5
  "text": "Получить ссылку"
6
- }
6
+ },
7
+ "title": "Как получить бесплатное обслуживание счёта",
8
+ "description": "Заполните ваши данные и получите персональную ссылку"
7
9
  }
8
10
  }
@@ -2,7 +2,9 @@ import { useCallback, useMemo, useState } from '@redneckz/uni-jsx/lib/hooks';
2
2
  import { useForm } from '../../hooks/useForm/useForm';
3
3
  import { ApplicationFormLayout } from '../../ui-kit/ApplicationFormLayout/ApplicationFormLayout';
4
4
  import { SubmitButton } from '../../ui-kit/Button/SubmitButton';
5
+ import { getField } from '../../ui-kit/FormField/getField';
5
6
  import { getFormValidator } from '../../ui-kit/FormField/getObjectValidator';
7
+ import { renderTitle } from '../../ui-kit/FormField/renderTitle';
6
8
  import { Link } from '../../ui-kit/Link/Link';
7
9
  import { Paragraph } from '../../ui-kit/Paragraph/Paragraph';
8
10
  import { type Option } from '../../ui-kit/Select/Option';
@@ -11,8 +13,7 @@ import { UniBlock } from '../../UniBlock/UniBlock';
11
13
  import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
12
14
  import { type FieldDef } from '../ApplicationForm/ApplicationFormContent';
13
15
  import { type ReferalFormContent } from './ReferalFormContent';
14
- import { sections } from './referalFormData';
15
- import { renderSections } from './renderSections';
16
+ import { inputs } from './referalFormData';
16
17
  import { ResultLink } from './ResultLink';
17
18
 
18
19
  export interface FormState {
@@ -23,13 +24,9 @@ export interface FormState {
23
24
  export interface ReferalFormProps extends ReferalFormContent, UniBlockProps {}
24
25
 
25
26
  export const ReferalForm = UniBlock<ReferalFormProps>(
26
- ({ link = '', button, copyIcon, ...rest }) => {
27
+ ({ title, description, link = '', button, copyIcon, ...rest }) => {
27
28
  const [isShowResultLink, setIsShowResultLink] = useState(false);
28
29
  const [referalLink, setReferalLink] = useState('');
29
- const inputs = useMemo(
30
- () => (sections?.flatMap((_) => _?.inputs) || []) as FieldDef[],
31
- [sections],
32
- );
33
30
 
34
31
  const formValidator = useMemo(() => getFormValidator(inputs), [inputs]);
35
32
 
@@ -52,14 +49,17 @@ export const ReferalForm = UniBlock<ReferalFormProps>(
52
49
  return (
53
50
  <ApplicationFormLayout
54
51
  className="container space-y-m col-span-12"
55
- title={getTitle(isShowResultLink)}
52
+ title={getTitle(title, isShowResultLink)}
56
53
  {...rest}
57
54
  >
58
55
  {isShowResultLink ? (
59
56
  <ResultLink link={referalLink} copyIcon={copyIcon} />
60
57
  ) : (
61
58
  <form onSubmit={onSubmit}>
62
- {renderSections(sections, field)}
59
+ <div className="grid @xl:grid-cols-2 gap-x-m">
60
+ {renderTitle(description)}
61
+ {inputs.map(getField<FieldDef>(field))}
62
+ </div>
63
63
  <Paragraph size="text-l" font="font-light" color="text-secondary-text">
64
64
  <Text>Нажимая кнопку, вы подтверждаете согласие с </Text>
65
65
  <Link href="/privacy-policy" target="_blank" ariaLabel="условия передачи данных">
@@ -76,5 +76,5 @@ export const ReferalForm = UniBlock<ReferalFormProps>(
76
76
  },
77
77
  );
78
78
 
79
- const getTitle = (isShowResultLink = false) =>
80
- isShowResultLink ? 'Ваша личная ссылка' : 'Как получить бесплатное обслуживание счёта';
79
+ const getTitle = (title = '', isShowResultLink = false) =>
80
+ isShowResultLink ? 'Ваша личная ссылка' : title;
@@ -1,15 +1,17 @@
1
- import { type TextProps } from '../../model/HeadlineType';
1
+ import { type DescriptionProps, type TextProps, type TitleProps } from '../../model/HeadlineType';
2
2
  import { type Picture } from '../../model/Picture';
3
3
  import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
4
4
 
5
5
  /**
6
6
  * @title Форма для создания реферальной ссылки
7
7
  */
8
- export type ReferalFormContent = UniBlockContent & {
9
- /** @title Адрес страницы с заявкой для реферала */
10
- link?: string;
11
- /** @title Кнопка */
12
- button?: TextProps;
13
- /** @title Иконка кнопки копирования */
14
- copyIcon?: Picture;
15
- };
8
+ export type ReferalFormContent = UniBlockContent &
9
+ TitleProps &
10
+ DescriptionProps & {
11
+ /** @title Адрес страницы с заявкой для реферала */
12
+ link?: string;
13
+ /** @title Кнопка */
14
+ button?: TextProps;
15
+ /** @title Иконка кнопки копирования */
16
+ copyIcon?: Picture;
17
+ };
@@ -1,18 +1,12 @@
1
- import { type SectionsProps } from '../../model/InputSectionsType';
1
+ import { type FieldDef } from '../ApplicationForm/ApplicationFormContent';
2
2
 
3
- export const sections: SectionsProps[] = [
4
- { title: 'Заполните ваши данные и получите персональную ссылку', inputs: [] },
3
+ export const inputs: FieldDef[] = [
5
4
  {
6
- columns: 2,
7
- inputs: [
8
- {
9
- name: 'dadataPartyInnSelect',
10
- required: true,
11
- },
12
- {
13
- name: 'email',
14
- required: true,
15
- },
16
- ],
5
+ name: 'dadataPartyInnSelect',
6
+ required: true,
7
+ },
8
+ {
9
+ name: 'email',
10
+ required: true,
17
11
  },
18
12
  ];
@@ -10,6 +10,10 @@ type renderLinkInputProps = InputProps & {
10
10
  copyIcon?: Picture;
11
11
  };
12
12
 
13
+ const defaultIcon: Picture = {
14
+ icon: 'CopyIcon',
15
+ };
16
+
13
17
  export const renderLinkInput = JSX<renderLinkInputProps>(({ className, value = '', copyIcon }) => {
14
18
  const onClick = useCallback(async () => {
15
19
  try {
@@ -28,7 +32,7 @@ export const renderLinkInput = JSX<renderLinkInputProps>(({ className, value = '
28
32
  disabled={true}
29
33
  />
30
34
  <div role="button" className="absolute right-3" onClick={onClick}>
31
- <Img image={copyIcon} />
35
+ <Img image={copyIcon ?? defaultIcon} width="20px" />
32
36
  </div>
33
37
  </div>
34
38
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.14.1039",
3
+ "version": "0.14.1040",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -3,6 +3,8 @@
3
3
  "link": "https://www.rshb.ru/business/dlya-druga/rko",
4
4
  "button": {
5
5
  "text": "Получить ссылку"
6
- }
6
+ },
7
+ "title": "Как получить бесплатное обслуживание счёта",
8
+ "description": "Заполните ваши данные и получите персональную ссылку"
7
9
  }
8
10
  }
@@ -15,6 +15,8 @@ export default {
15
15
  <div className="container grid grid-cols-12">
16
16
  <ReferalForm
17
17
  link="https://www.rshb.ru/business/dlya-druga/rko"
18
+ description="Заполните ваши данные и получите персональную ссылку"
19
+ title="Как получить бесплатное обслуживание счёта"
18
20
  button={{ text: 'Получить ссылку' }}
19
21
  copyIcon={icon}
20
22
  />
@@ -15,6 +15,8 @@ export default {
15
15
  <div className="container grid grid-cols-12">
16
16
  <ReferalForm
17
17
  link="https://www.rshb.ru/business/dlya-druga/rko"
18
+ description="Заполните ваши данные и получите персональную ссылку"
19
+ title="Как получить бесплатное обслуживание счёта"
18
20
  button={{ text: 'Получить ссылку' }}
19
21
  copyIcon={icon}
20
22
  />
@@ -2,7 +2,9 @@ import { useCallback, useMemo, useState } from '@redneckz/uni-jsx/lib/hooks';
2
2
  import { useForm } from '../../hooks/useForm/useForm';
3
3
  import { ApplicationFormLayout } from '../../ui-kit/ApplicationFormLayout/ApplicationFormLayout';
4
4
  import { SubmitButton } from '../../ui-kit/Button/SubmitButton';
5
+ import { getField } from '../../ui-kit/FormField/getField';
5
6
  import { getFormValidator } from '../../ui-kit/FormField/getObjectValidator';
7
+ import { renderTitle } from '../../ui-kit/FormField/renderTitle';
6
8
  import { Link } from '../../ui-kit/Link/Link';
7
9
  import { Paragraph } from '../../ui-kit/Paragraph/Paragraph';
8
10
  import { type Option } from '../../ui-kit/Select/Option';
@@ -11,8 +13,7 @@ import { UniBlock } from '../../UniBlock/UniBlock';
11
13
  import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
12
14
  import { type FieldDef } from '../ApplicationForm/ApplicationFormContent';
13
15
  import { type ReferalFormContent } from './ReferalFormContent';
14
- import { sections } from './referalFormData';
15
- import { renderSections } from './renderSections';
16
+ import { inputs } from './referalFormData';
16
17
  import { ResultLink } from './ResultLink';
17
18
 
18
19
  export interface FormState {
@@ -23,13 +24,9 @@ export interface FormState {
23
24
  export interface ReferalFormProps extends ReferalFormContent, UniBlockProps {}
24
25
 
25
26
  export const ReferalForm = UniBlock<ReferalFormProps>(
26
- ({ link = '', button, copyIcon, ...rest }) => {
27
+ ({ title, description, link = '', button, copyIcon, ...rest }) => {
27
28
  const [isShowResultLink, setIsShowResultLink] = useState(false);
28
29
  const [referalLink, setReferalLink] = useState('');
29
- const inputs = useMemo(
30
- () => (sections?.flatMap((_) => _?.inputs) || []) as FieldDef[],
31
- [sections],
32
- );
33
30
 
34
31
  const formValidator = useMemo(() => getFormValidator(inputs), [inputs]);
35
32
 
@@ -52,14 +49,17 @@ export const ReferalForm = UniBlock<ReferalFormProps>(
52
49
  return (
53
50
  <ApplicationFormLayout
54
51
  className="container space-y-m col-span-12"
55
- title={getTitle(isShowResultLink)}
52
+ title={getTitle(title, isShowResultLink)}
56
53
  {...rest}
57
54
  >
58
55
  {isShowResultLink ? (
59
56
  <ResultLink link={referalLink} copyIcon={copyIcon} />
60
57
  ) : (
61
58
  <form onSubmit={onSubmit}>
62
- {renderSections(sections, field)}
59
+ <div className="grid @xl:grid-cols-2 gap-x-m">
60
+ {renderTitle(description)}
61
+ {inputs.map(getField<FieldDef>(field))}
62
+ </div>
63
63
  <Paragraph size="text-l" font="font-light" color="text-secondary-text">
64
64
  <Text>Нажимая кнопку, вы подтверждаете согласие с </Text>
65
65
  <Link href="/privacy-policy" target="_blank" ariaLabel="условия передачи данных">
@@ -76,5 +76,5 @@ export const ReferalForm = UniBlock<ReferalFormProps>(
76
76
  },
77
77
  );
78
78
 
79
- const getTitle = (isShowResultLink = false) =>
80
- isShowResultLink ? 'Ваша личная ссылка' : 'Как получить бесплатное обслуживание счёта';
79
+ const getTitle = (title = '', isShowResultLink = false) =>
80
+ isShowResultLink ? 'Ваша личная ссылка' : title;
@@ -1,15 +1,17 @@
1
- import { type TextProps } from '../../model/HeadlineType';
1
+ import { type DescriptionProps, type TextProps, type TitleProps } from '../../model/HeadlineType';
2
2
  import { type Picture } from '../../model/Picture';
3
3
  import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
4
4
 
5
5
  /**
6
6
  * @title Форма для создания реферальной ссылки
7
7
  */
8
- export type ReferalFormContent = UniBlockContent & {
9
- /** @title Адрес страницы с заявкой для реферала */
10
- link?: string;
11
- /** @title Кнопка */
12
- button?: TextProps;
13
- /** @title Иконка кнопки копирования */
14
- copyIcon?: Picture;
15
- };
8
+ export type ReferalFormContent = UniBlockContent &
9
+ TitleProps &
10
+ DescriptionProps & {
11
+ /** @title Адрес страницы с заявкой для реферала */
12
+ link?: string;
13
+ /** @title Кнопка */
14
+ button?: TextProps;
15
+ /** @title Иконка кнопки копирования */
16
+ copyIcon?: Picture;
17
+ };
@@ -1,18 +1,12 @@
1
- import { type SectionsProps } from '../../model/InputSectionsType';
1
+ import { type FieldDef } from '../ApplicationForm/ApplicationFormContent';
2
2
 
3
- export const sections: SectionsProps[] = [
4
- { title: 'Заполните ваши данные и получите персональную ссылку', inputs: [] },
3
+ export const inputs: FieldDef[] = [
5
4
  {
6
- columns: 2,
7
- inputs: [
8
- {
9
- name: 'dadataPartyInnSelect',
10
- required: true,
11
- },
12
- {
13
- name: 'email',
14
- required: true,
15
- },
16
- ],
5
+ name: 'dadataPartyInnSelect',
6
+ required: true,
7
+ },
8
+ {
9
+ name: 'email',
10
+ required: true,
17
11
  },
18
12
  ];