@redneckz/wildless-cms-uni-blocks 0.13.6 → 0.13.7
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.13.6.js +33 -0
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +75 -45
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/HorizontalLayout/HorizontalLayout.d.ts +2 -1
- package/bundle/components/HorizontalLayout/HorizontalLayoutContent.d.ts +2 -0
- package/bundle/components/MortgageFiltration/MortgageFiltrationContent.d.ts +13 -9
- package/bundle/ui-kit/Badge/Badge.d.ts +6 -0
- package/bundle/ui-kit/BaseFiltration/HotFilterBase.d.ts +7 -0
- package/bundle/ui-kit/BaseFiltration/getBadgeCount.d.ts +3 -0
- package/bundle/ui-kit/BaseFiltration/hotFilterRecordCmp.d.ts +1 -0
- package/bundle/ui-kit/BaseFiltration/useHotFilters.d.ts +14 -0
- package/bundle/ui-kit/TabsControl/TabItem.d.ts +5 -2
- package/dist/components/Blocks.mobile.js +6 -0
- package/dist/components/Blocks.mobile.js.map +1 -1
- package/dist/components/Bonus/Bonus.js +1 -2
- package/dist/components/Bonus/Bonus.js.map +1 -1
- package/dist/components/CarouselEventCard/CarouselEventCard.js +2 -3
- package/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/dist/components/ErrorBlock/ErrorBlock.js +2 -3
- package/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/dist/components/Footer/TextInformation.js +2 -1
- package/dist/components/Footer/TextInformation.js.map +1 -1
- package/dist/components/HorizontalLayout/HorizontalLayout.d.ts +2 -1
- package/dist/components/HorizontalLayout/HorizontalLayout.js +8 -1
- package/dist/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
- package/dist/components/HorizontalLayout/HorizontalLayoutContent.d.ts +2 -0
- package/dist/components/InvestmentInfo/InvestmentInfo.js +1 -1
- package/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/dist/components/MortgageFiltration/MortgageFiltration.js +10 -15
- package/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/dist/components/MortgageFiltration/MortgageFiltrationContent.d.ts +13 -9
- package/dist/ui-kit/Badge/Badge.d.ts +6 -0
- package/dist/ui-kit/Badge/Badge.js +18 -0
- package/dist/ui-kit/Badge/Badge.js.map +1 -0
- package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js +4 -5
- package/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
- package/dist/ui-kit/BaseFiltration/HotFilterBase.d.ts +7 -0
- package/dist/ui-kit/BaseFiltration/HotFilterBase.js +2 -0
- package/dist/ui-kit/BaseFiltration/HotFilterBase.js.map +1 -0
- package/dist/ui-kit/BaseFiltration/getBadgeCount.d.ts +3 -0
- package/dist/ui-kit/BaseFiltration/getBadgeCount.js +6 -0
- package/dist/ui-kit/BaseFiltration/getBadgeCount.js.map +1 -0
- package/dist/ui-kit/BaseFiltration/hotFilterRecordCmp.d.ts +1 -0
- package/{mobile/dist/components/MortgageFiltration/HotFilterRecord.js → dist/ui-kit/BaseFiltration/hotFilterRecordCmp.js} +1 -1
- package/dist/ui-kit/BaseFiltration/hotFilterRecordCmp.js.map +1 -0
- package/dist/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
- package/dist/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
- package/dist/ui-kit/BaseFiltration/useHotFilters.d.ts +14 -0
- package/dist/ui-kit/BaseFiltration/useHotFilters.js +26 -0
- package/dist/ui-kit/BaseFiltration/useHotFilters.js.map +1 -0
- package/dist/ui-kit/BaseTile/BaseTile.js +1 -5
- package/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/dist/ui-kit/TabsControl/TabItem.d.ts +5 -2
- package/dist/ui-kit/TabsControl/TabItem.js.map +1 -1
- package/dist/ui-kit/TabsControl/TabItemInner.js +2 -2
- package/dist/ui-kit/TabsControl/TabItemInner.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/Blocks.mobile.js +6 -0
- package/lib/components/Blocks.mobile.js.map +1 -1
- package/lib/components/Bonus/Bonus.js +1 -2
- package/lib/components/Bonus/Bonus.js.map +1 -1
- package/lib/components/CarouselEventCard/CarouselEventCard.js +2 -3
- package/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/lib/components/ErrorBlock/ErrorBlock.js +2 -3
- package/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/lib/components/Footer/TextInformation.js +2 -1
- package/lib/components/Footer/TextInformation.js.map +1 -1
- package/lib/components/HorizontalLayout/HorizontalLayout.d.ts +2 -1
- package/lib/components/HorizontalLayout/HorizontalLayout.fixture.d.ts +1 -0
- package/lib/components/HorizontalLayout/HorizontalLayout.js +8 -1
- package/lib/components/HorizontalLayout/HorizontalLayout.js.map +1 -1
- package/lib/components/HorizontalLayout/HorizontalLayoutContent.d.ts +2 -0
- package/lib/components/InvestmentInfo/InvestmentInfo.js +1 -1
- package/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/lib/components/MortgageFiltration/MortgageFiltration.js +11 -16
- package/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/lib/components/MortgageFiltration/MortgageFiltrationContent.d.ts +13 -9
- package/lib/ui-kit/Badge/Badge.d.ts +6 -0
- package/lib/ui-kit/Badge/Badge.fixture.d.ts +6 -0
- package/lib/ui-kit/Badge/Badge.js +16 -0
- package/lib/ui-kit/Badge/Badge.js.map +1 -0
- package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js +4 -5
- package/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
- package/lib/ui-kit/BaseFiltration/HotFilterBase.d.ts +7 -0
- package/lib/ui-kit/BaseFiltration/HotFilterBase.js +2 -0
- package/lib/ui-kit/BaseFiltration/HotFilterBase.js.map +1 -0
- package/lib/ui-kit/BaseFiltration/getBadgeCount.d.ts +3 -0
- package/lib/ui-kit/BaseFiltration/getBadgeCount.js +3 -0
- package/lib/ui-kit/BaseFiltration/getBadgeCount.js.map +1 -0
- package/lib/ui-kit/BaseFiltration/hotFilterRecordCmp.d.ts +1 -0
- package/lib/{components/MortgageFiltration/HotFilterRecord.js → ui-kit/BaseFiltration/hotFilterRecordCmp.js} +1 -1
- package/lib/ui-kit/BaseFiltration/hotFilterRecordCmp.js.map +1 -0
- package/lib/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
- package/lib/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
- package/lib/ui-kit/BaseFiltration/useHotFilters.d.ts +14 -0
- package/lib/ui-kit/BaseFiltration/useHotFilters.js +23 -0
- package/lib/ui-kit/BaseFiltration/useHotFilters.js.map +1 -0
- package/lib/ui-kit/BaseTile/BaseTile.js +1 -5
- package/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/lib/ui-kit/TabsControl/TabItem.d.ts +5 -2
- package/lib/ui-kit/TabsControl/TabItem.js.map +1 -1
- package/lib/ui-kit/TabsControl/TabItemInner.js +3 -3
- package/lib/ui-kit/TabsControl/TabItemInner.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +60 -25
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/HorizontalLayout/HorizontalLayoutContent.d.ts +2 -0
- package/mobile/bundle/components/MortgageFiltration/MortgageFiltrationContent.d.ts +13 -9
- package/mobile/bundle/ui-kit/Badge/Badge.d.ts +6 -0
- package/mobile/bundle/ui-kit/BaseFiltration/HotFilterBase.d.ts +7 -0
- package/mobile/bundle/ui-kit/BaseFiltration/getBadgeCount.d.ts +3 -0
- package/mobile/bundle/ui-kit/BaseFiltration/hotFilterRecordCmp.d.ts +1 -0
- package/mobile/bundle/ui-kit/BaseFiltration/useHotFilters.d.ts +14 -0
- package/mobile/bundle/ui-kit/TabsControl/TabItem.d.ts +5 -2
- package/mobile/dist/components/Blocks.js +6 -0
- package/mobile/dist/components/Blocks.js.map +1 -1
- package/mobile/dist/components/Bonus/Bonus.js +1 -2
- package/mobile/dist/components/Bonus/Bonus.js.map +1 -1
- package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js +2 -3
- package/mobile/dist/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/mobile/dist/components/ErrorBlock/ErrorBlock.js +2 -3
- package/mobile/dist/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/mobile/dist/components/Footer/TextInformation.js +2 -1
- package/mobile/dist/components/Footer/TextInformation.js.map +1 -1
- package/mobile/dist/components/HorizontalLayout/HorizontalLayoutContent.d.ts +2 -0
- package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js +1 -1
- package/mobile/dist/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js +10 -15
- package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/mobile/dist/components/MortgageFiltration/MortgageFiltrationContent.d.ts +13 -9
- package/mobile/dist/ui-kit/Badge/Badge.d.ts +6 -0
- package/mobile/dist/ui-kit/Badge/Badge.js +18 -0
- package/mobile/dist/ui-kit/Badge/Badge.js.map +1 -0
- package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js +4 -5
- package/mobile/dist/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/HotFilterBase.d.ts +7 -0
- package/mobile/dist/ui-kit/BaseFiltration/HotFilterBase.js +2 -0
- package/mobile/dist/ui-kit/BaseFiltration/HotFilterBase.js.map +1 -0
- package/mobile/dist/ui-kit/BaseFiltration/getBadgeCount.d.ts +3 -0
- package/mobile/dist/ui-kit/BaseFiltration/getBadgeCount.js +6 -0
- package/mobile/dist/ui-kit/BaseFiltration/getBadgeCount.js.map +1 -0
- package/mobile/dist/ui-kit/BaseFiltration/hotFilterRecordCmp.d.ts +1 -0
- package/{dist/components/MortgageFiltration/HotFilterRecord.js → mobile/dist/ui-kit/BaseFiltration/hotFilterRecordCmp.js} +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/hotFilterRecordCmp.js.map +1 -0
- package/mobile/dist/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/useHotFilters.d.ts +14 -0
- package/mobile/dist/ui-kit/BaseFiltration/useHotFilters.js +26 -0
- package/mobile/dist/ui-kit/BaseFiltration/useHotFilters.js.map +1 -0
- package/mobile/dist/ui-kit/BaseTile/BaseTile.js +1 -5
- package/mobile/dist/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/mobile/dist/ui-kit/TabsControl/TabItem.d.ts +5 -2
- package/mobile/dist/ui-kit/TabsControl/TabItem.js.map +1 -1
- package/mobile/dist/ui-kit/TabsControl/TabItemInner.js +2 -2
- package/mobile/dist/ui-kit/TabsControl/TabItemInner.js.map +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/Blocks.js +6 -0
- package/mobile/lib/components/Blocks.js.map +1 -1
- package/mobile/lib/components/Bonus/Bonus.js +1 -2
- package/mobile/lib/components/Bonus/Bonus.js.map +1 -1
- package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js +2 -3
- package/mobile/lib/components/CarouselEventCard/CarouselEventCard.js.map +1 -1
- package/mobile/lib/components/ErrorBlock/ErrorBlock.js +2 -3
- package/mobile/lib/components/ErrorBlock/ErrorBlock.js.map +1 -1
- package/mobile/lib/components/Footer/TextInformation.js +2 -1
- package/mobile/lib/components/Footer/TextInformation.js.map +1 -1
- package/mobile/lib/components/HorizontalLayout/HorizontalLayoutContent.d.ts +2 -0
- package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js +1 -1
- package/mobile/lib/components/InvestmentInfo/InvestmentInfo.js.map +1 -1
- package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js +11 -16
- package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/mobile/lib/components/MortgageFiltration/MortgageFiltrationContent.d.ts +13 -9
- package/mobile/lib/ui-kit/Badge/Badge.d.ts +6 -0
- package/mobile/lib/ui-kit/Badge/Badge.js +16 -0
- package/mobile/lib/ui-kit/Badge/Badge.js.map +1 -0
- package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js +4 -5
- package/mobile/lib/ui-kit/BaseFiltration/BaseFiltrationInner.js.map +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/HotFilterBase.d.ts +7 -0
- package/mobile/lib/ui-kit/BaseFiltration/HotFilterBase.js +2 -0
- package/mobile/lib/ui-kit/BaseFiltration/HotFilterBase.js.map +1 -0
- package/mobile/lib/ui-kit/BaseFiltration/getBadgeCount.d.ts +3 -0
- package/mobile/lib/ui-kit/BaseFiltration/getBadgeCount.js +3 -0
- package/mobile/lib/ui-kit/BaseFiltration/getBadgeCount.js.map +1 -0
- package/mobile/lib/ui-kit/BaseFiltration/hotFilterRecordCmp.d.ts +1 -0
- package/mobile/lib/{components/MortgageFiltration/HotFilterRecord.js → ui-kit/BaseFiltration/hotFilterRecordCmp.js} +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/hotFilterRecordCmp.js.map +1 -0
- package/mobile/lib/ui-kit/BaseFiltration/renderFiltrationForm.js +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/renderFiltrationForm.js.map +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/useHotFilters.d.ts +14 -0
- package/mobile/lib/ui-kit/BaseFiltration/useHotFilters.js +23 -0
- package/mobile/lib/ui-kit/BaseFiltration/useHotFilters.js.map +1 -0
- package/mobile/lib/ui-kit/BaseTile/BaseTile.js +1 -5
- package/mobile/lib/ui-kit/BaseTile/BaseTile.js.map +1 -1
- package/mobile/lib/ui-kit/TabsControl/TabItem.d.ts +5 -2
- package/mobile/lib/ui-kit/TabsControl/TabItem.js.map +1 -1
- package/mobile/lib/ui-kit/TabsControl/TabItemInner.js +3 -3
- package/mobile/lib/ui-kit/TabsControl/TabItemInner.js.map +1 -1
- package/mobile/src/components/Blocks.ts +6 -0
- package/mobile/src/components/Bonus/Bonus.tsx +7 -13
- package/mobile/src/components/CarouselEventCard/CarouselEventCard.tsx +10 -12
- package/mobile/src/components/ErrorBlock/ErrorBlock.tsx +2 -10
- package/mobile/src/components/Footer/TextInformation.tsx +3 -2
- package/mobile/src/components/HorizontalLayout/HorizontalLayoutContent.ts +2 -0
- package/mobile/src/components/InvestmentInfo/InvestmentInfo.tsx +1 -1
- package/mobile/src/components/MortgageFiltration/MortgageFiltration.tsx +17 -37
- package/mobile/src/components/MortgageFiltration/MortgageFiltrationContent.ts +13 -9
- package/mobile/src/ui-kit/Badge/Badge.tsx +34 -0
- package/mobile/src/ui-kit/BaseFiltration/BaseFiltrationInner.tsx +5 -20
- package/mobile/src/ui-kit/BaseFiltration/HotFilterBase.ts +7 -0
- package/mobile/src/ui-kit/BaseFiltration/getBadgeCount.ts +6 -0
- package/mobile/src/ui-kit/BaseFiltration/hotFilterRecordCmp.ts +3 -0
- package/mobile/src/ui-kit/BaseFiltration/renderFiltrationForm.tsx +1 -1
- package/mobile/src/ui-kit/BaseFiltration/useHotFilters.tsx +65 -0
- package/mobile/src/ui-kit/BaseTile/BaseTile.tsx +3 -12
- package/mobile/src/ui-kit/TabsControl/TabItem.tsx +5 -3
- package/mobile/src/ui-kit/TabsControl/TabItemInner.tsx +2 -1
- package/package.json +1 -1
- package/src/components/Blocks.mobile.ts +6 -0
- package/src/components/Bonus/Bonus.tsx +7 -13
- package/src/components/CarouselEventCard/CarouselEventCard.tsx +10 -12
- package/src/components/ErrorBlock/ErrorBlock.tsx +2 -10
- package/src/components/Footer/TextInformation.tsx +3 -2
- package/src/components/HorizontalLayout/HorizontalLayout.fixture.tsx +21 -0
- package/src/components/HorizontalLayout/HorizontalLayout.tsx +10 -2
- package/src/components/HorizontalLayout/HorizontalLayoutContent.ts +2 -0
- package/src/components/InvestmentInfo/InvestmentInfo.tsx +1 -1
- package/src/components/MortgageFiltration/MortgageFiltration.fixture.tsx +5 -2
- package/src/components/MortgageFiltration/MortgageFiltration.tsx +17 -37
- package/src/components/MortgageFiltration/MortgageFiltrationContent.ts +13 -9
- package/src/ui-kit/Badge/Badge.fixture.tsx +24 -0
- package/src/ui-kit/Badge/Badge.tsx +34 -0
- package/src/ui-kit/BaseFiltration/BaseFiltrationInner.tsx +5 -20
- package/src/ui-kit/BaseFiltration/HotFilterBase.ts +7 -0
- package/src/ui-kit/BaseFiltration/getBadgeCount.ts +6 -0
- package/src/ui-kit/BaseFiltration/hotFilterRecordCmp.ts +3 -0
- package/src/ui-kit/BaseFiltration/renderFiltrationForm.tsx +1 -1
- package/src/ui-kit/BaseFiltration/useHotFilters.tsx +65 -0
- package/src/ui-kit/BaseTile/BaseTile.tsx +3 -12
- package/src/ui-kit/TabsControl/TabItem.tsx +5 -3
- package/src/ui-kit/TabsControl/TabItemInner.tsx +2 -1
- package/bundle/components/MortgageFiltration/HotFilterRecord.d.ts +0 -11
- package/dist/components/MortgageFiltration/HotFilterRecord.d.ts +0 -11
- package/dist/components/MortgageFiltration/HotFilterRecord.js.map +0 -1
- package/lib/components/MortgageFiltration/HotFilterRecord.d.ts +0 -11
- package/lib/components/MortgageFiltration/HotFilterRecord.js.map +0 -1
- package/mobile/bundle/components/MortgageFiltration/HotFilterRecord.d.ts +0 -11
- package/mobile/dist/components/MortgageFiltration/HotFilterRecord.d.ts +0 -11
- package/mobile/dist/components/MortgageFiltration/HotFilterRecord.js.map +0 -1
- package/mobile/lib/components/MortgageFiltration/HotFilterRecord.d.ts +0 -11
- package/mobile/lib/components/MortgageFiltration/HotFilterRecord.js.map +0 -1
- package/mobile/src/components/MortgageFiltration/HotFilterRecord.ts +0 -14
- package/src/components/MortgageFiltration/HotFilterRecord.ts +0 -14
|
@@ -2,7 +2,7 @@ import type {
|
|
|
2
2
|
BaseFiltrationInnerContent,
|
|
3
3
|
StringArray,
|
|
4
4
|
} from '../../ui-kit/BaseFiltration/BaseFiltrationContent';
|
|
5
|
-
import type {
|
|
5
|
+
import type { HotFilterBase } from '../../ui-kit/BaseFiltration/HotFilterBase';
|
|
6
6
|
|
|
7
7
|
export type MortgageFiltrationSchema = {
|
|
8
8
|
/** @title Тип недвижимости */
|
|
@@ -15,14 +15,18 @@ export type MortgageFiltrationSchema = {
|
|
|
15
15
|
extraOptions?: StringArray;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
* @title Кнопка фильтрации
|
|
20
|
-
*/
|
|
21
|
-
export interface HotFilterButton {
|
|
22
|
-
/** @title Текст */
|
|
23
|
-
text?: string;
|
|
18
|
+
export interface MortgageFiltrationHotFilter extends HotFilterBase {
|
|
24
19
|
/** @title Применяемые фильтры */
|
|
25
|
-
filter?:
|
|
20
|
+
filter?: {
|
|
21
|
+
/** @title Тип недвижимости */
|
|
22
|
+
propertyType?: string[];
|
|
23
|
+
/** @title Этап строительства */
|
|
24
|
+
stage?: string[];
|
|
25
|
+
/** @title Категории */
|
|
26
|
+
categories?: string[];
|
|
27
|
+
/** @title Дополнительно */
|
|
28
|
+
extraOptions?: string[];
|
|
29
|
+
};
|
|
26
30
|
}
|
|
27
31
|
|
|
28
32
|
/**
|
|
@@ -32,5 +36,5 @@ export interface MortgageFiltrationContent extends BaseFiltrationInnerContent {
|
|
|
32
36
|
/** @title Параметры фильтрации */
|
|
33
37
|
filtrationSchema?: MortgageFiltrationSchema;
|
|
34
38
|
/** @title Горячие фильтры */
|
|
35
|
-
hotFilters?:
|
|
39
|
+
hotFilters?: MortgageFiltrationHotFilter[];
|
|
36
40
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { style } from '../../utils/style';
|
|
3
|
+
import { Text } from '../Text/Text';
|
|
4
|
+
import type { TextColor } from '../Text/TextProps';
|
|
5
|
+
|
|
6
|
+
interface BadgeProps {
|
|
7
|
+
count?: number;
|
|
8
|
+
version?: 'primary' | 'secondary';
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const badgeBgStyleMap: Record<string, string> = {
|
|
12
|
+
primary: 'bg-white/30',
|
|
13
|
+
secondary: 'bg-main-divider',
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
const badgeTextColorStyleMap: Record<string, TextColor> = {
|
|
17
|
+
primary: 'text-white',
|
|
18
|
+
secondary: 'text-secondary-text',
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const Badge = JSX<BadgeProps>(({ count, version = 'secondary' }) => {
|
|
22
|
+
return (
|
|
23
|
+
<div
|
|
24
|
+
className={style(
|
|
25
|
+
'w-6 h-6 rounded-full flex items-center justify-center',
|
|
26
|
+
badgeBgStyleMap[version],
|
|
27
|
+
)}
|
|
28
|
+
>
|
|
29
|
+
<Text size="text-xs" color={badgeTextColorStyleMap[version]}>
|
|
30
|
+
{count}
|
|
31
|
+
</Text>
|
|
32
|
+
</div>
|
|
33
|
+
);
|
|
34
|
+
});
|
|
@@ -8,8 +8,7 @@ import { checkShouldRenderBlock } from '../BaseFiltration/checkShouldRenderBlock
|
|
|
8
8
|
import { DefaultFoldButton } from '../Foldable/DefaultFoldButton';
|
|
9
9
|
import { Foldable } from '../Foldable/Foldable';
|
|
10
10
|
import { FoldableSection } from '../Foldable/FoldableSection';
|
|
11
|
-
import {
|
|
12
|
-
import { Text } from '../Text/Text';
|
|
11
|
+
import { Headline } from '../../components/Headline/Headline';
|
|
13
12
|
|
|
14
13
|
const ICONS: IconName[] = ['ArrowDownIcon', 'ArrowUpIcon'];
|
|
15
14
|
|
|
@@ -34,17 +33,14 @@ export const BaseFiltrationInner = JSX<BaseFiltrationInnerProps>(
|
|
|
34
33
|
<div className={style(blocksToRender.length ? 'hidden' : 'block')}>
|
|
35
34
|
{notFound ? renderNotFound(notFound) : null}
|
|
36
35
|
</div>
|
|
37
|
-
<div className={style(blocksToRender.length ? '' : 'hidden')}>
|
|
38
|
-
<div className={style(
|
|
36
|
+
<div className={style('space-y-2xs', blocksToRender.length ? '' : 'hidden')}>
|
|
37
|
+
<div className={style(resultsGridStyle)}>
|
|
39
38
|
{renderBlocksList(visibleBlocks, { ...rest.options, parent: block })}
|
|
40
39
|
</div>
|
|
41
40
|
<Foldable
|
|
42
41
|
renderFoldableSection={({ isUnfolded }) => {
|
|
43
42
|
return (
|
|
44
|
-
<FoldableSection
|
|
45
|
-
className={style(resultsGridStyle, isUnfolded ? 'mb-2xs' : '')}
|
|
46
|
-
isUnfolded={isUnfolded}
|
|
47
|
-
>
|
|
43
|
+
<FoldableSection className={style(resultsGridStyle)} isUnfolded={isUnfolded}>
|
|
48
44
|
{renderBlocksList(hiddenBlocks, { ...rest.options, parent: block })}
|
|
49
45
|
</FoldableSection>
|
|
50
46
|
);
|
|
@@ -69,18 +65,7 @@ export const BaseFiltrationInner = JSX<BaseFiltrationInnerProps>(
|
|
|
69
65
|
function renderNotFound({ title, description }: NotFound) {
|
|
70
66
|
return (
|
|
71
67
|
<div className="bg-white py-20">
|
|
72
|
-
{title
|
|
73
|
-
<div className="mb-xs">
|
|
74
|
-
<Paragraph align="text-center">
|
|
75
|
-
<Text size="text-h4">{title}</Text>
|
|
76
|
-
</Paragraph>
|
|
77
|
-
</div>
|
|
78
|
-
) : null}
|
|
79
|
-
{description ? (
|
|
80
|
-
<Paragraph size="text-xl" font="font-light" align="text-center">
|
|
81
|
-
{description}
|
|
82
|
-
</Paragraph>
|
|
83
|
-
) : null}
|
|
68
|
+
<Headline title={title} description={description} headlineVersion="S" isEmbedded={true} />
|
|
84
69
|
</div>
|
|
85
70
|
);
|
|
86
71
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { BlockDef } from '../../model/ContentPageDef';
|
|
2
|
+
import { checkShouldRenderBlock } from '../../ui-kit/BaseFiltration/checkShouldRenderBlock';
|
|
3
|
+
import type { BaseFilter } from './useHotFilters';
|
|
4
|
+
|
|
5
|
+
export const getBadgeCount = (blocks: BlockDef[] = [], filter: BaseFilter = {}) =>
|
|
6
|
+
blocks.filter(({ content = {} }) => checkShouldRenderBlock(filter, content)).length;
|
|
@@ -29,7 +29,7 @@ export const renderFiltrationForm = ({
|
|
|
29
29
|
resetButton,
|
|
30
30
|
children,
|
|
31
31
|
}: RenderFiltrationFormProps) => (
|
|
32
|
-
<form className="flex justify-between bg-white p-4xl
|
|
32
|
+
<form className="flex justify-between bg-white p-4xl">
|
|
33
33
|
<div className="flex gap-5xl">
|
|
34
34
|
{children}
|
|
35
35
|
{Object.entries(filtrationSchema).map(renderFormItem(field))}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { useCallback, useMemo } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
|
+
import type { BlockDef } from '../../model/ContentPageDef';
|
|
3
|
+
import { Badge } from '../Badge/Badge';
|
|
4
|
+
import type { TabItemBase } from '../TabsControl/TabItem';
|
|
5
|
+
import type { TabsControlProps } from '../TabsControl/TabsControlProps';
|
|
6
|
+
import { getBadgeCount } from './getBadgeCount';
|
|
7
|
+
import { HotFilterBase } from './HotFilterBase';
|
|
8
|
+
import { hotFilterRecordCmp } from './hotFilterRecordCmp';
|
|
9
|
+
|
|
10
|
+
const EMPTY_ARR = [];
|
|
11
|
+
const EMPTY_OBJ = {};
|
|
12
|
+
|
|
13
|
+
export type BaseFilter = HotFilterBase & {
|
|
14
|
+
filter?: Record<string, string[]>;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
interface UseHotFiltersParams {
|
|
18
|
+
hotFilters?: BaseFilter[];
|
|
19
|
+
filtrationState?: Record<string, string[]>;
|
|
20
|
+
blocks?: BlockDef[];
|
|
21
|
+
onFiltrationStateChange: (_?: Record<string, string[]>) => void;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export const useHotFilters = ({
|
|
25
|
+
hotFilters = EMPTY_ARR,
|
|
26
|
+
filtrationState = EMPTY_OBJ,
|
|
27
|
+
blocks = EMPTY_ARR,
|
|
28
|
+
onFiltrationStateChange,
|
|
29
|
+
}: UseHotFiltersParams): TabsControlProps => {
|
|
30
|
+
const activeItemIndex = useMemo(
|
|
31
|
+
() =>
|
|
32
|
+
Math.max(
|
|
33
|
+
0,
|
|
34
|
+
hotFilters.findIndex((_) => hotFilterRecordCmp(_.filter, filtrationState)),
|
|
35
|
+
),
|
|
36
|
+
[hotFilters, filtrationState],
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
const items: TabItemBase[] = useMemo(
|
|
40
|
+
() =>
|
|
41
|
+
hotFilters.map((_) => ({
|
|
42
|
+
text: _.text,
|
|
43
|
+
appendRight: (
|
|
44
|
+
<Badge
|
|
45
|
+
version={_ === hotFilters[activeItemIndex] ? 'primary' : 'secondary'}
|
|
46
|
+
count={getBadgeCount(blocks, _.filter)}
|
|
47
|
+
/>
|
|
48
|
+
),
|
|
49
|
+
})),
|
|
50
|
+
[hotFilters, blocks, activeItemIndex],
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
const handleChange = useCallback(
|
|
54
|
+
(_: TabItemBase) => {
|
|
55
|
+
onFiltrationStateChange(hotFilters[items.indexOf(_)].filter);
|
|
56
|
+
},
|
|
57
|
+
[hotFilters, items],
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
value: items[activeItemIndex],
|
|
62
|
+
items: items,
|
|
63
|
+
onChange: handleChange,
|
|
64
|
+
};
|
|
65
|
+
};
|
|
@@ -66,20 +66,11 @@ export const BaseTile = JSX<BaseTileProps>(
|
|
|
66
66
|
const renderImageContainer = (
|
|
67
67
|
image: VNode | undefined,
|
|
68
68
|
{ className, imageAlign }: { className?: string; imageAlign?: Align },
|
|
69
|
-
) =>
|
|
70
|
-
|
|
71
|
-
const fullWidth = image?.props?.image?.size?.width > 400;
|
|
72
|
-
|
|
73
|
-
return image ? (
|
|
69
|
+
) =>
|
|
70
|
+
image ? (
|
|
74
71
|
<div
|
|
75
|
-
className={style(
|
|
76
|
-
'flex-shrink-0',
|
|
77
|
-
fullWidth ? 'w-full @xl:w-auto' : '',
|
|
78
|
-
imageAlign && imageAlignmentMap[imageAlign],
|
|
79
|
-
className,
|
|
80
|
-
)}
|
|
72
|
+
className={style('md:flex-shrink-0', imageAlign && imageAlignmentMap[imageAlign], className)}
|
|
81
73
|
>
|
|
82
74
|
{image}
|
|
83
75
|
</div>
|
|
84
76
|
) : null;
|
|
85
|
-
};
|
|
@@ -2,18 +2,20 @@ import { JSX } from '@redneckz/uni-jsx';
|
|
|
2
2
|
import { useCallback } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
3
|
import { useLink } from '../../hooks/useLink';
|
|
4
4
|
import type { LinkProps } from '../../model/LinkProps';
|
|
5
|
+
import type { VNode } from '../../model/VNode';
|
|
5
6
|
import { TabItemInner } from './TabItemInner';
|
|
6
7
|
import type { TabsControlProps } from './TabsControlProps';
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
export interface TabItemBase extends LinkProps {
|
|
9
|
+
appendRight?: VNode;
|
|
10
|
+
}
|
|
9
11
|
|
|
10
12
|
export type TabType = 'default' | 'underlined' | 'rounded';
|
|
11
13
|
|
|
12
14
|
export interface TabItemProps {
|
|
13
15
|
item?: TabItemBase;
|
|
14
16
|
isActive?: boolean;
|
|
15
|
-
onClick?: TabsControlProps['onChange'];
|
|
16
17
|
type?: TabType;
|
|
18
|
+
onClick?: TabsControlProps['onChange'];
|
|
17
19
|
}
|
|
18
20
|
|
|
19
21
|
export const TabItem = JSX<TabItemProps>((props) =>
|
|
@@ -37,7 +37,7 @@ export const TabItemInner = JSX<TabItemInnerProps>(
|
|
|
37
37
|
({ tag = 'div', item = {}, isActive, type = 'default', onClick }) => {
|
|
38
38
|
const Tag: any = tag;
|
|
39
39
|
|
|
40
|
-
const { text, ...link } = item;
|
|
40
|
+
const { text, appendRight, ...link } = item;
|
|
41
41
|
|
|
42
42
|
return (
|
|
43
43
|
<Tag
|
|
@@ -62,6 +62,7 @@ export const TabItemInner = JSX<TabItemInnerProps>(
|
|
|
62
62
|
)}
|
|
63
63
|
>
|
|
64
64
|
<Text size="text-m">{text}</Text>
|
|
65
|
+
{appendRight ? <div className="ml-xs">{appendRight}</div> : null}
|
|
65
66
|
</div>
|
|
66
67
|
</Tag>
|
|
67
68
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { BlocksRegistry } from '../model/BlocksRegistry';
|
|
2
2
|
import { ApplicationForm } from './ApplicationForm/ApplicationForm';
|
|
3
3
|
import { BenefitsBlock } from './BenefitsBlock/BenefitsBlock';
|
|
4
|
+
import { Bonus } from './Bonus/Bonus';
|
|
4
5
|
import { BonusBenefitsBlock } from './BonusBenefitsBlock/BonusBenefitsBlock';
|
|
5
6
|
import { ButtonsBlock } from './ButtonsBlock/ButtonsBlock';
|
|
6
7
|
import { Calculator } from './Calculator/Calculator';
|
|
@@ -9,6 +10,7 @@ import { Carousel } from './Carousel/Carousel';
|
|
|
9
10
|
import { CarouselBankHistoryCard } from './CarouselBankHistoryCard/CarouselBankHistoryCard';
|
|
10
11
|
import { CarouselCard } from './CarouselCard/CarouselCard';
|
|
11
12
|
import { CarouselCatalogCard } from './CarouselCatalogCard/CarouselCatalogCard';
|
|
13
|
+
import { CarouselLinks } from './CarouselLinks/CarouselLinks';
|
|
12
14
|
import { CarouselProductCard } from './CarouselProductCard/CarouselProductCard';
|
|
13
15
|
import { CarouselProgramsCard } from './CarouselProgramsCard/CarouselProgramsCard';
|
|
14
16
|
import { CarouselRecommendationCard } from './CarouselRecommendationCard/CarouselRecommendationCard';
|
|
@@ -27,6 +29,7 @@ import { Placeholder } from './Placeholder/Placeholder';
|
|
|
27
29
|
import { ProductBlock } from './ProductBlock/ProductBlock';
|
|
28
30
|
import { ProductGallery } from './ProductGallery/ProductGallery';
|
|
29
31
|
import { ProductTile } from './ProductTile/ProductTile';
|
|
32
|
+
import { RepresentativeOfficeInfo } from './RepresentativeOfficeInfo/RepresentativeOfficeInfo';
|
|
30
33
|
import { RichTextBlock } from './RichTextBlock/RichTextBlock';
|
|
31
34
|
import { RollupItem } from './RollupItem/RollupItem';
|
|
32
35
|
import { SafeDepositRental } from './SafeDepositRental/SafeDepositRental';
|
|
@@ -40,6 +43,7 @@ import { VerticalLayout } from './VerticalLayout/VerticalLayout';
|
|
|
40
43
|
export const Blocks: BlocksRegistry = {
|
|
41
44
|
ApplicationForm,
|
|
42
45
|
BenefitsBlock,
|
|
46
|
+
Bonus,
|
|
43
47
|
BonusBenefitsBlock,
|
|
44
48
|
ButtonsBlock,
|
|
45
49
|
Calculator,
|
|
@@ -48,6 +52,7 @@ export const Blocks: BlocksRegistry = {
|
|
|
48
52
|
CarouselBankHistoryCard,
|
|
49
53
|
CarouselCard,
|
|
50
54
|
CarouselCatalogCard,
|
|
55
|
+
CarouselLinks,
|
|
51
56
|
CarouselProductCard,
|
|
52
57
|
CarouselProgramsCard,
|
|
53
58
|
CarouselRecommendationCard,
|
|
@@ -66,6 +71,7 @@ export const Blocks: BlocksRegistry = {
|
|
|
66
71
|
ProductBlock,
|
|
67
72
|
ProductGallery,
|
|
68
73
|
ProductTile,
|
|
74
|
+
RepresentativeOfficeInfo,
|
|
69
75
|
RichTextBlock,
|
|
70
76
|
RollupItem,
|
|
71
77
|
SafeDepositRental,
|
|
@@ -4,7 +4,6 @@ import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
|
4
4
|
import { renderButtonsSection } from '../../ui-kit/Button/renderButtonsSection';
|
|
5
5
|
import { Img } from '../../ui-kit/Img/Img';
|
|
6
6
|
import { Text } from '../../ui-kit/Text/Text';
|
|
7
|
-
import { Paragraph } from '../../ui-kit/Paragraph/Paragraph';
|
|
8
7
|
import { Headline } from '../Headline/Headline';
|
|
9
8
|
import type { BonusContent, BonusCountDef, BonusImageDef } from './BonusContent';
|
|
10
9
|
|
|
@@ -29,18 +28,13 @@ export const Bonus = JSX<BonusProps>(
|
|
|
29
28
|
className="space-y-xs flex flex-col grow w-full sm:w-[49%] border border-gray p-m"
|
|
30
29
|
>
|
|
31
30
|
<div className="grow">
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<Paragraph size="text-xl" font="font-light">
|
|
40
|
-
{_.description}
|
|
41
|
-
</Paragraph>
|
|
42
|
-
</div>
|
|
43
|
-
) : null}
|
|
31
|
+
<Headline
|
|
32
|
+
title={_?.title}
|
|
33
|
+
description={_?.description}
|
|
34
|
+
headlineVersion="S"
|
|
35
|
+
isEmbedded={true}
|
|
36
|
+
align="text-left"
|
|
37
|
+
/>
|
|
44
38
|
</div>
|
|
45
39
|
<div className="flex justify-center sm:justify-between sm:items-end">
|
|
46
40
|
<div className="hidden sm:block">{renderButtonsSection(_?.buttons)}</div>
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
3
3
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
4
|
-
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
5
4
|
import { Img } from '../../ui-kit/Img/Img';
|
|
6
5
|
import { LinkWrapper } from '../../ui-kit/LinkWrapper/LinkWrapper';
|
|
7
|
-
import { Text } from '../../ui-kit/Text/Text';
|
|
8
6
|
import type { CarouselEventCardContent } from './CarouselEventCardContent';
|
|
7
|
+
import { Headline } from '../Headline/Headline';
|
|
9
8
|
|
|
10
9
|
export interface CarouselEventCardProps extends CarouselEventCardContent, UniBlockProps {}
|
|
11
10
|
|
|
@@ -16,16 +15,15 @@ export const CarouselEventCard = JSX<CarouselEventCardProps>(
|
|
|
16
15
|
<LinkWrapper className="flex flex-col" href={href} target={target}>
|
|
17
16
|
{icon?.icon ? <Img image={icon} /> : null}
|
|
18
17
|
{icon?.src ? <Img image={icon} /> : null}
|
|
19
|
-
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
) : null}
|
|
18
|
+
<div className="p-s">
|
|
19
|
+
<Headline
|
|
20
|
+
title={title}
|
|
21
|
+
description={description}
|
|
22
|
+
headlineVersion="XS"
|
|
23
|
+
isEmbedded={true}
|
|
24
|
+
align="text-left"
|
|
25
|
+
/>
|
|
26
|
+
</div>
|
|
29
27
|
</LinkWrapper>
|
|
30
28
|
</BlockWrapper>
|
|
31
29
|
);
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
3
|
-
import { Text } from '../../ui-kit/Text/Text';
|
|
4
3
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
5
4
|
import { Button } from '../../ui-kit/Button/Button';
|
|
6
|
-
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
7
5
|
import { Img } from '../../ui-kit/Img/Img';
|
|
8
6
|
import { style } from '../../utils/style';
|
|
9
7
|
import type { ErrorBlockContent } from './ErrorBlockContent';
|
|
8
|
+
import { Headline } from '../Headline/Headline';
|
|
10
9
|
|
|
11
10
|
export interface ErrorBlockProps extends ErrorBlockContent, UniBlockProps {}
|
|
12
11
|
|
|
@@ -33,14 +32,7 @@ export const ErrorBlock = JSX<ErrorBlockProps>(
|
|
|
33
32
|
{...rest}
|
|
34
33
|
>
|
|
35
34
|
<div className="flex justify-center py-20">{renderErrorContent(error)}</div>
|
|
36
|
-
{title
|
|
37
|
-
{subtitle ? (
|
|
38
|
-
<div className="max-w-[613px] text-center">
|
|
39
|
-
<Text size="text-xl" font="font-light">
|
|
40
|
-
{subtitle}
|
|
41
|
-
</Text>
|
|
42
|
-
</div>
|
|
43
|
-
) : null}
|
|
35
|
+
<Headline title={title} description={subtitle} headlineVersion="XL" isEmbedded={true} />
|
|
44
36
|
{button?.text ? (
|
|
45
37
|
<Button className="py-4 px-9" version={button?.version} {...button}>
|
|
46
38
|
{button.text}
|
|
@@ -2,16 +2,17 @@ import { JSX } from '@redneckz/uni-jsx';
|
|
|
2
2
|
import { Text } from '../../ui-kit/Text/Text';
|
|
3
3
|
import type { FooterLink } from './FooterLink';
|
|
4
4
|
import { TextInformationLink } from './TextInformationLink';
|
|
5
|
+
import { style } from '../../utils/style';
|
|
5
6
|
|
|
6
7
|
export const TextInformation = JSX<FooterLink>(({ className = '', links }) => (
|
|
7
|
-
<div className={className}>
|
|
8
|
+
<div className={style('@container', className)}>
|
|
8
9
|
<div className="pt-lg">
|
|
9
10
|
<Text size="text-xs" font="font-light" color="text-secondary-text">
|
|
10
11
|
{`\u00a9\u00A02000-${new Date().getFullYear()}\u00A0АО \u00ABРоссельхозбанк\u00BB Генеральная лицензия Банка России \u2116\u00A03349 от\u00A012.08.2015\u00A0г.`}
|
|
11
12
|
</Text>
|
|
12
13
|
</div>
|
|
13
14
|
{links?.length ? (
|
|
14
|
-
<div className="flex flex-col
|
|
15
|
+
<div className="flex flex-col @lg:flex-row justify-start items-start gap-x-lg gap-y-xs pt-lg">
|
|
15
16
|
{links.map((_, i) => (
|
|
16
17
|
<TextInformationLink key={String(i)} index={i} {..._} />
|
|
17
18
|
))}
|
|
@@ -82,4 +82,25 @@ export default {
|
|
|
82
82
|
/>
|
|
83
83
|
</div>
|
|
84
84
|
),
|
|
85
|
+
'with card border': (
|
|
86
|
+
<div className="container grid grid-cols-12">
|
|
87
|
+
<HorizontalLayout
|
|
88
|
+
className="col-span-12"
|
|
89
|
+
isCardBorder={true}
|
|
90
|
+
block={{
|
|
91
|
+
type: 'HorizontalLayout',
|
|
92
|
+
blocks: [
|
|
93
|
+
{ type: 'ProductTile', content: PRODUCT_TILE, style: ['col-span-6'] },
|
|
94
|
+
{ type: 'ProductTile', content: PRODUCT_TILE, style: ['col-span-6'] },
|
|
95
|
+
{ type: 'ProductTile', content: PRODUCT_TILE, style: ['col-span-6'] },
|
|
96
|
+
{ type: 'ProductTile', content: PRODUCT_TILE, style: ['col-span-6'] },
|
|
97
|
+
{ type: 'ProductTile', content: PRODUCT_TILE, style: ['col-span-6'] },
|
|
98
|
+
{ type: 'ProductTile', content: PRODUCT_TILE, style: ['col-span-6'] },
|
|
99
|
+
],
|
|
100
|
+
}}
|
|
101
|
+
options={options}
|
|
102
|
+
version="primary"
|
|
103
|
+
/>
|
|
104
|
+
</div>
|
|
105
|
+
),
|
|
85
106
|
};
|
|
@@ -6,7 +6,7 @@ import { style } from '../../utils/style';
|
|
|
6
6
|
import { gapStyles } from './gapStyles';
|
|
7
7
|
import type { HorizontalLayoutContent } from './HorizontalLayoutContent';
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
interface HorizontalLayoutProps extends HorizontalLayoutContent, UniBlockProps {}
|
|
10
10
|
|
|
11
11
|
export const HorizontalLayout: JSXBlock<HorizontalLayoutProps> = JSX<HorizontalLayoutProps>(
|
|
12
12
|
({
|
|
@@ -15,6 +15,7 @@ export const HorizontalLayout: JSXBlock<HorizontalLayoutProps> = JSX<HorizontalL
|
|
|
15
15
|
isPadding = false,
|
|
16
16
|
version = 'transparent',
|
|
17
17
|
isTheme = false,
|
|
18
|
+
isCardBorder,
|
|
18
19
|
...rest
|
|
19
20
|
}) => (
|
|
20
21
|
<BlockWrapper
|
|
@@ -24,7 +25,14 @@ export const HorizontalLayout: JSXBlock<HorizontalLayoutProps> = JSX<HorizontalL
|
|
|
24
25
|
isTheme={isTheme}
|
|
25
26
|
{...rest}
|
|
26
27
|
>
|
|
27
|
-
{renderChildren(
|
|
28
|
+
{renderChildren({
|
|
29
|
+
...rest,
|
|
30
|
+
extraProps: {
|
|
31
|
+
className: isCardBorder
|
|
32
|
+
? 'border border-solid border-gray group-data-secondary:border-white/50 group-data-gray:border-main-divider'
|
|
33
|
+
: '',
|
|
34
|
+
},
|
|
35
|
+
})}
|
|
28
36
|
</BlockWrapper>
|
|
29
37
|
),
|
|
30
38
|
);
|
|
@@ -13,6 +13,8 @@ export type GapVersion = 'XXL' | 'XL' | 'L' | 'M' | 'S' | 'XS' | '';
|
|
|
13
13
|
export type HorizontalLayoutContent = UniBlockContent & {
|
|
14
14
|
colorPalette?: ColorPalette;
|
|
15
15
|
gap?: GapVersion;
|
|
16
|
+
/** @title контур на дочерних элементах */
|
|
17
|
+
isCardBorder?: boolean;
|
|
16
18
|
/** @title Внутренний отступ компоновщика */
|
|
17
19
|
isPadding?: boolean;
|
|
18
20
|
};
|
|
@@ -83,7 +83,7 @@ const renderInvestmentColumn = (
|
|
|
83
83
|
{column.cells?.length ? (
|
|
84
84
|
<div
|
|
85
85
|
className={`w-full ${
|
|
86
|
-
isLastColumn ? 'border-4 border-green-more-dark p-2xs min-w-
|
|
86
|
+
isLastColumn ? 'border-4 border-green-more-dark p-2xs min-w-72' : ''
|
|
87
87
|
}`}
|
|
88
88
|
>
|
|
89
89
|
{column.cells.reverse().map(renderInvestmentCell)}
|
|
@@ -4,7 +4,10 @@ import type { BlockRendererOptions } from '../../BlockRenderer/BlockRendererOpti
|
|
|
4
4
|
import { Blocks } from '../Blocks';
|
|
5
5
|
import { PRODUCT_TILE } from '../ProductTile/ProductTile.fixture';
|
|
6
6
|
import { MortgageFiltration } from './MortgageFiltration';
|
|
7
|
-
import type {
|
|
7
|
+
import type {
|
|
8
|
+
MortgageFiltrationContent,
|
|
9
|
+
MortgageFiltrationHotFilter,
|
|
10
|
+
} from './MortgageFiltrationContent';
|
|
8
11
|
|
|
9
12
|
const PROPERTY_APARTMENT = {
|
|
10
13
|
propertyType: ['apartment'],
|
|
@@ -101,7 +104,7 @@ const SCHEMA: MortgageFiltrationContent['filtrationSchema'] = {
|
|
|
101
104
|
},
|
|
102
105
|
};
|
|
103
106
|
|
|
104
|
-
const HOT_FILTERS:
|
|
107
|
+
const HOT_FILTERS: MortgageFiltrationHotFilter[] = [
|
|
105
108
|
{ text: 'Все программы' },
|
|
106
109
|
{
|
|
107
110
|
text: 'Льготные программы',
|