@redneckz/wildless-cms-uni-blocks 0.14.935 → 0.14.937
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.
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +179 -10
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
- package/bundle/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
- package/bundle/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
- package/bundle/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
- package/bundle/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
- package/bundle/retail/api/getDictionaries.d.ts +1 -1
- package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +3 -3
- package/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/dist/components/Blocks.js +2 -0
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/Blocks.mobile.js +2 -0
- package/dist/components/Blocks.mobile.js.map +1 -1
- package/dist/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
- package/dist/components/CashbackCalculator/CashbackCalculator.js +28 -0
- package/dist/components/CashbackCalculator/CashbackCalculator.js.map +1 -0
- package/dist/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
- package/dist/components/CashbackCalculator/CashbackCalculatorContent.js +2 -0
- package/dist/components/CashbackCalculator/CashbackCalculatorContent.js.map +1 -0
- package/dist/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
- package/dist/components/CashbackCalculator/CashbackCalculatorResult.js +27 -0
- package/dist/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -0
- package/dist/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
- package/dist/components/CashbackCalculator/CashbackCategory.js +72 -0
- package/dist/components/CashbackCalculator/CashbackCategory.js.map +1 -0
- package/dist/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
- package/dist/components/CashbackCalculator/useCashbackCalculator.js +77 -0
- package/dist/components/CashbackCalculator/useCashbackCalculator.js.map +1 -0
- package/dist/retail/api/getDictionaries.d.ts +1 -1
- package/dist/retail/api/getDictionaries.js +2 -2
- package/dist/retail/api/getDictionaries.js.map +1 -1
- package/dist/retail/validator/validators.js +3 -3
- package/dist/retail/validator/validators.js.map +1 -1
- package/dist/ui-kit/Select/filterOptions.js +1 -1
- package/dist/ui-kit/Select/filterOptions.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +3 -3
- package/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/lib/components/Blocks.js +2 -0
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/Blocks.mobile.js +2 -0
- package/lib/components/Blocks.mobile.js.map +1 -1
- package/lib/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
- package/lib/components/CashbackCalculator/CashbackCalculator.fixture.d.ts +6 -0
- package/lib/components/CashbackCalculator/CashbackCalculator.fixture.mobile.d.ts +5 -0
- package/lib/components/CashbackCalculator/CashbackCalculator.js +26 -0
- package/lib/components/CashbackCalculator/CashbackCalculator.js.map +1 -0
- package/lib/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
- package/lib/components/CashbackCalculator/CashbackCalculatorContent.js +2 -0
- package/lib/components/CashbackCalculator/CashbackCalculatorContent.js.map +1 -0
- package/lib/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
- package/lib/components/CashbackCalculator/CashbackCalculatorResult.js +25 -0
- package/lib/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -0
- package/lib/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
- package/lib/components/CashbackCalculator/CashbackCategory.js +70 -0
- package/lib/components/CashbackCalculator/CashbackCategory.js.map +1 -0
- package/lib/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
- package/lib/components/CashbackCalculator/useCashbackCalculator.js +74 -0
- package/lib/components/CashbackCalculator/useCashbackCalculator.js.map +1 -0
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.d.ts +1 -1
- package/lib/retail/api/getDictionaries.d.ts +1 -1
- package/lib/retail/api/getDictionaries.js +2 -2
- package/lib/retail/api/getDictionaries.js.map +1 -1
- package/lib/retail/validator/validators.js +3 -3
- package/lib/retail/validator/validators.js.map +1 -1
- package/lib/ui-kit/Select/filterOptions.js +1 -1
- package/lib/ui-kit/Select/filterOptions.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +179 -10
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
- package/mobile/bundle/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
- package/mobile/bundle/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
- package/mobile/bundle/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
- package/mobile/bundle/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
- package/mobile/bundle/retail/api/getDictionaries.d.ts +1 -1
- package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js +3 -3
- package/mobile/dist/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/mobile/dist/components/Blocks.js +2 -0
- package/mobile/dist/components/Blocks.js.map +1 -1
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.js +28 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.js.map +1 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorContent.js +2 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorContent.js.map +1 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorResult.js +27 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCategory.js +72 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCategory.js.map +1 -0
- package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
- package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.js +77 -0
- package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.js.map +1 -0
- package/mobile/dist/retail/api/getDictionaries.d.ts +1 -1
- package/mobile/dist/retail/api/getDictionaries.js +2 -2
- package/mobile/dist/retail/api/getDictionaries.js.map +1 -1
- package/mobile/dist/retail/validator/validators.js +3 -3
- package/mobile/dist/retail/validator/validators.js.map +1 -1
- package/mobile/dist/ui-kit/Select/filterOptions.js +1 -1
- package/mobile/dist/ui-kit/Select/filterOptions.js.map +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js +3 -3
- package/mobile/lib/components/ApplicationLeadForm/ApplicationLeadForm.js.map +1 -1
- package/mobile/lib/components/Blocks.js +2 -0
- package/mobile/lib/components/Blocks.js.map +1 -1
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.js +26 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.js.map +1 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorContent.js +2 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorContent.js.map +1 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorResult.js +25 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCategory.js +70 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCategory.js.map +1 -0
- package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
- package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.js +74 -0
- package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.js.map +1 -0
- package/mobile/lib/retail/api/getDictionaries.d.ts +1 -1
- package/mobile/lib/retail/api/getDictionaries.js +2 -2
- package/mobile/lib/retail/api/getDictionaries.js.map +1 -1
- package/mobile/lib/retail/validator/validators.js +3 -3
- package/mobile/lib/retail/validator/validators.js.map +1 -1
- package/mobile/lib/ui-kit/Select/filterOptions.js +1 -1
- package/mobile/lib/ui-kit/Select/filterOptions.js.map +1 -1
- package/mobile/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +3 -3
- package/mobile/src/components/Blocks.ts +2 -0
- package/mobile/src/components/CashbackCalculator/CashbackCalculator.example.json +1 -0
- package/mobile/src/components/CashbackCalculator/CashbackCalculator.tsx +117 -0
- package/mobile/src/components/CashbackCalculator/CashbackCalculator.ui.json +15 -0
- package/mobile/src/components/CashbackCalculator/CashbackCalculatorContent.ts +27 -0
- package/mobile/src/components/CashbackCalculator/CashbackCalculatorResult.tsx +66 -0
- package/mobile/src/components/CashbackCalculator/CashbackCategory.tsx +143 -0
- package/mobile/src/components/CashbackCalculator/useCashbackCalculator.ts +93 -0
- package/mobile/src/retail/api/getDictionaries.ts +2 -2
- package/mobile/src/retail/validator/validators.ts +3 -3
- package/mobile/src/ui-kit/Select/filterOptions.ts +1 -1
- package/package.json +1 -1
- package/src/components/ApplicationLeadForm/ApplicationLeadForm.tsx +3 -3
- package/src/components/Blocks.mobile.ts +2 -0
- package/src/components/Blocks.ts +2 -0
- package/src/components/CashbackCalculator/CashbackCalculator.example.json +1 -0
- package/src/components/CashbackCalculator/CashbackCalculator.fixture.mobile.tsx +45 -0
- package/src/components/CashbackCalculator/CashbackCalculator.fixture.tsx +54 -0
- package/src/components/CashbackCalculator/CashbackCalculator.tsx +117 -0
- package/src/components/CashbackCalculator/CashbackCalculator.ui.json +15 -0
- package/src/components/CashbackCalculator/CashbackCalculatorContent.ts +27 -0
- package/src/components/CashbackCalculator/CashbackCalculatorResult.tsx +66 -0
- package/src/components/CashbackCalculator/CashbackCategory.tsx +143 -0
- package/src/components/CashbackCalculator/useCashbackCalculator.ts +93 -0
- package/src/retail/api/getDictionaries.ts +2 -2
- package/src/retail/validator/validators.ts +3 -3
- package/src/ui-kit/Select/filterOptions.ts +1 -1
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
|
+
import { useLeadFormData } from '../../retail/hooks/useLeadFormData.js';
|
|
3
|
+
const DEFAULT_MULTIPLE_CASHBACK = [
|
|
4
|
+
{
|
|
5
|
+
id: 0,
|
|
6
|
+
percent: {
|
|
7
|
+
text: 'Категория на кешбэк 1%',
|
|
8
|
+
key: '1',
|
|
9
|
+
},
|
|
10
|
+
sum: 5000,
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
id: 1,
|
|
14
|
+
percent: {
|
|
15
|
+
text: 'Категория на кешбэк 1,5%',
|
|
16
|
+
key: '1.5',
|
|
17
|
+
},
|
|
18
|
+
sum: 5000,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: 2,
|
|
22
|
+
percent: {
|
|
23
|
+
text: 'Категория на кешбэк 1,5%',
|
|
24
|
+
key: '1.5',
|
|
25
|
+
},
|
|
26
|
+
sum: 5000,
|
|
27
|
+
},
|
|
28
|
+
];
|
|
29
|
+
const DEFAULT_CASHBACK = [
|
|
30
|
+
{
|
|
31
|
+
id: 0,
|
|
32
|
+
percent: {
|
|
33
|
+
text: 'Категория на кешбэк 1%',
|
|
34
|
+
key: '1',
|
|
35
|
+
},
|
|
36
|
+
sum: 5000,
|
|
37
|
+
},
|
|
38
|
+
];
|
|
39
|
+
export const useCashbackCalculator = (isMultiple) => {
|
|
40
|
+
const { data } = useLeadFormData('CASHBACK_CATEGORY');
|
|
41
|
+
const [cashbacks, setCashbacks] = useState(isMultiple ? DEFAULT_MULTIPLE_CASHBACK : DEFAULT_CASHBACK);
|
|
42
|
+
const categories = data?.map((_) => ({
|
|
43
|
+
key: _.key || '',
|
|
44
|
+
text: _.value,
|
|
45
|
+
})) || [];
|
|
46
|
+
const onAddNewCashback = () => setCashbacks((_) => [
|
|
47
|
+
..._,
|
|
48
|
+
{
|
|
49
|
+
id: _[_.length - 1].id + 1,
|
|
50
|
+
percent: {
|
|
51
|
+
text: 'Категория на кешбэк 1,5%',
|
|
52
|
+
key: '1.5',
|
|
53
|
+
},
|
|
54
|
+
sum: 5000,
|
|
55
|
+
},
|
|
56
|
+
]);
|
|
57
|
+
const onChangeCashback = (item) => setCashbacks((prev) => prev.map((_) => {
|
|
58
|
+
if (_.id === item.id) {
|
|
59
|
+
return item;
|
|
60
|
+
}
|
|
61
|
+
return _;
|
|
62
|
+
}));
|
|
63
|
+
const onDeleteCashback = (id) => setCashbacks((prev) => prev.filter((_) => _.id !== id));
|
|
64
|
+
const onResetCashback = () => setCashbacks(DEFAULT_CASHBACK);
|
|
65
|
+
return {
|
|
66
|
+
cashbacks,
|
|
67
|
+
categories,
|
|
68
|
+
onAddNewCashback,
|
|
69
|
+
onChangeCashback,
|
|
70
|
+
onDeleteCashback,
|
|
71
|
+
onResetCashback,
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=useCashbackCalculator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCashbackCalculator.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/useCashbackCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAKrE,MAAM,yBAAyB,GAAe;IAC5C;QACE,EAAE,EAAE,CAAC;QACL,OAAO,EAAE;YACP,IAAI,EAAE,wBAAwB;YAC9B,GAAG,EAAE,GAAG;SACT;QACD,GAAG,EAAE,IAAI;KACV;IACD;QACE,EAAE,EAAE,CAAC;QACL,OAAO,EAAE;YACP,IAAI,EAAE,0BAA0B;YAChC,GAAG,EAAE,KAAK;SACX;QACD,GAAG,EAAE,IAAI;KACV;IACD;QACE,EAAE,EAAE,CAAC;QACL,OAAO,EAAE;YACP,IAAI,EAAE,0BAA0B;YAChC,GAAG,EAAE,KAAK;SACX;QACD,GAAG,EAAE,IAAI;KACV;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAe;IACnC;QACE,EAAE,EAAE,CAAC;QACL,OAAO,EAAE;YACP,IAAI,EAAE,wBAAwB;YAC9B,GAAG,EAAE,GAAG;SACT;QACD,GAAG,EAAE,IAAI;KACV;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,UAAmB,EAAE,EAAE;IAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACtD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CACxC,UAAU,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,gBAAgB,CAC1D,CAAC;IAEF,MAAM,UAAU,GACd,IAAI,EAAE,GAAG,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,CAAC;QAChC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE;QAChB,IAAI,EAAE,CAAC,CAAC,KAAK;KACd,CAAC,CAAC,IAAI,EAAE,CAAC;IAEZ,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAC5B,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAClB,GAAG,CAAC;QACJ;YACE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;YAC1B,OAAO,EAAE;gBACP,IAAI,EAAE,0BAA0B;gBAChC,GAAG,EAAE,KAAK;aACX;YACD,GAAG,EAAE,IAAI;SACV;KACF,CAAC,CAAC;IAEL,MAAM,gBAAgB,GAAG,CAAC,IAAc,EAAE,EAAE,CAC1C,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CACpB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE;YACpB,OAAO,IAAI,CAAC;SACb;QAED,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,CACH,CAAC;IAEJ,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAEjG,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAE7D,OAAO;QACL,SAAS;QACT,UAAU;QACV,gBAAgB;QAChB,gBAAgB;QAChB,gBAAgB;QAChB,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -16,5 +16,5 @@ export interface OfficesAtmsMapLayoutProps<T> extends ComponentType, TitleProps
|
|
|
16
16
|
initFilterState?: InitFilterState;
|
|
17
17
|
descriptionData?: AtmsDef;
|
|
18
18
|
}
|
|
19
|
-
export declare const OfficesAtmsMapLayout: import("@redneckz/uni-jsx").UNIComponent<OfficesAtmsMapLayoutProps<
|
|
19
|
+
export declare const OfficesAtmsMapLayout: import("@redneckz/uni-jsx").UNIComponent<OfficesAtmsMapLayoutProps<Atm | Branch | RemoteWorkplace>, any, any>;
|
|
20
20
|
export declare const getFiltersWithNonEmptyData: (data: (Branch | Atm | RemoteWorkplace)[]) => string[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type CreditFormDictionarySlice } from '../hooks/useRetailFormStore';
|
|
2
|
-
export declare const getDictionaries: (dictionaries: Record<string, string>, store: CreditFormDictionarySlice) => void
|
|
2
|
+
export declare const getDictionaries: (dictionaries: Record<string, string>, store: CreditFormDictionarySlice) => Promise<void>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { fetchRetailJSON } from './doRequest.js';
|
|
2
|
-
export const getDictionaries = (dictionaries, store) => {
|
|
3
|
-
Promise.all(Object.entries(dictionaries).map((dictionary) => {
|
|
2
|
+
export const getDictionaries = async (dictionaries, store) => {
|
|
3
|
+
await Promise.all(Object.entries(dictionaries).map((dictionary) => {
|
|
4
4
|
const [fieldName, dictionaryName] = dictionary;
|
|
5
5
|
fetchRetailJSON(`/dictionary?dictionaryType=${encodeURIComponent(dictionaryName)}`, 'POST').then((res) => {
|
|
6
6
|
store[fieldName] = res;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDictionaries.js","sourceRoot":"","sources":["../../../src/retail/api/getDictionaries.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAG,
|
|
1
|
+
{"version":3,"file":"getDictionaries.js","sourceRoot":"","sources":["../../../src/retail/api/getDictionaries.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAClC,YAAoC,EACpC,KAAgC,EAChC,EAAE;IACF,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QAC9C,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,GAAG,UAAU,CAAC;QAE/C,eAAe,CACb,8BAA8B,kBAAkB,CAAC,cAAc,CAAC,EAAE,EAClE,MAAM,CACP,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -11,7 +11,7 @@ export const addressOrganizationValidator = () => validator((address) => Boolean
|
|
|
11
11
|
export const codeWordValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 3 && _.length <= 21 && codeWordPattern.test(_))(errorMsg ?? ERROR_MESSAGE);
|
|
12
12
|
export const nameRetailValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 1 && retailCyrillicPattern.test(_))(errorMsg ?? ERROR_MESSAGE);
|
|
13
13
|
export const jobNumberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && /^[0-9]{1,2}$/g.test(_))(errorMsg ?? ERROR_MESSAGE);
|
|
14
|
-
export const lengthStringValidator = (inputLength, errorMsg, isFixLength) => validator((_) => typeof _ === 'string' &&
|
|
14
|
+
export const lengthStringValidator = (inputLength, errorMsg, isFixLength = false) => validator((_) => typeof _ === 'string' &&
|
|
15
15
|
_.length >= 1 &&
|
|
16
16
|
(isFixLength ? _.length === inputLength : _.length <= inputLength))(errorMsg ?? ERROR_MESSAGE);
|
|
17
17
|
const limitedBirthdayValidate = ({ minAge, maxAge }) => (date) => {
|
|
@@ -64,6 +64,6 @@ export const validateDateFromBirth = (age, birthDate) => validator((_) => {
|
|
|
64
64
|
}
|
|
65
65
|
return false;
|
|
66
66
|
});
|
|
67
|
-
export const organizationNameValidator = (isDadataOrganization) => validator((_) => Boolean(_) && Boolean(isDadataOrganization))('Укажите наименование организации');
|
|
68
|
-
export const organizationInnValidator = (isDadataOrganization) => validator((_) => isValidInnLength(_) && Boolean(isDadataOrganization))('Укажите ИНН');
|
|
67
|
+
export const organizationNameValidator = (isDadataOrganization = false) => validator((_) => Boolean(_) && Boolean(isDadataOrganization))('Укажите наименование организации');
|
|
68
|
+
export const organizationInnValidator = (isDadataOrganization = false) => validator((_) => isValidInnLength(_) && Boolean(isDadataOrganization))('Укажите ИНН');
|
|
69
69
|
//# sourceMappingURL=validators.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/retail/validator/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGvD,MAAM,aAAa,GAAG,8BAA8B,CAAC;AAErD,MAAM,qBAAqB,GAAG,oDAAoD,CAAC;AAQnF,MAAM,eAAe,GAAG,eAAe,CAAC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAC9D,MAAM,CAAC,MAAM,wBAAwB,GAAG,oCAAoC,CAAC;AAE7E,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAAE,EAAE,CACjD,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,CAAC;AAEpG,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,EAAE,CAC/C,SAAS,CAAC,CAAC,OAAgB,EAAE,EAAE,CAC7B,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CACjF,CAAC,qBAAqB,CAAC,CAAC;AAE3B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAiB,EAAE,EAAE,CACrD,SAAS,CACP,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3F,CAAC,QAAQ,IAAI,aAAa,CAAC,CAAC;AAE/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAiB,EAAE,EAAE,CACvD,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACtF,QAAQ,IAAI,aAAa,CAC1B,CAAC;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAiB,EAAE,EAAE,CACtD,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,aAAa,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,WAAmB,EACnB,QAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/retail/validator/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGvD,MAAM,aAAa,GAAG,8BAA8B,CAAC;AAErD,MAAM,qBAAqB,GAAG,oDAAoD,CAAC;AAQnF,MAAM,eAAe,GAAG,eAAe,CAAC;AACxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAC9D,MAAM,CAAC,MAAM,wBAAwB,GAAG,oCAAoC,CAAC;AAE7E,MAAM,qBAAqB,GAAG,CAAC,OAAgB,EAAE,EAAE,CACjD,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC;AAEjF,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC,qBAAqB,CAAC,CAAC;AAEpG,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,EAAE,CAC/C,SAAS,CAAC,CAAC,OAAgB,EAAE,EAAE,CAC7B,OAAO,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CACjF,CAAC,qBAAqB,CAAC,CAAC;AAE3B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAiB,EAAE,EAAE,CACrD,SAAS,CACP,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3F,CAAC,QAAQ,IAAI,aAAa,CAAC,CAAC;AAE/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAiB,EAAE,EAAE,CACvD,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACtF,QAAQ,IAAI,aAAa,CAC1B,CAAC;AAEJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAiB,EAAE,EAAE,CACtD,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,aAAa,CAAC,CAAC;AAEhG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,WAAmB,EACnB,QAAiB,EACjB,WAAW,GAAG,KAAK,EACnB,EAAE,CACF,SAAS,CACP,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,KAAK,QAAQ;IACrB,CAAC,CAAC,MAAM,IAAI,CAAC;IACb,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,WAAW,CAAC,CACrE,CAAC,QAAQ,IAAI,aAAa,CAAC,CAAC;AAE/B,MAAM,uBAAuB,GAC3B,CAAC,EAAE,MAAM,EAAE,MAAM,EAAmC,EAAE,EAAE,CACxD,CAAC,IAAW,EAAE,EAAE;IACd,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IAEzB,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1F,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3E,CAAC,CAAC,IAAI,CAAC;IAET,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,OAAO,EAAE;QAC3B,OAAO,KAAK,CAAC;KACd;IAED,IAAI,OAAO,IAAI,IAAI,GAAG,OAAO,EAAE;QAC7B,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,MAAuC,EAAE,EAAE,CAClF,SAAS,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,SAAgB,EAAE,EAAE,CACpD,qBAAqB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,8BAA8B,CAAC,CAAC;AAEvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAE,EAAE,CACxD,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAE,EAAE,CACxD,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEnE,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,aAAa,EAAE;QACpD,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAClD;QACD,IAAI,QAAQ,GAAG,GAAG,EAAE;YAClB,QAAQ,GAAG,QAAQ,GAAG,GAAG,CAAC;SAC3B;QACD,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,EAAE;YACxC,QAAQ,GAAG,CAAC,CAAC;SACd;QAED,OAAO,QAAQ,KAAK,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/C;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,QAAgB,EAAE,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,CAAC;AAEvF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,iBAAyB,EAAE,EAAE,CACrE,SAAS,CACP,CAAC,CAAC,EAAE,EAAE,CACJ,OAAO,CAAC,KAAK,QAAQ;IACrB,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IACvB,CAAC,CAAC,iBAAiB,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC,CACjE,CAAC,8BAA8B,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,SAAgB,EAAE,EAAE,CACzD,qBAAqB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,4CAA4C,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,SAAgB,EAAE,EAAE,CAC5D,qBAAqB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAW,EAAE,SAAgB,EAAE,EAAE,CACrE,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;IACd,IAAI,CAAC,IAAI,SAAS,EAAE;QAClB,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,IAAI,CACtB,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,EAC9B,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,EAAE,OAAO,EAAE,CACrB,CAAC,OAAO,EAAE,CAAC;QACZ,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAErC,OAAO,WAAW,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO,CAAC;KACzD;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,oBAAoB,GAAG,KAAK,EAAE,EAAE,CACxE,SAAS,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,CACnE,kCAAkC,CACnC,CAAC;AAEJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,oBAAoB,GAAG,KAAK,EAAE,EAAE,CACvE,SAAS,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filterOptions.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/filterOptions.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAiB,EACjB,KAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"filterOptions.js","sourceRoot":"","sources":["../../../src/ui-kit/Select/filterOptions.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,OAAiB,EACjB,KAAyB,EACzB,oBAAoB,GAAG,KAAK,EAClB,EAAE;IACZ,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,oBAAoB,EAAE;QAC9D,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1B,CAAC,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC,CACxE,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1434,7 +1434,7 @@
|
|
|
1434
1434
|
|
|
1435
1435
|
const usePopupManager = () => useEmitterWithActions(defaultEventBus.emitter, 'popup');
|
|
1436
1436
|
|
|
1437
|
-
const filterOptions = (options, query, disableFilterOptions) => {
|
|
1437
|
+
const filterOptions = (options, query, disableFilterOptions = false) => {
|
|
1438
1438
|
if (!options?.length || !query?.trim() || disableFilterOptions) {
|
|
1439
1439
|
return options;
|
|
1440
1440
|
}
|
|
@@ -3369,7 +3369,7 @@
|
|
|
3369
3369
|
const codeWordValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length >= 3 && _.length <= 21 && codeWordPattern.test(_))(errorMsg ?? ERROR_MESSAGE);
|
|
3370
3370
|
const nameRetailValidator = (errorMsg) => validator((_) => typeof _ === 'string' && _.length > 1 && retailCyrillicPattern.test(_))(errorMsg ?? ERROR_MESSAGE);
|
|
3371
3371
|
const jobNumberValidator = (errorMsg) => validator((_) => typeof _ === 'string' && /^[0-9]{1,2}$/g.test(_))(errorMsg ?? ERROR_MESSAGE);
|
|
3372
|
-
const lengthStringValidator = (inputLength, errorMsg, isFixLength) => validator((_) => typeof _ === 'string' &&
|
|
3372
|
+
const lengthStringValidator = (inputLength, errorMsg, isFixLength = false) => validator((_) => typeof _ === 'string' &&
|
|
3373
3373
|
_.length >= 1 &&
|
|
3374
3374
|
(isFixLength ? _.length === inputLength : _.length <= inputLength))(errorMsg ?? ERROR_MESSAGE);
|
|
3375
3375
|
const limitedBirthdayValidate = ({ minAge, maxAge }) => (date) => {
|
|
@@ -3421,8 +3421,8 @@
|
|
|
3421
3421
|
}
|
|
3422
3422
|
return false;
|
|
3423
3423
|
});
|
|
3424
|
-
const organizationNameValidator = (isDadataOrganization) => validator((_) => Boolean(_) && Boolean(isDadataOrganization))('Укажите наименование организации');
|
|
3425
|
-
const organizationInnValidator = (isDadataOrganization) => validator((_) => isValidInnLength(_) && Boolean(isDadataOrganization))('Укажите ИНН');
|
|
3424
|
+
const organizationNameValidator = (isDadataOrganization = false) => validator((_) => Boolean(_) && Boolean(isDadataOrganization))('Укажите наименование организации');
|
|
3425
|
+
const organizationInnValidator = (isDadataOrganization = false) => validator((_) => isValidInnLength(_) && Boolean(isDadataOrganization))('Укажите ИНН');
|
|
3426
3426
|
|
|
3427
3427
|
const limitedBirthdayValidationData = {
|
|
3428
3428
|
credit: {
|
|
@@ -5087,8 +5087,8 @@
|
|
|
5087
5087
|
return (jsx(RadioButtonGroupControl, { label: "\u0412\u0430\u043B\u044E\u0442\u0430", orientation: "horizontal", items: currencies, ...field(input?.name ?? '') }));
|
|
5088
5088
|
});
|
|
5089
5089
|
|
|
5090
|
-
const getDictionaries = (dictionaries, store) => {
|
|
5091
|
-
Promise.all(Object.entries(dictionaries).map((dictionary) => {
|
|
5090
|
+
const getDictionaries = async (dictionaries, store) => {
|
|
5091
|
+
await Promise.all(Object.entries(dictionaries).map((dictionary) => {
|
|
5092
5092
|
const [fieldName, dictionaryName] = dictionary;
|
|
5093
5093
|
fetchRetailJSON(`/dictionary?dictionaryType=${encodeURIComponent(dictionaryName)}`, 'POST').then((res) => {
|
|
5094
5094
|
store[fieldName] = res;
|
|
@@ -7089,7 +7089,7 @@
|
|
|
7089
7089
|
useIFrameMode();
|
|
7090
7090
|
const extendedValidatorObj = useMemo(() => getExtendedValidatorObj(productType), [productType]);
|
|
7091
7091
|
const formValidator = useMemo(() => getFormValidator(inputs, extendedValidatorObj), [inputs, extendedValidatorObj]);
|
|
7092
|
-
const changeSubmitFormStatus = (status) => {
|
|
7092
|
+
const changeSubmitFormStatus = (status = false) => {
|
|
7093
7093
|
setOK(status);
|
|
7094
7094
|
};
|
|
7095
7095
|
const initialFormState = useInitApplicationLead({
|
|
@@ -7122,10 +7122,10 @@
|
|
|
7122
7122
|
};
|
|
7123
7123
|
const responseTypeDialog = useDialog(ResponseTypeDialog);
|
|
7124
7124
|
useEffect(() => {
|
|
7125
|
-
if (ok
|
|
7125
|
+
if (ok === false) {
|
|
7126
7126
|
responseTypeDialog.open({
|
|
7127
7127
|
ok,
|
|
7128
|
-
onClose: () => changeSubmitFormStatus(
|
|
7128
|
+
onClose: () => changeSubmitFormStatus(true),
|
|
7129
7129
|
});
|
|
7130
7130
|
}
|
|
7131
7131
|
}, [ok]);
|
|
@@ -8493,6 +8493,174 @@
|
|
|
8493
8493
|
return (jsxs(BlockWrapper, { className: style('flex flex-col', className), defaultPadding: "p-2xl", ...rest, children: [jsx(Img, { className: "self-center", image: icon }), title ? (jsx(Heading, { className: style('pt-xs', align), headingType: "h5", title: title })) : null, button?.text ? jsx(LinkButton, { className: "w-full mt-m mb-lg", ...button }) : null, hiddenCells.length ? (jsxs(Foldable, { children: [jsxs("div", { children: [visibleCells, jsx(FoldableSection, { isUnfolded: isVisible, children: hiddenCells })] }), cardCells.length >= visibleCellsCount ? (jsx(DefaultFoldButton, { className: "mt-m", label: isVisible ? 'Скрыть' : 'Подробнее о тарифе', isUnfolded: isVisible, embedded: true, data: data, onClick: handleFold })) : null] })) : (jsx("div", { children: visibleCells }))] }));
|
|
8494
8494
|
});
|
|
8495
8495
|
|
|
8496
|
+
const MAX_MONTH_CASHBACK = 5000;
|
|
8497
|
+
const MAX_YEAR_CASHBACK = 60000;
|
|
8498
|
+
const ResultText = JSX(({ text, value }) => (jsxs("div", { className: "space-y-xs w-full", children: [jsx(Text, { size: "text-m", color: "text-primary-text", font: "font-light", children: text }), jsx("div", { className: "w-full text-2xl bg-main-gray px-4 py-3 rounded-md", children: `${toLocalNumberFormat()(value)} ₽` })] })));
|
|
8499
|
+
const CashbackCalculatorResult = JSX(({ cashbacks }) => {
|
|
8500
|
+
const { mounth, year } = getResult(cashbacks);
|
|
8501
|
+
return (jsxs("div", { className: "w-full flex flex-col gap-lg", children: [jsx(Headline, { title: "\u0420\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u0440\u0430\u0441\u0447\u0435\u0442\u0430", description: "\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438 \u043A\u0435\u0448\u0431\u044D\u043A\u0430 \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u043E", headlineVersion: "XS", isEmbedded: true, align: "text-left" }), jsxs("div", { className: "flex flex-col @xs:flex-row gap-lg", children: [jsx(ResultText, { text: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0432 \u043C\u0435\u0441\u044F\u0446", value: mounth }), jsx(ResultText, { text: "\u0411\u0430\u043B\u043B\u043E\u0432 \u0432 \u0433\u043E\u0434", value: year })] })] }));
|
|
8502
|
+
});
|
|
8503
|
+
const getResult = (cashbacks) => {
|
|
8504
|
+
return cashbacks.reduce((acc, val) => {
|
|
8505
|
+
const mounthSum = (Number(val.percent.key) / 100) * val.sum;
|
|
8506
|
+
return {
|
|
8507
|
+
mounth: Math.min(acc.mounth + mounthSum, MAX_MONTH_CASHBACK),
|
|
8508
|
+
year: Math.min(acc.year + mounthSum * 12, MAX_YEAR_CASHBACK),
|
|
8509
|
+
};
|
|
8510
|
+
}, {
|
|
8511
|
+
mounth: 0,
|
|
8512
|
+
year: 0,
|
|
8513
|
+
});
|
|
8514
|
+
};
|
|
8515
|
+
|
|
8516
|
+
const AllPercentCategories = [
|
|
8517
|
+
{
|
|
8518
|
+
text: 'Категория на кешбэк 1,5%',
|
|
8519
|
+
key: '1.5',
|
|
8520
|
+
},
|
|
8521
|
+
{
|
|
8522
|
+
text: 'Категория на кешбэк 3%',
|
|
8523
|
+
key: '3',
|
|
8524
|
+
},
|
|
8525
|
+
{
|
|
8526
|
+
text: 'Категория на кешбэк 5%',
|
|
8527
|
+
key: '5',
|
|
8528
|
+
},
|
|
8529
|
+
{
|
|
8530
|
+
text: 'Категория на кешбэк 10%',
|
|
8531
|
+
key: '10',
|
|
8532
|
+
},
|
|
8533
|
+
{
|
|
8534
|
+
text: 'Категория на кешбэк 15%',
|
|
8535
|
+
key: '15',
|
|
8536
|
+
},
|
|
8537
|
+
];
|
|
8538
|
+
const PercentCategoriesWithoutIncreased = [
|
|
8539
|
+
{
|
|
8540
|
+
text: 'Категория на кешбэк 1,5%',
|
|
8541
|
+
key: '1.5',
|
|
8542
|
+
},
|
|
8543
|
+
{
|
|
8544
|
+
text: 'Категория на кешбэк 3%',
|
|
8545
|
+
key: '3',
|
|
8546
|
+
},
|
|
8547
|
+
];
|
|
8548
|
+
const CashbackCategory = JSX(({ categories, cashback, showIncreasedPercents, maxInputRange, deleteImage, onDelete, onChange, }) => {
|
|
8549
|
+
const [currentCategory, setCurrentCategory] = useState(getRandomElement(categories));
|
|
8550
|
+
const isMainCashback = cashback.id === 0;
|
|
8551
|
+
const onChangePercent = (value) => {
|
|
8552
|
+
onChange({
|
|
8553
|
+
...cashback,
|
|
8554
|
+
percent: value,
|
|
8555
|
+
});
|
|
8556
|
+
};
|
|
8557
|
+
const onChangeSum = (value) => {
|
|
8558
|
+
onChange({
|
|
8559
|
+
...cashback,
|
|
8560
|
+
sum: value,
|
|
8561
|
+
});
|
|
8562
|
+
};
|
|
8563
|
+
return (jsxs("div", { className: "w-full space-y-m", children: [jsxs("div", { className: "space-y-xs", children: [jsx(Text, { size: "text-m", color: "text-primary-text", font: "font-light", children: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044E \u043A\u0435\u0448\u0431\u044D\u043A\u0430" }), jsxs("div", { className: "flex gap-m", children: [jsx(Select, { className: "w-full", isManualInput: isMainCashback, placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u044D\u0448\u0431\u044D\u043A", options: getPercentCategories(isMainCashback, showIncreasedPercents), value: cashback.percent, onChange: onChangePercent }), !isMainCashback ? (jsx(Button, { version: "secondary", onClick: () => onDelete(cashback.id), shape: "round", className: "px-4 rounded-md", children: jsx(Img, { image: deleteImage }) })) : null] })] }), categories?.length && !isMainCashback ? (jsx(Select, { label: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u0430\u0442\u0435\u043E\u0440\u0438\u044E", placeholder: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u0430\u0442\u0435\u043E\u0440\u0438\u044E", options: categories, value: currentCategory, onChange: setCurrentCategory })) : null, jsx(InputRange, { step: 500, title: "\u0421\u0443\u043C\u043C\u0430 \u043F\u043E\u043A\u0443\u043F\u043E\u043A \u0432 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438", min: 0, max: maxInputRange, value: cashback.sum, onChange: onChangeSum })] }));
|
|
8564
|
+
});
|
|
8565
|
+
const getRandomElement = (arr) => arr?.[new Date().getTime().toString().slice(-1)];
|
|
8566
|
+
const getPercentCategories = (isMainCashback, showIncreasedPercents) => {
|
|
8567
|
+
if (isMainCashback) {
|
|
8568
|
+
return [];
|
|
8569
|
+
}
|
|
8570
|
+
else if (showIncreasedPercents) {
|
|
8571
|
+
return AllPercentCategories;
|
|
8572
|
+
}
|
|
8573
|
+
else {
|
|
8574
|
+
return PercentCategoriesWithoutIncreased;
|
|
8575
|
+
}
|
|
8576
|
+
};
|
|
8577
|
+
|
|
8578
|
+
const DEFAULT_MULTIPLE_CASHBACK = [
|
|
8579
|
+
{
|
|
8580
|
+
id: 0,
|
|
8581
|
+
percent: {
|
|
8582
|
+
text: 'Категория на кешбэк 1%',
|
|
8583
|
+
key: '1',
|
|
8584
|
+
},
|
|
8585
|
+
sum: 5000,
|
|
8586
|
+
},
|
|
8587
|
+
{
|
|
8588
|
+
id: 1,
|
|
8589
|
+
percent: {
|
|
8590
|
+
text: 'Категория на кешбэк 1,5%',
|
|
8591
|
+
key: '1.5',
|
|
8592
|
+
},
|
|
8593
|
+
sum: 5000,
|
|
8594
|
+
},
|
|
8595
|
+
{
|
|
8596
|
+
id: 2,
|
|
8597
|
+
percent: {
|
|
8598
|
+
text: 'Категория на кешбэк 1,5%',
|
|
8599
|
+
key: '1.5',
|
|
8600
|
+
},
|
|
8601
|
+
sum: 5000,
|
|
8602
|
+
},
|
|
8603
|
+
];
|
|
8604
|
+
const DEFAULT_CASHBACK = [
|
|
8605
|
+
{
|
|
8606
|
+
id: 0,
|
|
8607
|
+
percent: {
|
|
8608
|
+
text: 'Категория на кешбэк 1%',
|
|
8609
|
+
key: '1',
|
|
8610
|
+
},
|
|
8611
|
+
sum: 5000,
|
|
8612
|
+
},
|
|
8613
|
+
];
|
|
8614
|
+
const useCashbackCalculator = (isMultiple) => {
|
|
8615
|
+
const { data } = useLeadFormData('CASHBACK_CATEGORY');
|
|
8616
|
+
const [cashbacks, setCashbacks] = useState(isMultiple ? DEFAULT_MULTIPLE_CASHBACK : DEFAULT_CASHBACK);
|
|
8617
|
+
const categories = data?.map((_) => ({
|
|
8618
|
+
key: _.key || '',
|
|
8619
|
+
text: _.value,
|
|
8620
|
+
})) || [];
|
|
8621
|
+
const onAddNewCashback = () => setCashbacks((_) => [
|
|
8622
|
+
..._,
|
|
8623
|
+
{
|
|
8624
|
+
id: _[_.length - 1].id + 1,
|
|
8625
|
+
percent: {
|
|
8626
|
+
text: 'Категория на кешбэк 1,5%',
|
|
8627
|
+
key: '1.5',
|
|
8628
|
+
},
|
|
8629
|
+
sum: 5000,
|
|
8630
|
+
},
|
|
8631
|
+
]);
|
|
8632
|
+
const onChangeCashback = (item) => setCashbacks((prev) => prev.map((_) => {
|
|
8633
|
+
if (_.id === item.id) {
|
|
8634
|
+
return item;
|
|
8635
|
+
}
|
|
8636
|
+
return _;
|
|
8637
|
+
}));
|
|
8638
|
+
const onDeleteCashback = (id) => setCashbacks((prev) => prev.filter((_) => _.id !== id));
|
|
8639
|
+
const onResetCashback = () => setCashbacks(DEFAULT_CASHBACK);
|
|
8640
|
+
return {
|
|
8641
|
+
cashbacks,
|
|
8642
|
+
categories,
|
|
8643
|
+
onAddNewCashback,
|
|
8644
|
+
onChangeCashback,
|
|
8645
|
+
onDeleteCashback,
|
|
8646
|
+
onResetCashback,
|
|
8647
|
+
};
|
|
8648
|
+
};
|
|
8649
|
+
|
|
8650
|
+
const INCREASED_PERCENTS = ['5', '10', '15'];
|
|
8651
|
+
const MAX_CATEGORIES = 5;
|
|
8652
|
+
const INFO_BLOCK_HTML = `<p>Полученные баллы можно конвертировать в рубли и компенсировать покупки у партнеров. Подробнее в <a href='#docs'>документах</a></p>`;
|
|
8653
|
+
const CashbackCalculator = JSX(({ maxInputRange = 300000, image, deleteImage, infoImage, isMultiple = false, className = '', ...rest }) => {
|
|
8654
|
+
const { cashbacks, categories, onAddNewCashback, onChangeCashback, onDeleteCashback, onResetCashback, } = useCashbackCalculator(isMultiple);
|
|
8655
|
+
const img = image?.src ? (jsx(Img, { image: image, className: "hidden w-full @xl:block", imageClassName: "justify-self-center" })) : null;
|
|
8656
|
+
return (jsxs(BlockWrapper, { className: style('flex flex-col justify-center items-center gap-lg', className), defaultPadding: style('p-6xl'), ...rest, children: [jsx(Headline, { title: "\u041A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440 \u043A\u0435\u0448\u0431\u044D\u043A\u0430", description: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 5 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439 \u043A\u0435\u0448\u0431\u044D\u043A\u0430, \u0438 \u0432\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 \u043E\u0431\u0449\u0438\u0439 \u0440\u0430\u0441\u0447\u0435\u0442 \u043F\u043E\u043B\u0443\u0447\u0430\u0435\u043C\u043E\u0433\u043E \u043A\u0435\u0448\u0431\u044D\u043A\u0430", headlineVersion: "XL", isEmbedded: true }), jsxs("div", { className: "flex flex-row items-start gap-lg", children: [jsxs("div", { className: "w-full flex flex-col justify-center items-center gap-lg", children: [cashbacks.map((_) => (jsx(CashbackCategory, { categories: categories, cashback: _, showIncreasedPercents: showIncreasedPercents(_, cashbacks), maxInputRange: maxInputRange, deleteImage: deleteImage, onDelete: onDeleteCashback, onChange: onChangeCashback }, String(_.id)))), renderButtons$1(cashbacks.length, onAddNewCashback, onResetCashback), jsx(CashbackCalculatorResult, { cashbacks: cashbacks }), jsx(InfoCard, { __html: INFO_BLOCK_HTML, image: infoImage }), jsx(LinkButton, { className: "w-full @lg:w-auto self-start", href: "#zayavka", text: "\u041E\u0444\u043E\u0440\u043C\u0438\u0442\u044C \u043A\u0430\u0440\u0442\u0443", version: "primary" })] }), img] })] }));
|
|
8657
|
+
});
|
|
8658
|
+
const renderButtons$1 = (cashbacksLength, onAddNewCashback, onResetCashback) => {
|
|
8659
|
+
return (jsxs("div", { className: "w-full flex flex-col gap-lg", children: [cashbacksLength < MAX_CATEGORIES ? (jsx(Button, { className: "self-start text-primary-main", embedded: true, version: "secondary", onClick: onAddNewCashback, children: "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0435\u0449\u0435" })) : null, cashbacksLength > 2 ? (jsx(Button, { className: "self-start", version: "secondary", onClick: onResetCashback, children: "\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0432\u0441\u0435 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438" })) : null] }));
|
|
8660
|
+
};
|
|
8661
|
+
const showIncreasedPercents = (currentCashback, cashback) => INCREASED_PERCENTS.includes(currentCashback.percent.key) ||
|
|
8662
|
+
!cashback.some((_) => INCREASED_PERCENTS.includes(_.percent.key));
|
|
8663
|
+
|
|
8496
8664
|
const ProgressBar = JSX(({ step = 10, description, showPercentage = true }) => (jsxs("div", { children: [jsx("div", { className: "h-4 w-full bg-gray relative", children: jsx("div", { className: "h-4 bg-green", style: { width: `${step}%` } }) }), jsxs("div", { className: "relative", children: [showPercentage ? jsxs("div", { className: "absolute left-2/4 text-green", children: [step, "%"] }) : null, description ? jsx("div", { className: "text-right pr-m text-gray", children: description }) : null] })] })));
|
|
8497
8665
|
|
|
8498
8666
|
const CreditCardFormProgress = JSX(({ step = 1, totalSteps = 6, stepsTitles = [] }) => {
|
|
@@ -12103,6 +12271,7 @@
|
|
|
12103
12271
|
CreditCardForm,
|
|
12104
12272
|
CreditForm,
|
|
12105
12273
|
DebitForm,
|
|
12274
|
+
CashbackCalculator,
|
|
12106
12275
|
};
|
|
12107
12276
|
|
|
12108
12277
|
const applyAspects = (aspects) => (ev) => {
|
|
@@ -12226,7 +12395,7 @@
|
|
|
12226
12395
|
slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
|
|
12227
12396
|
});
|
|
12228
12397
|
|
|
12229
|
-
const packageVersion = "0.14.
|
|
12398
|
+
const packageVersion = "0.14.936";
|
|
12230
12399
|
|
|
12231
12400
|
exports.Blocks = Blocks;
|
|
12232
12401
|
exports.ContentPage = ContentPage;
|