@redneckz/wildless-cms-uni-blocks 0.9.4 → 0.9.6
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/bin/migration-scripts/0.8.29.js +1 -0
- package/bin/migration-scripts/0.9.1.js +5 -4
- package/bundle/BlockRenderer/BlockRendererOptions.d.ts +0 -2
- package/bundle/BlockRenderer/renderBlock.d.ts +5 -1
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +92 -58
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/Calculator/CalculatorContent.d.ts +15 -1
- package/bundle/components/Calculator/CreditCalculatorForm.d.ts +2 -2
- package/bundle/components/Calculator/DepositCalculatorForm.d.ts +2 -2
- package/bundle/components/Calculator/useCreditCalculatorParams.d.ts +3 -1
- package/bundle/components/CarouselEventCard/CarouselEventCard.d.ts +1 -1
- package/bundle/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
- package/bundle/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
- package/bundle/ui-kit/BlockWrapper.d.ts +0 -1
- package/bundle/ui-kit/LinkWrapper/LinkWrapper.d.ts +8 -0
- package/dist/BlockRenderer/BlockRendererOptions.d.ts +0 -2
- package/dist/BlockRenderer/renderBlock.d.ts +5 -1
- package/dist/BlockRenderer/renderBlock.js +2 -2
- package/dist/BlockRenderer/renderBlock.js.map +1 -1
- package/dist/components/Calculator/CalculatorContent.d.ts +15 -1
- package/dist/components/Calculator/CreditCalculatorForm.d.ts +2 -2
- package/dist/components/Calculator/CreditCalculatorForm.js +19 -4
- package/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
- package/dist/components/Calculator/DepositCalculatorForm.d.ts +2 -2
- package/dist/components/Calculator/constants.js +1 -0
- package/dist/components/Calculator/constants.js.map +1 -1
- package/dist/components/Calculator/useCreditCalculatorParams.d.ts +3 -1
- package/dist/components/Calculator/useCreditCalculatorParams.js +34 -8
- package/dist/components/Calculator/useCreditCalculatorParams.js.map +1 -1
- package/dist/components/Carousel/Carousel.js +11 -13
- package/dist/components/Carousel/Carousel.js.map +1 -1
- package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
- package/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/dist/components/CarouselEventCard/CarouselEventCard.d.ts +1 -1
- package/dist/components/CarouselEventCard/CarouselEventCard.js +4 -7
- package/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/dist/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
- package/dist/components/CarouselProductCard/CarouselProductCard.js +6 -9
- package/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
- package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -7
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/dist/components/StepsBlock/renderStep.js +3 -7
- package/dist/components/StepsBlock/renderStep.js.map +1 -1
- package/dist/components/VerticalLayout/VerticalLayout.js +6 -2
- package/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/dist/ui-kit/BlockWrapper.d.ts +0 -1
- package/dist/ui-kit/BlockWrapper.js +2 -2
- package/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/dist/ui-kit/LinkWrapper/LinkWrapper.d.ts +8 -0
- package/dist/ui-kit/LinkWrapper/LinkWrapper.js +12 -0
- package/dist/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -0
- package/lib/BlockRenderer/BlockRendererOptions.d.ts +0 -2
- package/lib/BlockRenderer/renderBlock.d.ts +5 -1
- package/lib/BlockRenderer/renderBlock.js +2 -2
- package/lib/BlockRenderer/renderBlock.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/Calculator/CalculatorContent.d.ts +15 -1
- package/lib/components/Calculator/CreditCalculatorForm.d.ts +2 -2
- package/lib/components/Calculator/CreditCalculatorForm.js +19 -4
- package/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
- package/lib/components/Calculator/DepositCalculatorForm.d.ts +2 -2
- package/lib/components/Calculator/constants.js +1 -0
- package/lib/components/Calculator/constants.js.map +1 -1
- package/lib/components/Calculator/useCreditCalculatorParams.d.ts +3 -1
- package/lib/components/Calculator/useCreditCalculatorParams.js +34 -8
- package/lib/components/Calculator/useCreditCalculatorParams.js.map +1 -1
- package/lib/components/Carousel/Carousel.js +11 -13
- package/lib/components/Carousel/Carousel.js.map +1 -1
- package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
- package/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/lib/components/CarouselEventCard/CarouselEventCard.d.ts +1 -1
- package/lib/components/CarouselEventCard/CarouselEventCard.js +4 -7
- package/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/lib/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
- package/lib/components/CarouselProductCard/CarouselProductCard.js +6 -9
- package/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
- package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -7
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/lib/components/StepsBlock/renderStep.js +3 -7
- package/lib/components/StepsBlock/renderStep.js.map +1 -1
- package/lib/components/VerticalLayout/VerticalLayout.js +6 -2
- package/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/lib/ui-kit/BlockWrapper.d.ts +0 -1
- package/lib/ui-kit/BlockWrapper.js +2 -2
- package/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/lib/ui-kit/LinkWrapper/LinkWrapper.d.ts +8 -0
- package/lib/ui-kit/LinkWrapper/LinkWrapper.js +10 -0
- package/lib/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -0
- package/mobile/bundle/BlockRenderer/BlockRendererOptions.d.ts +0 -2
- package/mobile/bundle/BlockRenderer/renderBlock.d.ts +5 -1
- package/mobile/bundle/bundle.umd.js +10 -7
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/Calculator/CalculatorContent.d.ts +15 -1
- package/mobile/bundle/components/Calculator/CreditCalculatorForm.d.ts +2 -2
- package/mobile/bundle/components/Calculator/DepositCalculatorForm.d.ts +2 -2
- package/mobile/bundle/components/Calculator/useCreditCalculatorParams.d.ts +3 -1
- package/mobile/bundle/components/CarouselEventCard/CarouselEventCard.d.ts +1 -1
- package/mobile/bundle/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
- package/mobile/bundle/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
- package/mobile/bundle/ui-kit/BlockWrapper.d.ts +0 -1
- package/mobile/bundle/ui-kit/LinkWrapper/LinkWrapper.d.ts +8 -0
- package/mobile/dist/BlockRenderer/BlockRendererOptions.d.ts +0 -2
- package/mobile/dist/BlockRenderer/renderBlock.d.ts +5 -1
- package/mobile/dist/BlockRenderer/renderBlock.js +2 -2
- package/mobile/dist/BlockRenderer/renderBlock.js.map +1 -1
- package/mobile/dist/components/Calculator/CalculatorContent.d.ts +15 -1
- package/mobile/dist/components/Calculator/CreditCalculatorForm.d.ts +2 -2
- package/mobile/dist/components/Calculator/CreditCalculatorForm.js +19 -4
- package/mobile/dist/components/Calculator/CreditCalculatorForm.js.map +1 -1
- package/mobile/dist/components/Calculator/DepositCalculatorForm.d.ts +2 -2
- package/mobile/dist/components/Calculator/constants.js +1 -0
- package/mobile/dist/components/Calculator/constants.js.map +1 -1
- package/mobile/dist/components/Calculator/useCreditCalculatorParams.d.ts +3 -1
- package/mobile/dist/components/Calculator/useCreditCalculatorParams.js +34 -8
- package/mobile/dist/components/Calculator/useCreditCalculatorParams.js.map +1 -1
- package/mobile/dist/components/Carousel/Carousel.js +11 -13
- package/mobile/dist/components/Carousel/Carousel.js.map +1 -1
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
- package/mobile/dist/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/mobile/dist/components/CarouselEventCard/CarouselEventCard.d.ts +1 -1
- package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js +4 -7
- package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js +6 -9
- package/mobile/dist/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -7
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/mobile/dist/components/StepsBlock/renderStep.js +3 -7
- package/mobile/dist/components/StepsBlock/renderStep.js.map +1 -1
- package/mobile/dist/components/VerticalLayout/VerticalLayout.js +6 -2
- package/mobile/dist/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/mobile/dist/ui-kit/BlockWrapper.d.ts +0 -1
- package/mobile/dist/ui-kit/BlockWrapper.js +2 -2
- package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/dist/ui-kit/LinkWrapper/LinkWrapper.d.ts +8 -0
- package/mobile/dist/ui-kit/LinkWrapper/LinkWrapper.js +12 -0
- package/mobile/dist/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -0
- package/mobile/lib/BlockRenderer/BlockRendererOptions.d.ts +0 -2
- package/mobile/lib/BlockRenderer/renderBlock.d.ts +5 -1
- package/mobile/lib/BlockRenderer/renderBlock.js +2 -2
- package/mobile/lib/BlockRenderer/renderBlock.js.map +1 -1
- package/mobile/lib/components/Calculator/CalculatorContent.d.ts +15 -1
- package/mobile/lib/components/Calculator/CreditCalculatorForm.d.ts +2 -2
- package/mobile/lib/components/Calculator/CreditCalculatorForm.js +19 -4
- package/mobile/lib/components/Calculator/CreditCalculatorForm.js.map +1 -1
- package/mobile/lib/components/Calculator/DepositCalculatorForm.d.ts +2 -2
- package/mobile/lib/components/Calculator/constants.js +1 -0
- package/mobile/lib/components/Calculator/constants.js.map +1 -1
- package/mobile/lib/components/Calculator/useCreditCalculatorParams.d.ts +3 -1
- package/mobile/lib/components/Calculator/useCreditCalculatorParams.js +34 -8
- package/mobile/lib/components/Calculator/useCreditCalculatorParams.js.map +1 -1
- package/mobile/lib/components/Carousel/Carousel.js +11 -13
- package/mobile/lib/components/Carousel/Carousel.js.map +1 -1
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js +1 -1
- package/mobile/lib/components/CarouselCatalogCard/CarouselCatalogCard.js.map +1 -1
- package/mobile/lib/components/CarouselEventCard/CarouselEventCard.d.ts +1 -1
- package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js +4 -7
- package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.d.ts +1 -1
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js +6 -9
- package/mobile/lib/components/CarouselProductCard/CarouselProductCard.js.map +1 -1
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +2 -5
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.d.ts +1 -1
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js +4 -7
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCard.js.map +1 -1
- package/mobile/lib/components/StepsBlock/renderStep.js +3 -7
- package/mobile/lib/components/StepsBlock/renderStep.js.map +1 -1
- package/mobile/lib/components/VerticalLayout/VerticalLayout.js +6 -2
- package/mobile/lib/components/VerticalLayout/VerticalLayout.js.map +1 -1
- package/mobile/lib/ui-kit/BlockWrapper.d.ts +0 -1
- package/mobile/lib/ui-kit/BlockWrapper.js +2 -2
- package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/lib/ui-kit/LinkWrapper/LinkWrapper.d.ts +8 -0
- package/mobile/lib/ui-kit/LinkWrapper/LinkWrapper.js +10 -0
- package/mobile/lib/ui-kit/LinkWrapper/LinkWrapper.js.map +1 -0
- package/mobile/src/BlockRenderer/BlockRendererOptions.ts +0 -2
- package/mobile/src/BlockRenderer/renderBlock.tsx +7 -3
- package/mobile/src/components/Calculator/Calculator.example.json +6 -0
- package/mobile/src/components/Calculator/CalculatorContent.ts +16 -1
- package/mobile/src/components/Calculator/CreditCalculatorForm.tsx +89 -29
- package/mobile/src/components/Calculator/DepositCalculatorForm.tsx +2 -2
- package/mobile/src/components/Calculator/constants.ts +1 -0
- package/mobile/src/components/Calculator/useCreditCalculatorParams.ts +46 -8
- package/mobile/src/components/Carousel/Carousel.tsx +9 -11
- package/mobile/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +2 -1
- package/mobile/src/components/CarouselEventCard/CarouselEventCard.tsx +19 -26
- package/mobile/src/components/CarouselProductCard/CarouselProductCard.tsx +16 -18
- package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +15 -20
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +28 -28
- package/mobile/src/components/StepsBlock/renderStep.tsx +6 -5
- package/mobile/src/components/VerticalLayout/VerticalLayout.tsx +6 -2
- package/mobile/src/ui-kit/BlockWrapper.tsx +3 -6
- package/mobile/src/ui-kit/LinkWrapper/LinkWrapper.tsx +21 -0
- package/package.json +1 -1
- package/src/BlockRenderer/BlockRendererOptions.ts +0 -2
- package/src/BlockRenderer/renderBlock.tsx +7 -3
- package/src/components/Calculator/Calculator.example.json +6 -0
- package/src/components/Calculator/Calculator.fixture.tsx +6 -0
- package/src/components/Calculator/CalculatorContent.ts +16 -1
- package/src/components/Calculator/CreditCalculatorForm.tsx +89 -29
- package/src/components/Calculator/DepositCalculatorForm.tsx +2 -2
- package/src/components/Calculator/constants.ts +1 -0
- package/src/components/Calculator/useCreditCalculatorParams.ts +46 -8
- package/src/components/Carousel/Carousel.tsx +9 -11
- package/src/components/CarouselCatalogCard/CarouselCatalogCard.tsx +2 -1
- package/src/components/CarouselEventCard/CarouselEventCard.tsx +19 -26
- package/src/components/CarouselProductCard/CarouselProductCard.tsx +16 -18
- package/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +15 -20
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCard.tsx +28 -28
- package/src/components/StepsBlock/StepsBlock.fixture.tsx +3 -3
- package/src/components/StepsBlock/renderStep.tsx +6 -5
- package/src/components/VerticalLayout/VerticalLayout.tsx +6 -2
- package/src/ui-kit/BlockWrapper.tsx +3 -6
- package/src/ui-kit/LinkWrapper/LinkWrapper.tsx +21 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CreditCalculatorParamsViewSettings } from './CalculatorContent';
|
|
1
2
|
import { CREDIT_CALC_DEFAULT_DIR, DEFAULT_CREDIT_CALCULATOR_PARAMS } from './constants';
|
|
2
3
|
import { getMonthlyPayment } from './getMonthlyPayment';
|
|
3
4
|
import { checkRangeByKeys, getRangeByKeys } from './rangeHelpers';
|
|
@@ -6,6 +7,7 @@ import { useCalculatorParams } from './useCalculatorParams';
|
|
|
6
7
|
export interface CommonCreditParams {
|
|
7
8
|
isInsurance: boolean;
|
|
8
9
|
isSalaryClient: boolean;
|
|
10
|
+
isPensionClient: boolean;
|
|
9
11
|
isStateEmployee: boolean;
|
|
10
12
|
}
|
|
11
13
|
export interface CreditCalculatorSourceBookParams extends CommonCreditParams {
|
|
@@ -35,18 +37,44 @@ export type CreditCalculatorData = {
|
|
|
35
37
|
export const useCreditCalculatorParams = (
|
|
36
38
|
userInputParams: CreditCalculatorUserInputParams,
|
|
37
39
|
sourceBookDir?: string,
|
|
40
|
+
paramsViewSettings?: CreditCalculatorParamsViewSettings,
|
|
38
41
|
): CreditCalculatorParams => {
|
|
39
|
-
const {
|
|
40
|
-
|
|
42
|
+
const { moneyValue, monthsValue } = userInputParams;
|
|
41
43
|
const data = useCalculatorParams<CreditCalculatorData>(sourceBookDir || CREDIT_CALC_DEFAULT_DIR);
|
|
42
44
|
const creditCalculatorSourceBookParams =
|
|
43
|
-
data?.rows?.find((
|
|
45
|
+
data?.rows?.find((row) => {
|
|
46
|
+
const isExcludeSalaryClient = !paramsViewSettings?.isShowSalaryClient;
|
|
47
|
+
const isExcludeStateEmployee = !paramsViewSettings?.isShowStateEmployee;
|
|
48
|
+
const isExcludePensionClient = !paramsViewSettings?.isShowPensionClient;
|
|
49
|
+
const isExcludeInsurance = !paramsViewSettings?.isShowInsurance;
|
|
50
|
+
|
|
44
51
|
return (
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
52
|
+
checkRowByParam({
|
|
53
|
+
row,
|
|
54
|
+
userInputParams,
|
|
55
|
+
paramKey: 'isSalaryClient',
|
|
56
|
+
isExclude: isExcludeSalaryClient,
|
|
57
|
+
}) &&
|
|
58
|
+
checkRowByParam({
|
|
59
|
+
row,
|
|
60
|
+
userInputParams,
|
|
61
|
+
paramKey: 'isStateEmployee',
|
|
62
|
+
isExclude: isExcludeStateEmployee,
|
|
63
|
+
}) &&
|
|
64
|
+
checkRowByParam({
|
|
65
|
+
row,
|
|
66
|
+
userInputParams,
|
|
67
|
+
paramKey: 'isPensionClient',
|
|
68
|
+
isExclude: isExcludePensionClient,
|
|
69
|
+
}) &&
|
|
70
|
+
checkRowByParam({
|
|
71
|
+
row,
|
|
72
|
+
userInputParams,
|
|
73
|
+
paramKey: 'isInsurance',
|
|
74
|
+
isExclude: isExcludeInsurance,
|
|
75
|
+
}) &&
|
|
76
|
+
checkRangeByKeys(moneyValue, ['minSum', 'maxSum'], row) &&
|
|
77
|
+
checkRangeByKeys(monthsValue, ['minMonths', 'maxMonths'], row)
|
|
50
78
|
);
|
|
51
79
|
}) || DEFAULT_CREDIT_CALCULATOR_PARAMS;
|
|
52
80
|
|
|
@@ -62,3 +90,13 @@ export const useCreditCalculatorParams = (
|
|
|
62
90
|
monthlyPayment,
|
|
63
91
|
};
|
|
64
92
|
};
|
|
93
|
+
|
|
94
|
+
interface CheckRowByParamProps {
|
|
95
|
+
row: CreditCalculatorSourceBookParams;
|
|
96
|
+
userInputParams: CreditCalculatorUserInputParams;
|
|
97
|
+
paramKey: string;
|
|
98
|
+
isExclude: boolean;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const checkRowByParam = ({ row, userInputParams, paramKey, isExclude }: CheckRowByParamProps) =>
|
|
102
|
+
isExclude || userInputParams[paramKey] === row[paramKey];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
+
import { renderBlock } from '../../BlockRenderer/renderBlock';
|
|
3
4
|
import { renderChildren } from '../../BlockRenderer/renderChildren';
|
|
4
5
|
import type { JSXBlock, UniBlockProps } from '../../model/JSXBlock';
|
|
5
6
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
@@ -24,7 +25,6 @@ export const Carousel: JSXBlock<CarouselProps> = JSX<CarouselProps>(
|
|
|
24
25
|
isCyclic = false,
|
|
25
26
|
arrowsPadded = true,
|
|
26
27
|
isPadding = true,
|
|
27
|
-
options,
|
|
28
28
|
...rest
|
|
29
29
|
}) => {
|
|
30
30
|
const { blocks: childBlocks } = rest.block || {};
|
|
@@ -59,18 +59,16 @@ export const Carousel: JSXBlock<CarouselProps> = JSX<CarouselProps>(
|
|
|
59
59
|
gap={ITEMS_GAP}
|
|
60
60
|
onVisibleIndicesChange={scroll.handleVisibleIndicesChange}
|
|
61
61
|
>
|
|
62
|
-
{
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
extraProps: {
|
|
62
|
+
{renderChildren({
|
|
63
|
+
...rest,
|
|
64
|
+
renderProps: isBankHistoryCarousel
|
|
65
|
+
? (block, options) =>
|
|
66
|
+
renderBlock(block, options, {
|
|
68
67
|
blocksLength: childBlocks?.length,
|
|
69
68
|
activeIndex: activeIndex,
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
: renderChildren({ ...rest, options })}
|
|
69
|
+
})
|
|
70
|
+
: renderBlock,
|
|
71
|
+
})}
|
|
74
72
|
</SwipeListContainer>
|
|
75
73
|
<CarouselScrollButtons
|
|
76
74
|
scroll={scroll}
|
|
@@ -52,7 +52,8 @@ export const CarouselCatalogCard = JSX<CarouselCatalogCardProps>(
|
|
|
52
52
|
);
|
|
53
53
|
|
|
54
54
|
const renderColorOption = (color: ProductColorVersion, i: number) => (
|
|
55
|
-
<
|
|
55
|
+
<div
|
|
56
|
+
role="figure"
|
|
56
57
|
key={String(i)}
|
|
57
58
|
className={`w-6 h-6 ml-3 border border-solid border-main-divider rounded-full ${cardStyleMap[color]}`}
|
|
58
59
|
/>
|
|
@@ -1,41 +1,34 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
2
3
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
3
|
-
import { getIconWithVersion } from '../../utils/getIconWithVersion';
|
|
4
4
|
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
5
5
|
import { Img } from '../../ui-kit/Img/Img';
|
|
6
|
-
import {
|
|
6
|
+
import { LinkWrapper } from '../../ui-kit/LinkWrapper/LinkWrapper';
|
|
7
7
|
import { Text } from '../../ui-kit/Text/Text';
|
|
8
|
-
import {
|
|
8
|
+
import { getIconWithVersion } from '../../utils/getIconWithVersion';
|
|
9
|
+
import { style } from '../../utils/style';
|
|
9
10
|
import type { CarouselEventCardContent } from './CarouselEventCardContent';
|
|
10
|
-
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
11
11
|
|
|
12
12
|
export interface CarouselEventCardProps extends CarouselEventCardContent, UniBlockProps {}
|
|
13
13
|
|
|
14
14
|
export const CarouselEventCard = JSX<CarouselEventCardProps>(
|
|
15
15
|
({ className = '', icon, title, description, href, target, ...rest }) => {
|
|
16
|
-
const link = useLink();
|
|
17
|
-
const adjustedProps = link({ href, target });
|
|
18
|
-
const tagName = href ? 'a' : 'section';
|
|
19
|
-
|
|
20
16
|
return (
|
|
21
|
-
<BlockWrapper
|
|
22
|
-
className=
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
</Text>
|
|
37
|
-
</div>
|
|
38
|
-
) : null}
|
|
17
|
+
<BlockWrapper className={style('w-[365px]', className)} {...rest}>
|
|
18
|
+
<LinkWrapper className="flex flex-col" href={href} target={target}>
|
|
19
|
+
{icon?.icon ? <Img image={getIconWithVersion(icon)} asSVG /> : null}
|
|
20
|
+
{icon?.src ? <Img image={icon} /> : null}
|
|
21
|
+
{title ? (
|
|
22
|
+
<Heading headingType="h6" as="h4" className="text-left mb-2" title={title} />
|
|
23
|
+
) : null}
|
|
24
|
+
{description ? (
|
|
25
|
+
<div className="mb-4">
|
|
26
|
+
<Text font="font-light" size="text-s" color="text-secondary-text">
|
|
27
|
+
{description}
|
|
28
|
+
</Text>
|
|
29
|
+
</div>
|
|
30
|
+
) : null}
|
|
31
|
+
</LinkWrapper>
|
|
39
32
|
</BlockWrapper>
|
|
40
33
|
);
|
|
41
34
|
},
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { BlockVersion } from '../../model/BlockVersion';
|
|
3
|
+
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
4
|
+
import type { Picture } from '../../model/Picture';
|
|
2
5
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
3
|
-
import {
|
|
6
|
+
import { renderButtonsSection } from '../../ui-kit/Button/renderButtonsSection';
|
|
4
7
|
import { Img } from '../../ui-kit/Img/Img';
|
|
8
|
+
import { LinkWrapper } from '../../ui-kit/LinkWrapper/LinkWrapper';
|
|
5
9
|
import { List } from '../../ui-kit/List/List';
|
|
6
10
|
import { Paragraph } from '../../ui-kit/Paragraph/Paragraph';
|
|
7
|
-
import { renderButtonsSection } from '../../ui-kit/Button/renderButtonsSection';
|
|
8
|
-
import { style } from '../../utils/style';
|
|
9
11
|
import { Text } from '../../ui-kit/Text/Text';
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
12
|
+
import { style } from '../../utils/style';
|
|
13
|
+
import { HEADLINE_SMALL_VERSION } from '../Headline/headlineVersionStyles';
|
|
12
14
|
import type { CarouselProductCardContent, ListProps } from './CarouselProductCardContent';
|
|
13
|
-
import type { Picture } from '../../model/Picture';
|
|
14
|
-
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
15
15
|
|
|
16
16
|
export interface CarouselProductCardProps extends CarouselProductCardContent, UniBlockProps {}
|
|
17
17
|
|
|
@@ -32,31 +32,25 @@ export const CarouselProductCard = JSX<CarouselProductCardProps>(
|
|
|
32
32
|
version = 'primary',
|
|
33
33
|
...rest
|
|
34
34
|
}) => {
|
|
35
|
-
const link = useLink();
|
|
36
|
-
const adjustedProps = link({ href, target });
|
|
37
|
-
const tagName = href ? 'a' : 'section';
|
|
38
|
-
|
|
39
35
|
return (
|
|
40
36
|
<BlockWrapper
|
|
41
37
|
className={style(
|
|
42
|
-
'
|
|
38
|
+
'justify-between min-w-[260px]',
|
|
43
39
|
'box-border border-solid border border-gray',
|
|
44
40
|
align,
|
|
45
41
|
className,
|
|
46
42
|
)}
|
|
47
|
-
extraProps={adjustedProps}
|
|
48
|
-
tag={tagName}
|
|
49
43
|
version={version}
|
|
50
44
|
{...rest}
|
|
51
45
|
>
|
|
52
|
-
<
|
|
46
|
+
<LinkWrapper className="p-6" href={href} target={target}>
|
|
53
47
|
{renderImage(icon)}
|
|
54
48
|
{renderCardTitle(headlineSmallVersion, title)}
|
|
55
49
|
{renderDescription(description, title)}
|
|
56
50
|
{renderItems(items, isDotted, version)}
|
|
57
51
|
{renderAdditionalDescription(additionalDescription)}
|
|
58
|
-
</
|
|
59
|
-
{renderButtonsSection([button], {
|
|
52
|
+
</LinkWrapper>
|
|
53
|
+
{renderButtonsSection([button], { className: 'p-6 pt-0', isVertical: true })}
|
|
60
54
|
</BlockWrapper>
|
|
61
55
|
);
|
|
62
56
|
},
|
|
@@ -72,7 +66,11 @@ const renderImage = (image?: Picture) => (
|
|
|
72
66
|
);
|
|
73
67
|
|
|
74
68
|
const renderCardTitle = (headlineSmallVersion: string, title?: string) =>
|
|
75
|
-
title ?
|
|
69
|
+
title ? (
|
|
70
|
+
<div>
|
|
71
|
+
<Text size={HEADLINE_SMALL_VERSION[headlineSmallVersion]}>{title}</Text>
|
|
72
|
+
</div>
|
|
73
|
+
) : null;
|
|
76
74
|
|
|
77
75
|
const renderDescription = (description?: string, title?: string) =>
|
|
78
76
|
description ? (
|
|
@@ -4,34 +4,29 @@ import type { UniBlockProps } from '../../model/JSXBlock';
|
|
|
4
4
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
5
5
|
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
6
6
|
import { Img } from '../../ui-kit/Img/Img';
|
|
7
|
+
import { LinkWrapper } from '../../ui-kit/LinkWrapper/LinkWrapper';
|
|
7
8
|
import { getIconWithVersion } from '../../utils/getIconWithVersion';
|
|
8
|
-
import type { CarouselProgramsCardContent } from './CarouselProgramsCardContent';
|
|
9
|
-
import { useLink } from '../../hooks/useLink';
|
|
10
9
|
import { style } from '../../utils/style';
|
|
10
|
+
import type { CarouselProgramsCardContent } from './CarouselProgramsCardContent';
|
|
11
11
|
|
|
12
12
|
export interface CarouselTariffsCardProps extends CarouselProgramsCardContent, UniBlockProps {}
|
|
13
13
|
|
|
14
14
|
export const CarouselProgramsCard = JSX<CarouselTariffsCardProps>(
|
|
15
15
|
({ className = '', title, icon, list = [], href, target, ...rest }) => {
|
|
16
|
-
const link = useLink();
|
|
17
|
-
const adjustedProps = link({ href, target });
|
|
18
|
-
const tagName = href ? 'a' : 'section';
|
|
19
|
-
|
|
20
16
|
return (
|
|
21
|
-
<BlockWrapper
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
</div>
|
|
17
|
+
<BlockWrapper className={style('border border-gray min-w-[536px]', className)} {...rest}>
|
|
18
|
+
<LinkWrapper className="flex" href={href} target={target}>
|
|
19
|
+
<div className="w-[200px] min-w-[200px] self-center">
|
|
20
|
+
{icon?.icon ? <Img image={getIconWithVersion(icon)} asSVG /> : null}
|
|
21
|
+
{icon?.src ? <Img image={icon} /> : null}
|
|
22
|
+
</div>
|
|
23
|
+
<div className="p-8 pl-3 w-full">
|
|
24
|
+
{title ? <Heading className=" mb-3.5" headingType="h5" title={title} /> : null}
|
|
25
|
+
{list.length ? (
|
|
26
|
+
<div className="flex flex-col gap-3">{list?.map(renderList)}</div>
|
|
27
|
+
) : null}
|
|
28
|
+
</div>
|
|
29
|
+
</LinkWrapper>
|
|
35
30
|
</BlockWrapper>
|
|
36
31
|
);
|
|
37
32
|
},
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
3
|
+
import type { Picture } from '../../model/Picture';
|
|
2
4
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
3
|
-
import { getIconWithVersion } from '../../utils/getIconWithVersion';
|
|
4
5
|
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
5
6
|
import { Img } from '../../ui-kit/Img/Img';
|
|
7
|
+
import { LinkWrapper } from '../../ui-kit/LinkWrapper/LinkWrapper';
|
|
6
8
|
import { List } from '../../ui-kit/List/List';
|
|
7
9
|
import { Paragraph } from '../../ui-kit/Paragraph/Paragraph';
|
|
8
|
-
import {
|
|
10
|
+
import { getIconWithVersion } from '../../utils/getIconWithVersion';
|
|
9
11
|
import { style } from '../../utils/style';
|
|
10
|
-
import {
|
|
12
|
+
import { SocialMedia } from '../Footer/SocialMedia';
|
|
11
13
|
import type { CarouselRecommendationCardContent } from './CarouselRecommendationCardContent';
|
|
12
|
-
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
13
|
-
import type { Picture } from '../../model/Picture';
|
|
14
14
|
|
|
15
15
|
const BORDER_STYLE =
|
|
16
16
|
'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider';
|
|
@@ -33,10 +33,6 @@ export const CarouselRecommendationCard = JSX<RecommendationCardProps>(
|
|
|
33
33
|
version = 'primary',
|
|
34
34
|
...rest
|
|
35
35
|
}) => {
|
|
36
|
-
const link = useLink();
|
|
37
|
-
const adjustedProps = link({ href, target });
|
|
38
|
-
const tagName = href ? 'a' : 'section';
|
|
39
|
-
|
|
40
36
|
return (
|
|
41
37
|
<BlockWrapper
|
|
42
38
|
className={style(
|
|
@@ -44,30 +40,34 @@ export const CarouselRecommendationCard = JSX<RecommendationCardProps>(
|
|
|
44
40
|
BORDER_STYLE,
|
|
45
41
|
className,
|
|
46
42
|
)}
|
|
47
|
-
extraProps={adjustedProps}
|
|
48
|
-
tag={tagName}
|
|
49
43
|
version={version}
|
|
50
44
|
{...rest}
|
|
51
45
|
>
|
|
52
|
-
<
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
<List className="text-xl-light flex flex-col gap-2 pb-16 mb-3" items={items} />
|
|
46
|
+
<LinkWrapper className="flex flex-col" href={href} target={target}>
|
|
47
|
+
<div className="self-center">
|
|
48
|
+
{title ? <Heading headingType="h3" as="h3" className="mb-8" title={title} /> : null}
|
|
49
|
+
</div>
|
|
50
|
+
<div className="mb-5">
|
|
51
|
+
{description ? (
|
|
52
|
+
<Paragraph
|
|
53
|
+
size="text-xl"
|
|
54
|
+
font="font-light"
|
|
55
|
+
color="group-data-gray:text-secondary-text"
|
|
56
|
+
>
|
|
57
|
+
{description}
|
|
58
|
+
</Paragraph>
|
|
66
59
|
) : null}
|
|
67
|
-
{socialMedia.length ? <SocialMedia className="pb-0" media={socialMedia} /> : null}
|
|
68
60
|
</div>
|
|
69
|
-
|
|
70
|
-
|
|
61
|
+
<div className="flex align-center w-full">
|
|
62
|
+
<div className="w-1/2 h-full flex flex-col flex-1 justify-end">
|
|
63
|
+
{items.length ? (
|
|
64
|
+
<List className="text-xl-light flex flex-col gap-2 pb-16 mb-3" items={items} />
|
|
65
|
+
) : null}
|
|
66
|
+
{socialMedia.length ? <SocialMedia className="pb-0" media={socialMedia} /> : null}
|
|
67
|
+
</div>
|
|
68
|
+
{renderIconBlock(icon, items)}
|
|
69
|
+
</div>
|
|
70
|
+
</LinkWrapper>
|
|
71
71
|
</BlockWrapper>
|
|
72
72
|
);
|
|
73
73
|
},
|
|
@@ -14,9 +14,9 @@ const COMMON_PROPS: StepsBlockProps = {
|
|
|
14
14
|
|
|
15
15
|
const STEPS: Step[] = [
|
|
16
16
|
{
|
|
17
|
-
type: '
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
type: 'rte',
|
|
18
|
+
__html:
|
|
19
|
+
'<p><strong>Рассчитайте условия</strong> на онлайн-калькуляторе и оставьте заявку на потребительский кредит</p>',
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
type: 'default',
|
|
@@ -5,7 +5,6 @@ import { Button } from '../../ui-kit/Button/Button';
|
|
|
5
5
|
import { List } from '../../ui-kit/List/List';
|
|
6
6
|
import { RichText } from '../../ui-kit/RichText/RichText';
|
|
7
7
|
import { Text } from '../../ui-kit/Text/Text';
|
|
8
|
-
import { assertUnreachable } from '../../utils/assertUnreachable';
|
|
9
8
|
import { style } from '../../utils/style';
|
|
10
9
|
import type { DefaultStep, Step } from './StepsBlockContent';
|
|
11
10
|
import type { StyleType } from './StepsBlockStyleMaps';
|
|
@@ -19,8 +18,6 @@ interface RenderStepProps {
|
|
|
19
18
|
// TODO: Create universal function for this case
|
|
20
19
|
export const renderStep =
|
|
21
20
|
(props: RenderStepProps) =>
|
|
22
|
-
// Linter doesn't understand that switch processes all cases
|
|
23
|
-
// eslint-disable-next-line consistent-return
|
|
24
21
|
(step: Step, i: number, arr: Step[]): VNode => {
|
|
25
22
|
const { type } = step;
|
|
26
23
|
|
|
@@ -32,9 +29,13 @@ export const renderStep =
|
|
|
32
29
|
case 'default':
|
|
33
30
|
return renderDefaultStep(props)(step, i, arr);
|
|
34
31
|
case 'rte':
|
|
35
|
-
return
|
|
32
|
+
return (
|
|
33
|
+
<div key={String(i)} className={style('text-center', getContainerWidth(arr.length))}>
|
|
34
|
+
<RichText __html={step.__html} />
|
|
35
|
+
</div>
|
|
36
|
+
);
|
|
36
37
|
default:
|
|
37
|
-
|
|
38
|
+
return null;
|
|
38
39
|
}
|
|
39
40
|
};
|
|
40
41
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { renderBlock } from '../../BlockRenderer/renderBlock';
|
|
2
3
|
import { renderChildren } from '../../BlockRenderer/renderChildren';
|
|
3
4
|
import type { AlignTypeWithStretch } from '../../model/AlignType';
|
|
4
5
|
import type { JSXBlock, UniBlockProps } from '../../model/JSXBlock';
|
|
@@ -25,7 +26,6 @@ export const VerticalLayout: JSXBlock<VerticalLayoutProps> = JSX<VerticalLayoutP
|
|
|
25
26
|
isInnerPadding = true,
|
|
26
27
|
version = 'transparent',
|
|
27
28
|
isTheme = false,
|
|
28
|
-
options,
|
|
29
29
|
...rest
|
|
30
30
|
}) => {
|
|
31
31
|
const innerPaddingStyle = isInnerPadding ? '' : '!p-0';
|
|
@@ -43,7 +43,11 @@ export const VerticalLayout: JSXBlock<VerticalLayoutProps> = JSX<VerticalLayoutP
|
|
|
43
43
|
isTheme={isTheme}
|
|
44
44
|
{...rest}
|
|
45
45
|
>
|
|
46
|
-
{renderChildren({
|
|
46
|
+
{renderChildren({
|
|
47
|
+
...rest,
|
|
48
|
+
renderProps: (block, options) =>
|
|
49
|
+
renderBlock(block, options, { className: innerPaddingStyle }),
|
|
50
|
+
})}
|
|
47
51
|
</BlockWrapper>
|
|
48
52
|
);
|
|
49
53
|
},
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useEffect, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
3
|
import { defaultEventBus } from '../EventBus/defaultEventBus';
|
|
4
|
-
import { useBlockIntersectionObserver } from '../services/BlockRouter/useBlockIntersectionObserver';
|
|
5
|
-
import { style } from '../utils/style';
|
|
6
4
|
import type { BlockVersion } from '../model/BlockVersion';
|
|
7
5
|
import type { UniBlockProps } from '../model/JSXBlock';
|
|
6
|
+
import { useBlockIntersectionObserver } from '../services/BlockRouter/useBlockIntersectionObserver';
|
|
7
|
+
import { style } from '../utils/style';
|
|
8
8
|
|
|
9
9
|
interface BlockWrapperProps extends UniBlockProps {
|
|
10
10
|
tag?: keyof HTMLElementTagNameMap;
|
|
11
11
|
role?: string;
|
|
12
|
-
extraProps?: Record<string, any>;
|
|
13
12
|
}
|
|
14
13
|
|
|
15
14
|
export const blockStyles: Record<BlockVersion, string> = {
|
|
@@ -24,11 +23,10 @@ export const BlockWrapper = JSX<BlockWrapperProps>(
|
|
|
24
23
|
({
|
|
25
24
|
className = '',
|
|
26
25
|
version = 'primary',
|
|
26
|
+
isTheme = true,
|
|
27
27
|
block,
|
|
28
28
|
tag = 'section',
|
|
29
29
|
role,
|
|
30
|
-
isTheme = true,
|
|
31
|
-
extraProps = {},
|
|
32
30
|
children,
|
|
33
31
|
}) => {
|
|
34
32
|
const Tag: any = tag;
|
|
@@ -57,7 +55,6 @@ export const BlockWrapper = JSX<BlockWrapperProps>(
|
|
|
57
55
|
{...(version && isTheme ? { 'data-ver': version } : {})}
|
|
58
56
|
{...(block?.anchor ? { id: block.anchor, ref } : {})}
|
|
59
57
|
role={role}
|
|
60
|
-
{...extraProps}
|
|
61
58
|
>
|
|
62
59
|
{children}
|
|
63
60
|
</Tag>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { useLink } from '../../hooks/useLink';
|
|
3
|
+
import type { Target } from '../../model/LinkProps';
|
|
4
|
+
|
|
5
|
+
interface LinkWrapperProps {
|
|
6
|
+
className?: string;
|
|
7
|
+
href?: string;
|
|
8
|
+
target?: Target;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const LinkWrapper = JSX<LinkWrapperProps>(({ className = '', href, target, children }) => {
|
|
12
|
+
const link = useLink();
|
|
13
|
+
const linkProps = link({ href, target });
|
|
14
|
+
const Tag = href ? 'a' : 'div';
|
|
15
|
+
|
|
16
|
+
return (
|
|
17
|
+
<Tag className={className} {...(href ? linkProps : {})}>
|
|
18
|
+
{children}
|
|
19
|
+
</Tag>
|
|
20
|
+
);
|
|
21
|
+
});
|