@redneckz/wildless-cms-uni-blocks 0.14.209 → 0.14.210
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/bundle.umd.js +13 -14
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/CarouselLinks/ArrowIconStyles.d.ts +2 -0
- package/bundle/components/CarouselLinks/ArrowIconStyles.mobile.d.ts +2 -0
- package/bundle/components/CarouselLinks/CarouselLinkButton.d.ts +2 -2
- package/dist/components/Carousel/CarouselScrollButtons.js +1 -1
- package/dist/components/Carousel/CarouselScrollButtons.js.map +1 -1
- package/dist/components/CarouselLinks/ArrowIconStyles.d.ts +2 -0
- package/dist/components/CarouselLinks/ArrowIconStyles.js +5 -0
- package/dist/components/CarouselLinks/ArrowIconStyles.js.map +1 -0
- package/dist/components/CarouselLinks/ArrowIconStyles.mobile.d.ts +2 -0
- package/dist/components/CarouselLinks/ArrowIconStyles.mobile.js +5 -0
- package/dist/components/CarouselLinks/ArrowIconStyles.mobile.js.map +1 -0
- package/dist/components/CarouselLinks/CarouselLinkButton.d.ts +2 -2
- package/dist/components/CarouselLinks/CarouselLinkButton.js +5 -4
- package/dist/components/CarouselLinks/CarouselLinkButton.js.map +1 -1
- package/dist/components/CarouselLinks/CarouselLinks.js +4 -7
- package/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
- package/lib/common.css +1 -1
- package/lib/components/Carousel/CarouselScrollButtons.js +1 -1
- package/lib/components/Carousel/CarouselScrollButtons.js.map +1 -1
- package/lib/components/CarouselLinks/ArrowIconStyles.d.ts +2 -0
- package/lib/components/CarouselLinks/ArrowIconStyles.js +3 -0
- package/lib/components/CarouselLinks/ArrowIconStyles.js.map +1 -0
- package/lib/components/CarouselLinks/ArrowIconStyles.mobile.d.ts +2 -0
- package/lib/components/CarouselLinks/ArrowIconStyles.mobile.js +3 -0
- package/lib/components/CarouselLinks/ArrowIconStyles.mobile.js.map +1 -0
- package/lib/components/CarouselLinks/CarouselLinkButton.d.ts +2 -2
- package/lib/components/CarouselLinks/CarouselLinkButton.js +5 -4
- package/lib/components/CarouselLinks/CarouselLinkButton.js.map +1 -1
- package/lib/components/CarouselLinks/CarouselLinks.js +4 -7
- package/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +33 -29
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/CarouselLinks/ArrowIconStyles.d.ts +2 -0
- package/mobile/dist/components/Carousel/CarouselScrollButtons.js +1 -1
- package/mobile/dist/components/Carousel/CarouselScrollButtons.js.map +1 -1
- package/mobile/dist/components/CarouselLinks/ArrowIconStyles.d.ts +2 -0
- package/mobile/dist/components/CarouselLinks/ArrowIconStyles.js +5 -0
- package/mobile/dist/components/CarouselLinks/ArrowIconStyles.js.map +1 -0
- package/mobile/dist/components/CarouselLinks/CarouselLinkButton.js +5 -2
- package/mobile/dist/components/CarouselLinks/CarouselLinkButton.js.map +1 -1
- package/mobile/dist/components/CarouselLinks/CarouselLinks.js +8 -11
- package/mobile/dist/components/CarouselLinks/CarouselLinks.js.map +1 -1
- package/mobile/lib/common.css +1 -1
- package/mobile/lib/components/Carousel/CarouselScrollButtons.js +1 -1
- package/mobile/lib/components/Carousel/CarouselScrollButtons.js.map +1 -1
- package/mobile/lib/components/CarouselLinks/ArrowIconStyles.d.ts +2 -0
- package/mobile/lib/components/CarouselLinks/ArrowIconStyles.js +3 -0
- package/mobile/lib/components/CarouselLinks/ArrowIconStyles.js.map +1 -0
- package/mobile/lib/components/CarouselLinks/CarouselLinkButton.js +5 -2
- package/mobile/lib/components/CarouselLinks/CarouselLinkButton.js.map +1 -1
- package/mobile/lib/components/CarouselLinks/CarouselLinks.js +8 -11
- package/mobile/lib/components/CarouselLinks/CarouselLinks.js.map +1 -1
- package/mobile/src/components/Carousel/CarouselScrollButtons.tsx +3 -3
- package/mobile/src/components/CarouselLinks/ArrowIconStyles.ts +2 -0
- package/mobile/src/components/CarouselLinks/CarouselLinkButton.tsx +47 -19
- package/mobile/src/components/CarouselLinks/CarouselLinks.tsx +45 -55
- package/package.json +1 -1
- package/src/components/Carousel/CarouselScrollButtons.tsx +3 -3
- package/src/components/CarouselLinks/ArrowIconStyles.mobile.ts +2 -0
- package/src/components/CarouselLinks/ArrowIconStyles.ts +2 -0
- package/src/components/CarouselLinks/CarouselLinkButton.tsx +34 -18
- package/src/components/CarouselLinks/CarouselLinks.fixture.mobile.tsx +2 -2
- package/src/components/CarouselLinks/CarouselLinks.tsx +11 -14
- package/bundle/components/CarouselLinks/CarouselLinkButton.mobile.d.ts +0 -5
- package/bundle/components/CarouselLinks/CarouselLinks.mobile.d.ts +0 -5
- package/dist/components/CarouselLinks/CarouselLinkButton.mobile.d.ts +0 -5
- package/dist/components/CarouselLinks/CarouselLinkButton.mobile.js +0 -15
- package/dist/components/CarouselLinks/CarouselLinkButton.mobile.js.map +0 -1
- package/dist/components/CarouselLinks/CarouselLinks.mobile.d.ts +0 -5
- package/dist/components/CarouselLinks/CarouselLinks.mobile.js +0 -20
- package/dist/components/CarouselLinks/CarouselLinks.mobile.js.map +0 -1
- package/lib/components/CarouselLinks/CarouselLinkButton.mobile.d.ts +0 -5
- package/lib/components/CarouselLinks/CarouselLinkButton.mobile.js +0 -13
- package/lib/components/CarouselLinks/CarouselLinkButton.mobile.js.map +0 -1
- package/lib/components/CarouselLinks/CarouselLinks.mobile.d.ts +0 -5
- package/lib/components/CarouselLinks/CarouselLinks.mobile.js +0 -18
- package/lib/components/CarouselLinks/CarouselLinks.mobile.js.map +0 -1
- package/src/components/CarouselLinks/CarouselLinkButton.mobile.tsx +0 -40
- package/src/components/CarouselLinks/CarouselLinks.mobile.tsx +0 -75
|
@@ -1,75 +1,65 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { type LinkProps } from '../../model/LinkProps';
|
|
3
3
|
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
4
|
-
import { DefaultFoldButton } from '../../ui-kit/Foldable/DefaultFoldButton';
|
|
5
|
-
import { Foldable } from '../../ui-kit/Foldable/Foldable';
|
|
6
|
-
import { type FoldablePartProps } from '../../ui-kit/Foldable/FoldablePartProps';
|
|
7
|
-
import { FoldableSection } from '../../ui-kit/Foldable/FoldableSection';
|
|
8
4
|
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
5
|
+
import { style } from '../../utils/style';
|
|
6
|
+
import { Carousel } from '../Carousel/Carousel';
|
|
9
7
|
import { Headline } from '../Headline/Headline';
|
|
10
8
|
import { CarouselLinkButton } from './CarouselLinkButton';
|
|
11
9
|
import { type CarouselLinksContent } from './CarouselLinksContent';
|
|
10
|
+
// import { MAX_LINKS_COUNT } from './maxLinksCount';
|
|
12
11
|
|
|
13
12
|
export interface CarouselLinksProps extends CarouselLinksContent, UniBlockProps {}
|
|
14
13
|
|
|
15
14
|
export const CarouselLinks = JSX<CarouselLinksProps>(
|
|
16
|
-
({ className, additionalDescription, description, links
|
|
17
|
-
<BlockWrapper className={className} {...rest}>
|
|
18
|
-
<div>
|
|
19
|
-
<
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
15
|
+
({ className, additionalDescription, description, links, title, ...rest }) => (
|
|
16
|
+
<BlockWrapper defaultPadding="p-5xl" className={style('overflow-hidden', className)} {...rest}>
|
|
17
|
+
<div className="flex flex-col m:flex-row gap-s justify-between">
|
|
18
|
+
<div className="w-full m:w-1/3">
|
|
19
|
+
<Headline
|
|
20
|
+
isEmbedded={true}
|
|
21
|
+
title={title}
|
|
22
|
+
description={description}
|
|
23
|
+
as="h1"
|
|
24
|
+
align="text-left"
|
|
25
|
+
/>
|
|
26
|
+
<Headline
|
|
27
|
+
className="pt-m"
|
|
28
|
+
description={additionalDescription}
|
|
29
|
+
align="text-left"
|
|
30
|
+
isEmbedded={true}
|
|
31
|
+
/>
|
|
32
|
+
</div>
|
|
33
|
+
{links?.length ? renderLinks(links, 'm:justify-self-end m:pt-s w-full m:w-2/3') : null}
|
|
32
34
|
</div>
|
|
33
|
-
{links?.length ? renderLinks(links) : null}
|
|
34
35
|
</BlockWrapper>
|
|
35
36
|
),
|
|
36
37
|
);
|
|
37
38
|
|
|
38
|
-
const renderLinks = (links: LinkProps[],
|
|
39
|
-
const
|
|
40
|
-
<CarouselLinkButton key={String(index)} {...link} />
|
|
41
|
-
));
|
|
42
|
-
|
|
43
|
-
const [visibleLinks, hiddenLinks] =
|
|
44
|
-
visibleLinksNum > 0
|
|
45
|
-
? [carouselLinks.slice(0, visibleLinksNum), carouselLinks.slice(visibleLinksNum)]
|
|
46
|
-
: [carouselLinks, []];
|
|
39
|
+
const renderLinks = (links: LinkProps[], className = '') => {
|
|
40
|
+
const itemCount = Math.ceil(links.length / 3);
|
|
47
41
|
|
|
48
42
|
return (
|
|
49
|
-
<
|
|
50
|
-
{
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
43
|
+
<Carousel
|
|
44
|
+
className={className}
|
|
45
|
+
version="secondary"
|
|
46
|
+
itemCount={itemCount}
|
|
47
|
+
arrowsPadded={false}
|
|
48
|
+
padding="p-0"
|
|
49
|
+
visibleItemCount={0}
|
|
50
|
+
>
|
|
51
|
+
{Array.from({ length: itemCount })
|
|
52
|
+
.fill(null)
|
|
53
|
+
.map((_, groupIndex) => (
|
|
54
|
+
<div
|
|
55
|
+
key={String(groupIndex)}
|
|
56
|
+
className={style('flex flex-wrap gap-2xs m:justify-center')}
|
|
57
|
+
>
|
|
58
|
+
{links.slice(groupIndex * 3, (groupIndex + 1) * 3).map((link, index) => (
|
|
59
|
+
<CarouselLinkButton key={String(index)} {...link} />
|
|
60
|
+
))}
|
|
61
|
+
</div>
|
|
62
|
+
))}
|
|
63
|
+
</Carousel>
|
|
64
64
|
);
|
|
65
65
|
};
|
|
66
|
-
|
|
67
|
-
const renderFoldButton = ({ isUnfolded, onToggle }: FoldablePartProps) =>
|
|
68
|
-
isUnfolded ? null : (
|
|
69
|
-
<DefaultFoldButton
|
|
70
|
-
className="border-t-main-divider/50"
|
|
71
|
-
icon="PlusIcon"
|
|
72
|
-
label="Показать еще"
|
|
73
|
-
onClick={onToggle}
|
|
74
|
-
/>
|
|
75
|
-
);
|
package/package.json
CHANGED
|
@@ -51,17 +51,17 @@ export const CarouselScrollButtons = JSX<CarouselScrollButtonsProps>(
|
|
|
51
51
|
}, [scrollRight, onScrollRight, hasEdgeBlocks, canScrollLeft, activeIndex, itemCount]);
|
|
52
52
|
|
|
53
53
|
return (
|
|
54
|
-
<div className="hidden
|
|
54
|
+
<div className="m:hidden block">
|
|
55
55
|
{renderBlur(scroll)}
|
|
56
56
|
{canMoveLeft ? (
|
|
57
57
|
<ScrollLeftButton
|
|
58
|
-
className={style(scrollButtonStyle, arrowsPadded ? 'left-1
|
|
58
|
+
className={style(scrollButtonStyle, arrowsPadded ? 'left-1 m:left-8' : 'left-0')}
|
|
59
59
|
onClick={handleScrollLeft}
|
|
60
60
|
/>
|
|
61
61
|
) : null}
|
|
62
62
|
{canMoveRight ? (
|
|
63
63
|
<ScrollRightButton
|
|
64
|
-
className={style(scrollButtonStyle, arrowsPadded ? 'right-1
|
|
64
|
+
className={style(scrollButtonStyle, arrowsPadded ? 'right-1 m:right-8' : 'right-0')}
|
|
65
65
|
onClick={handleScrollRight}
|
|
66
66
|
/>
|
|
67
67
|
) : null}
|
|
@@ -1,50 +1,66 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useLink } from '../../hooks/useLink';
|
|
3
|
-
import { type LinkProps } from '../../model/LinkProps';
|
|
4
3
|
import { Img } from '../../ui-kit/Img/Img';
|
|
5
4
|
import { Text } from '../../ui-kit/Text/Text';
|
|
6
5
|
import { style } from '../../utils/style';
|
|
6
|
+
import { IconSize, IconVersion } from './ArrowIconStyles';
|
|
7
|
+
import { type CarouselLinkProps } from './CarouselLinksContent';
|
|
7
8
|
|
|
8
9
|
const LINK_CLASS_NAME = `absolute border
|
|
9
|
-
bg-white flex justify-between group-hover/link:text-primary-main`;
|
|
10
|
+
bg-white flex items-center justify-between group-hover/link:text-primary-main`;
|
|
10
11
|
|
|
11
|
-
const LINK_BORDER_CLASS_NAME = '
|
|
12
|
+
const LINK_BORDER_CLASS_NAME = 'absolute w-full h-full border border-white';
|
|
12
13
|
|
|
13
|
-
export type CarouselLinkButtonProps =
|
|
14
|
+
export type CarouselLinkButtonProps = CarouselLinkProps & {
|
|
14
15
|
className?: string;
|
|
15
16
|
};
|
|
16
17
|
|
|
17
18
|
export const CarouselLinkButton = JSX<CarouselLinkButtonProps>(
|
|
18
|
-
({ className = '', ...linkProps }) => {
|
|
19
|
+
({ className = '', icon, ...linkProps }) => {
|
|
19
20
|
const link = useLink();
|
|
20
21
|
const { text, href, target, onClick } = link(linkProps);
|
|
21
22
|
|
|
22
23
|
return text ? (
|
|
23
|
-
<div
|
|
24
|
-
|
|
24
|
+
<div
|
|
25
|
+
className={style(
|
|
26
|
+
'flex relative group/link pl-s pb-s sm:pr-2xs min-w-64 sm:min-w-72',
|
|
27
|
+
className,
|
|
28
|
+
)}
|
|
29
|
+
>
|
|
30
|
+
<div className="relative min-h-16 w-full pb-lg sm:pb-0">
|
|
25
31
|
<a
|
|
26
32
|
className={style(
|
|
27
33
|
LINK_CLASS_NAME,
|
|
28
|
-
'rounded-md lg:rounded-none w-full p-lg whitespace-nowrap z-10',
|
|
34
|
+
'flex rounded-md lg:rounded-none w-full w-full p-lg whitespace-nowrap z-10',
|
|
29
35
|
)}
|
|
30
36
|
role="link"
|
|
31
37
|
href={href}
|
|
32
38
|
target={target}
|
|
33
39
|
onClick={onClick}
|
|
34
40
|
>
|
|
35
|
-
<
|
|
36
|
-
{
|
|
37
|
-
|
|
41
|
+
<div className="flex items-center space-x-lg">
|
|
42
|
+
{icon ? (
|
|
43
|
+
<Img
|
|
44
|
+
imageClassName="text-green-dark"
|
|
45
|
+
image={icon}
|
|
46
|
+
width={IconSize}
|
|
47
|
+
height={IconSize}
|
|
48
|
+
/>
|
|
49
|
+
) : null}
|
|
50
|
+
<Text size="text-l" font="font-light" color="text-primary-text">
|
|
51
|
+
{text}
|
|
52
|
+
</Text>
|
|
53
|
+
</div>
|
|
38
54
|
<Img
|
|
39
|
-
className="group-hover/link:brightness-100
|
|
40
|
-
image={{ icon: 'ArrowRightIcon', iconVersion:
|
|
41
|
-
imageClassName="group-hover/link:text-primary-main
|
|
42
|
-
width=
|
|
43
|
-
height=
|
|
55
|
+
className="group-hover/link:brightness-100 sm:ml-2xs"
|
|
56
|
+
image={{ icon: 'ArrowRightIcon', iconVersion: IconVersion }}
|
|
57
|
+
imageClassName="group-hover/link:text-primary-main"
|
|
58
|
+
width={IconSize}
|
|
59
|
+
height={IconSize}
|
|
44
60
|
/>
|
|
45
61
|
</a>
|
|
46
|
-
<div className={style(LINK_BORDER_CLASS_NAME, '-bottom-1
|
|
47
|
-
<div className={style(LINK_BORDER_CLASS_NAME, '-bottom-
|
|
62
|
+
<div className={style(LINK_BORDER_CLASS_NAME, '-bottom-1 -left-1')} />
|
|
63
|
+
<div className={style(LINK_BORDER_CLASS_NAME, '-bottom-2 -left-2')} />
|
|
48
64
|
</div>
|
|
49
65
|
</div>
|
|
50
66
|
) : null;
|
|
@@ -25,7 +25,7 @@ const links = [
|
|
|
25
25
|
icon: { icon: 'BriefcaseIcon' },
|
|
26
26
|
},
|
|
27
27
|
{
|
|
28
|
-
text: '
|
|
28
|
+
text: 'Меры безопасности',
|
|
29
29
|
href: '#',
|
|
30
30
|
icon: { icon: 'ShieldTickIcon' },
|
|
31
31
|
},
|
|
@@ -55,7 +55,7 @@ const links = [
|
|
|
55
55
|
icon: { icon: 'ChartRoundIcon' },
|
|
56
56
|
},
|
|
57
57
|
{
|
|
58
|
-
text: '
|
|
58
|
+
text: 'Меры безопасности',
|
|
59
59
|
href: '#',
|
|
60
60
|
icon: { icon: 'CopyIcon' },
|
|
61
61
|
},
|
|
@@ -7,15 +7,15 @@ import { Carousel } from '../Carousel/Carousel';
|
|
|
7
7
|
import { Headline } from '../Headline/Headline';
|
|
8
8
|
import { CarouselLinkButton } from './CarouselLinkButton';
|
|
9
9
|
import { type CarouselLinksContent } from './CarouselLinksContent';
|
|
10
|
-
import { MAX_LINKS_COUNT } from './maxLinksCount';
|
|
10
|
+
// import { MAX_LINKS_COUNT } from './maxLinksCount';
|
|
11
11
|
|
|
12
12
|
export interface CarouselLinksProps extends CarouselLinksContent, UniBlockProps {}
|
|
13
13
|
|
|
14
14
|
export const CarouselLinks = JSX<CarouselLinksProps>(
|
|
15
15
|
({ className, additionalDescription, description, links, title, ...rest }) => (
|
|
16
|
-
<BlockWrapper className={style('overflow-hidden', className)} {...rest}>
|
|
17
|
-
<div className="flex flex-col
|
|
18
|
-
<div>
|
|
16
|
+
<BlockWrapper defaultPadding="p-5xl" className={style('overflow-hidden', className)} {...rest}>
|
|
17
|
+
<div className="flex flex-col m:flex-row gap-s justify-between">
|
|
18
|
+
<div className="w-full m:w-1/3">
|
|
19
19
|
<Headline
|
|
20
20
|
isEmbedded={true}
|
|
21
21
|
title={title}
|
|
@@ -30,14 +30,14 @@ export const CarouselLinks = JSX<CarouselLinksProps>(
|
|
|
30
30
|
isEmbedded={true}
|
|
31
31
|
/>
|
|
32
32
|
</div>
|
|
33
|
-
{links?.length ? renderLinks(links, '
|
|
33
|
+
{links?.length ? renderLinks(links, 'm:justify-self-end m:pt-s w-full m:w-2/3') : null}
|
|
34
34
|
</div>
|
|
35
35
|
</BlockWrapper>
|
|
36
36
|
),
|
|
37
37
|
);
|
|
38
38
|
|
|
39
39
|
const renderLinks = (links: LinkProps[], className = '') => {
|
|
40
|
-
const itemCount = Math.ceil(links.length /
|
|
40
|
+
const itemCount = Math.ceil(links.length / 3);
|
|
41
41
|
|
|
42
42
|
return (
|
|
43
43
|
<Carousel
|
|
@@ -46,21 +46,18 @@ const renderLinks = (links: LinkProps[], className = '') => {
|
|
|
46
46
|
itemCount={itemCount}
|
|
47
47
|
arrowsPadded={false}
|
|
48
48
|
padding="p-0"
|
|
49
|
+
visibleItemCount={0}
|
|
49
50
|
>
|
|
50
51
|
{Array.from({ length: itemCount })
|
|
51
52
|
.fill(null)
|
|
52
53
|
.map((_, groupIndex) => (
|
|
53
54
|
<div
|
|
54
55
|
key={String(groupIndex)}
|
|
55
|
-
className={style(
|
|
56
|
-
'flex flex-wrap gap-2xs self-start xl:justify-center @5xl:grid @5xl:grid-cols-2',
|
|
57
|
-
)}
|
|
56
|
+
className={style('flex flex-wrap gap-2xs m:justify-center')}
|
|
58
57
|
>
|
|
59
|
-
{links
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
<CarouselLinkButton key={String(index)} {...link} />
|
|
63
|
-
))}
|
|
58
|
+
{links.slice(groupIndex * 3, (groupIndex + 1) * 3).map((link, index) => (
|
|
59
|
+
<CarouselLinkButton key={String(index)} {...link} />
|
|
60
|
+
))}
|
|
64
61
|
</div>
|
|
65
62
|
))}
|
|
66
63
|
</Carousel>
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type CarouselLinkProps } from './CarouselLinksContent';
|
|
2
|
-
export declare type CarouselLinkButtonProps = CarouselLinkProps & {
|
|
3
|
-
className?: string;
|
|
4
|
-
};
|
|
5
|
-
export declare const CarouselLinkButton: import("@redneckz/uni-jsx").UNIComponent<CarouselLinkButtonProps, any, any>;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
2
|
-
import { type CarouselLinksContent } from './CarouselLinksContent';
|
|
3
|
-
export interface CarouselLinksProps extends CarouselLinksContent, UniBlockProps {
|
|
4
|
-
}
|
|
5
|
-
export declare const CarouselLinks: import("@redneckz/uni-jsx").UNIComponent<CarouselLinksProps, any, any>;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type CarouselLinkProps } from './CarouselLinksContent';
|
|
2
|
-
export declare type CarouselLinkButtonProps = CarouselLinkProps & {
|
|
3
|
-
className?: string;
|
|
4
|
-
};
|
|
5
|
-
export declare const CarouselLinkButton: import("@redneckz/uni-jsx").UNIComponent<CarouselLinkButtonProps, any, any>;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.CarouselLinkButton = void 0;
|
|
3
|
-
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
|
-
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
|
-
const useLink_1 = require("../../hooks/useLink");
|
|
6
|
-
const Icon_1 = require("../../ui-kit/Icon/Icon");
|
|
7
|
-
const Img_1 = require("../../ui-kit/Img/Img");
|
|
8
|
-
const Text_1 = require("../../ui-kit/Text/Text");
|
|
9
|
-
const style_1 = require("../../utils/style");
|
|
10
|
-
exports.CarouselLinkButton = (0, uni_jsx_1.JSX)(({ className = '', icon, ...linkProps }) => {
|
|
11
|
-
const link = (0, useLink_1.useLink)();
|
|
12
|
-
const { text, href, target, onClick } = link(linkProps);
|
|
13
|
-
return text ? ((0, jsx_runtime_1.jsx)("div", { className: (0, style_1.style)('w-full pb-lg', className), children: (0, jsx_runtime_1.jsxs)("a", { className: "bg-white flex justify-between rounded-md w-full p-lg whitespace-nowrap", role: "link", href: href, target: target, onClick: onClick, children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center space-x-lg", children: [icon ? ((0, jsx_runtime_1.jsx)(Img_1.Img, { imageClassName: "text-green-dark", image: icon, width: "20", height: "20" })) : null, (0, jsx_runtime_1.jsx)(Text_1.Text, { size: "text-l", font: "font-light", color: "text-primary-text", children: text })] }), (0, jsx_runtime_1.jsx)(Icon_1.Icon, { className: "text-green", name: "ArrowRightIcon", width: "20", height: "20" })] }) })) : null;
|
|
14
|
-
});
|
|
15
|
-
//# sourceMappingURL=CarouselLinkButton.mobile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CarouselLinkButton.mobile.js","sourceRoot":"","sources":["../../../src/components/CarouselLinks/CarouselLinkButton.mobile.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,iDAA8C;AAC9C,iDAA8C;AAC9C,8CAA2C;AAC3C,iDAA8C;AAC9C,6CAA0C;AAO7B,QAAA,kBAAkB,GAAG,IAAA,aAAG,EACnC,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;IACzC,MAAM,IAAI,GAAG,IAAA,iBAAO,GAAE,CAAC;IACvB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAExD,OAAO,IAAI,CAAC,CAAC,CAAC,CACZ,gCAAK,SAAS,EAAE,IAAA,aAAK,EAAC,cAAc,EAAE,SAAS,CAAC,YAC9C,+BACE,SAAS,EAAC,wEAAwE,EAClF,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,aAEhB,iCAAK,SAAS,EAAC,8BAA8B,aAC1C,IAAI,CAAC,CAAC,CAAC,CACN,uBAAC,SAAG,IAAC,cAAc,EAAC,iBAAiB,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG,CAC7E,CAAC,CAAC,CAAC,IAAI,EACR,uBAAC,WAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,mBAAmB,YAC5D,IAAI,GACA,IACH,EACN,uBAAC,WAAI,IAAC,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG,IAC1E,GACA,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CACF,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
2
|
-
import { type CarouselLinksContent } from './CarouselLinksContent';
|
|
3
|
-
export interface CarouselLinksProps extends CarouselLinksContent, UniBlockProps {
|
|
4
|
-
}
|
|
5
|
-
export declare const CarouselLinks: import("@redneckz/uni-jsx").UNIComponent<CarouselLinksProps, any, any>;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.CarouselLinks = void 0;
|
|
3
|
-
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
|
-
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
|
-
const BlockWrapper_1 = require("../../ui-kit/BlockWrapper");
|
|
6
|
-
const DefaultFoldButton_1 = require("../../ui-kit/Foldable/DefaultFoldButton");
|
|
7
|
-
const Foldable_1 = require("../../ui-kit/Foldable/Foldable");
|
|
8
|
-
const FoldableSection_1 = require("../../ui-kit/Foldable/FoldableSection");
|
|
9
|
-
const Headline_1 = require("../Headline/Headline");
|
|
10
|
-
const CarouselLinkButton_1 = require("./CarouselLinkButton");
|
|
11
|
-
exports.CarouselLinks = (0, uni_jsx_1.JSX)(({ className, additionalDescription, description, links = [], title, ...rest }) => ((0, jsx_runtime_1.jsxs)(BlockWrapper_1.BlockWrapper, { className: className, ...rest, children: [(0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(Headline_1.Headline, { isEmbedded: true, title: title, description: description, as: "h1", align: "text-left" }), (0, jsx_runtime_1.jsx)(Headline_1.Headline, { className: "pt-m", description: additionalDescription, align: "text-left", isEmbedded: true })] }), links?.length ? renderLinks(links) : null] })));
|
|
12
|
-
const renderLinks = (links, visibleLinksNum = 3) => {
|
|
13
|
-
const carouselLinks = (links || []).map((link, index) => ((0, jsx_runtime_1.jsx)(CarouselLinkButton_1.CarouselLinkButton, { ...link }, String(index))));
|
|
14
|
-
const [visibleLinks, hiddenLinks] = visibleLinksNum > 0
|
|
15
|
-
? [carouselLinks.slice(0, visibleLinksNum), carouselLinks.slice(visibleLinksNum)]
|
|
16
|
-
: [carouselLinks, []];
|
|
17
|
-
return ((0, jsx_runtime_1.jsx)("div", { className: "mt-4xl", children: hiddenLinks.length > 0 ? ((0, jsx_runtime_1.jsx)(Foldable_1.Foldable, { renderFoldableSection: ({ isUnfolded }) => ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("div", { className: "mb-1", children: visibleLinks }), (0, jsx_runtime_1.jsx)(FoldableSection_1.FoldableSection, { isUnfolded: isUnfolded, children: hiddenLinks })] })), renderFoldButton: renderFoldButton })) : ((0, jsx_runtime_1.jsx)("div", { children: visibleLinks })) }));
|
|
18
|
-
};
|
|
19
|
-
const renderFoldButton = ({ isUnfolded, onToggle }) => isUnfolded ? null : ((0, jsx_runtime_1.jsx)(DefaultFoldButton_1.DefaultFoldButton, { className: "border-t-main-divider/50", icon: "PlusIcon", label: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0435", onClick: onToggle }));
|
|
20
|
-
//# sourceMappingURL=CarouselLinks.mobile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CarouselLinks.mobile.js","sourceRoot":"","sources":["../../../src/components/CarouselLinks/CarouselLinks.mobile.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AAExC,4DAAyD;AACzD,+EAA4E;AAC5E,6DAA0D;AAE1D,2EAAwE;AAExE,mDAAgD;AAChD,6DAA0D;AAK7C,QAAA,aAAa,GAAG,IAAA,aAAG,EAC9B,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,WAAW,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CACjF,wBAAC,2BAAY,IAAC,SAAS,EAAE,SAAS,KAAM,IAAI,aAC1C,4CACE,uBAAC,mBAAQ,IACP,UAAU,EAAE,IAAI,EAChB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,EAAE,EAAC,IAAI,EACP,KAAK,EAAC,WAAW,GACjB,EACF,uBAAC,mBAAQ,IACP,SAAS,EAAC,MAAM,EAChB,WAAW,EAAE,qBAAqB,EAClC,KAAK,EAAC,WAAW,EACjB,UAAU,EAAE,IAAI,GAChB,IACE,EACL,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAC7B,CAChB,CACF,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAkB,EAAE,eAAe,GAAG,CAAC,EAAE,EAAE;IAC9D,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACvD,uBAAC,uCAAkB,OAAyB,IAAI,IAAvB,MAAM,CAAC,KAAK,CAAC,CAAc,CACrD,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,GAC/B,eAAe,GAAG,CAAC;QACjB,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAE1B,OAAO,CACL,gCAAK,SAAS,EAAC,QAAQ,YACpB,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACxB,uBAAC,mBAAQ,IACP,qBAAqB,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CACzC,4CACE,gCAAK,SAAS,EAAC,MAAM,YAAE,YAAY,GAAO,EAC1C,uBAAC,iCAAe,IAAC,UAAU,EAAE,UAAU,YAAG,WAAW,GAAmB,IACpE,CACP,EACD,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CAAC,CAAC,CAAC,CACF,0CAAM,YAAY,GAAO,CAC1B,GACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAqB,EAAE,EAAE,CACvE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAClB,uBAAC,qCAAiB,IAChB,SAAS,EAAC,0BAA0B,EACpC,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,qEAAc,EACpB,OAAO,EAAE,QAAQ,GACjB,CACH,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type CarouselLinkProps } from './CarouselLinksContent';
|
|
2
|
-
export declare type CarouselLinkButtonProps = CarouselLinkProps & {
|
|
3
|
-
className?: string;
|
|
4
|
-
};
|
|
5
|
-
export declare const CarouselLinkButton: import("@redneckz/uni-jsx").UNIComponent<CarouselLinkButtonProps, any, any>;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
|
-
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
-
import { useLink } from '../../hooks/useLink.js';
|
|
4
|
-
import { Icon } from '../../ui-kit/Icon/Icon.js';
|
|
5
|
-
import { Img } from '../../ui-kit/Img/Img.js';
|
|
6
|
-
import { Text } from '../../ui-kit/Text/Text.js';
|
|
7
|
-
import { style } from '../../utils/style.js';
|
|
8
|
-
export const CarouselLinkButton = JSX(({ className = '', icon, ...linkProps }) => {
|
|
9
|
-
const link = useLink();
|
|
10
|
-
const { text, href, target, onClick } = link(linkProps);
|
|
11
|
-
return text ? (_jsx("div", { className: style('w-full pb-lg', className), children: _jsxs("a", { className: "bg-white flex justify-between rounded-md w-full p-lg whitespace-nowrap", role: "link", href: href, target: target, onClick: onClick, children: [_jsxs("div", { className: "flex items-center space-x-lg", children: [icon ? (_jsx(Img, { imageClassName: "text-green-dark", image: icon, width: "20", height: "20" })) : null, _jsx(Text, { size: "text-l", font: "font-light", color: "text-primary-text", children: text })] }), _jsx(Icon, { className: "text-green", name: "ArrowRightIcon", width: "20", height: "20" })] }) })) : null;
|
|
12
|
-
});
|
|
13
|
-
//# sourceMappingURL=CarouselLinkButton.mobile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CarouselLinkButton.mobile.js","sourceRoot":"","sources":["../../../src/components/CarouselLinks/CarouselLinkButton.mobile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAO1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CACnC,CAAC,EAAE,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;IACzC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAExD,OAAO,IAAI,CAAC,CAAC,CAAC,CACZ,cAAK,SAAS,EAAE,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC,YAC9C,aACE,SAAS,EAAC,wEAAwE,EAClF,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,aAEhB,eAAK,SAAS,EAAC,8BAA8B,aAC1C,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,GAAG,IAAC,cAAc,EAAC,iBAAiB,EAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG,CAC7E,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,IAAI,EAAC,YAAY,EAAC,KAAK,EAAC,mBAAmB,YAC5D,IAAI,GACA,IACH,EACN,KAAC,IAAI,IAAC,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,gBAAgB,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG,IAC1E,GACA,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CACF,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
2
|
-
import { type CarouselLinksContent } from './CarouselLinksContent';
|
|
3
|
-
export interface CarouselLinksProps extends CarouselLinksContent, UniBlockProps {
|
|
4
|
-
}
|
|
5
|
-
export declare const CarouselLinks: import("@redneckz/uni-jsx").UNIComponent<CarouselLinksProps, any, any>;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
|
-
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
-
import { BlockWrapper } from '../../ui-kit/BlockWrapper.js';
|
|
4
|
-
import { DefaultFoldButton } from '../../ui-kit/Foldable/DefaultFoldButton.js';
|
|
5
|
-
import { Foldable } from '../../ui-kit/Foldable/Foldable.js';
|
|
6
|
-
import { FoldableSection } from '../../ui-kit/Foldable/FoldableSection.js';
|
|
7
|
-
import { Headline } from '../Headline/Headline.js';
|
|
8
|
-
import { CarouselLinkButton } from './CarouselLinkButton.js';
|
|
9
|
-
export const CarouselLinks = JSX(({ className, additionalDescription, description, links = [], title, ...rest }) => (_jsxs(BlockWrapper, { className: className, ...rest, children: [_jsxs("div", { children: [_jsx(Headline, { isEmbedded: true, title: title, description: description, as: "h1", align: "text-left" }), _jsx(Headline, { className: "pt-m", description: additionalDescription, align: "text-left", isEmbedded: true })] }), links?.length ? renderLinks(links) : null] })));
|
|
10
|
-
const renderLinks = (links, visibleLinksNum = 3) => {
|
|
11
|
-
const carouselLinks = (links || []).map((link, index) => (_jsx(CarouselLinkButton, { ...link }, String(index))));
|
|
12
|
-
const [visibleLinks, hiddenLinks] = visibleLinksNum > 0
|
|
13
|
-
? [carouselLinks.slice(0, visibleLinksNum), carouselLinks.slice(visibleLinksNum)]
|
|
14
|
-
: [carouselLinks, []];
|
|
15
|
-
return (_jsx("div", { className: "mt-4xl", children: hiddenLinks.length > 0 ? (_jsx(Foldable, { renderFoldableSection: ({ isUnfolded }) => (_jsxs("div", { children: [_jsx("div", { className: "mb-1", children: visibleLinks }), _jsx(FoldableSection, { isUnfolded: isUnfolded, children: hiddenLinks })] })), renderFoldButton: renderFoldButton })) : (_jsx("div", { children: visibleLinks })) }));
|
|
16
|
-
};
|
|
17
|
-
const renderFoldButton = ({ isUnfolded, onToggle }) => isUnfolded ? null : (_jsx(DefaultFoldButton, { className: "border-t-main-divider/50", icon: "PlusIcon", label: "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0435\u0449\u0435", onClick: onToggle }));
|
|
18
|
-
//# sourceMappingURL=CarouselLinks.mobile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CarouselLinks.mobile.js","sourceRoot":"","sources":["../../../src/components/CarouselLinks/CarouselLinks.mobile.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK1D,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAC9B,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,WAAW,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CACjF,MAAC,YAAY,IAAC,SAAS,EAAE,SAAS,KAAM,IAAI,aAC1C,0BACE,KAAC,QAAQ,IACP,UAAU,EAAE,IAAI,EAChB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,EAAE,EAAC,IAAI,EACP,KAAK,EAAC,WAAW,GACjB,EACF,KAAC,QAAQ,IACP,SAAS,EAAC,MAAM,EAChB,WAAW,EAAE,qBAAqB,EAClC,KAAK,EAAC,WAAW,EACjB,UAAU,EAAE,IAAI,GAChB,IACE,EACL,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAC7B,CAChB,CACF,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAkB,EAAE,eAAe,GAAG,CAAC,EAAE,EAAE;IAC9D,MAAM,aAAa,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACvD,KAAC,kBAAkB,OAAyB,IAAI,IAAvB,MAAM,CAAC,KAAK,CAAC,CAAc,CACrD,CAAC,CAAC;IAEH,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,GAC/B,eAAe,GAAG,CAAC;QACjB,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAE1B,OAAO,CACL,cAAK,SAAS,EAAC,QAAQ,YACpB,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACxB,KAAC,QAAQ,IACP,qBAAqB,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CACzC,0BACE,cAAK,SAAS,EAAC,MAAM,YAAE,YAAY,GAAO,EAC1C,KAAC,eAAe,IAAC,UAAU,EAAE,UAAU,YAAG,WAAW,GAAmB,IACpE,CACP,EACD,gBAAgB,EAAE,gBAAgB,GAClC,CACH,CAAC,CAAC,CAAC,CACF,wBAAM,YAAY,GAAO,CAC1B,GACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAqB,EAAE,EAAE,CACvE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAClB,KAAC,iBAAiB,IAChB,SAAS,EAAC,0BAA0B,EACpC,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,qEAAc,EACpB,OAAO,EAAE,QAAQ,GACjB,CACH,CAAC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useLink } from '../../hooks/useLink';
|
|
3
|
-
import { Icon } from '../../ui-kit/Icon/Icon';
|
|
4
|
-
import { Img } from '../../ui-kit/Img/Img';
|
|
5
|
-
import { Text } from '../../ui-kit/Text/Text';
|
|
6
|
-
import { style } from '../../utils/style';
|
|
7
|
-
import { type CarouselLinkProps } from './CarouselLinksContent';
|
|
8
|
-
|
|
9
|
-
export type CarouselLinkButtonProps = CarouselLinkProps & {
|
|
10
|
-
className?: string;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export const CarouselLinkButton = JSX<CarouselLinkButtonProps>(
|
|
14
|
-
({ className = '', icon, ...linkProps }) => {
|
|
15
|
-
const link = useLink();
|
|
16
|
-
const { text, href, target, onClick } = link(linkProps);
|
|
17
|
-
|
|
18
|
-
return text ? (
|
|
19
|
-
<div className={style('w-full pb-lg', className)}>
|
|
20
|
-
<a
|
|
21
|
-
className="bg-white flex justify-between rounded-md w-full p-lg whitespace-nowrap"
|
|
22
|
-
role="link"
|
|
23
|
-
href={href}
|
|
24
|
-
target={target}
|
|
25
|
-
onClick={onClick}
|
|
26
|
-
>
|
|
27
|
-
<div className="flex items-center space-x-lg">
|
|
28
|
-
{icon ? (
|
|
29
|
-
<Img imageClassName="text-green-dark" image={icon} width="20" height="20" />
|
|
30
|
-
) : null}
|
|
31
|
-
<Text size="text-l" font="font-light" color="text-primary-text">
|
|
32
|
-
{text}
|
|
33
|
-
</Text>
|
|
34
|
-
</div>
|
|
35
|
-
<Icon className="text-green" name="ArrowRightIcon" width="20" height="20" />
|
|
36
|
-
</a>
|
|
37
|
-
</div>
|
|
38
|
-
) : null;
|
|
39
|
-
},
|
|
40
|
-
);
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { type LinkProps } from '../../model/LinkProps';
|
|
3
|
-
import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
4
|
-
import { DefaultFoldButton } from '../../ui-kit/Foldable/DefaultFoldButton';
|
|
5
|
-
import { Foldable } from '../../ui-kit/Foldable/Foldable';
|
|
6
|
-
import { type FoldablePartProps } from '../../ui-kit/Foldable/FoldablePartProps';
|
|
7
|
-
import { FoldableSection } from '../../ui-kit/Foldable/FoldableSection';
|
|
8
|
-
import { type UniBlockProps } from '../../UniBlock/UniBlockProps';
|
|
9
|
-
import { Headline } from '../Headline/Headline';
|
|
10
|
-
import { CarouselLinkButton } from './CarouselLinkButton';
|
|
11
|
-
import { type CarouselLinksContent } from './CarouselLinksContent';
|
|
12
|
-
|
|
13
|
-
export interface CarouselLinksProps extends CarouselLinksContent, UniBlockProps {}
|
|
14
|
-
|
|
15
|
-
export const CarouselLinks = JSX<CarouselLinksProps>(
|
|
16
|
-
({ className, additionalDescription, description, links = [], title, ...rest }) => (
|
|
17
|
-
<BlockWrapper className={className} {...rest}>
|
|
18
|
-
<div>
|
|
19
|
-
<Headline
|
|
20
|
-
isEmbedded={true}
|
|
21
|
-
title={title}
|
|
22
|
-
description={description}
|
|
23
|
-
as="h1"
|
|
24
|
-
align="text-left"
|
|
25
|
-
/>
|
|
26
|
-
<Headline
|
|
27
|
-
className="pt-m"
|
|
28
|
-
description={additionalDescription}
|
|
29
|
-
align="text-left"
|
|
30
|
-
isEmbedded={true}
|
|
31
|
-
/>
|
|
32
|
-
</div>
|
|
33
|
-
{links?.length ? renderLinks(links) : null}
|
|
34
|
-
</BlockWrapper>
|
|
35
|
-
),
|
|
36
|
-
);
|
|
37
|
-
|
|
38
|
-
const renderLinks = (links: LinkProps[], visibleLinksNum = 3) => {
|
|
39
|
-
const carouselLinks = (links || []).map((link, index) => (
|
|
40
|
-
<CarouselLinkButton key={String(index)} {...link} />
|
|
41
|
-
));
|
|
42
|
-
|
|
43
|
-
const [visibleLinks, hiddenLinks] =
|
|
44
|
-
visibleLinksNum > 0
|
|
45
|
-
? [carouselLinks.slice(0, visibleLinksNum), carouselLinks.slice(visibleLinksNum)]
|
|
46
|
-
: [carouselLinks, []];
|
|
47
|
-
|
|
48
|
-
return (
|
|
49
|
-
<div className="mt-4xl">
|
|
50
|
-
{hiddenLinks.length > 0 ? (
|
|
51
|
-
<Foldable
|
|
52
|
-
renderFoldableSection={({ isUnfolded }) => (
|
|
53
|
-
<div>
|
|
54
|
-
<div className="mb-1">{visibleLinks}</div>
|
|
55
|
-
<FoldableSection isUnfolded={isUnfolded}>{hiddenLinks}</FoldableSection>
|
|
56
|
-
</div>
|
|
57
|
-
)}
|
|
58
|
-
renderFoldButton={renderFoldButton}
|
|
59
|
-
/>
|
|
60
|
-
) : (
|
|
61
|
-
<div>{visibleLinks}</div>
|
|
62
|
-
)}
|
|
63
|
-
</div>
|
|
64
|
-
);
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
const renderFoldButton = ({ isUnfolded, onToggle }: FoldablePartProps) =>
|
|
68
|
-
isUnfolded ? null : (
|
|
69
|
-
<DefaultFoldButton
|
|
70
|
-
className="border-t-main-divider/50"
|
|
71
|
-
icon="PlusIcon"
|
|
72
|
-
label="Показать еще"
|
|
73
|
-
onClick={onToggle}
|
|
74
|
-
/>
|
|
75
|
-
);
|