@redneckz/wildless-cms-uni-blocks 0.14.944 → 0.14.945
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 +8 -3
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/CashbackCalculator/CashbackCalculatorContent.d.ts +3 -0
- package/dist/components/CashbackCalculator/CashbackCalculator.js +7 -2
- package/dist/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/dist/components/CashbackCalculator/CashbackCalculatorContent.d.ts +3 -0
- package/lib/components/CashbackCalculator/CashbackCalculator.js +7 -2
- package/lib/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/lib/components/CashbackCalculator/CashbackCalculatorContent.d.ts +3 -0
- package/mobile/bundle/bundle.umd.js +8 -3
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/CashbackCalculator/CashbackCalculatorContent.d.ts +3 -0
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.js +7 -2
- package/mobile/dist/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/mobile/dist/components/CashbackCalculator/CashbackCalculatorContent.d.ts +3 -0
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.js +7 -2
- package/mobile/lib/components/CashbackCalculator/CashbackCalculator.js.map +1 -1
- package/mobile/lib/components/CashbackCalculator/CashbackCalculatorContent.d.ts +3 -0
- package/mobile/src/components/CashbackCalculator/CashbackCalculator.tsx +19 -3
- package/mobile/src/components/CashbackCalculator/CashbackCalculatorContent.ts +3 -0
- package/package.json +1 -1
- package/src/components/CashbackCalculator/CashbackCalculator.tsx +19 -3
- package/src/components/CashbackCalculator/CashbackCalculatorContent.ts +3 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type TitleProps } from '../../model/HeadlineType';
|
|
2
2
|
import { type Picture } from '../../model/Picture';
|
|
3
|
+
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
3
4
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
4
5
|
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
5
6
|
export declare type Cashback = {
|
|
@@ -11,6 +12,8 @@ export declare type Cashback = {
|
|
|
11
12
|
* @title Блок калькулятора кэшбека
|
|
12
13
|
*/
|
|
13
14
|
export declare type CashbackCalculatorContent = UniBlockContent & TitleProps & {
|
|
15
|
+
/** @title Кнопка */
|
|
16
|
+
button?: LinkButtonContent;
|
|
14
17
|
/** @title Максимальное значение поля 'Сумма покупок в категории' */
|
|
15
18
|
maxInputRange?: number;
|
|
16
19
|
/** @title Изображение */
|
|
@@ -12,13 +12,18 @@ const Headline_1 = require("../Headline/Headline");
|
|
|
12
12
|
const CashbackCalculatorResult_1 = require("./CashbackCalculatorResult");
|
|
13
13
|
const CashbackCategory_1 = require("./CashbackCategory");
|
|
14
14
|
const useCashbackCalculator_1 = require("./useCashbackCalculator");
|
|
15
|
+
const defaultButton = {
|
|
16
|
+
href: '/natural/debetcards/svoya-plus',
|
|
17
|
+
text: 'Оформить карту',
|
|
18
|
+
target: '_self',
|
|
19
|
+
};
|
|
15
20
|
const INCREASED_PERCENTS = ['5', '10', '15'];
|
|
16
21
|
const MAX_CATEGORIES = 5;
|
|
17
22
|
const INFO_BLOCK_HTML = `<p>Полученные баллы можно конвертировать в рубли и компенсировать покупки у партнеров. Подробнее в <a href='#docs'>документах</a></p>`;
|
|
18
|
-
exports.CashbackCalculator = (0, uni_jsx_1.JSX)(({ maxInputRange = 300000, image, deleteImage, infoImage, className = '', ...rest }) => {
|
|
23
|
+
exports.CashbackCalculator = (0, uni_jsx_1.JSX)(({ maxInputRange = 300000, image, deleteImage, infoImage, className = '', button = defaultButton, ...rest }) => {
|
|
19
24
|
const { cashbacks, categories, onAddNewCashback, onChangeCashback, onDeleteCashback, onResetCashback, } = (0, useCashbackCalculator_1.useCashbackCalculator)();
|
|
20
25
|
const img = image?.src ? ((0, jsx_runtime_1.jsx)(Img_1.Img, { image: image, className: "hidden w-full @xl:block", imageClassName: "justify-self-center" })) : null;
|
|
21
|
-
return ((0, jsx_runtime_1.jsxs)(BlockWrapper_1.BlockWrapper, { className: (0, style_1.style)('flex flex-col justify-center items-center gap-lg', className), defaultPadding: (0, style_1.style)('p-6xl'), ...rest, children: [(0, jsx_runtime_1.jsx)(Headline_1.Headline, { title: "\u041A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0431\u0430\u043B\u043B\u043E\u0432", description: "\u041C\u043E\u0436\u043D\u043E \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 5 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439, \u043E\u0434\u043D\u0430 \u0438\u0437 \u043D\u0438\u0445 \u0438\u0437 \u043F\u043E\u0432\u044B\u0448\u0435\u043D\u043D\u043E\u0439 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438", headlineVersion: "XL", isEmbedded: true }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-row items-start gap-lg", children: [(0, jsx_runtime_1.jsxs)("div", { className: "w-full flex flex-col justify-center items-center gap-lg", children: [cashbacks.map((_) => ((0, jsx_runtime_1.jsx)(CashbackCategory_1.CashbackCategory, { categories: categories, cashback: _, showIncreasedPercents: showIncreasedPercents(_, cashbacks), maxInputRange: maxInputRange, deleteImage: deleteImage, onDelete: onDeleteCashback, onChange: onChangeCashback }, String(_.id)))), renderButtons(cashbacks.length, onAddNewCashback, onResetCashback), (0, jsx_runtime_1.jsx)(CashbackCalculatorResult_1.CashbackCalculatorResult, { cashbacks: cashbacks }), (0, jsx_runtime_1.jsx)(InfoCard_1.InfoCard, { __html: INFO_BLOCK_HTML, image: infoImage }), (0, jsx_runtime_1.jsx)(LinkButton_1.LinkButton, { className: "w-full @lg:w-auto self-start", href:
|
|
26
|
+
return ((0, jsx_runtime_1.jsxs)(BlockWrapper_1.BlockWrapper, { className: (0, style_1.style)('flex flex-col justify-center items-center gap-lg', className), defaultPadding: (0, style_1.style)('p-6xl'), ...rest, children: [(0, jsx_runtime_1.jsx)(Headline_1.Headline, { title: "\u041A\u0430\u043B\u044C\u043A\u0443\u043B\u044F\u0442\u043E\u0440 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0431\u0430\u043B\u043B\u043E\u0432", description: "\u041C\u043E\u0436\u043D\u043E \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 5 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439, \u043E\u0434\u043D\u0430 \u0438\u0437 \u043D\u0438\u0445 \u0438\u0437 \u043F\u043E\u0432\u044B\u0448\u0435\u043D\u043D\u043E\u0439 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438", headlineVersion: "XL", isEmbedded: true }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-row items-start gap-lg", children: [(0, jsx_runtime_1.jsxs)("div", { className: "w-full flex flex-col justify-center items-center gap-lg", children: [cashbacks.map((_) => ((0, jsx_runtime_1.jsx)(CashbackCategory_1.CashbackCategory, { categories: categories, cashback: _, showIncreasedPercents: showIncreasedPercents(_, cashbacks), maxInputRange: maxInputRange, deleteImage: deleteImage, onDelete: onDeleteCashback, onChange: onChangeCashback }, String(_.id)))), renderButtons(cashbacks.length, onAddNewCashback, onResetCashback), (0, jsx_runtime_1.jsx)(CashbackCalculatorResult_1.CashbackCalculatorResult, { cashbacks: cashbacks }), (0, jsx_runtime_1.jsx)(InfoCard_1.InfoCard, { __html: INFO_BLOCK_HTML, image: infoImage }), (0, jsx_runtime_1.jsx)(LinkButton_1.LinkButton, { className: "w-full @lg:w-auto self-start", href: button.href, text: button.text, target: button.target, version: "primary" })] }), img] })] }));
|
|
22
27
|
});
|
|
23
28
|
const renderButtons = (cashbacksLength, onAddNewCashback, onResetCashback) => {
|
|
24
29
|
return ((0, jsx_runtime_1.jsxs)("div", { className: "w-full flex flex-col gap-lg", children: [cashbacksLength < MAX_CATEGORIES ? ((0, jsx_runtime_1.jsx)(Button_1.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 ? ((0, jsx_runtime_1.jsx)(Button_1.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] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CashbackCalculator.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/CashbackCalculator.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,4DAAyD;AACzD,uDAAoD;AACpD,8CAA2C;AAC3C,6DAA0D;AAC1D,mEAAgE;
|
|
1
|
+
{"version":3,"file":"CashbackCalculator.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/CashbackCalculator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type TitleProps } from '../../model/HeadlineType';
|
|
2
2
|
import { type Picture } from '../../model/Picture';
|
|
3
|
+
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
3
4
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
4
5
|
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
5
6
|
export declare type Cashback = {
|
|
@@ -11,6 +12,8 @@ export declare type Cashback = {
|
|
|
11
12
|
* @title Блок калькулятора кэшбека
|
|
12
13
|
*/
|
|
13
14
|
export declare type CashbackCalculatorContent = UniBlockContent & TitleProps & {
|
|
15
|
+
/** @title Кнопка */
|
|
16
|
+
button?: LinkButtonContent;
|
|
14
17
|
/** @title Максимальное значение поля 'Сумма покупок в категории' */
|
|
15
18
|
maxInputRange?: number;
|
|
16
19
|
/** @title Изображение */
|
|
@@ -10,13 +10,18 @@ import { Headline } from '../Headline/Headline.js';
|
|
|
10
10
|
import { CashbackCalculatorResult } from './CashbackCalculatorResult.js';
|
|
11
11
|
import { CashbackCategory } from './CashbackCategory.js';
|
|
12
12
|
import { useCashbackCalculator } from './useCashbackCalculator.js';
|
|
13
|
+
const defaultButton = {
|
|
14
|
+
href: '/natural/debetcards/svoya-plus',
|
|
15
|
+
text: 'Оформить карту',
|
|
16
|
+
target: '_self',
|
|
17
|
+
};
|
|
13
18
|
const INCREASED_PERCENTS = ['5', '10', '15'];
|
|
14
19
|
const MAX_CATEGORIES = 5;
|
|
15
20
|
const INFO_BLOCK_HTML = `<p>Полученные баллы можно конвертировать в рубли и компенсировать покупки у партнеров. Подробнее в <a href='#docs'>документах</a></p>`;
|
|
16
|
-
export const CashbackCalculator = JSX(({ maxInputRange = 300000, image, deleteImage, infoImage, className = '', ...rest }) => {
|
|
21
|
+
export const CashbackCalculator = JSX(({ maxInputRange = 300000, image, deleteImage, infoImage, className = '', button = defaultButton, ...rest }) => {
|
|
17
22
|
const { cashbacks, categories, onAddNewCashback, onChangeCashback, onDeleteCashback, onResetCashback, } = useCashbackCalculator();
|
|
18
23
|
const img = image?.src ? (_jsx(Img, { image: image, className: "hidden w-full @xl:block", imageClassName: "justify-self-center" })) : null;
|
|
19
|
-
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 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0431\u0430\u043B\u043B\u043E\u0432", description: "\u041C\u043E\u0436\u043D\u043E \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 5 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439, \u043E\u0434\u043D\u0430 \u0438\u0437 \u043D\u0438\u0445 \u0438\u0437 \u043F\u043E\u0432\u044B\u0448\u0435\u043D\u043D\u043E\u0439 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438", 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(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:
|
|
24
|
+
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 \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0431\u0430\u043B\u043B\u043E\u0432", description: "\u041C\u043E\u0436\u043D\u043E \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u0435\u0435 5 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439, \u043E\u0434\u043D\u0430 \u0438\u0437 \u043D\u0438\u0445 \u0438\u0437 \u043F\u043E\u0432\u044B\u0448\u0435\u043D\u043D\u043E\u0439 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438", 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(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: button.href, text: button.text, target: button.target, version: "primary" })] }), img] })] }));
|
|
20
25
|
});
|
|
21
26
|
const renderButtons = (cashbacksLength, onAddNewCashback, onResetCashback) => {
|
|
22
27
|
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] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CashbackCalculator.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/CashbackCalculator.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"CashbackCalculator.js","sourceRoot":"","sources":["../../../src/components/CashbackCalculator/CashbackCalculator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type TitleProps } from '../../model/HeadlineType';
|
|
2
2
|
import { type Picture } from '../../model/Picture';
|
|
3
|
+
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
3
4
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
4
5
|
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
5
6
|
export declare type Cashback = {
|
|
@@ -11,6 +12,8 @@ export declare type Cashback = {
|
|
|
11
12
|
* @title Блок калькулятора кэшбека
|
|
12
13
|
*/
|
|
13
14
|
export declare type CashbackCalculatorContent = UniBlockContent & TitleProps & {
|
|
15
|
+
/** @title Кнопка */
|
|
16
|
+
button?: LinkButtonContent;
|
|
14
17
|
/** @title Максимальное значение поля 'Сумма покупок в категории' */
|
|
15
18
|
maxInputRange?: number;
|
|
16
19
|
/** @title Изображение */
|
|
@@ -4,6 +4,7 @@ import { Button } from '../../ui-kit/Button/Button';
|
|
|
4
4
|
import { Img } from '../../ui-kit/Img/Img';
|
|
5
5
|
import { InfoCard } from '../../ui-kit/InfoCard/InfoCard';
|
|
6
6
|
import { LinkButton } from '../../ui-kit/LinkButton/LinkButton';
|
|
7
|
+
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
7
8
|
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
8
9
|
import { style } from '../../utils/style';
|
|
9
10
|
import { Headline } from '../Headline/Headline';
|
|
@@ -12,6 +13,12 @@ import { CashbackCalculatorResult } from './CashbackCalculatorResult';
|
|
|
12
13
|
import { CashbackCategory } from './CashbackCategory';
|
|
13
14
|
import { useCashbackCalculator } from './useCashbackCalculator';
|
|
14
15
|
|
|
16
|
+
const defaultButton: LinkButtonContent = {
|
|
17
|
+
href: '/natural/debetcards/svoya-plus',
|
|
18
|
+
text: 'Оформить карту',
|
|
19
|
+
target: '_self',
|
|
20
|
+
};
|
|
21
|
+
|
|
15
22
|
const INCREASED_PERCENTS = ['5', '10', '15'];
|
|
16
23
|
|
|
17
24
|
const MAX_CATEGORIES = 5;
|
|
@@ -21,7 +28,15 @@ const INFO_BLOCK_HTML = `<p>Полученные баллы можно конв
|
|
|
21
28
|
interface CashbackCalculatorProps extends CashbackCalculatorContent, UniBlockProps {}
|
|
22
29
|
|
|
23
30
|
export const CashbackCalculator = JSX<CashbackCalculatorProps>(
|
|
24
|
-
({
|
|
31
|
+
({
|
|
32
|
+
maxInputRange = 300000,
|
|
33
|
+
image,
|
|
34
|
+
deleteImage,
|
|
35
|
+
infoImage,
|
|
36
|
+
className = '',
|
|
37
|
+
button = defaultButton,
|
|
38
|
+
...rest
|
|
39
|
+
}) => {
|
|
25
40
|
const {
|
|
26
41
|
cashbacks,
|
|
27
42
|
categories,
|
|
@@ -66,8 +81,9 @@ export const CashbackCalculator = JSX<CashbackCalculatorProps>(
|
|
|
66
81
|
<InfoCard __html={INFO_BLOCK_HTML} image={infoImage} />
|
|
67
82
|
<LinkButton
|
|
68
83
|
className="w-full @lg:w-auto self-start"
|
|
69
|
-
href=
|
|
70
|
-
text=
|
|
84
|
+
href={button.href}
|
|
85
|
+
text={button.text}
|
|
86
|
+
target={button.target}
|
|
71
87
|
version="primary"
|
|
72
88
|
/>
|
|
73
89
|
</div>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type TitleProps } from '../../model/HeadlineType';
|
|
2
2
|
import { type Picture } from '../../model/Picture';
|
|
3
|
+
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
3
4
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
4
5
|
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
5
6
|
|
|
@@ -14,6 +15,8 @@ export type Cashback = {
|
|
|
14
15
|
*/
|
|
15
16
|
export type CashbackCalculatorContent = UniBlockContent &
|
|
16
17
|
TitleProps & {
|
|
18
|
+
/** @title Кнопка */
|
|
19
|
+
button?: LinkButtonContent;
|
|
17
20
|
/** @title Максимальное значение поля 'Сумма покупок в категории' */
|
|
18
21
|
maxInputRange?: number;
|
|
19
22
|
/** @title Изображение */
|
package/package.json
CHANGED
|
@@ -4,6 +4,7 @@ import { Button } from '../../ui-kit/Button/Button';
|
|
|
4
4
|
import { Img } from '../../ui-kit/Img/Img';
|
|
5
5
|
import { InfoCard } from '../../ui-kit/InfoCard/InfoCard';
|
|
6
6
|
import { LinkButton } from '../../ui-kit/LinkButton/LinkButton';
|
|
7
|
+
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
7
8
|
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
8
9
|
import { style } from '../../utils/style';
|
|
9
10
|
import { Headline } from '../Headline/Headline';
|
|
@@ -12,6 +13,12 @@ import { CashbackCalculatorResult } from './CashbackCalculatorResult';
|
|
|
12
13
|
import { CashbackCategory } from './CashbackCategory';
|
|
13
14
|
import { useCashbackCalculator } from './useCashbackCalculator';
|
|
14
15
|
|
|
16
|
+
const defaultButton: LinkButtonContent = {
|
|
17
|
+
href: '/natural/debetcards/svoya-plus',
|
|
18
|
+
text: 'Оформить карту',
|
|
19
|
+
target: '_self',
|
|
20
|
+
};
|
|
21
|
+
|
|
15
22
|
const INCREASED_PERCENTS = ['5', '10', '15'];
|
|
16
23
|
|
|
17
24
|
const MAX_CATEGORIES = 5;
|
|
@@ -21,7 +28,15 @@ const INFO_BLOCK_HTML = `<p>Полученные баллы можно конв
|
|
|
21
28
|
interface CashbackCalculatorProps extends CashbackCalculatorContent, UniBlockProps {}
|
|
22
29
|
|
|
23
30
|
export const CashbackCalculator = JSX<CashbackCalculatorProps>(
|
|
24
|
-
({
|
|
31
|
+
({
|
|
32
|
+
maxInputRange = 300000,
|
|
33
|
+
image,
|
|
34
|
+
deleteImage,
|
|
35
|
+
infoImage,
|
|
36
|
+
className = '',
|
|
37
|
+
button = defaultButton,
|
|
38
|
+
...rest
|
|
39
|
+
}) => {
|
|
25
40
|
const {
|
|
26
41
|
cashbacks,
|
|
27
42
|
categories,
|
|
@@ -66,8 +81,9 @@ export const CashbackCalculator = JSX<CashbackCalculatorProps>(
|
|
|
66
81
|
<InfoCard __html={INFO_BLOCK_HTML} image={infoImage} />
|
|
67
82
|
<LinkButton
|
|
68
83
|
className="w-full @lg:w-auto self-start"
|
|
69
|
-
href=
|
|
70
|
-
text=
|
|
84
|
+
href={button.href}
|
|
85
|
+
text={button.text}
|
|
86
|
+
target={button.target}
|
|
71
87
|
version="primary"
|
|
72
88
|
/>
|
|
73
89
|
</div>
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type TitleProps } from '../../model/HeadlineType';
|
|
2
2
|
import { type Picture } from '../../model/Picture';
|
|
3
|
+
import { type LinkButtonContent } from '../../ui-kit/LinkButton/LinkButtonContent';
|
|
3
4
|
import { type Option } from '../../ui-kit/Select/Option';
|
|
4
5
|
import { type UniBlockContent } from '../../UniBlock/UniBlockProps';
|
|
5
6
|
|
|
@@ -14,6 +15,8 @@ export type Cashback = {
|
|
|
14
15
|
*/
|
|
15
16
|
export type CashbackCalculatorContent = UniBlockContent &
|
|
16
17
|
TitleProps & {
|
|
18
|
+
/** @title Кнопка */
|
|
19
|
+
button?: LinkButtonContent;
|
|
17
20
|
/** @title Максимальное значение поля 'Сумма покупок в категории' */
|
|
18
21
|
maxInputRange?: number;
|
|
19
22
|
/** @title Изображение */
|