@redneckz/wildless-cms-uni-blocks 0.14.872 → 0.14.874

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 (44) hide show
  1. package/bundle/bundle.umd.js +31 -2
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/retail/components/NoConsentDialog/NoConsentDialog.d.ts +6 -0
  4. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +14 -1
  5. package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  6. package/dist/components/StickyBottomMenu/StickyBottomMenuDialog.js +1 -1
  7. package/dist/components/StickyBottomMenu/StickyBottomMenuDialog.js.map +1 -1
  8. package/dist/retail/components/NoConsentDialog/NoConsentDialog.d.ts +6 -0
  9. package/dist/retail/components/NoConsentDialog/NoConsentDialog.js +27 -0
  10. package/dist/retail/components/NoConsentDialog/NoConsentDialog.js.map +1 -0
  11. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +14 -1
  12. package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  13. package/lib/components/StickyBottomMenu/StickyBottomMenuDialog.js +1 -1
  14. package/lib/components/StickyBottomMenu/StickyBottomMenuDialog.js.map +1 -1
  15. package/lib/retail/components/NoConsentDialog/NoConsentDialog.d.ts +6 -0
  16. package/lib/retail/components/NoConsentDialog/NoConsentDialog.fixture.d.ts +5 -0
  17. package/lib/retail/components/NoConsentDialog/NoConsentDialog.js +25 -0
  18. package/lib/retail/components/NoConsentDialog/NoConsentDialog.js.map +1 -0
  19. package/mobile/bundle/bundle.umd.js +32 -3
  20. package/mobile/bundle/bundle.umd.min.js +1 -1
  21. package/mobile/bundle/retail/components/NoConsentDialog/NoConsentDialog.d.ts +6 -0
  22. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +14 -1
  23. package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  24. package/mobile/dist/components/StickyBottomMenu/StickyBottomMenuDialog.js +1 -1
  25. package/mobile/dist/components/StickyBottomMenu/StickyBottomMenuDialog.js.map +1 -1
  26. package/mobile/dist/retail/components/NoConsentDialog/NoConsentDialog.d.ts +6 -0
  27. package/mobile/dist/retail/components/NoConsentDialog/NoConsentDialog.js +27 -0
  28. package/mobile/dist/retail/components/NoConsentDialog/NoConsentDialog.js.map +1 -0
  29. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +14 -1
  30. package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
  31. package/mobile/lib/components/StickyBottomMenu/StickyBottomMenuDialog.js +1 -1
  32. package/mobile/lib/components/StickyBottomMenu/StickyBottomMenuDialog.js.map +1 -1
  33. package/mobile/lib/retail/components/NoConsentDialog/NoConsentDialog.d.ts +6 -0
  34. package/mobile/lib/retail/components/NoConsentDialog/NoConsentDialog.js +25 -0
  35. package/mobile/lib/retail/components/NoConsentDialog/NoConsentDialog.js.map +1 -0
  36. package/mobile/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +16 -1
  37. package/mobile/src/components/StickyBottomMenu/StickyBottomMenuDialog.tsx +1 -1
  38. package/mobile/src/retail/components/NoConsentDialog/NoConsentDialog.tsx +55 -0
  39. package/package.json +1 -1
  40. package/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +16 -1
  41. package/src/components/StickyBottomMenu/StickyBottomMenuDialog.tsx +1 -1
  42. package/src/icons/IconName.ts +4 -4
  43. package/src/retail/components/NoConsentDialog/NoConsentDialog.fixture.tsx +7 -0
  44. package/src/retail/components/NoConsentDialog/NoConsentDialog.tsx +55 -0
@@ -0,0 +1,6 @@
1
+ import type { OnCloseProps } from '../../../model/OnCloseProps';
2
+ export interface NoConsentDialogProps extends OnCloseProps {
3
+ attempts: number;
4
+ onSubmit?: (confirmStatus: string) => void;
5
+ }
6
+ export declare const NoConsentDialog: import("@redneckz/uni-jsx").UNIComponent<NoConsentDialogProps, any, any>;
@@ -5,6 +5,7 @@ const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
5
5
  const uni_jsx_1 = require("@redneckz/uni-jsx");
6
6
  const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
7
7
  const useForm_1 = require("../../hooks/useForm/useForm");
8
+ const NoConsentDialog_1 = require("../../retail/components/NoConsentDialog/NoConsentDialog");
8
9
  const getLimitedBirthdayValidation_1 = require("../../retail/validator/getLimitedBirthdayValidation");
9
10
  const validatorObj_1 = require("../../retail/validator/validatorObj");
10
11
  const ApplicationFormLayout_1 = require("../../ui-kit/ApplicationFormLayout/ApplicationFormLayout");
@@ -25,9 +26,11 @@ const useApplicationLeadApi_1 = require("./useApplicationLeadApi");
25
26
  const useInitApplicationLead_1 = require("./useInitApplicationLead");
26
27
  exports.ApplicationLeadForm = (0, uni_jsx_1.JSX)(({ className, title, programId = '', nextStepLink = '/credit-lead', button, productType = 'credit', data, ...rest }) => {
27
28
  const [esiaStatus, setEsiaStatus] = (0, hooks_1.useState)();
29
+ const [attemptsWithoutConsents, setAttemptsWithoutConsents] = (0, hooks_1.useState)(0);
28
30
  const leadForm = (0, hooks_1.useRef)(null);
29
31
  const applicationFormData = (0, hooks_1.useMemo)(() => (0, applicationFormData_1.getApplicationFormData)(productType), [productType]);
30
32
  const inputs = (0, hooks_1.useMemo)(() => getInputs(applicationFormData), [applicationFormData]);
33
+ const noConsentDialog = (0, useDialog_1.useDialog)(NoConsentDialog_1.NoConsentDialog);
31
34
  const extendedValidatorObj = (0, hooks_1.useMemo)(() => getExtendedValidatorObj(productType), [productType]);
32
35
  const formValidator = (0, hooks_1.useMemo)(() => (0, getObjectValidator_1.getFormValidator)(inputs, extendedValidatorObj), [inputs, extendedValidatorObj]);
33
36
  const initialFormState = (0, useInitApplicationLead_1.useInitApplicationLead)({
@@ -47,6 +50,16 @@ exports.ApplicationLeadForm = (0, uni_jsx_1.JSX)(({ className, title, programId
47
50
  formValidator,
48
51
  onSubmit: handleSubmit,
49
52
  });
53
+ const onSubmitWithPrecondition = (ev) => {
54
+ if (!field('processPersonalDataFlg')?.value) {
55
+ setAttemptsWithoutConsents((prev) => prev + 1);
56
+ attemptsWithoutConsents > 0 &&
57
+ noConsentDialog.open({
58
+ attempts: attemptsWithoutConsents,
59
+ });
60
+ }
61
+ onSubmit?.(ev);
62
+ };
50
63
  const responseTypeDialog = (0, useDialog_1.useDialog)(ResponseTypeDialog_1.ResponseTypeDialog);
51
64
  (0, hooks_1.useEffect)(() => {
52
65
  if (ok !== undefined) {
@@ -63,7 +76,7 @@ exports.ApplicationLeadForm = (0, uni_jsx_1.JSX)(({ className, title, programId
63
76
  reset();
64
77
  }
65
78
  }, [leadForm?.current, esiaStatus]);
66
- return ((0, jsx_runtime_1.jsxs)(ApplicationFormLayout_1.ApplicationFormLayout, { className: (0, style_1.style)('container space-y-m', className), title: title, ...rest, children: [!esiaStatus ? (0, jsx_runtime_1.jsx)(EsiaLoginBanner_1.EsiaLoginBanner, { onChangeEsiaStatus: setEsiaStatus }) : null, (0, jsx_runtime_1.jsxs)("form", { onSubmit: onSubmit, className: "space-y-m relative", ref: leadForm, children: [esiaStatus === ApplicationLeadFormContent_1.EsiaStatuses.Pending ? (0, jsx_runtime_1.jsx)(Loader_1.Loader, { blur: false }) : null, applicationFormData.map((_, i) => ((0, jsx_runtime_1.jsxs)("div", { className: (0, style_1.style)((0, inputColumnStyle_1.inputColumnStyles)(_.columns), 'grid gap-x-m'), children: [(0, renderTitle_1.renderTitle)(_.title), (0, renderInputs_1.renderInputs)({ field, inputs: _?.inputs }, productType)] }, `section-${i}`))), (0, renderSubmitButton_1.renderSubmitButton)(button, isSending), esiaStatus === ApplicationLeadFormContent_1.EsiaStatuses.Error ? ((0, jsx_runtime_1.jsx)(Text_1.Text, { size: "text-m", font: "font-medium", color: "text-error", children: "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0413\u043E\u0441\u0443\u0441\u043B\u0443\u0433\u0438 \u0434\u043B\u044F \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F \u0437\u0430\u044F\u0432\u043A\u0438 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0437\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043F\u043E\u043B\u044F \u0432\u0440\u0443\u0447\u043D\u0443\u044E." })) : null] })] }));
79
+ return ((0, jsx_runtime_1.jsxs)(ApplicationFormLayout_1.ApplicationFormLayout, { className: (0, style_1.style)('container space-y-m', className), title: title, ...rest, children: [!esiaStatus ? (0, jsx_runtime_1.jsx)(EsiaLoginBanner_1.EsiaLoginBanner, { onChangeEsiaStatus: setEsiaStatus }) : null, (0, jsx_runtime_1.jsxs)("form", { onSubmit: onSubmitWithPrecondition, className: "space-y-m relative", ref: leadForm, children: [esiaStatus === ApplicationLeadFormContent_1.EsiaStatuses.Pending ? (0, jsx_runtime_1.jsx)(Loader_1.Loader, { blur: false }) : null, applicationFormData.map((_, i) => ((0, jsx_runtime_1.jsxs)("div", { className: (0, style_1.style)((0, inputColumnStyle_1.inputColumnStyles)(_.columns), 'grid gap-x-m'), children: [(0, renderTitle_1.renderTitle)(_.title), (0, renderInputs_1.renderInputs)({ field, inputs: _?.inputs }, productType)] }, `section-${i}`))), (0, renderSubmitButton_1.renderSubmitButton)(button, isSending), esiaStatus === ApplicationLeadFormContent_1.EsiaStatuses.Error ? ((0, jsx_runtime_1.jsx)(Text_1.Text, { size: "text-m", font: "font-medium", color: "text-error", children: "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0413\u043E\u0441\u0443\u0441\u043B\u0443\u0433\u0438 \u0434\u043B\u044F \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F \u0437\u0430\u044F\u0432\u043A\u0438 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0437\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043F\u043E\u043B\u044F \u0432\u0440\u0443\u0447\u043D\u0443\u044E." })) : null] })] }));
67
80
  });
68
81
  const getInputs = (applicationFormData) => (applicationFormData?.flatMap((_) => _?.inputs) || []);
69
82
  const getExtendedValidatorObj = (productType) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationLeadForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationLeadForm/ApplicationLeadForm.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationLeadForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationLeadForm/ApplicationLeadForm.tsx"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
4
  const uni_jsx_1 = require("@redneckz/uni-jsx");
5
5
  const CloseButton_1 = require("../../ui-kit/DialogManager/CloseButton");
6
6
  const style_1 = require("../../utils/style");
7
- exports.StickyBottomMenuDialog = (0, uni_jsx_1.JSX)(({ className, head, children, onClose, onClick }) => ((0, jsx_runtime_1.jsxs)("div", { onClick: onClick, className: (0, style_1.style)('relative bg-white p-0 rounded-xl top-32', className), role: "dialog", children: [(0, jsx_runtime_1.jsxs)("div", { className: "sticky py-xl top-0 rounded-xl bg-white z-10", children: [(0, jsx_runtime_1.jsx)(CloseButton_1.CloseButton, { className: "absolute top-1.5 right-0", onClose: onClose }), (0, jsx_runtime_1.jsx)("div", { className: "container", children: head })] }), (0, jsx_runtime_1.jsx)("div", { className: "container pb-6xl", children: children })] })));
7
+ exports.StickyBottomMenuDialog = (0, uni_jsx_1.JSX)(({ className, head, children, onClose, onClick }) => ((0, jsx_runtime_1.jsxs)("div", { onClick: onClick, className: (0, style_1.style)('absolute bg-white p-0 rounded-xl bottom-0 top-32 w-full', className), role: "dialog", children: [(0, jsx_runtime_1.jsxs)("div", { className: "sticky py-xl top-0 rounded-xl bg-white z-10", children: [(0, jsx_runtime_1.jsx)(CloseButton_1.CloseButton, { className: "absolute top-1.5 right-0", onClose: onClose }), (0, jsx_runtime_1.jsx)("div", { className: "container", children: head })] }), (0, jsx_runtime_1.jsx)("div", { className: "container pb-6xl", children: children })] })));
8
8
  //# sourceMappingURL=StickyBottomMenuDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StickyBottomMenuDialog.js","sourceRoot":"","sources":["../../../src/components/StickyBottomMenu/StickyBottomMenuDialog.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAKxC,wEAAqE;AACrE,6CAA0C;AAS7B,QAAA,sBAAsB,GAAG,IAAA,aAAG,EACvC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACnD,iCACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,IAAA,aAAK,EAAC,yCAAyC,EAAE,SAAS,CAAC,EACtE,IAAI,EAAC,QAAQ,aAEb,iCAAK,SAAS,EAAC,6CAA6C,aAC1D,uBAAC,yBAAW,IAAC,SAAS,EAAC,0BAA0B,EAAC,OAAO,EAAE,OAAO,GAAI,EACtE,gCAAK,SAAS,EAAC,WAAW,YAAE,IAAI,GAAO,IACnC,EACN,gCAAK,SAAS,EAAC,kBAAkB,YAAE,QAAQ,GAAO,IAC9C,CACP,CACF,CAAC"}
1
+ {"version":3,"file":"StickyBottomMenuDialog.js","sourceRoot":"","sources":["../../../src/components/StickyBottomMenu/StickyBottomMenuDialog.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAKxC,wEAAqE;AACrE,6CAA0C;AAS7B,QAAA,sBAAsB,GAAG,IAAA,aAAG,EACvC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACnD,iCACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,IAAA,aAAK,EAAC,yDAAyD,EAAE,SAAS,CAAC,EACtF,IAAI,EAAC,QAAQ,aAEb,iCAAK,SAAS,EAAC,6CAA6C,aAC1D,uBAAC,yBAAW,IAAC,SAAS,EAAC,0BAA0B,EAAC,OAAO,EAAE,OAAO,GAAI,EACtE,gCAAK,SAAS,EAAC,WAAW,YAAE,IAAI,GAAO,IACnC,EACN,gCAAK,SAAS,EAAC,kBAAkB,YAAE,QAAQ,GAAO,IAC9C,CACP,CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { OnCloseProps } from '../../../model/OnCloseProps';
2
+ export interface NoConsentDialogProps extends OnCloseProps {
3
+ attempts: number;
4
+ onSubmit?: (confirmStatus: string) => void;
5
+ }
6
+ export declare const NoConsentDialog: import("@redneckz/uni-jsx").UNIComponent<NoConsentDialogProps, any, any>;
@@ -0,0 +1,27 @@
1
+ Object.defineProperty(exports, "__esModule", { value: true });
2
+ exports.NoConsentDialog = void 0;
3
+ const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
4
+ const uni_jsx_1 = require("@redneckz/uni-jsx");
5
+ const hooks_1 = require("@redneckz/uni-jsx/lib/hooks");
6
+ const locationNavigator_1 = require("../../../external/locationNavigator");
7
+ const Button_1 = require("../../../ui-kit/Button/Button");
8
+ const Dialog_1 = require("../../../ui-kit/DialogManager/Dialog");
9
+ const Paragraph_1 = require("../../../ui-kit/Paragraph/Paragraph");
10
+ const noop_1 = require("../../../utils/noop");
11
+ exports.NoConsentDialog = (0, uni_jsx_1.JSX)(({ attempts, onClose = noop_1.noop }) => {
12
+ const navigator = (0, locationNavigator_1.locationNavigator)();
13
+ const isMaxAttempts = attempts > 1;
14
+ const returnToMainPage = (0, hooks_1.useCallback)(() => {
15
+ navigator.assign('/natural');
16
+ }, []);
17
+ const handleClose = (0, hooks_1.useCallback)(() => {
18
+ if (isMaxAttempts) {
19
+ returnToMainPage();
20
+ }
21
+ else {
22
+ onClose();
23
+ }
24
+ }, [isMaxAttempts]);
25
+ return ((0, jsx_runtime_1.jsx)(Dialog_1.Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-lg px-5xl", onClose: handleClose, children: (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-xl items-center", children: [(0, jsx_runtime_1.jsx)(Paragraph_1.Paragraph, { align: "text-center", children: "\u0423\u0432\u0430\u0436\u0430\u0435\u043C\u044B\u0439 \u043A\u043B\u0438\u0435\u043D\u0442!" }), (0, jsx_runtime_1.jsx)(Paragraph_1.Paragraph, { align: "text-center", children: "\u0414\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043A\u0440\u0435\u0434\u0438\u0442\u0430 \u0412\u0430\u043C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u043E\u0431\u0440\u0430\u0442\u0438\u0442\u044C\u0441\u044F \u0432 \u043E\u0444\u0438\u0441 \u0411\u0430\u043D\u043A\u0430" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col sm:flex-row gap-xl items-center", children: [(0, jsx_runtime_1.jsx)(Button_1.Button, { type: "button", version: "secondary", onClick: returnToMainPage, children: "\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C" }), isMaxAttempts ? null : ((0, jsx_runtime_1.jsx)(Button_1.Button, { type: "button", onClick: onClose, children: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C" }))] })] }) }));
26
+ });
27
+ //# sourceMappingURL=NoConsentDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoConsentDialog.js","sourceRoot":"","sources":["../../../../src/retail/components/NoConsentDialog/NoConsentDialog.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAA0D;AAG1D,2EAAwE;AACxE,0DAAuD;AACvD,iEAA8D;AAC9D,mEAAgE;AAChE,8CAA2C;AAO9B,QAAA,eAAe,GAAG,IAAA,aAAG,EAAuB,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,WAAI,EAAE,EAAE,EAAE;IACxF,MAAM,SAAS,GAAG,IAAA,qCAAiB,GAAE,CAAC;IACtC,MAAM,aAAa,GAAG,QAAQ,GAAG,CAAC,CAAC;IAEnC,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACxC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACnC,IAAI,aAAa,EAAE;YACjB,gBAAgB,EAAE,CAAC;SACpB;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,CACL,uBAAC,eAAM,IACL,SAAS,EAAC,6DAA6D,EACvE,OAAO,EAAE,WAAW,YAEpB,iCAAK,SAAS,EAAC,mCAAmC,aAChD,uBAAC,qBAAS,IAAC,KAAK,EAAC,aAAa,6GAA8B,EAC5D,uBAAC,qBAAS,IAAC,KAAK,EAAC,aAAa,iVAElB,EACZ,iCAAK,SAAS,EAAC,+CAA+C,aAC5D,uBAAC,eAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,gBAAgB,uEAE1D,EACR,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACtB,uBAAC,eAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,6EAE7B,CACV,IACG,IACF,GACC,CACV,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -3,6 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
3
3
  import { JSX } from '@redneckz/uni-jsx';
4
4
  import { useEffect, useMemo, useRef, useState } from '@redneckz/uni-jsx/lib/hooks';
5
5
  import { useForm } from '../../hooks/useForm/useForm.js';
6
+ import { NoConsentDialog } from '../../retail/components/NoConsentDialog/NoConsentDialog.js';
6
7
  import { getLimitedBirthdayValidation } from '../../retail/validator/getLimitedBirthdayValidation.js';
7
8
  import { validatorObj } from '../../retail/validator/validatorObj.js';
8
9
  import { ApplicationFormLayout } from '../../ui-kit/ApplicationFormLayout/ApplicationFormLayout.js';
@@ -23,9 +24,11 @@ import { useApplicationLeadApi } from './useApplicationLeadApi.js';
23
24
  import { useInitApplicationLead } from './useInitApplicationLead.js';
24
25
  export const ApplicationLeadForm = JSX(({ className, title, programId = '', nextStepLink = '/credit-lead', button, productType = 'credit', data, ...rest }) => {
25
26
  const [esiaStatus, setEsiaStatus] = useState();
27
+ const [attemptsWithoutConsents, setAttemptsWithoutConsents] = useState(0);
26
28
  const leadForm = useRef(null);
27
29
  const applicationFormData = useMemo(() => getApplicationFormData(productType), [productType]);
28
30
  const inputs = useMemo(() => getInputs(applicationFormData), [applicationFormData]);
31
+ const noConsentDialog = useDialog(NoConsentDialog);
29
32
  const extendedValidatorObj = useMemo(() => getExtendedValidatorObj(productType), [productType]);
30
33
  const formValidator = useMemo(() => getFormValidator(inputs, extendedValidatorObj), [inputs, extendedValidatorObj]);
31
34
  const initialFormState = useInitApplicationLead({
@@ -45,6 +48,16 @@ export const ApplicationLeadForm = JSX(({ className, title, programId = '', next
45
48
  formValidator,
46
49
  onSubmit: handleSubmit,
47
50
  });
51
+ const onSubmitWithPrecondition = (ev) => {
52
+ if (!field('processPersonalDataFlg')?.value) {
53
+ setAttemptsWithoutConsents((prev) => prev + 1);
54
+ attemptsWithoutConsents > 0 &&
55
+ noConsentDialog.open({
56
+ attempts: attemptsWithoutConsents,
57
+ });
58
+ }
59
+ onSubmit?.(ev);
60
+ };
48
61
  const responseTypeDialog = useDialog(ResponseTypeDialog);
49
62
  useEffect(() => {
50
63
  if (ok !== undefined) {
@@ -61,7 +74,7 @@ export const ApplicationLeadForm = JSX(({ className, title, programId = '', next
61
74
  reset();
62
75
  }
63
76
  }, [leadForm?.current, esiaStatus]);
64
- return (_jsxs(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: [!esiaStatus ? _jsx(EsiaLoginBanner, { onChangeEsiaStatus: setEsiaStatus }) : null, _jsxs("form", { onSubmit: onSubmit, className: "space-y-m relative", ref: leadForm, children: [esiaStatus === EsiaStatuses.Pending ? _jsx(Loader, { blur: false }) : null, applicationFormData.map((_, i) => (_jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs({ field, inputs: _?.inputs }, productType)] }, `section-${i}`))), renderSubmitButton(button, isSending), esiaStatus === EsiaStatuses.Error ? (_jsx(Text, { size: "text-m", font: "font-medium", color: "text-error", children: "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0413\u043E\u0441\u0443\u0441\u043B\u0443\u0433\u0438 \u0434\u043B\u044F \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F \u0437\u0430\u044F\u0432\u043A\u0438 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0437\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043F\u043E\u043B\u044F \u0432\u0440\u0443\u0447\u043D\u0443\u044E." })) : null] })] }));
77
+ return (_jsxs(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: [!esiaStatus ? _jsx(EsiaLoginBanner, { onChangeEsiaStatus: setEsiaStatus }) : null, _jsxs("form", { onSubmit: onSubmitWithPrecondition, className: "space-y-m relative", ref: leadForm, children: [esiaStatus === EsiaStatuses.Pending ? _jsx(Loader, { blur: false }) : null, applicationFormData.map((_, i) => (_jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs({ field, inputs: _?.inputs }, productType)] }, `section-${i}`))), renderSubmitButton(button, isSending), esiaStatus === EsiaStatuses.Error ? (_jsx(Text, { size: "text-m", font: "font-medium", color: "text-error", children: "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0413\u043E\u0441\u0443\u0441\u043B\u0443\u0433\u0438 \u0434\u043B\u044F \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F \u0437\u0430\u044F\u0432\u043A\u0438 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0437\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043F\u043E\u043B\u044F \u0432\u0440\u0443\u0447\u043D\u0443\u044E." })) : null] })] }));
65
78
  });
66
79
  const getInputs = (applicationFormData) => (applicationFormData?.flatMap((_) => _?.inputs) || []);
67
80
  const getExtendedValidatorObj = (productType) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationLeadForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationLeadForm/ApplicationLeadForm.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationLeadForm.js","sourceRoot":"","sources":["../../../src/components/ApplicationLeadForm/ApplicationLeadForm.tsx"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
2
  import { JSX } from '@redneckz/uni-jsx';
3
3
  import { CloseButton } from '../../ui-kit/DialogManager/CloseButton.js';
4
4
  import { style } from '../../utils/style.js';
5
- export const StickyBottomMenuDialog = JSX(({ className, head, children, onClose, onClick }) => (_jsxs("div", { onClick: onClick, className: style('relative bg-white p-0 rounded-xl top-32', className), role: "dialog", children: [_jsxs("div", { className: "sticky py-xl top-0 rounded-xl bg-white z-10", children: [_jsx(CloseButton, { className: "absolute top-1.5 right-0", onClose: onClose }), _jsx("div", { className: "container", children: head })] }), _jsx("div", { className: "container pb-6xl", children: children })] })));
5
+ export const StickyBottomMenuDialog = JSX(({ className, head, children, onClose, onClick }) => (_jsxs("div", { onClick: onClick, className: style('absolute bg-white p-0 rounded-xl bottom-0 top-32 w-full', className), role: "dialog", children: [_jsxs("div", { className: "sticky py-xl top-0 rounded-xl bg-white z-10", children: [_jsx(CloseButton, { className: "absolute top-1.5 right-0", onClose: onClose }), _jsx("div", { className: "container", children: head })] }), _jsx("div", { className: "container pb-6xl", children: children })] })));
6
6
  //# sourceMappingURL=StickyBottomMenuDialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StickyBottomMenuDialog.js","sourceRoot":"","sources":["../../../src/components/StickyBottomMenu/StickyBottomMenuDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAKxC,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAS1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CACvC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACnD,eACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,KAAK,CAAC,yCAAyC,EAAE,SAAS,CAAC,EACtE,IAAI,EAAC,QAAQ,aAEb,eAAK,SAAS,EAAC,6CAA6C,aAC1D,KAAC,WAAW,IAAC,SAAS,EAAC,0BAA0B,EAAC,OAAO,EAAE,OAAO,GAAI,EACtE,cAAK,SAAS,EAAC,WAAW,YAAE,IAAI,GAAO,IACnC,EACN,cAAK,SAAS,EAAC,kBAAkB,YAAE,QAAQ,GAAO,IAC9C,CACP,CACF,CAAC"}
1
+ {"version":3,"file":"StickyBottomMenuDialog.js","sourceRoot":"","sources":["../../../src/components/StickyBottomMenu/StickyBottomMenuDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAKxC,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAS1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CACvC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACnD,eACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,KAAK,CAAC,yDAAyD,EAAE,SAAS,CAAC,EACtF,IAAI,EAAC,QAAQ,aAEb,eAAK,SAAS,EAAC,6CAA6C,aAC1D,KAAC,WAAW,IAAC,SAAS,EAAC,0BAA0B,EAAC,OAAO,EAAE,OAAO,GAAI,EACtE,cAAK,SAAS,EAAC,WAAW,YAAE,IAAI,GAAO,IACnC,EACN,cAAK,SAAS,EAAC,kBAAkB,YAAE,QAAQ,GAAO,IAC9C,CACP,CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { OnCloseProps } from '../../../model/OnCloseProps';
2
+ export interface NoConsentDialogProps extends OnCloseProps {
3
+ attempts: number;
4
+ onSubmit?: (confirmStatus: string) => void;
5
+ }
6
+ export declare const NoConsentDialog: import("@redneckz/uni-jsx").UNIComponent<NoConsentDialogProps, any, any>;
@@ -0,0 +1,5 @@
1
+ import '../../../setup-fixture';
2
+ declare const _default: {
3
+ default: any;
4
+ };
5
+ export default _default;
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
2
+ import { JSX } from '@redneckz/uni-jsx';
3
+ import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
4
+ import { locationNavigator } from '../../../external/locationNavigator.js';
5
+ import { Button } from '../../../ui-kit/Button/Button.js';
6
+ import { Dialog } from '../../../ui-kit/DialogManager/Dialog.js';
7
+ import { Paragraph } from '../../../ui-kit/Paragraph/Paragraph.js';
8
+ import { noop } from '../../../utils/noop.js';
9
+ export const NoConsentDialog = JSX(({ attempts, onClose = noop }) => {
10
+ const navigator = locationNavigator();
11
+ const isMaxAttempts = attempts > 1;
12
+ const returnToMainPage = useCallback(() => {
13
+ navigator.assign('/natural');
14
+ }, []);
15
+ const handleClose = useCallback(() => {
16
+ if (isMaxAttempts) {
17
+ returnToMainPage();
18
+ }
19
+ else {
20
+ onClose();
21
+ }
22
+ }, [isMaxAttempts]);
23
+ return (_jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-lg px-5xl", onClose: handleClose, children: _jsxs("div", { className: "flex flex-col gap-xl items-center", children: [_jsx(Paragraph, { align: "text-center", children: "\u0423\u0432\u0430\u0436\u0430\u0435\u043C\u044B\u0439 \u043A\u043B\u0438\u0435\u043D\u0442!" }), _jsx(Paragraph, { align: "text-center", children: "\u0414\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043A\u0440\u0435\u0434\u0438\u0442\u0430 \u0412\u0430\u043C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u043E\u0431\u0440\u0430\u0442\u0438\u0442\u044C\u0441\u044F \u0432 \u043E\u0444\u0438\u0441 \u0411\u0430\u043D\u043A\u0430" }), _jsxs("div", { className: "flex flex-col sm:flex-row gap-xl items-center", children: [_jsx(Button, { type: "button", version: "secondary", onClick: returnToMainPage, children: "\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C" }), isMaxAttempts ? null : (_jsx(Button, { type: "button", onClick: onClose, children: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C" }))] })] }) }));
24
+ });
25
+ //# sourceMappingURL=NoConsentDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NoConsentDialog.js","sourceRoot":"","sources":["../../../../src/retail/components/NoConsentDialog/NoConsentDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAO3C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAuB,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE,EAAE;IACxF,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACtC,MAAM,aAAa,GAAG,QAAQ,GAAG,CAAC,CAAC;IAEnC,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,aAAa,EAAE;YACjB,gBAAgB,EAAE,CAAC;SACpB;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,OAAO,CACL,KAAC,MAAM,IACL,SAAS,EAAC,6DAA6D,EACvE,OAAO,EAAE,WAAW,YAEpB,eAAK,SAAS,EAAC,mCAAmC,aAChD,KAAC,SAAS,IAAC,KAAK,EAAC,aAAa,6GAA8B,EAC5D,KAAC,SAAS,IAAC,KAAK,EAAC,aAAa,iVAElB,EACZ,eAAK,SAAS,EAAC,+CAA+C,aAC5D,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAC,WAAW,EAAC,OAAO,EAAE,gBAAgB,uEAE1D,EACR,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACtB,KAAC,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,OAAO,6EAE7B,CACV,IACG,IACF,GACC,CACV,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -2444,6 +2444,23 @@
2444
2444
  return (jsxs(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: [jsxs("form", { onSubmit: onSubmit, children: [sections.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), (_?.inputs || [])?.map(getField(field, { typeForm }))] }, `section-${i}`))), renderAgreementSubmit(fieldName ? field('consentDataProcessing') : undefined, link, button)] }), isContacts ? renderContacts() : null] }));
2445
2445
  });
2446
2446
 
2447
+ const NoConsentDialog = JSX(({ attempts, onClose = noop }) => {
2448
+ const navigator = locationNavigator();
2449
+ const isMaxAttempts = attempts > 1;
2450
+ const returnToMainPage = useCallback(() => {
2451
+ navigator.assign('/natural');
2452
+ }, []);
2453
+ const handleClose = useCallback(() => {
2454
+ if (isMaxAttempts) {
2455
+ returnToMainPage();
2456
+ }
2457
+ else {
2458
+ onClose();
2459
+ }
2460
+ }, [isMaxAttempts]);
2461
+ return (jsx(Dialog, { className: "my-6xl max-w-3xl w-full min-h-fit mx-auto rounded-lg px-5xl", onClose: handleClose, children: jsxs("div", { className: "flex flex-col gap-xl items-center", children: [jsx(Paragraph, { align: "text-center", children: "\u0423\u0432\u0430\u0436\u0430\u0435\u043C\u044B\u0439 \u043A\u043B\u0438\u0435\u043D\u0442!" }), jsx(Paragraph, { align: "text-center", children: "\u0414\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u043A\u0440\u0435\u0434\u0438\u0442\u0430 \u0412\u0430\u043C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u043E\u0431\u0440\u0430\u0442\u0438\u0442\u044C\u0441\u044F \u0432 \u043E\u0444\u0438\u0441 \u0411\u0430\u043D\u043A\u0430" }), jsxs("div", { className: "flex flex-col sm:flex-row gap-xl items-center", children: [jsx(Button, { type: "button", version: "secondary", onClick: returnToMainPage, children: "\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C" }), isMaxAttempts ? null : (jsx(Button, { type: "button", onClick: onClose, children: "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C" }))] })] }) }));
2462
+ });
2463
+
2447
2464
  const ERROR_MESSAGE = 'Некорректно заполненное поле';
2448
2465
  const ADDRESS_ERROR_MESSAGE = 'Укажите регион, город/населенный пункт, улицу, дом';
2449
2466
  const retailCyrillicPattern = /^[\u0400-\u04FF-\s]+$/u;
@@ -6274,9 +6291,11 @@
6274
6291
 
6275
6292
  const ApplicationLeadForm = JSX(({ className, title, programId = '', nextStepLink = '/credit-lead', button, productType = 'credit', data, ...rest }) => {
6276
6293
  const [esiaStatus, setEsiaStatus] = useState();
6294
+ const [attemptsWithoutConsents, setAttemptsWithoutConsents] = useState(0);
6277
6295
  const leadForm = useRef(null);
6278
6296
  const applicationFormData = useMemo(() => getApplicationFormData(productType), [productType]);
6279
6297
  const inputs = useMemo(() => getInputs(applicationFormData), [applicationFormData]);
6298
+ const noConsentDialog = useDialog(NoConsentDialog);
6280
6299
  const extendedValidatorObj = useMemo(() => getExtendedValidatorObj(productType), [productType]);
6281
6300
  const formValidator = useMemo(() => getFormValidator(inputs, extendedValidatorObj), [inputs, extendedValidatorObj]);
6282
6301
  const initialFormState = useInitApplicationLead({
@@ -6296,6 +6315,16 @@
6296
6315
  formValidator,
6297
6316
  onSubmit: handleSubmit,
6298
6317
  });
6318
+ const onSubmitWithPrecondition = (ev) => {
6319
+ if (!field('processPersonalDataFlg')?.value) {
6320
+ setAttemptsWithoutConsents((prev) => prev + 1);
6321
+ attemptsWithoutConsents > 0 &&
6322
+ noConsentDialog.open({
6323
+ attempts: attemptsWithoutConsents,
6324
+ });
6325
+ }
6326
+ onSubmit?.(ev);
6327
+ };
6299
6328
  const responseTypeDialog = useDialog(ResponseTypeDialog);
6300
6329
  useEffect(() => {
6301
6330
  if (ok !== undefined) {
@@ -6312,7 +6341,7 @@
6312
6341
  reset();
6313
6342
  }
6314
6343
  }, [leadForm?.current, esiaStatus]);
6315
- return (jsxs(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: [!esiaStatus ? jsx(EsiaLoginBanner, { onChangeEsiaStatus: setEsiaStatus }) : null, jsxs("form", { onSubmit: onSubmit, className: "space-y-m relative", ref: leadForm, children: [esiaStatus === EsiaStatuses.Pending ? jsx(Loader, { blur: false }) : null, applicationFormData.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs$1({ field, inputs: _?.inputs }, productType)] }, `section-${i}`))), renderSubmitButton(button, isSending), esiaStatus === EsiaStatuses.Error ? (jsx(Text, { size: "text-m", font: "font-medium", color: "text-error", children: "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0413\u043E\u0441\u0443\u0441\u043B\u0443\u0433\u0438 \u0434\u043B\u044F \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F \u0437\u0430\u044F\u0432\u043A\u0438 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0437\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043F\u043E\u043B\u044F \u0432\u0440\u0443\u0447\u043D\u0443\u044E." })) : null] })] }));
6344
+ return (jsxs(ApplicationFormLayout, { className: style('container space-y-m', className), title: title, ...rest, children: [!esiaStatus ? jsx(EsiaLoginBanner, { onChangeEsiaStatus: setEsiaStatus }) : null, jsxs("form", { onSubmit: onSubmitWithPrecondition, className: "space-y-m relative", ref: leadForm, children: [esiaStatus === EsiaStatuses.Pending ? jsx(Loader, { blur: false }) : null, applicationFormData.map((_, i) => (jsxs("div", { className: style(inputColumnStyles(_.columns), 'grid gap-x-m'), children: [renderTitle(_.title), renderInputs$1({ field, inputs: _?.inputs }, productType)] }, `section-${i}`))), renderSubmitButton(button, isSending), esiaStatus === EsiaStatuses.Error ? (jsx(Text, { size: "text-m", font: "font-medium", color: "text-error", children: "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u0413\u043E\u0441\u0443\u0441\u043B\u0443\u0433\u0438 \u0434\u043B\u044F \u043E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u044F \u0437\u0430\u044F\u0432\u043A\u0438 \u043D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E, \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0437\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C \u043F\u043E\u043B\u044F \u0432\u0440\u0443\u0447\u043D\u0443\u044E." })) : null] })] }));
6316
6345
  });
6317
6346
  const getInputs = (applicationFormData) => (applicationFormData?.flatMap((_) => _?.inputs) || []);
6318
6347
  const getExtendedValidatorObj = (productType) => ({
@@ -9809,7 +9838,7 @@
9809
9838
 
9810
9839
  const StickyBottomMenuItem = JSX(({ isActive, item, onClick }) => (jsxs("div", { className: style(isActive ? 'text-primary-main' : 'text-primary-text', `w-10 m-4 flex justify-center items-center flex-col text-xs cursor-pointer`), title: item?.title || '', onClick: onClick, children: [jsx(Icon, { className: "w-6 h-6", name: item?.icon?.icon, iconVersion: isActive ? 'color' : 'black' }), item?.title || ''] })));
9811
9840
 
9812
- const StickyBottomMenuDialog = JSX(({ className, head, children, onClose, onClick }) => (jsxs("div", { onClick: onClick, className: style('relative bg-white p-0 rounded-xl top-32', className), role: "dialog", children: [jsxs("div", { className: "sticky py-xl top-0 rounded-xl bg-white z-10", children: [jsx(CloseButton, { className: "absolute top-1.5 right-0", onClose: onClose }), jsx("div", { className: "container", children: head })] }), jsx("div", { className: "container pb-6xl", children: children })] })));
9841
+ const StickyBottomMenuDialog = JSX(({ className, head, children, onClose, onClick }) => (jsxs("div", { onClick: onClick, className: style('absolute bg-white p-0 rounded-xl bottom-0 top-32 w-full', className), role: "dialog", children: [jsxs("div", { className: "sticky py-xl top-0 rounded-xl bg-white z-10", children: [jsx(CloseButton, { className: "absolute top-1.5 right-0", onClose: onClose }), jsx("div", { className: "container", children: head })] }), jsx("div", { className: "container pb-6xl", children: children })] })));
9813
9842
 
9814
9843
  const useBottomMenuItemDialog = ({ menuRef, dialogRef, leftItems, rightItems, onClose, }) => {
9815
9844
  const { open, close } = useDialogManager();
@@ -10548,7 +10577,7 @@
10548
10577
  slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
10549
10578
  });
10550
10579
 
10551
- const packageVersion = "0.14.871";
10580
+ const packageVersion = "0.14.873";
10552
10581
 
10553
10582
  exports.Blocks = Blocks;
10554
10583
  exports.ContentPage = ContentPage;