@redneckz/wildless-cms-uni-blocks 0.14.934 → 0.14.936
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 +171 -2
- 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/ui-kit/InfoCard/InfoCard.d.ts +2 -0
- 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/ui-kit/InfoCard/InfoCard.d.ts +2 -0
- package/dist/ui-kit/InfoCard/InfoCard.js +2 -1
- package/dist/ui-kit/InfoCard/InfoCard.js.map +1 -1
- package/lib/common.css +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/ui-kit/InfoCard/InfoCard.d.ts +2 -0
- package/lib/ui-kit/InfoCard/InfoCard.js +2 -1
- package/lib/ui-kit/InfoCard/InfoCard.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +171 -2
- 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/ui-kit/InfoCard/InfoCard.d.ts +2 -0
- 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/ui-kit/InfoCard/InfoCard.d.ts +2 -0
- package/mobile/dist/ui-kit/InfoCard/InfoCard.js +2 -1
- package/mobile/dist/ui-kit/InfoCard/InfoCard.js.map +1 -1
- package/mobile/lib/common.css +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/ui-kit/InfoCard/InfoCard.d.ts +2 -0
- package/mobile/lib/ui-kit/InfoCard/InfoCard.js +2 -1
- package/mobile/lib/ui-kit/InfoCard/InfoCard.js.map +1 -1
- 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/ui-kit/InfoCard/InfoCard.tsx +9 -2
- package/package.json +1 -1
- 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/ui-kit/InfoCard/InfoCard.tsx +9 -2
package/bundle/bundle.umd.js
CHANGED
|
@@ -4635,7 +4635,7 @@
|
|
|
4635
4635
|
return [storedValue, setValue];
|
|
4636
4636
|
}
|
|
4637
4637
|
|
|
4638
|
-
const InfoCard = JSX(({ __html, icon = 'InfoCircleIcon', iconVersion = 'black' }) => (jsxs("div", { className: "flex flex-row items-center w-full min-h-14 bg-main-gray rounded-lg gap-m p-m", children: [jsx("div", { className: "rounded-full bg-white p-xs", children: jsx(Icon, { name: icon, width: "24", height: "24", iconVersion: iconVersion }) }), jsx("div", { className: "", children: jsx(RichText, { __html: __html }) })] })));
|
|
4638
|
+
const InfoCard = JSX(({ __html, icon = 'InfoCircleIcon', iconVersion = 'black', image }) => (jsxs("div", { className: "flex flex-row items-center w-full min-h-14 bg-main-gray rounded-lg gap-m p-m", children: [jsx("div", { className: "rounded-full bg-white p-xs", children: image ? (jsx(Img, { image: image, className: "block w-max" })) : (jsx(Icon, { name: icon, width: "24", height: "24", iconVersion: iconVersion })) }), jsx("div", { className: "", children: jsx(RichText, { __html: __html }) })] })));
|
|
4639
4639
|
|
|
4640
4640
|
const getCardTypes = async (paymentSystemTypeCd, creditProgramId) => {
|
|
4641
4641
|
const data = await fetchRetailJSON('/dictionaryFiltered', 'POST', {
|
|
@@ -8497,6 +8497,174 @@
|
|
|
8497
8497
|
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 }))] }));
|
|
8498
8498
|
});
|
|
8499
8499
|
|
|
8500
|
+
const MAX_MONTH_CASHBACK = 5000;
|
|
8501
|
+
const MAX_YEAR_CASHBACK = 60000;
|
|
8502
|
+
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)} ₽` })] })));
|
|
8503
|
+
const CashbackCalculatorResult = JSX(({ cashbacks }) => {
|
|
8504
|
+
const { mounth, year } = getResult(cashbacks);
|
|
8505
|
+
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 })] })] }));
|
|
8506
|
+
});
|
|
8507
|
+
const getResult = (cashbacks) => {
|
|
8508
|
+
return cashbacks.reduce((acc, val) => {
|
|
8509
|
+
const mounthSum = (Number(val.percent.key) / 100) * val.sum;
|
|
8510
|
+
return {
|
|
8511
|
+
mounth: Math.min(acc.mounth + mounthSum, MAX_MONTH_CASHBACK),
|
|
8512
|
+
year: Math.min(acc.year + mounthSum * 12, MAX_YEAR_CASHBACK),
|
|
8513
|
+
};
|
|
8514
|
+
}, {
|
|
8515
|
+
mounth: 0,
|
|
8516
|
+
year: 0,
|
|
8517
|
+
});
|
|
8518
|
+
};
|
|
8519
|
+
|
|
8520
|
+
const AllPercentCategories = [
|
|
8521
|
+
{
|
|
8522
|
+
text: 'Категория на кешбэк 1,5%',
|
|
8523
|
+
key: '1.5',
|
|
8524
|
+
},
|
|
8525
|
+
{
|
|
8526
|
+
text: 'Категория на кешбэк 3%',
|
|
8527
|
+
key: '3',
|
|
8528
|
+
},
|
|
8529
|
+
{
|
|
8530
|
+
text: 'Категория на кешбэк 5%',
|
|
8531
|
+
key: '5',
|
|
8532
|
+
},
|
|
8533
|
+
{
|
|
8534
|
+
text: 'Категория на кешбэк 10%',
|
|
8535
|
+
key: '10',
|
|
8536
|
+
},
|
|
8537
|
+
{
|
|
8538
|
+
text: 'Категория на кешбэк 15%',
|
|
8539
|
+
key: '15',
|
|
8540
|
+
},
|
|
8541
|
+
];
|
|
8542
|
+
const PercentCategoriesWithoutIncreased = [
|
|
8543
|
+
{
|
|
8544
|
+
text: 'Категория на кешбэк 1,5%',
|
|
8545
|
+
key: '1.5',
|
|
8546
|
+
},
|
|
8547
|
+
{
|
|
8548
|
+
text: 'Категория на кешбэк 3%',
|
|
8549
|
+
key: '3',
|
|
8550
|
+
},
|
|
8551
|
+
];
|
|
8552
|
+
const CashbackCategory = JSX(({ categories, cashback, showIncreasedPercents, maxInputRange, deleteImage, onDelete, onChange, }) => {
|
|
8553
|
+
const [currentCategory, setCurrentCategory] = useState(getRandomElement(categories));
|
|
8554
|
+
const isMainCashback = cashback.id === 0;
|
|
8555
|
+
const onChangePercent = (value) => {
|
|
8556
|
+
onChange({
|
|
8557
|
+
...cashback,
|
|
8558
|
+
percent: value,
|
|
8559
|
+
});
|
|
8560
|
+
};
|
|
8561
|
+
const onChangeSum = (value) => {
|
|
8562
|
+
onChange({
|
|
8563
|
+
...cashback,
|
|
8564
|
+
sum: value,
|
|
8565
|
+
});
|
|
8566
|
+
};
|
|
8567
|
+
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 })] }));
|
|
8568
|
+
});
|
|
8569
|
+
const getRandomElement = (arr) => arr?.[new Date().getTime().toString().slice(-1)];
|
|
8570
|
+
const getPercentCategories = (isMainCashback, showIncreasedPercents) => {
|
|
8571
|
+
if (isMainCashback) {
|
|
8572
|
+
return [];
|
|
8573
|
+
}
|
|
8574
|
+
else if (showIncreasedPercents) {
|
|
8575
|
+
return AllPercentCategories;
|
|
8576
|
+
}
|
|
8577
|
+
else {
|
|
8578
|
+
return PercentCategoriesWithoutIncreased;
|
|
8579
|
+
}
|
|
8580
|
+
};
|
|
8581
|
+
|
|
8582
|
+
const DEFAULT_MULTIPLE_CASHBACK = [
|
|
8583
|
+
{
|
|
8584
|
+
id: 0,
|
|
8585
|
+
percent: {
|
|
8586
|
+
text: 'Категория на кешбэк 1%',
|
|
8587
|
+
key: '1',
|
|
8588
|
+
},
|
|
8589
|
+
sum: 5000,
|
|
8590
|
+
},
|
|
8591
|
+
{
|
|
8592
|
+
id: 1,
|
|
8593
|
+
percent: {
|
|
8594
|
+
text: 'Категория на кешбэк 1,5%',
|
|
8595
|
+
key: '1.5',
|
|
8596
|
+
},
|
|
8597
|
+
sum: 5000,
|
|
8598
|
+
},
|
|
8599
|
+
{
|
|
8600
|
+
id: 2,
|
|
8601
|
+
percent: {
|
|
8602
|
+
text: 'Категория на кешбэк 1,5%',
|
|
8603
|
+
key: '1.5',
|
|
8604
|
+
},
|
|
8605
|
+
sum: 5000,
|
|
8606
|
+
},
|
|
8607
|
+
];
|
|
8608
|
+
const DEFAULT_CASHBACK = [
|
|
8609
|
+
{
|
|
8610
|
+
id: 0,
|
|
8611
|
+
percent: {
|
|
8612
|
+
text: 'Категория на кешбэк 1%',
|
|
8613
|
+
key: '1',
|
|
8614
|
+
},
|
|
8615
|
+
sum: 5000,
|
|
8616
|
+
},
|
|
8617
|
+
];
|
|
8618
|
+
const useCashbackCalculator = (isMultiple) => {
|
|
8619
|
+
const { data } = useLeadFormData('CASHBACK_CATEGORY');
|
|
8620
|
+
const [cashbacks, setCashbacks] = useState(isMultiple ? DEFAULT_MULTIPLE_CASHBACK : DEFAULT_CASHBACK);
|
|
8621
|
+
const categories = data?.map((_) => ({
|
|
8622
|
+
key: _.key || '',
|
|
8623
|
+
text: _.value,
|
|
8624
|
+
})) || [];
|
|
8625
|
+
const onAddNewCashback = () => setCashbacks((_) => [
|
|
8626
|
+
..._,
|
|
8627
|
+
{
|
|
8628
|
+
id: _[_.length - 1].id + 1,
|
|
8629
|
+
percent: {
|
|
8630
|
+
text: 'Категория на кешбэк 1,5%',
|
|
8631
|
+
key: '1.5',
|
|
8632
|
+
},
|
|
8633
|
+
sum: 5000,
|
|
8634
|
+
},
|
|
8635
|
+
]);
|
|
8636
|
+
const onChangeCashback = (item) => setCashbacks((prev) => prev.map((_) => {
|
|
8637
|
+
if (_.id === item.id) {
|
|
8638
|
+
return item;
|
|
8639
|
+
}
|
|
8640
|
+
return _;
|
|
8641
|
+
}));
|
|
8642
|
+
const onDeleteCashback = (id) => setCashbacks((prev) => prev.filter((_) => _.id !== id));
|
|
8643
|
+
const onResetCashback = () => setCashbacks(DEFAULT_CASHBACK);
|
|
8644
|
+
return {
|
|
8645
|
+
cashbacks,
|
|
8646
|
+
categories,
|
|
8647
|
+
onAddNewCashback,
|
|
8648
|
+
onChangeCashback,
|
|
8649
|
+
onDeleteCashback,
|
|
8650
|
+
onResetCashback,
|
|
8651
|
+
};
|
|
8652
|
+
};
|
|
8653
|
+
|
|
8654
|
+
const INCREASED_PERCENTS = ['5', '10', '15'];
|
|
8655
|
+
const MAX_CATEGORIES = 5;
|
|
8656
|
+
const INFO_BLOCK_HTML = `<p>Полученные баллы можно конвертировать в рубли и компенсировать покупки у партнеров. Подробнее в <a href='#docs'>документах</a></p>`;
|
|
8657
|
+
const CashbackCalculator = JSX(({ maxInputRange = 300000, image, deleteImage, infoImage, isMultiple = false, className = '', ...rest }) => {
|
|
8658
|
+
const { cashbacks, categories, onAddNewCashback, onChangeCashback, onDeleteCashback, onResetCashback, } = useCashbackCalculator(isMultiple);
|
|
8659
|
+
const img = image?.src ? (jsx(Img, { image: image, className: "hidden w-full @xl:block", imageClassName: "justify-self-center" })) : null;
|
|
8660
|
+
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(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] })] }));
|
|
8661
|
+
});
|
|
8662
|
+
const renderButtons = (cashbacksLength, onAddNewCashback, onResetCashback) => {
|
|
8663
|
+
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] }));
|
|
8664
|
+
};
|
|
8665
|
+
const showIncreasedPercents = (currentCashback, cashback) => INCREASED_PERCENTS.includes(currentCashback.percent.key) ||
|
|
8666
|
+
!cashback.some((_) => INCREASED_PERCENTS.includes(_.percent.key));
|
|
8667
|
+
|
|
8500
8668
|
const ContactsBlock = JSX(({ className, contacts, info, version = 'secondary', ...rest }) => (jsxs(BlockWrapper, { className: style('flex', className), defaultPadding: "p-6xl", version: version, ...rest, children: [info?.length ? renderBlocks(info) : null, contacts?.length ? renderBlocks(contacts) : null] })));
|
|
8501
8669
|
const renderBlocks = (info) => (jsx("div", { className: "flex gap-5xl grow basis-0", children: info.map((column, i) => renderBlocksColumn({ column, i })) }));
|
|
8502
8670
|
const renderBlocksColumn = ({ column, i }) => column ? (jsx("div", { className: "flex flex-col gap-xl grow basis-0", children: column.map(({ title = '', description, additionalDescription, button }, key) => (jsxs("div", { children: [jsx(Headline, { title: title, description: description, headlineVersion: "XS", align: "text-left", isEmbedded: true }), additionalDescription ? (jsx("div", { className: "mt-xs opacity-80", children: jsx(Paragraph, { size: "text-m", font: "font-light", children: additionalDescription }) })) : null, jsx("div", { className: style({ 'mt-xl': Boolean(button?.text) }), children: renderButtonsSection([button]) })] }, String(key)))) }, `col-${String(i)}`)) : null;
|
|
@@ -12301,6 +12469,7 @@
|
|
|
12301
12469
|
CreditCardForm,
|
|
12302
12470
|
CreditForm,
|
|
12303
12471
|
DebitForm,
|
|
12472
|
+
CashbackCalculator,
|
|
12304
12473
|
};
|
|
12305
12474
|
|
|
12306
12475
|
const applyAspects = (aspects) => (ev) => {
|
|
@@ -12444,7 +12613,7 @@
|
|
|
12444
12613
|
slots: () => [HEADER_SLOT, FOOTER_SLOT, STICKY_FOOTER_SLOT],
|
|
12445
12614
|
});
|
|
12446
12615
|
|
|
12447
|
-
const packageVersion = "0.14.
|
|
12616
|
+
const packageVersion = "0.14.935";
|
|
12448
12617
|
|
|
12449
12618
|
exports.Blocks = Blocks;
|
|
12450
12619
|
exports.ContentPage = ContentPage;
|