@redneckz/wildless-cms-uni-blocks 0.6.49 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +71 -19
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/CarouselTariffsCard/CarouselTariffsCard.d.ts +1 -1
- package/bundle/components/CarouselTariffsCard/CarouselTariffsCardContent.d.ts +1 -1
- package/bundle/components/LinkDocs/LinkDocsContent.d.ts +4 -0
- package/bundle/components/SwipeListControlBlock/SwipeListControlBlock.d.ts +6 -0
- package/bundle/components/SwipeListControlBlock/SwipeListControlBlockContent.d.ts +5 -0
- package/bundle/icons/IconName.d.ts +4 -2
- package/bundle/ui-kit/SwipeListControl/SwipeListContainer.d.ts +2 -1
- package/bundle/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +2 -0
- package/bundle/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +7 -0
- package/bundle/utils/style.d.ts +1 -0
- package/cosmos-static/icons/ArrowRightIcon.svg +1 -1
- package/cosmos-static/icons/ArrowTopRightIcon.svg +1 -0
- package/dist/components/Blocks.js +2 -0
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/CarouselCard/CarouselCard.js +2 -2
- package/dist/components/CarouselCard/CarouselCard.js.map +1 -1
- package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -1
- package/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/dist/components/CarouselTariffsCard/CarouselTariffsCard.d.ts +1 -1
- package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +12 -9
- package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/dist/components/CarouselTariffsCard/CarouselTariffsCardContent.d.ts +1 -1
- package/dist/components/LinkDocs/LinkDocsContent.d.ts +4 -0
- package/dist/components/SwipeListControlBlock/SwipeListControlBlock.d.ts +6 -0
- package/dist/components/SwipeListControlBlock/SwipeListControlBlock.js +14 -0
- package/dist/components/SwipeListControlBlock/SwipeListControlBlock.js.map +1 -0
- package/dist/components/SwipeListControlBlock/SwipeListControlBlockContent.d.ts +5 -0
- package/dist/components/SwipeListControlBlock/SwipeListControlBlockContent.js +2 -0
- package/dist/components/SwipeListControlBlock/SwipeListControlBlockContent.js.map +1 -0
- package/dist/icons/IconName.d.ts +4 -2
- package/dist/icons/IconName.js +2 -0
- package/dist/icons/IconName.js.map +1 -1
- package/dist/ui-kit/BlockWrapper.js +1 -1
- package/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.d.ts +2 -1
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.js +8 -5
- package/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListControl.js +3 -2
- package/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +2 -0
- package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +12 -3
- package/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
- package/dist/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +7 -0
- package/dist/utils/style.d.ts +1 -0
- package/dist/utils/style.js +5 -0
- package/dist/utils/style.js.map +1 -0
- package/lib/common.css +1 -1
- package/lib/components/Blocks.js +2 -0
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/CarouselCard/CarouselCard.js +2 -2
- package/lib/components/CarouselCard/CarouselCard.js.map +1 -1
- package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -1
- package/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/lib/components/CarouselTariffsCard/CarouselTariffsCard.d.ts +1 -1
- package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +12 -9
- package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/lib/components/CarouselTariffsCard/CarouselTariffsCardContent.d.ts +1 -1
- package/lib/components/LinkDocs/LinkDocsContent.d.ts +4 -0
- package/lib/components/SwipeListControlBlock/SwipeListControlBlock.d.ts +6 -0
- package/lib/components/SwipeListControlBlock/SwipeListControlBlock.fixture.d.ts +5 -0
- package/lib/components/SwipeListControlBlock/SwipeListControlBlock.js +12 -0
- package/lib/components/SwipeListControlBlock/SwipeListControlBlock.js.map +1 -0
- package/lib/components/SwipeListControlBlock/SwipeListControlBlockContent.d.ts +5 -0
- package/lib/components/SwipeListControlBlock/SwipeListControlBlockContent.js +2 -0
- package/lib/components/SwipeListControlBlock/SwipeListControlBlockContent.js.map +1 -0
- package/lib/icons/IconName.d.ts +4 -2
- package/lib/icons/IconName.js +2 -0
- package/lib/icons/IconName.js.map +1 -1
- package/lib/ui-kit/BlockWrapper.js +1 -1
- package/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.d.ts +2 -1
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.js +8 -5
- package/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListControl.fixture.mobile.d.ts +1 -0
- package/lib/ui-kit/SwipeListControl/SwipeListControl.js +3 -2
- package/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +2 -0
- package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +12 -3
- package/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
- package/lib/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +7 -0
- package/lib/utils/style.d.ts +1 -0
- package/lib/utils/style.js +2 -0
- package/lib/utils/style.js.map +1 -0
- package/mobile/bundle/bundle.umd.js +25 -12
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/CarouselTariffsCard/CarouselTariffsCard.d.ts +1 -1
- package/mobile/bundle/components/CarouselTariffsCard/CarouselTariffsCardContent.d.ts +1 -1
- package/mobile/bundle/components/LinkDocs/LinkDocsContent.d.ts +4 -0
- package/mobile/bundle/components/SwipeListControlBlock/SwipeListControlBlock.d.ts +6 -0
- package/mobile/bundle/components/SwipeListControlBlock/SwipeListControlBlockContent.d.ts +5 -0
- package/mobile/bundle/icons/IconName.d.ts +4 -2
- package/mobile/bundle/ui-kit/SwipeListControl/SwipeListContainer.d.ts +2 -1
- package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +2 -0
- package/mobile/bundle/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +7 -0
- package/mobile/bundle/utils/style.d.ts +1 -0
- package/mobile/dist/components/CarouselCard/CarouselCard.js +2 -2
- package/mobile/dist/components/CarouselCard/CarouselCard.js.map +1 -1
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -1
- package/mobile/dist/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.d.ts +1 -1
- package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +12 -9
- package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCardContent.d.ts +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocsContent.d.ts +4 -0
- package/mobile/dist/components/SwipeListControlBlock/SwipeListControlBlock.d.ts +6 -0
- package/mobile/dist/components/SwipeListControlBlock/SwipeListControlBlock.js +14 -0
- package/mobile/dist/components/SwipeListControlBlock/SwipeListControlBlock.js.map +1 -0
- package/mobile/dist/components/SwipeListControlBlock/SwipeListControlBlockContent.d.ts +5 -0
- package/mobile/dist/components/SwipeListControlBlock/SwipeListControlBlockContent.js +2 -0
- package/mobile/dist/components/SwipeListControlBlock/SwipeListControlBlockContent.js.map +1 -0
- package/mobile/dist/icons/IconName.d.ts +4 -2
- package/mobile/dist/icons/IconName.js +2 -0
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/dist/ui-kit/BlockWrapper.js +1 -1
- package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.d.ts +2 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js +8 -5
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js +3 -2
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +2 -0
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js +12 -3
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
- package/mobile/dist/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +7 -0
- package/mobile/dist/utils/style.d.ts +1 -0
- package/mobile/dist/utils/style.js +5 -0
- package/mobile/dist/utils/style.js.map +1 -0
- package/mobile/lib/components/CarouselCard/CarouselCard.js +2 -2
- package/mobile/lib/components/CarouselCard/CarouselCard.js.map +1 -1
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js +1 -1
- package/mobile/lib/components/CarouselProgramsCard/CarouselProgramsCard.js.map +1 -1
- package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.d.ts +1 -1
- package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +12 -9
- package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
- package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCardContent.d.ts +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocsContent.d.ts +4 -0
- package/mobile/lib/components/SwipeListControlBlock/SwipeListControlBlock.d.ts +6 -0
- package/mobile/lib/components/SwipeListControlBlock/SwipeListControlBlock.js +12 -0
- package/mobile/lib/components/SwipeListControlBlock/SwipeListControlBlock.js.map +1 -0
- package/mobile/lib/components/SwipeListControlBlock/SwipeListControlBlockContent.d.ts +5 -0
- package/mobile/lib/components/SwipeListControlBlock/SwipeListControlBlockContent.js +2 -0
- package/mobile/lib/components/SwipeListControlBlock/SwipeListControlBlockContent.js.map +1 -0
- package/mobile/lib/icons/IconName.d.ts +4 -2
- package/mobile/lib/icons/IconName.js +2 -0
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/lib/ui-kit/BlockWrapper.js +1 -1
- package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.d.ts +2 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js +8 -5
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListContainer.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js +3 -2
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControl.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.d.ts +2 -0
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js +12 -3
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlDots.js.map +1 -1
- package/mobile/lib/ui-kit/SwipeListControl/SwipeListControlProps.d.ts +7 -0
- package/mobile/lib/utils/style.d.ts +1 -0
- package/mobile/lib/utils/style.js +2 -0
- package/mobile/lib/utils/style.js.map +1 -0
- package/mobile/src/common.css +11 -0
- package/mobile/src/components/Carousel/Carousel.ui.json +8 -0
- package/mobile/src/components/CarouselCard/CarouselCard.tsx +11 -5
- package/mobile/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +1 -1
- package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.example.json +11 -3
- package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +29 -17
- package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCardContent.ts +1 -1
- package/mobile/src/components/LinkDocs/LinkDocsContent.ts +4 -0
- package/mobile/src/components/SwipeListControlBlock/SwipeListControlBlock.example.json +18 -0
- package/mobile/src/components/SwipeListControlBlock/SwipeListControlBlock.tsx +23 -0
- package/mobile/src/components/SwipeListControlBlock/SwipeListControlBlock.ui.json +1 -0
- package/mobile/src/components/SwipeListControlBlock/SwipeListControlBlockContent.ts +6 -0
- package/mobile/src/icons/ArrowRightIcon.svg +1 -1
- package/mobile/src/icons/ArrowTopRightIcon.svg +1 -0
- package/mobile/src/icons/IconName.ts +4 -4
- package/mobile/src/ui-kit/BlockWrapper.tsx +1 -1
- package/mobile/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +19 -10
- package/mobile/src/ui-kit/SwipeListControl/SwipeListControl.tsx +6 -2
- package/mobile/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +20 -4
- package/mobile/src/ui-kit/SwipeListControl/SwipeListControlProps.ts +8 -0
- package/mobile/src/utils/style.ts +2 -0
- package/package.json +2 -2
- package/src/common.css +11 -0
- package/src/components/Blocks.ts +2 -0
- package/src/components/Carousel/Carousel.ui.json +8 -0
- package/src/components/CarouselCard/CarouselCard.tsx +11 -5
- package/src/components/CarouselProgramsCard/CarouselProgramsCard.tsx +1 -1
- package/src/components/CarouselTariffsCard/CarouselTariffsCard.example.json +11 -3
- package/src/components/CarouselTariffsCard/CarouselTariffsCard.fixture.tsx +3 -3
- package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +29 -17
- package/src/components/CarouselTariffsCard/CarouselTariffsCardContent.ts +1 -1
- package/src/components/LinkDocs/LinkDocsContent.ts +4 -0
- package/src/components/SwipeListControlBlock/SwipeListControlBlock.example.json +18 -0
- package/src/components/SwipeListControlBlock/SwipeListControlBlock.fixture.tsx +27 -0
- package/src/components/SwipeListControlBlock/SwipeListControlBlock.tsx +23 -0
- package/src/components/SwipeListControlBlock/SwipeListControlBlock.ui.json +1 -0
- package/src/components/SwipeListControlBlock/SwipeListControlBlockContent.ts +6 -0
- package/src/icons/ArrowRightIcon.svg +1 -1
- package/src/icons/ArrowTopRightIcon.svg +1 -0
- package/src/icons/IconName.ts +333 -6
- package/src/ui-kit/BlockWrapper.tsx +1 -1
- package/src/ui-kit/SwipeListControl/SwipeListContainer.tsx +19 -10
- package/src/ui-kit/SwipeListControl/SwipeListControl.fixture.mobile.tsx +6 -1
- package/src/ui-kit/SwipeListControl/SwipeListControl.tsx +6 -2
- package/src/ui-kit/SwipeListControl/SwipeListControlDots.tsx +20 -4
- package/src/ui-kit/SwipeListControl/SwipeListControlProps.ts +8 -0
- package/src/utils/style.ts +2 -0
|
@@ -1,49 +1,52 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import type { HeadlineCommonProps } from '../../model/HeadlineType';
|
|
3
|
-
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
4
|
-
import { VNode } from '../../model/VNode';
|
|
5
2
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
6
3
|
import { Button } from '../../ui-kit/Button/Button';
|
|
7
4
|
import { Foldable } from '../../ui-kit/Foldable/Foldable';
|
|
8
5
|
import { FoldablePartProps } from '../../ui-kit/Foldable/FoldablePartProps';
|
|
9
6
|
import { FoldableSection } from '../../ui-kit/Foldable/FoldableSection';
|
|
7
|
+
import { getIconWithVersion } from '../../utils/getIconWithVersion';
|
|
10
8
|
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
11
9
|
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
12
10
|
import { Img } from '../../ui-kit/Img/Img';
|
|
11
|
+
import { Paragraph } from '../../ui-kit/Paragraph/Paragraph';
|
|
13
12
|
import type { CarouselTariffsCardContent } from './CarouselTariffsCardContent';
|
|
13
|
+
import type { HeadlineCommonProps } from '../../model/HeadlineType';
|
|
14
|
+
import type { Picture } from '../../model/Picture';
|
|
15
|
+
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
16
|
+
import type { VNode } from '../../model/VNode';
|
|
14
17
|
|
|
15
18
|
export interface CarouselTariffsCardProps extends CarouselTariffsCardContent, UniBlockProps {}
|
|
16
19
|
|
|
17
|
-
const
|
|
20
|
+
const VISIBLE_CELLS_COUNT = 1;
|
|
18
21
|
|
|
19
22
|
export const CarouselTariffsCard = JSX<CarouselTariffsCardProps>(
|
|
20
|
-
({ className = '', title, icon, isHighlighting, button,
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
23
|
+
({ className = '', title, icon, isHighlighting, button, cardCells = [], ...rest }) => {
|
|
24
|
+
const cellsNode = cardCells.map(renderCardInfo);
|
|
25
|
+
const visibleCells = cellsNode.slice(0, VISIBLE_CELLS_COUNT);
|
|
26
|
+
const hiddenCells = cellsNode.slice(VISIBLE_CELLS_COUNT);
|
|
24
27
|
|
|
25
28
|
return (
|
|
26
29
|
<BlockWrapper
|
|
27
|
-
className={`font-sans relative bg-white border border-gray min-w-[322px] p-8
|
|
30
|
+
className={`font-sans relative bg-white border border-gray min-w-[322px] p-8 flex flex-col
|
|
28
31
|
${getHitStyle(isHighlighting)}
|
|
29
32
|
${className}`}
|
|
30
33
|
{...rest}
|
|
31
34
|
>
|
|
32
35
|
{isHighlighting ? renderHitIcon() : null}
|
|
33
|
-
{icon
|
|
36
|
+
{renderIconBlock(icon)}
|
|
34
37
|
{title ? (
|
|
35
38
|
<Heading className="text-primary-text text-center pt-2" headingType="h5" title={title} />
|
|
36
39
|
) : null}
|
|
37
40
|
{button ? <Button className="w-full mt-4" {...button} /> : null}
|
|
38
|
-
{
|
|
41
|
+
{cardCells.length ? (
|
|
39
42
|
<Foldable
|
|
40
43
|
renderFoldableSection={({ isUnfolded }) => (
|
|
41
44
|
<div>
|
|
42
|
-
{
|
|
43
|
-
<FoldableSection isUnfolded={isUnfolded}>{
|
|
45
|
+
{visibleCells}
|
|
46
|
+
<FoldableSection isUnfolded={isUnfolded}>{hiddenCells}</FoldableSection>
|
|
44
47
|
</div>
|
|
45
48
|
)}
|
|
46
|
-
renderFoldButton={
|
|
49
|
+
renderFoldButton={cardCells.length > 1 ? renderFoldButton : null}
|
|
47
50
|
/>
|
|
48
51
|
) : null}
|
|
49
52
|
</BlockWrapper>
|
|
@@ -51,8 +54,15 @@ export const CarouselTariffsCard = JSX<CarouselTariffsCardProps>(
|
|
|
51
54
|
},
|
|
52
55
|
);
|
|
53
56
|
|
|
57
|
+
const renderIconBlock = (icon?: Picture) => (
|
|
58
|
+
<div className="w-[267px] min-w-[267px] self-center">
|
|
59
|
+
{icon?.src ? <Img image={icon} /> : null}
|
|
60
|
+
{icon?.icon ? <Img image={getIconWithVersion(icon)} asSVG /> : null}
|
|
61
|
+
</div>
|
|
62
|
+
);
|
|
63
|
+
|
|
54
64
|
const getHitStyle = (isHighlighting?: boolean): string =>
|
|
55
|
-
isHighlighting ? 'mt-9 pt-[70px]' : 'mt-[70px] pt-
|
|
65
|
+
isHighlighting ? 'mt-9 pt-[70px]' : 'mt-[70px] pt-7';
|
|
56
66
|
|
|
57
67
|
const renderFoldButton = ({ isUnfolded, onToggle }: FoldablePartProps): VNode => (
|
|
58
68
|
<button
|
|
@@ -82,8 +92,10 @@ const renderCardInfo = (cell: HeadlineCommonProps, i: number): VNode => (
|
|
|
82
92
|
);
|
|
83
93
|
|
|
84
94
|
const renderHitIcon = (): VNode => (
|
|
85
|
-
<div className="absolute -top-7 -right-4 h-[60px] w-[60px] bg-white flex flex-col items-center justify-center shadow-[0_4px_25px_rgba(0,0,0,0.07)]">
|
|
95
|
+
<div className="absolute -top-7 -right-4 h-[60px] w-[60px] bg-white flex flex-col items-center justify-center rounded-md shadow-[0_4px_25px_rgba(0,0,0,0.07)]">
|
|
86
96
|
<Icon iconVersion="black" name="HeartIcon" width="23" height="22" asSVG />
|
|
87
|
-
<
|
|
97
|
+
<Paragraph size="text-s" font="font-normal" align="text-center" color="text-primary-text">
|
|
98
|
+
ХИТ
|
|
99
|
+
</Paragraph>
|
|
88
100
|
</div>
|
|
89
101
|
);
|
|
@@ -43,5 +43,9 @@ export type LinkDocsContent = HeadlineCommonProps & {
|
|
|
43
43
|
orientation?: ListOrientation; // TODO: мобильный проп
|
|
44
44
|
/** @title Рамка элементов (моб.) */ // TODO: мобильный проп
|
|
45
45
|
hasBorder?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* @title Выравнивание
|
|
48
|
+
* @default text-center
|
|
49
|
+
*/
|
|
46
50
|
align?: TextAlign;
|
|
47
51
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"content": {
|
|
3
|
+
"listType": "vertical-list"
|
|
4
|
+
},
|
|
5
|
+
"style": ["col-span-12", "h-96"],
|
|
6
|
+
"type": "SwipeListControlBlock",
|
|
7
|
+
"blocks": [
|
|
8
|
+
{
|
|
9
|
+
"type": "Headline",
|
|
10
|
+
"content": {
|
|
11
|
+
"title": "Заголовок блока",
|
|
12
|
+
"description": "Описание блока",
|
|
13
|
+
"headlineVersion": "M"
|
|
14
|
+
},
|
|
15
|
+
"style": ["col-span-12"]
|
|
16
|
+
}
|
|
17
|
+
]
|
|
18
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { renderChildren } from '../../BlockRenderer/renderChildren';
|
|
3
|
+
import type { JSXBlock, UniBlockProps } from '../../model/JSXBlock';
|
|
4
|
+
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
5
|
+
import { SwipeListControl } from '../../ui-kit/SwipeListControl/SwipeListControl';
|
|
6
|
+
import type { SwipeListControlBlockContent } from './SwipeListControlBlockContent';
|
|
7
|
+
|
|
8
|
+
interface SwipeListControlBlockProps extends SwipeListControlBlockContent, UniBlockProps {}
|
|
9
|
+
|
|
10
|
+
export const SwipeListControlBlock: JSXBlock<SwipeListControlBlockProps> =
|
|
11
|
+
JSX<SwipeListControlBlockProps>(({ gap, listType, padding, showDots, options, ...rest }) => {
|
|
12
|
+
return (
|
|
13
|
+
<BlockWrapper {...rest}>
|
|
14
|
+
<SwipeListControl gap={gap} listType={listType} padding={padding} showDots={showDots}>
|
|
15
|
+
{renderChildren({ ...rest, options })}
|
|
16
|
+
</SwipeListControl>
|
|
17
|
+
</BlockWrapper>
|
|
18
|
+
);
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
SwipeListControlBlock.childrenTypes = {
|
|
22
|
+
exclude: ['SwipeListControlBlock'],
|
|
23
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg title="Стрелка 'Вправо'" isInverse="true" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M14.43 5.93 20.5 12l-6.07 6.07M11.01 12h9.32M3.5 12h3.47" stroke="
|
|
1
|
+
<svg title="Стрелка 'Вправо'" isInverse="true" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M14.43 5.93 20.5 12l-6.07 6.07M11.01 12h9.32M3.5 12h3.47" stroke="currentColor" stroke-width="2" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg title="Стрелка 'Вверх-право'" isInverse="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 16 16"><path stroke="currentColor" stroke-linecap="round" stroke-width="2" d="M6.734 4.11h5.657v5.656M3.855 12.645l5-5"/></svg>
|
|
@@ -7,11 +7,11 @@ export const IconsWithoutInversion = new Set([
|
|
|
7
7
|
]);
|
|
8
8
|
|
|
9
9
|
export enum IconMap {
|
|
10
|
-
ActualBalanceIcon = 'ActualBalanceIcon', AirPlaneIcon = 'AirPlaneIcon', AppleIcon = 'AppleIcon', ArrowDownIcon = 'ArrowDownIcon', ArrowLeftIcon = 'ArrowLeftIcon', ArrowRightIcon = 'ArrowRightIcon', ArrowUpIcon = 'ArrowUpIcon', AtmIcon = 'AtmIcon', BankIcon = 'BankIcon', BuildingIcon = 'BuildingIcon', BurgerIcon = 'BurgerIcon', Calendar2Icon = 'Calendar2Icon', CalendarCircleIcon = 'CalendarCircleIcon', CalendarIcon = 'CalendarIcon', CalendarTickIcon = 'CalendarTickIcon', Car2Icon = 'Car2Icon', CardIcon = 'CardIcon', CardPosIcon = 'CardPosIcon', CardTickIcon = 'CardTickIcon', CardWithGemIcon = 'CardWithGemIcon', CarIcon = 'CarIcon', ChartSquareIcon = 'ChartSquareIcon', CinemaIcon = 'CinemaIcon', ClockIcon = 'ClockIcon', CloseIcon = 'CloseIcon', ComfortableCompIcon = 'ComfortableCompIcon', CreditCardsIcon = 'CreditCardsIcon', DiscountShapeIcon = 'DiscountShapeIcon', DocDownloadIcon = 'DocDownloadIcon', DocIcon = 'DocIcon', DocIconMonoColor = 'DocIconMonoColor', DocsIcon = 'DocsIcon', DocumentText2Icon = 'DocumentText2Icon', DocumentTextIcon = 'DocumentTextIcon', DollarIcon = 'DollarIcon', DoneIcon = 'DoneIcon', DoneSimpleIcon = 'DoneSimpleIcon', EarthIcon = 'EarthIcon', EmptyWalletChangeIcon = 'EmptyWalletChangeIcon', EmptyWalletIcon = 'EmptyWalletIcon', EuroIcon = 'EuroIcon', FullScreenIcon = 'FullScreenIcon', GeolocationIcon = 'GeolocationIcon', GlassIcon = 'GlassIcon', GlobalIcon = 'GlobalIcon', GpsIcon = 'GpsIcon', GridIcon = 'GridIcon', HeartIcon = 'HeartIcon', HuaweiIcon = 'HuaweiIcon', InterestGrowthIcon = 'InterestGrowthIcon', InterestIcon = 'InterestIcon', JCBIcon = 'JCBIcon', LogoIcon = 'LogoIcon', LoupeIcon = 'LoupeIcon', MapMarkerClusterIcon = 'MapMarkerClusterIcon', MapMarkerSingleIcon = 'MapMarkerSingleIcon', MasterCardIcon = 'MasterCardIcon', MetroIcon = 'MetroIcon', MinusIcon = 'MinusIcon', MirIcon = 'MirIcon', MoneyIcon = 'MoneyIcon', MoneyInsuranceIcon = 'MoneyInsuranceIcon', MoneysIcon = 'MoneysIcon', MonitorMobileIcon = 'MonitorMobileIcon', NewDocIcon = 'NewDocIcon', OfficeIcon = 'OfficeIcon', OkIcon = 'OkIcon', PackA4Icon = 'PackA4Icon', PassSendIcon = 'PassSendIcon', PercentageRoundIcon = 'PercentageRoundIcon', PercentageSquareIcon = 'PercentageSquareIcon', PersonalCardIcon = 'PersonalCardIcon', PlayMarketIcon = 'PlayMarketIcon', PlusIcon = 'PlusIcon', PowerIcon = 'PowerIcon', Profile2UserIcon = 'Profile2UserIcon', ProfileIcon = 'ProfileIcon', PumpkinIcon = 'PumpkinIcon', RoundRubleIcon = 'RoundRubleIcon', SafeIcon = 'SafeIcon', ShieldTickIcon = 'ShieldTickIcon', SignDocsIcon = 'SignDocsIcon', SmallClockIcon = 'SmallClockIcon', SoundIcon = 'SoundIcon', StrongBoxIcon = 'StrongBoxIcon', TelegramIcon = 'TelegramIcon', UnionPayIcon = 'UnionPayIcon', UserGeoLocationIcon = 'UserGeoLocationIcon', UserSquareIcon = 'UserSquareIcon', UserTickIcon = 'UserTickIcon', VisaIcon = 'VisaIcon', VKIcon = 'VKIcon', WalletAdd2Icon = 'WalletAdd2Icon', WalletAddIcon = 'WalletAddIcon', WalletIcon = 'WalletIcon', WalletWithMoneyIcon = 'WalletWithMoneyIcon', WateringCanIcon = 'WateringCanIcon'
|
|
10
|
+
ActualBalanceIcon = 'ActualBalanceIcon', AirPlaneIcon = 'AirPlaneIcon', AppleIcon = 'AppleIcon', ArrowDownIcon = 'ArrowDownIcon', ArrowLeftIcon = 'ArrowLeftIcon', ArrowRightIcon = 'ArrowRightIcon', ArrowTopRightIcon = 'ArrowTopRightIcon', ArrowUpIcon = 'ArrowUpIcon', AtmIcon = 'AtmIcon', BankIcon = 'BankIcon', BuildingIcon = 'BuildingIcon', BurgerIcon = 'BurgerIcon', Calendar2Icon = 'Calendar2Icon', CalendarCircleIcon = 'CalendarCircleIcon', CalendarIcon = 'CalendarIcon', CalendarTickIcon = 'CalendarTickIcon', Car2Icon = 'Car2Icon', CardIcon = 'CardIcon', CardPosIcon = 'CardPosIcon', CardTickIcon = 'CardTickIcon', CardWithGemIcon = 'CardWithGemIcon', CarIcon = 'CarIcon', ChartSquareIcon = 'ChartSquareIcon', CinemaIcon = 'CinemaIcon', ClockIcon = 'ClockIcon', CloseIcon = 'CloseIcon', ComfortableCompIcon = 'ComfortableCompIcon', CreditCardsIcon = 'CreditCardsIcon', DiscountShapeIcon = 'DiscountShapeIcon', DocDownloadIcon = 'DocDownloadIcon', DocIcon = 'DocIcon', DocIconMonoColor = 'DocIconMonoColor', DocsIcon = 'DocsIcon', DocumentText2Icon = 'DocumentText2Icon', DocumentTextIcon = 'DocumentTextIcon', DollarIcon = 'DollarIcon', DoneIcon = 'DoneIcon', DoneSimpleIcon = 'DoneSimpleIcon', EarthIcon = 'EarthIcon', EmptyWalletChangeIcon = 'EmptyWalletChangeIcon', EmptyWalletIcon = 'EmptyWalletIcon', EuroIcon = 'EuroIcon', FullScreenIcon = 'FullScreenIcon', GeolocationIcon = 'GeolocationIcon', GlassIcon = 'GlassIcon', GlobalIcon = 'GlobalIcon', GpsIcon = 'GpsIcon', GridIcon = 'GridIcon', HeartIcon = 'HeartIcon', HuaweiIcon = 'HuaweiIcon', InterestGrowthIcon = 'InterestGrowthIcon', InterestIcon = 'InterestIcon', JCBIcon = 'JCBIcon', LogoIcon = 'LogoIcon', LoupeIcon = 'LoupeIcon', MapMarkerClusterIcon = 'MapMarkerClusterIcon', MapMarkerSingleIcon = 'MapMarkerSingleIcon', MasterCardIcon = 'MasterCardIcon', MetroIcon = 'MetroIcon', MinusIcon = 'MinusIcon', MirIcon = 'MirIcon', MoneyIcon = 'MoneyIcon', MoneyInsuranceIcon = 'MoneyInsuranceIcon', MoneysIcon = 'MoneysIcon', MonitorMobileIcon = 'MonitorMobileIcon', NewDocIcon = 'NewDocIcon', OfficeIcon = 'OfficeIcon', OkIcon = 'OkIcon', PackA4Icon = 'PackA4Icon', PassSendIcon = 'PassSendIcon', PercentageRoundIcon = 'PercentageRoundIcon', PercentageSquareIcon = 'PercentageSquareIcon', PersonalCardIcon = 'PersonalCardIcon', PlayMarketIcon = 'PlayMarketIcon', PlusIcon = 'PlusIcon', PowerIcon = 'PowerIcon', Profile2UserIcon = 'Profile2UserIcon', ProfileIcon = 'ProfileIcon', PumpkinIcon = 'PumpkinIcon', RoundRubleIcon = 'RoundRubleIcon', SafeIcon = 'SafeIcon', ShieldTickIcon = 'ShieldTickIcon', SignDocsIcon = 'SignDocsIcon', SmallClockIcon = 'SmallClockIcon', SoundIcon = 'SoundIcon', StrongBoxIcon = 'StrongBoxIcon', TelegramIcon = 'TelegramIcon', UnionPayIcon = 'UnionPayIcon', UserGeoLocationIcon = 'UserGeoLocationIcon', UserSquareIcon = 'UserSquareIcon', UserTickIcon = 'UserTickIcon', VisaIcon = 'VisaIcon', VKIcon = 'VKIcon', WalletAdd2Icon = 'WalletAdd2Icon', WalletAddIcon = 'WalletAddIcon', WalletIcon = 'WalletIcon', WalletWithMoneyIcon = 'WalletWithMoneyIcon', WateringCanIcon = 'WateringCanIcon'
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export enum IconTitleMap {
|
|
14
|
-
ActualBalanceIcon = 'Деньги', AirPlaneIcon = 'Самолёт', AppleIcon = 'Лого «Apple»', ArrowDownIcon = 'Стрелка \'Вниз\'', ArrowLeftIcon = 'Стрелка \'Влево\'', ArrowRightIcon = 'Стрелка \'Вправо\'', ArrowUpIcon = 'Стрелка \'Вверх\'', AtmIcon = 'Банкомат', BankIcon = 'Банк', BuildingIcon = 'Здание с деревом', BurgerIcon = 'Бургер', Calendar2Icon = 'Календарь 2', CalendarCircleIcon = 'Скруглённый календарь', CalendarIcon = 'Календарь', CalendarTickIcon = 'Календарь с галочкой', Car2Icon = 'Машина2', CardIcon = 'Кред. карта', CardPosIcon = 'Кред. карта под наклоном', CardTickIcon = 'Кред. карта с галочкой', CardWithGemIcon = 'Карта с драгоценностями', CarIcon = 'Машина', ChartSquareIcon = 'Деньги внутри кошелька', CinemaIcon = 'Кинотеатр', ClockIcon = 'Часы', CloseIcon = 'Крестик', ComfortableCompIcon = 'Кресло', CreditCardsIcon = 'Кредитные карты', DiscountShapeIcon = 'Скидка', DocDownloadIcon = 'Скачать документ', DocIcon = 'Документ', DocIconMonoColor = 'Документ (одноцветный)', DocsIcon = 'Документы', DocumentText2Icon = 'Документы-2', DocumentTextIcon = 'Документ с текстом', DollarIcon = 'Доллар', DoneIcon = 'Зелёная \'галочка\' в круге', DoneSimpleIcon = 'Зелёная \'галочка\'', EarthIcon = 'Земля', EmptyWalletChangeIcon = 'Пустой кошелёк с возвратом', EmptyWalletIcon = 'Пустой кошелёк', EuroIcon = 'Евро', FullScreenIcon = 'FullScreenIcon', GeolocationIcon = 'Геолокация', GlassIcon = 'Зеркало', GlobalIcon = 'Глобус', GpsIcon = 'Gps', GridIcon = 'Сетка (белая)', HeartIcon = 'Сердце', HuaweiIcon = 'Лого «Huawei»', InterestGrowthIcon = 'Диаграмма роста', InterestIcon = 'Скидка', JCBIcon = 'JCB', LogoIcon = 'Logo', LoupeIcon = 'Лупа', MapMarkerClusterIcon = 'Маркер карты', MapMarkerSingleIcon = 'Маркер карты РСХБ', MasterCardIcon = 'MasterCard', MetroIcon = 'Лого Метро', MinusIcon = 'Минус', MirIcon = 'МИР', MoneyIcon = 'Деньги', MoneyInsuranceIcon = 'Денежное страхование', MoneysIcon = 'Купюры', MonitorMobileIcon = 'Монитор и мобильный', NewDocIcon = 'Новый документ', OfficeIcon = 'Офис', OkIcon = 'Лого «Одноклассники»', PackA4Icon = 'Пачка бумаги А4', PassSendIcon = 'Бизнес', PercentageRoundIcon = 'Проценты (круг.)', PercentageSquareIcon = 'Проценты', PersonalCardIcon = 'Персональная карта', PlayMarketIcon = 'Лого «PlayMarket»', PlusIcon = 'Плюс', PowerIcon = 'Щит', Profile2UserIcon = 'Профиль, 2 персоны', ProfileIcon = 'Профиль', PumpkinIcon = 'Тыква', RoundRubleIcon = 'Рубль (круг.)', SafeIcon = 'Сейф', ShieldTickIcon = 'Безопасность', SignDocsIcon = 'Подписанные документы', SmallClockIcon = 'Маленькие часы', SoundIcon = 'Звук', StrongBoxIcon = 'Ящик с замочной скважиной', TelegramIcon = 'Лого «Telegram»', UnionPayIcon = 'UnionPay', UserGeoLocationIcon = 'UserGeoLocationIcon', UserSquareIcon = 'Пользователь в рамке', UserTickIcon = 'Пользователь', VisaIcon = 'Visa', VKIcon = 'Лого «VK»', WalletAdd2Icon = 'Пополнение карты', WalletAddIcon = 'Кошелёк с плюсом', WalletIcon = 'Кошелёк', WalletWithMoneyIcon = 'Кошелёк с деньгами', WateringCanIcon = 'Добавить продукт'
|
|
14
|
+
ActualBalanceIcon = 'Деньги', AirPlaneIcon = 'Самолёт', AppleIcon = 'Лого «Apple»', ArrowDownIcon = 'Стрелка \'Вниз\'', ArrowLeftIcon = 'Стрелка \'Влево\'', ArrowRightIcon = 'Стрелка \'Вправо\'', ArrowTopRightIcon = 'Стрелка \'Вверх-право\'', ArrowUpIcon = 'Стрелка \'Вверх\'', AtmIcon = 'Банкомат', BankIcon = 'Банк', BuildingIcon = 'Здание с деревом', BurgerIcon = 'Бургер', Calendar2Icon = 'Календарь 2', CalendarCircleIcon = 'Скруглённый календарь', CalendarIcon = 'Календарь', CalendarTickIcon = 'Календарь с галочкой', Car2Icon = 'Машина2', CardIcon = 'Кред. карта', CardPosIcon = 'Кред. карта под наклоном', CardTickIcon = 'Кред. карта с галочкой', CardWithGemIcon = 'Карта с драгоценностями', CarIcon = 'Машина', ChartSquareIcon = 'Деньги внутри кошелька', CinemaIcon = 'Кинотеатр', ClockIcon = 'Часы', CloseIcon = 'Крестик', ComfortableCompIcon = 'Кресло', CreditCardsIcon = 'Кредитные карты', DiscountShapeIcon = 'Скидка', DocDownloadIcon = 'Скачать документ', DocIcon = 'Документ', DocIconMonoColor = 'Документ (одноцветный)', DocsIcon = 'Документы', DocumentText2Icon = 'Документы-2', DocumentTextIcon = 'Документ с текстом', DollarIcon = 'Доллар', DoneIcon = 'Зелёная \'галочка\' в круге', DoneSimpleIcon = 'Зелёная \'галочка\'', EarthIcon = 'Земля', EmptyWalletChangeIcon = 'Пустой кошелёк с возвратом', EmptyWalletIcon = 'Пустой кошелёк', EuroIcon = 'Евро', FullScreenIcon = 'FullScreenIcon', GeolocationIcon = 'Геолокация', GlassIcon = 'Зеркало', GlobalIcon = 'Глобус', GpsIcon = 'Gps', GridIcon = 'Сетка (белая)', HeartIcon = 'Сердце', HuaweiIcon = 'Лого «Huawei»', InterestGrowthIcon = 'Диаграмма роста', InterestIcon = 'Скидка', JCBIcon = 'JCB', LogoIcon = 'Logo', LoupeIcon = 'Лупа', MapMarkerClusterIcon = 'Маркер карты', MapMarkerSingleIcon = 'Маркер карты РСХБ', MasterCardIcon = 'MasterCard', MetroIcon = 'Лого Метро', MinusIcon = 'Минус', MirIcon = 'МИР', MoneyIcon = 'Деньги', MoneyInsuranceIcon = 'Денежное страхование', MoneysIcon = 'Купюры', MonitorMobileIcon = 'Монитор и мобильный', NewDocIcon = 'Новый документ', OfficeIcon = 'Офис', OkIcon = 'Лого «Одноклассники»', PackA4Icon = 'Пачка бумаги А4', PassSendIcon = 'Бизнес', PercentageRoundIcon = 'Проценты (круг.)', PercentageSquareIcon = 'Проценты', PersonalCardIcon = 'Персональная карта', PlayMarketIcon = 'Лого «PlayMarket»', PlusIcon = 'Плюс', PowerIcon = 'Щит', Profile2UserIcon = 'Профиль, 2 персоны', ProfileIcon = 'Профиль', PumpkinIcon = 'Тыква', RoundRubleIcon = 'Рубль (круг.)', SafeIcon = 'Сейф', ShieldTickIcon = 'Безопасность', SignDocsIcon = 'Подписанные документы', SmallClockIcon = 'Маленькие часы', SoundIcon = 'Звук', StrongBoxIcon = 'Ящик с замочной скважиной', TelegramIcon = 'Лого «Telegram»', UnionPayIcon = 'UnionPay', UserGeoLocationIcon = 'UserGeoLocationIcon', UserSquareIcon = 'Пользователь в рамке', UserTickIcon = 'Пользователь', VisaIcon = 'Visa', VKIcon = 'Лого «VK»', WalletAdd2Icon = 'Пополнение карты', WalletAddIcon = 'Кошелёк с плюсом', WalletIcon = 'Кошелёк', WalletWithMoneyIcon = 'Кошелёк с деньгами', WateringCanIcon = 'Добавить продукт'
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
/**
|
|
@@ -19,7 +19,7 @@ export enum IconTitleMap {
|
|
|
19
19
|
* @title Иконка
|
|
20
20
|
* @enumNames [
|
|
21
21
|
* "",
|
|
22
|
-
* 'Деньги', 'Самолёт', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка \'Влево\'', 'Стрелка \'Вправо\'', 'Стрелка \'Вверх\'', 'Банкомат', 'Банк', 'Здание с деревом', 'Бургер', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Машина2', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Кинотеатр', 'Часы', 'Крестик', 'Кресло', 'Кредитные карты', 'Скидка', 'Скачать документ', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документы-2', 'Документ с текстом', 'Доллар', 'Зелёная \'галочка\' в круге', 'Зелёная \'галочка\'', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Евро', 'FullScreenIcon', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка (белая)', 'Сердце', 'Лого «Huawei»', 'Диаграмма роста', 'Скидка', 'JCB', 'Logo', 'Лупа', 'Маркер карты', 'Маркер карты РСХБ', 'MasterCard', 'Лого Метро', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Купюры', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Пачка бумаги А4', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'Персональная карта', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Ящик с замочной скважиной', 'Лого «Telegram»', 'UnionPay', 'UserGeoLocationIcon', 'Пользователь в рамке', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт'
|
|
22
|
+
* 'Деньги', 'Самолёт', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка \'Влево\'', 'Стрелка \'Вправо\'', 'Стрелка \'Вверх-право\'', 'Стрелка \'Вверх\'', 'Банкомат', 'Банк', 'Здание с деревом', 'Бургер', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Машина2', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Кинотеатр', 'Часы', 'Крестик', 'Кресло', 'Кредитные карты', 'Скидка', 'Скачать документ', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документы-2', 'Документ с текстом', 'Доллар', 'Зелёная \'галочка\' в круге', 'Зелёная \'галочка\'', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Евро', 'FullScreenIcon', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка (белая)', 'Сердце', 'Лого «Huawei»', 'Диаграмма роста', 'Скидка', 'JCB', 'Logo', 'Лупа', 'Маркер карты', 'Маркер карты РСХБ', 'MasterCard', 'Лого Метро', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Купюры', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Пачка бумаги А4', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'Персональная карта', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Ящик с замочной скважиной', 'Лого «Telegram»', 'UnionPay', 'UserGeoLocationIcon', 'Пользователь в рамке', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт'
|
|
23
23
|
* ]
|
|
24
24
|
*/
|
|
25
|
-
export type IconName = '' | 'ActualBalanceIcon' | 'AirPlaneIcon' | 'AppleIcon' | 'ArrowDownIcon' | 'ArrowLeftIcon' | 'ArrowRightIcon' | 'ArrowUpIcon' | 'AtmIcon' | 'BankIcon' | 'BuildingIcon' | 'BurgerIcon' | 'Calendar2Icon' | 'CalendarCircleIcon' | 'CalendarIcon' | 'CalendarTickIcon' | 'Car2Icon' | 'CardIcon' | 'CardPosIcon' | 'CardTickIcon' | 'CardWithGemIcon' | 'CarIcon' | 'ChartSquareIcon' | 'CinemaIcon' | 'ClockIcon' | 'CloseIcon' | 'ComfortableCompIcon' | 'CreditCardsIcon' | 'DiscountShapeIcon' | 'DocDownloadIcon' | 'DocIcon' | 'DocIconMonoColor' | 'DocsIcon' | 'DocumentText2Icon' | 'DocumentTextIcon' | 'DollarIcon' | 'DoneIcon' | 'DoneSimpleIcon' | 'EarthIcon' | 'EmptyWalletChangeIcon' | 'EmptyWalletIcon' | 'EuroIcon' | 'FullScreenIcon' | 'GeolocationIcon' | 'GlassIcon' | 'GlobalIcon' | 'GpsIcon' | 'GridIcon' | 'HeartIcon' | 'HuaweiIcon' | 'InterestGrowthIcon' | 'InterestIcon' | 'JCBIcon' | 'LogoIcon' | 'LoupeIcon' | 'MapMarkerClusterIcon' | 'MapMarkerSingleIcon' | 'MasterCardIcon' | 'MetroIcon' | 'MinusIcon' | 'MirIcon' | 'MoneyIcon' | 'MoneyInsuranceIcon' | 'MoneysIcon' | 'MonitorMobileIcon' | 'NewDocIcon' | 'OfficeIcon' | 'OkIcon' | 'PackA4Icon' | 'PassSendIcon' | 'PercentageRoundIcon' | 'PercentageSquareIcon' | 'PersonalCardIcon' | 'PlayMarketIcon' | 'PlusIcon' | 'PowerIcon' | 'Profile2UserIcon' | 'ProfileIcon' | 'PumpkinIcon' | 'RoundRubleIcon' | 'SafeIcon' | 'ShieldTickIcon' | 'SignDocsIcon' | 'SmallClockIcon' | 'SoundIcon' | 'StrongBoxIcon' | 'TelegramIcon' | 'UnionPayIcon' | 'UserGeoLocationIcon' | 'UserSquareIcon' | 'UserTickIcon' | 'VisaIcon' | 'VKIcon' | 'WalletAdd2Icon' | 'WalletAddIcon' | 'WalletIcon' | 'WalletWithMoneyIcon' | 'WateringCanIcon';
|
|
25
|
+
export type IconName = '' | 'ActualBalanceIcon' | 'AirPlaneIcon' | 'AppleIcon' | 'ArrowDownIcon' | 'ArrowLeftIcon' | 'ArrowRightIcon' | 'ArrowTopRightIcon' | 'ArrowUpIcon' | 'AtmIcon' | 'BankIcon' | 'BuildingIcon' | 'BurgerIcon' | 'Calendar2Icon' | 'CalendarCircleIcon' | 'CalendarIcon' | 'CalendarTickIcon' | 'Car2Icon' | 'CardIcon' | 'CardPosIcon' | 'CardTickIcon' | 'CardWithGemIcon' | 'CarIcon' | 'ChartSquareIcon' | 'CinemaIcon' | 'ClockIcon' | 'CloseIcon' | 'ComfortableCompIcon' | 'CreditCardsIcon' | 'DiscountShapeIcon' | 'DocDownloadIcon' | 'DocIcon' | 'DocIconMonoColor' | 'DocsIcon' | 'DocumentText2Icon' | 'DocumentTextIcon' | 'DollarIcon' | 'DoneIcon' | 'DoneSimpleIcon' | 'EarthIcon' | 'EmptyWalletChangeIcon' | 'EmptyWalletIcon' | 'EuroIcon' | 'FullScreenIcon' | 'GeolocationIcon' | 'GlassIcon' | 'GlobalIcon' | 'GpsIcon' | 'GridIcon' | 'HeartIcon' | 'HuaweiIcon' | 'InterestGrowthIcon' | 'InterestIcon' | 'JCBIcon' | 'LogoIcon' | 'LoupeIcon' | 'MapMarkerClusterIcon' | 'MapMarkerSingleIcon' | 'MasterCardIcon' | 'MetroIcon' | 'MinusIcon' | 'MirIcon' | 'MoneyIcon' | 'MoneyInsuranceIcon' | 'MoneysIcon' | 'MonitorMobileIcon' | 'NewDocIcon' | 'OfficeIcon' | 'OkIcon' | 'PackA4Icon' | 'PassSendIcon' | 'PercentageRoundIcon' | 'PercentageSquareIcon' | 'PersonalCardIcon' | 'PlayMarketIcon' | 'PlusIcon' | 'PowerIcon' | 'Profile2UserIcon' | 'ProfileIcon' | 'PumpkinIcon' | 'RoundRubleIcon' | 'SafeIcon' | 'ShieldTickIcon' | 'SignDocsIcon' | 'SmallClockIcon' | 'SoundIcon' | 'StrongBoxIcon' | 'TelegramIcon' | 'UnionPayIcon' | 'UserGeoLocationIcon' | 'UserSquareIcon' | 'UserTickIcon' | 'VisaIcon' | 'VKIcon' | 'WalletAdd2Icon' | 'WalletAddIcon' | 'WalletIcon' | 'WalletWithMoneyIcon' | 'WateringCanIcon';
|
|
@@ -10,7 +10,7 @@ interface BlockWrapperProps extends UniBlockProps {
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export const BlockWrapper = JSX<BlockWrapperProps>(
|
|
13
|
-
({ className, block, tag = 'section', role, children }) => {
|
|
13
|
+
({ className = '', block, tag = 'section', role, children }) => {
|
|
14
14
|
const Tag: any = tag;
|
|
15
15
|
|
|
16
16
|
const ref = useBlockIntersectionObserver(block);
|
|
@@ -2,7 +2,8 @@ import { JSX } from '@redneckz/uni-jsx';
|
|
|
2
2
|
import { useCallback, useRef } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
3
|
import type { IntersectionObserverOptions } from '../../hooks/useIntersectionObserver';
|
|
4
4
|
import { mapChildren } from '../../utils/mapChildren';
|
|
5
|
-
import
|
|
5
|
+
import { style } from '../../utils/style';
|
|
6
|
+
import type { SwipeContainerProps, SwipeListControlType } from './SwipeListControlProps';
|
|
6
7
|
import { SwipeListItem } from './SwipeListItem';
|
|
7
8
|
|
|
8
9
|
type ItemsVisibilityList = Array<IntersectionObserverEntry | undefined>;
|
|
@@ -20,6 +21,7 @@ interface SwipeListContainerProps extends SwipeContainerProps {
|
|
|
20
21
|
snapAlign?: 'snap-start' | 'snap-center' | 'snap-end';
|
|
21
22
|
onVisibleItemsChange?: (itemsVisibilityList: ItemsVisibilityList) => void;
|
|
22
23
|
onVisibleIndicesChange?: (indices: number[]) => void;
|
|
24
|
+
listType?: SwipeListControlType;
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
const childStyleMap = ['min-w-[100%]', 'min-w-[50%]', 'min-w-[33.33%]', 'min-w-[25%]'];
|
|
@@ -32,6 +34,7 @@ export const SwipeListContainer = JSX<SwipeListContainerProps>(
|
|
|
32
34
|
visibleItemCount = 0,
|
|
33
35
|
gap = 0,
|
|
34
36
|
padding = 0,
|
|
37
|
+
listType = 'horizontal-list',
|
|
35
38
|
snapAlign = 'snap-center',
|
|
36
39
|
children,
|
|
37
40
|
onVisibleItemsChange,
|
|
@@ -54,25 +57,31 @@ export const SwipeListContainer = JSX<SwipeListContainerProps>(
|
|
|
54
57
|
},
|
|
55
58
|
[onVisibleItemsChange, onVisibleIndicesChange],
|
|
56
59
|
);
|
|
60
|
+
|
|
57
61
|
const additionPadding = visibleItemCount > 0 ? gap * Number(visibleItemCount) - 1 : 0;
|
|
58
62
|
|
|
63
|
+
const isHorizontalList = listType === 'horizontal-list';
|
|
64
|
+
const containerStyle = {
|
|
65
|
+
...(isHorizontalList ? getContainerStyle(padding, additionPadding) : {}),
|
|
66
|
+
gap: `${gap}px`,
|
|
67
|
+
};
|
|
68
|
+
|
|
59
69
|
return (
|
|
60
70
|
<div
|
|
61
|
-
className={
|
|
62
|
-
style={
|
|
63
|
-
...getContainerStyle(padding, additionPadding),
|
|
64
|
-
gap: `${gap}px`,
|
|
65
|
-
}}
|
|
71
|
+
className={style('box-border overflow-auto no-scrollbar', listType, className)}
|
|
72
|
+
style={containerStyle}
|
|
66
73
|
role="list"
|
|
67
74
|
ref={containerRef}
|
|
68
75
|
>
|
|
69
76
|
{mapChildren((child, idx) => (
|
|
70
77
|
<SwipeListItem
|
|
71
78
|
key={String(idx)}
|
|
72
|
-
className={
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
79
|
+
className={style(
|
|
80
|
+
snapAlign,
|
|
81
|
+
visibleItemCount ? childStyleMap[visibleItemCount - 1] : '',
|
|
82
|
+
listType === 'vertical-list' ? 'h-full' : '',
|
|
83
|
+
)}
|
|
84
|
+
style={isHorizontalList ? getContainerStyle(padding / 4) : {}}
|
|
76
85
|
activeIndex={activeIndex}
|
|
77
86
|
idx={idx}
|
|
78
87
|
observerOptions={observerOptions}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { style } from '../../utils/style';
|
|
2
3
|
import { SwipeListContainer } from './SwipeListContainer';
|
|
3
4
|
import { SwipeListControlDots } from './SwipeListControlDots';
|
|
4
5
|
import type { SwipeListControlProps } from './SwipeListControlProps';
|
|
@@ -15,12 +16,13 @@ const DEFAULT_PADDING = 16;
|
|
|
15
16
|
|
|
16
17
|
export const SwipeListControl = JSX<SwipeListControlProps>(
|
|
17
18
|
({
|
|
18
|
-
className,
|
|
19
|
+
className = '',
|
|
19
20
|
gap = DEFAULT_GAP,
|
|
20
21
|
padding = DEFAULT_PADDING,
|
|
21
22
|
showDots = true,
|
|
22
23
|
children,
|
|
23
24
|
onVisibleIndicesChange,
|
|
25
|
+
listType = 'horizontal-list',
|
|
24
26
|
}) => {
|
|
25
27
|
const itemCount = Array.isArray(children) ? children.length : 0;
|
|
26
28
|
|
|
@@ -31,7 +33,7 @@ export const SwipeListControl = JSX<SwipeListControlProps>(
|
|
|
31
33
|
const [activeIndex] = scroll.visibleIndicesRange;
|
|
32
34
|
|
|
33
35
|
return (
|
|
34
|
-
<div className={className}>
|
|
36
|
+
<div className={style(className, listType === 'vertical-list' ? 'relative h-full' : '')}>
|
|
35
37
|
<SwipeListContainer
|
|
36
38
|
containerRef={containerRef}
|
|
37
39
|
activeIndex={activeIndex}
|
|
@@ -39,6 +41,7 @@ export const SwipeListControl = JSX<SwipeListControlProps>(
|
|
|
39
41
|
gap={gap}
|
|
40
42
|
padding={padding}
|
|
41
43
|
onVisibleIndicesChange={scroll.handleVisibleIndicesChange}
|
|
44
|
+
listType={listType}
|
|
42
45
|
>
|
|
43
46
|
{children}
|
|
44
47
|
</SwipeListContainer>
|
|
@@ -47,6 +50,7 @@ export const SwipeListControl = JSX<SwipeListControlProps>(
|
|
|
47
50
|
containerRef={containerRef}
|
|
48
51
|
activeIndex={activeIndex}
|
|
49
52
|
dotCount={itemCount}
|
|
53
|
+
listType={listType}
|
|
50
54
|
/>
|
|
51
55
|
) : null}
|
|
52
56
|
</div>
|
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import type { SwipeListControlType } from './SwipeListControlProps';
|
|
2
3
|
|
|
3
|
-
const
|
|
4
|
+
const containerStyles: Record<SwipeListControlType, string> = {
|
|
5
|
+
'horizontal-list': 'mx-auto mt-5 w-fit',
|
|
6
|
+
'vertical-list': 'absolute flex-col justify-center h-full top-0 left-4',
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
const activeDotStyles: Record<SwipeListControlType, string> = {
|
|
10
|
+
'horizontal-list': 'w-6',
|
|
11
|
+
'vertical-list': 'h-6',
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const dotStyle = 'cursor-pointer bg-primary-main rounded-full transition-width duration-300';
|
|
15
|
+
|
|
16
|
+
const inactiveDotStyle = 'w-2 h-2 opacity-30';
|
|
4
17
|
|
|
5
18
|
interface SwipeListControlDotsProps {
|
|
6
19
|
containerRef?: { current: HTMLDivElement | null };
|
|
7
20
|
activeIndex?: number;
|
|
8
21
|
dotCount?: number;
|
|
22
|
+
listType?: SwipeListControlType;
|
|
9
23
|
}
|
|
10
24
|
|
|
11
25
|
export const SwipeListControlDots = JSX<SwipeListControlDotsProps>(
|
|
12
|
-
({ containerRef, activeIndex, dotCount = 0 }) => {
|
|
26
|
+
({ containerRef, activeIndex, dotCount = 0, listType = 'horizontal-list' }) => {
|
|
13
27
|
const handleClick = (idx: number) => {
|
|
14
28
|
if (idx !== activeIndex && containerRef?.current) {
|
|
15
29
|
containerRef.current.children[idx]?.scrollIntoView({
|
|
@@ -20,11 +34,13 @@ export const SwipeListControlDots = JSX<SwipeListControlDotsProps>(
|
|
|
20
34
|
};
|
|
21
35
|
|
|
22
36
|
return dotCount ? (
|
|
23
|
-
<div className=
|
|
37
|
+
<div className={`flex gap-2 ${containerStyles[listType]}`}>
|
|
24
38
|
{new Array(dotCount).fill(null).map((_, idx: number) => (
|
|
25
39
|
<div
|
|
26
40
|
key={String(idx)}
|
|
27
|
-
className={`${dotStyle} ${
|
|
41
|
+
className={`${dotStyle} ${
|
|
42
|
+
idx === activeIndex ? activeDotStyles[listType] : inactiveDotStyle
|
|
43
|
+
}`}
|
|
28
44
|
role="button"
|
|
29
45
|
aria-hidden
|
|
30
46
|
onClick={() => handleClick(idx)}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @title Вид
|
|
3
|
+
* @enumNames ["Горизонтальный", "Вертикальный"]
|
|
4
|
+
*/
|
|
5
|
+
export type SwipeListControlType = 'horizontal-list' | 'vertical-list';
|
|
6
|
+
|
|
1
7
|
/**
|
|
2
8
|
* @title Контейнер
|
|
3
9
|
*/
|
|
@@ -15,5 +21,7 @@ export interface SwipeListControlProps extends SwipeContainerProps {
|
|
|
15
21
|
className?: string;
|
|
16
22
|
/** @title Точки-индикаторы */
|
|
17
23
|
showDots?: boolean;
|
|
24
|
+
/** @hidden */
|
|
18
25
|
onVisibleIndicesChange?: (indices: number[]) => void;
|
|
26
|
+
listType?: SwipeListControlType;
|
|
19
27
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redneckz/wildless-cms-uni-blocks",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "ЦК",
|
|
@@ -188,7 +188,7 @@
|
|
|
188
188
|
"path": "lib/common.css"
|
|
189
189
|
},
|
|
190
190
|
{
|
|
191
|
-
"limit": "
|
|
191
|
+
"limit": "47 kB",
|
|
192
192
|
"path": "bundle/bundle.umd.min.js"
|
|
193
193
|
}
|
|
194
194
|
],
|
package/src/common.css
CHANGED
|
@@ -71,9 +71,20 @@ html {
|
|
|
71
71
|
display: flex;
|
|
72
72
|
overflow-x: scroll;
|
|
73
73
|
-webkit-overflow-scrolling: touch;
|
|
74
|
+
-webkit-scroll-snap-type: x mandatory;
|
|
75
|
+
-ms-scroll-snap-type: x mandatory;
|
|
74
76
|
scroll-snap-type: x mandatory;
|
|
75
77
|
}
|
|
76
78
|
|
|
79
|
+
.vertical-list {
|
|
80
|
+
height: 100%;
|
|
81
|
+
overflow-y: scroll;
|
|
82
|
+
-webkit-overflow-scrolling: touch;
|
|
83
|
+
-webkit-scroll-snap-type: y mandatory;
|
|
84
|
+
-ms-scroll-snap-type: y mandatory;
|
|
85
|
+
scroll-snap-type: y mandatory;
|
|
86
|
+
}
|
|
87
|
+
|
|
77
88
|
.gradient-color-text {
|
|
78
89
|
background: linear-gradient(180deg, #42ab44 0%, #f6db7d 100%);
|
|
79
90
|
-webkit-background-clip: text;
|
package/src/components/Blocks.ts
CHANGED
|
@@ -50,6 +50,7 @@ import { RichTextBlock } from './RichTextBlock/RichTextBlock';
|
|
|
50
50
|
import { RollupItem } from './RollupItem/RollupItem';
|
|
51
51
|
import { SafeDepositRental } from './SafeDepositRental/SafeDepositRental';
|
|
52
52
|
import { StepsBlock } from './StepsBlock/StepsBlock';
|
|
53
|
+
import { SwipeListControlBlock } from './SwipeListControlBlock/SwipeListControlBlock';
|
|
53
54
|
import { Tabs } from './Tabs/Tabs';
|
|
54
55
|
import { TariffsTable } from './TariffsTable/TariffsTable';
|
|
55
56
|
import { TextBlock } from './TextBlock/TextBlock';
|
|
@@ -109,6 +110,7 @@ export const Blocks: BlocksRegistry = {
|
|
|
109
110
|
RollupItem,
|
|
110
111
|
SafeDepositRental,
|
|
111
112
|
StepsBlock,
|
|
113
|
+
SwipeListControlBlock,
|
|
112
114
|
Tabs,
|
|
113
115
|
TariffsTable,
|
|
114
116
|
TextBlock,
|
|
@@ -10,20 +10,26 @@ export interface CarouselCardProps extends CarouselCardContent, UniBlockProps {}
|
|
|
10
10
|
const BLOCK_CLASSES = 'absolute border border-solid border-gray w-full h-full';
|
|
11
11
|
|
|
12
12
|
const CARD_WIDTH_MAP: Record<CarouselCardVersion, string> = {
|
|
13
|
-
normal: 'min-w-[
|
|
13
|
+
normal: 'min-w-[970px]',
|
|
14
14
|
mini: 'min-w-[355px]',
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
export const CarouselCard = JSX<CarouselCardProps>(
|
|
18
18
|
({ className = '', button, description, title, version = 'normal' }) => (
|
|
19
|
-
<section className={`flex pb-9 pl-12 ${CARD_WIDTH_MAP[version]} ${className}`}>
|
|
19
|
+
<section className={`flex pb-9 pl-12 border-box ${CARD_WIDTH_MAP[version]} ${className}`}>
|
|
20
20
|
<div className="relative w-full">
|
|
21
21
|
<div className={`${BLOCK_CLASSES} z-10 top-9 right-12 bg-green-dark`} />
|
|
22
22
|
<div className={`${BLOCK_CLASSES} z-10 top-6 right-8 bg-green`} />
|
|
23
23
|
<div className={`${BLOCK_CLASSES} z-10 top-3 right-4 bg-green-light`} />
|
|
24
|
-
<div className="relative bg-white z-10
|
|
25
|
-
<Headline
|
|
26
|
-
|
|
24
|
+
<div className="relative bg-white z-10 p-10 border border-solid border-green-light">
|
|
25
|
+
<Headline
|
|
26
|
+
className="!p-0"
|
|
27
|
+
title={title}
|
|
28
|
+
description={description}
|
|
29
|
+
headlineVersion="L"
|
|
30
|
+
align="text-left"
|
|
31
|
+
/>
|
|
32
|
+
{button ? <div className="mt-14">{renderButton({ button })}</div> : null}
|
|
27
33
|
</div>
|
|
28
34
|
</div>
|
|
29
35
|
</section>
|
|
@@ -16,7 +16,7 @@ export const CarouselProgramsCard = JSX<CarouselTariffsCardProps>(
|
|
|
16
16
|
className={`font-sans border border-gray flex min-w-[536px] ${VersionStyleMap[version]} ${className}`}
|
|
17
17
|
{...rest}
|
|
18
18
|
>
|
|
19
|
-
<div className="w-[200px] min-w-[200px] self-
|
|
19
|
+
<div className="w-[200px] min-w-[200px] self-center">
|
|
20
20
|
{icon?.icon ? <Img image={getIconWithVersion(icon)} asSVG /> : null}
|
|
21
21
|
{icon?.src ? <Img image={icon} /> : null}
|
|
22
22
|
</div>
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
{
|
|
2
|
-
"title": "Заголовок",
|
|
2
|
+
"title": "Заголовок карточки",
|
|
3
3
|
"button": {
|
|
4
4
|
"href": "",
|
|
5
5
|
"text": "Кнопка",
|
|
6
6
|
"target": "_self",
|
|
7
|
-
"version": "
|
|
7
|
+
"version": "secondary"
|
|
8
|
+
},
|
|
9
|
+
"icon": {
|
|
10
|
+
"icon": "",
|
|
11
|
+
"format": "webp",
|
|
12
|
+
"size": {
|
|
13
|
+
"width": 267,
|
|
14
|
+
"height": 73
|
|
15
|
+
}
|
|
8
16
|
},
|
|
9
17
|
"isHighlighting": false,
|
|
10
|
-
"
|
|
18
|
+
"cardCells": [
|
|
11
19
|
{
|
|
12
20
|
"title": "Ячейка 1-1",
|
|
13
21
|
"description": "Описание 1-1"
|
|
@@ -27,7 +27,7 @@ const buttonSecondary: ButtonProps = {
|
|
|
27
27
|
version: 'secondary',
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
-
const
|
|
30
|
+
const cardCells = [
|
|
31
31
|
{ title: 'Открытие расчетного счета', description: 'Бесплатно' },
|
|
32
32
|
{ title: 'Внутрибанковские платежи', description: '0 ₽' },
|
|
33
33
|
{ title: 'Внешние платежи, до 10 шт.', description: '0 ₽' },
|
|
@@ -43,14 +43,14 @@ export const TARIFFS_CARD: CarouselTariffsCardContent = {
|
|
|
43
43
|
title: 'Расчётный эконом',
|
|
44
44
|
icon: imageMonth,
|
|
45
45
|
button: buttonSecondary,
|
|
46
|
-
|
|
46
|
+
cardCells,
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
export const TARIFFS_CARD_HIT: CarouselTariffsCardContent = {
|
|
50
50
|
icon: imageMonth,
|
|
51
51
|
title: 'Расчётный эконом',
|
|
52
52
|
button,
|
|
53
|
-
|
|
53
|
+
cardCells,
|
|
54
54
|
isHighlighting: true,
|
|
55
55
|
};
|
|
56
56
|
|