@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.
Files changed (127) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +171 -2
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
  5. package/bundle/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
  6. package/bundle/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
  7. package/bundle/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
  8. package/bundle/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
  9. package/bundle/ui-kit/InfoCard/InfoCard.d.ts +2 -0
  10. package/dist/components/Blocks.js +2 -0
  11. package/dist/components/Blocks.js.map +1 -1
  12. package/dist/components/Blocks.mobile.js +2 -0
  13. package/dist/components/Blocks.mobile.js.map +1 -1
  14. package/dist/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
  15. package/dist/components/CashbackCalculator/CashbackCalculator.js +28 -0
  16. package/dist/components/CashbackCalculator/CashbackCalculator.js.map +1 -0
  17. package/dist/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
  18. package/dist/components/CashbackCalculator/CashbackCalculatorContent.js +2 -0
  19. package/dist/components/CashbackCalculator/CashbackCalculatorContent.js.map +1 -0
  20. package/dist/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
  21. package/dist/components/CashbackCalculator/CashbackCalculatorResult.js +27 -0
  22. package/dist/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -0
  23. package/dist/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
  24. package/dist/components/CashbackCalculator/CashbackCategory.js +72 -0
  25. package/dist/components/CashbackCalculator/CashbackCategory.js.map +1 -0
  26. package/dist/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
  27. package/dist/components/CashbackCalculator/useCashbackCalculator.js +77 -0
  28. package/dist/components/CashbackCalculator/useCashbackCalculator.js.map +1 -0
  29. package/dist/ui-kit/InfoCard/InfoCard.d.ts +2 -0
  30. package/dist/ui-kit/InfoCard/InfoCard.js +2 -1
  31. package/dist/ui-kit/InfoCard/InfoCard.js.map +1 -1
  32. package/lib/common.css +1 -1
  33. package/lib/components/Blocks.js +2 -0
  34. package/lib/components/Blocks.js.map +1 -1
  35. package/lib/components/Blocks.mobile.js +2 -0
  36. package/lib/components/Blocks.mobile.js.map +1 -1
  37. package/lib/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
  38. package/lib/components/CashbackCalculator/CashbackCalculator.fixture.d.ts +6 -0
  39. package/lib/components/CashbackCalculator/CashbackCalculator.fixture.mobile.d.ts +5 -0
  40. package/lib/components/CashbackCalculator/CashbackCalculator.js +26 -0
  41. package/lib/components/CashbackCalculator/CashbackCalculator.js.map +1 -0
  42. package/lib/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
  43. package/lib/components/CashbackCalculator/CashbackCalculatorContent.js +2 -0
  44. package/lib/components/CashbackCalculator/CashbackCalculatorContent.js.map +1 -0
  45. package/lib/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
  46. package/lib/components/CashbackCalculator/CashbackCalculatorResult.js +25 -0
  47. package/lib/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -0
  48. package/lib/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
  49. package/lib/components/CashbackCalculator/CashbackCategory.js +70 -0
  50. package/lib/components/CashbackCalculator/CashbackCategory.js.map +1 -0
  51. package/lib/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
  52. package/lib/components/CashbackCalculator/useCashbackCalculator.js +74 -0
  53. package/lib/components/CashbackCalculator/useCashbackCalculator.js.map +1 -0
  54. package/lib/ui-kit/InfoCard/InfoCard.d.ts +2 -0
  55. package/lib/ui-kit/InfoCard/InfoCard.js +2 -1
  56. package/lib/ui-kit/InfoCard/InfoCard.js.map +1 -1
  57. package/mobile/bundle/bundle.umd.js +171 -2
  58. package/mobile/bundle/bundle.umd.min.js +1 -1
  59. package/mobile/bundle/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
  60. package/mobile/bundle/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
  61. package/mobile/bundle/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
  62. package/mobile/bundle/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
  63. package/mobile/bundle/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
  64. package/mobile/bundle/ui-kit/InfoCard/InfoCard.d.ts +2 -0
  65. package/mobile/dist/components/Blocks.js +2 -0
  66. package/mobile/dist/components/Blocks.js.map +1 -1
  67. package/mobile/dist/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
  68. package/mobile/dist/components/CashbackCalculator/CashbackCalculator.js +28 -0
  69. package/mobile/dist/components/CashbackCalculator/CashbackCalculator.js.map +1 -0
  70. package/mobile/dist/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
  71. package/mobile/dist/components/CashbackCalculator/CashbackCalculatorContent.js +2 -0
  72. package/mobile/dist/components/CashbackCalculator/CashbackCalculatorContent.js.map +1 -0
  73. package/mobile/dist/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
  74. package/mobile/dist/components/CashbackCalculator/CashbackCalculatorResult.js +27 -0
  75. package/mobile/dist/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -0
  76. package/mobile/dist/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
  77. package/mobile/dist/components/CashbackCalculator/CashbackCategory.js +72 -0
  78. package/mobile/dist/components/CashbackCalculator/CashbackCategory.js.map +1 -0
  79. package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
  80. package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.js +77 -0
  81. package/mobile/dist/components/CashbackCalculator/useCashbackCalculator.js.map +1 -0
  82. package/mobile/dist/ui-kit/InfoCard/InfoCard.d.ts +2 -0
  83. package/mobile/dist/ui-kit/InfoCard/InfoCard.js +2 -1
  84. package/mobile/dist/ui-kit/InfoCard/InfoCard.js.map +1 -1
  85. package/mobile/lib/common.css +1 -1
  86. package/mobile/lib/components/Blocks.js +2 -0
  87. package/mobile/lib/components/Blocks.js.map +1 -1
  88. package/mobile/lib/components/CashbackCalculator/CashbackCalculator.d.ts +6 -0
  89. package/mobile/lib/components/CashbackCalculator/CashbackCalculator.js +26 -0
  90. package/mobile/lib/components/CashbackCalculator/CashbackCalculator.js.map +1 -0
  91. package/mobile/lib/components/CashbackCalculator/CashbackCalculatorContent.d.ts +24 -0
  92. package/mobile/lib/components/CashbackCalculator/CashbackCalculatorContent.js +2 -0
  93. package/mobile/lib/components/CashbackCalculator/CashbackCalculatorContent.js.map +1 -0
  94. package/mobile/lib/components/CashbackCalculator/CashbackCalculatorResult.d.ts +6 -0
  95. package/mobile/lib/components/CashbackCalculator/CashbackCalculatorResult.js +25 -0
  96. package/mobile/lib/components/CashbackCalculator/CashbackCalculatorResult.js.map +1 -0
  97. package/mobile/lib/components/CashbackCalculator/CashbackCategory.d.ts +14 -0
  98. package/mobile/lib/components/CashbackCalculator/CashbackCategory.js +70 -0
  99. package/mobile/lib/components/CashbackCalculator/CashbackCategory.js.map +1 -0
  100. package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.d.ts +10 -0
  101. package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.js +74 -0
  102. package/mobile/lib/components/CashbackCalculator/useCashbackCalculator.js.map +1 -0
  103. package/mobile/lib/ui-kit/InfoCard/InfoCard.d.ts +2 -0
  104. package/mobile/lib/ui-kit/InfoCard/InfoCard.js +2 -1
  105. package/mobile/lib/ui-kit/InfoCard/InfoCard.js.map +1 -1
  106. package/mobile/src/components/Blocks.ts +2 -0
  107. package/mobile/src/components/CashbackCalculator/CashbackCalculator.example.json +1 -0
  108. package/mobile/src/components/CashbackCalculator/CashbackCalculator.tsx +117 -0
  109. package/mobile/src/components/CashbackCalculator/CashbackCalculator.ui.json +15 -0
  110. package/mobile/src/components/CashbackCalculator/CashbackCalculatorContent.ts +27 -0
  111. package/mobile/src/components/CashbackCalculator/CashbackCalculatorResult.tsx +66 -0
  112. package/mobile/src/components/CashbackCalculator/CashbackCategory.tsx +143 -0
  113. package/mobile/src/components/CashbackCalculator/useCashbackCalculator.ts +93 -0
  114. package/mobile/src/ui-kit/InfoCard/InfoCard.tsx +9 -2
  115. package/package.json +1 -1
  116. package/src/components/Blocks.mobile.ts +2 -0
  117. package/src/components/Blocks.ts +2 -0
  118. package/src/components/CashbackCalculator/CashbackCalculator.example.json +1 -0
  119. package/src/components/CashbackCalculator/CashbackCalculator.fixture.mobile.tsx +45 -0
  120. package/src/components/CashbackCalculator/CashbackCalculator.fixture.tsx +54 -0
  121. package/src/components/CashbackCalculator/CashbackCalculator.tsx +117 -0
  122. package/src/components/CashbackCalculator/CashbackCalculator.ui.json +15 -0
  123. package/src/components/CashbackCalculator/CashbackCalculatorContent.ts +27 -0
  124. package/src/components/CashbackCalculator/CashbackCalculatorResult.tsx +66 -0
  125. package/src/components/CashbackCalculator/CashbackCategory.tsx +143 -0
  126. package/src/components/CashbackCalculator/useCashbackCalculator.ts +93 -0
  127. package/src/ui-kit/InfoCard/InfoCard.tsx +9 -2
@@ -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.933";
12616
+ const packageVersion = "0.14.935";
12448
12617
 
12449
12618
  exports.Blocks = Blocks;
12450
12619
  exports.ContentPage = ContentPage;