oddsgate-ds 1.0.112 → 1.0.114
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/dist/cjs/index.js +5 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/components/atoms/Marquee/Marquee.component.d.ts +1 -1
- package/dist/cjs/types/components/atoms/Marquee/Marquee.interface.d.ts +11 -5
- package/dist/cjs/types/components/molecules/ProductCard/ProductCard.component.d.ts +1 -1
- package/dist/cjs/types/components/molecules/ProductCard/ProductCard.interface.d.ts +1 -0
- package/dist/cjs/types/components/organisms/CircularSliderTeste/CircularSliderTeste.component.d.ts +4 -0
- package/dist/cjs/types/components/organisms/CircularSliderTeste/CircularSliderTeste.interface.d.ts +12 -0
- package/dist/cjs/types/components/organisms/CircularSliderTeste/CircularSliderTeste.theme.d.ts +7 -0
- package/dist/cjs/types/components/organisms/CircularSliderTeste/index.d.ts +1 -0
- package/dist/esm/index.js +5 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/components/atoms/Marquee/Marquee.component.d.ts +1 -1
- package/dist/esm/types/components/atoms/Marquee/Marquee.interface.d.ts +11 -5
- package/dist/esm/types/components/molecules/ProductCard/ProductCard.component.d.ts +1 -1
- package/dist/esm/types/components/molecules/ProductCard/ProductCard.interface.d.ts +1 -0
- package/dist/esm/types/components/organisms/CircularSliderTeste/CircularSliderTeste.component.d.ts +4 -0
- package/dist/esm/types/components/organisms/CircularSliderTeste/CircularSliderTeste.interface.d.ts +12 -0
- package/dist/esm/types/components/organisms/CircularSliderTeste/CircularSliderTeste.theme.d.ts +7 -0
- package/dist/esm/types/components/organisms/CircularSliderTeste/index.d.ts +1 -0
- package/dist/types.d.ts +14 -7
- package/package.json +1 -1
- package/src/components/atoms/FormField/FormField.theme.tsx +2 -0
- package/src/components/atoms/Marquee/Marquee.component.tsx +12 -7
- package/src/components/atoms/Marquee/Marquee.interface.ts +12 -5
- package/src/components/atoms/Marquee/Marquee.stories.tsx +3 -1
- package/src/components/atoms/Marquee/Marquee.theme.ts +35 -27
- package/src/components/atoms/RichText/RichText.theme.ts +2 -0
- package/src/components/molecules/BlogCard/BlogCard.component.tsx +2 -2
- package/src/components/molecules/BlogCard/BlogCard.theme.ts +3 -1
- package/src/components/molecules/NewsCard/NewsCard.component.tsx +8 -7
- package/src/components/molecules/NewsCard/NewsCard.theme.ts +7 -3
- package/src/components/molecules/ProductCard/ProductCard.component.tsx +5 -2
- package/src/components/molecules/ProductCard/ProductCard.interface.ts +1 -0
- package/src/components/organisms/CircularSlider/CircularSlider.component.tsx +5 -3
- package/src/components/organisms/CircularSlider/CircularSlider.theme.ts +7 -1
- package/src/components/organisms/CircularSliderTeste/CircularSliderTeste.component.tsx +190 -0
- package/src/components/organisms/CircularSliderTeste/CircularSliderTeste.interface.ts +13 -0
- package/src/components/organisms/CircularSliderTeste/CircularSliderTeste.stories.tsx +134 -0
- package/src/components/organisms/CircularSliderTeste/CircularSliderTeste.theme.ts +65 -0
- package/src/components/organisms/CircularSliderTeste/index.ts +1 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { IMarquee } from './Marquee.interface';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
declare const Marquee: ({
|
|
3
|
+
declare const Marquee: ({ direction, speed, repeatContent, gap, children, }: IMarquee) => React.JSX.Element;
|
|
4
4
|
export default Marquee;
|
|
@@ -1,7 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { CSSProperties } from "styled-components";
|
|
3
|
+
export type Direction = 'left' | 'right' | 'up' | 'down';
|
|
4
|
+
export interface IMarquee {
|
|
5
|
+
direction?: Direction;
|
|
6
|
+
repeatContent?: number;
|
|
7
|
+
duration?: number;
|
|
8
|
+
speed?: number;
|
|
9
|
+
gap?: string;
|
|
4
10
|
className?: string;
|
|
5
11
|
style?: CSSProperties;
|
|
6
|
-
|
|
7
|
-
}
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { IProductCard } from './ProductCard.interface';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
declare const ProductCard: ({ title, imageElement, description, className, style, ...props }: IProductCard) => React.JSX.Element;
|
|
3
|
+
declare const ProductCard: ({ title, imageElement, linkElement, description, className, style, ...props }: IProductCard) => React.JSX.Element;
|
|
4
4
|
export default ProductCard;
|
package/dist/esm/types/components/organisms/CircularSliderTeste/CircularSliderTeste.theme.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ICircularSliderTeste } from './CircularSliderTeste.interface';
|
|
3
|
+
export declare const StyledCircularSliderTeste: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ICircularSliderTeste>> & string;
|
|
4
|
+
export declare const StyledCircularSliderTesteWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ICircularSliderTeste>> & string;
|
|
5
|
+
export declare const StyledCircularSliderTesteSlides: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ICircularSliderTeste>> & string;
|
|
6
|
+
export declare const StyledCircularSliderTesteSlide: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ICircularSliderTeste>> & string;
|
|
7
|
+
export declare const StyledCircularSliderTesteContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, ICircularSliderTeste>> & string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './CircularSliderTeste.component';
|
package/dist/types.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import * as React$1 from 'react';
|
|
|
2
2
|
import React__default, { CSSProperties } from 'react';
|
|
3
3
|
import { spaces as spaces$1 } from '@/styles/variables';
|
|
4
4
|
import * as styled_components from 'styled-components';
|
|
5
|
+
import { CSSProperties as CSSProperties$1 } from 'styled-components';
|
|
5
6
|
|
|
6
7
|
declare const pxToRem: (size: number) => string;
|
|
7
8
|
declare const fontName = "MD Nichrome";
|
|
@@ -375,14 +376,19 @@ type ISocialLinks = {
|
|
|
375
376
|
|
|
376
377
|
declare const SocialLinks: ({ variant, socials, className, style, ...props }: ISocialLinks) => React__default.JSX.Element;
|
|
377
378
|
|
|
378
|
-
type
|
|
379
|
-
|
|
379
|
+
type Direction = 'left' | 'right' | 'up' | 'down';
|
|
380
|
+
interface IMarquee {
|
|
381
|
+
direction?: Direction;
|
|
382
|
+
repeatContent?: number;
|
|
383
|
+
duration?: number;
|
|
384
|
+
speed?: number;
|
|
385
|
+
gap?: string;
|
|
380
386
|
className?: string;
|
|
381
|
-
style?: CSSProperties;
|
|
382
|
-
|
|
383
|
-
}
|
|
387
|
+
style?: CSSProperties$1;
|
|
388
|
+
children: React.ReactNode;
|
|
389
|
+
}
|
|
384
390
|
|
|
385
|
-
declare const Marquee: ({
|
|
391
|
+
declare const Marquee: ({ direction, speed, repeatContent, gap, children, }: IMarquee) => React__default.JSX.Element;
|
|
386
392
|
|
|
387
393
|
type PortalComponentProps = {
|
|
388
394
|
wrapperId: string;
|
|
@@ -528,9 +534,10 @@ declare const LogosCard: ({ imageElement, title, className, style, ...props }: I
|
|
|
528
534
|
interface IProductCard extends ICard {
|
|
529
535
|
title?: string;
|
|
530
536
|
description?: string | React.ReactElement;
|
|
537
|
+
linkElement?: React.ReactElement;
|
|
531
538
|
}
|
|
532
539
|
|
|
533
|
-
declare const ProductCard: ({ title, imageElement, description, className, style, ...props }: IProductCard) => React__default.JSX.Element;
|
|
540
|
+
declare const ProductCard: ({ title, imageElement, linkElement, description, className, style, ...props }: IProductCard) => React__default.JSX.Element;
|
|
534
541
|
|
|
535
542
|
interface ILicenseCard extends ICard {
|
|
536
543
|
title?: string;
|
package/package.json
CHANGED
|
@@ -122,9 +122,11 @@ export const StyledFieldContainer = styled.div<IFormField>`
|
|
|
122
122
|
|
|
123
123
|
::placeholder {
|
|
124
124
|
color: rbga(${colors.third10}, 0.2);
|
|
125
|
+
font-weight:700;
|
|
125
126
|
}
|
|
126
127
|
|
|
127
128
|
::-ms-input-placeholder { /* Edge 12 -18 */
|
|
128
129
|
color: rbga(${colors.third10}, 0.2);
|
|
130
|
+
font-weight:700;
|
|
129
131
|
}
|
|
130
132
|
`
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import Heading from '../Heading/Heading.component'
|
|
2
1
|
import { IMarquee } from './Marquee.interface'
|
|
3
2
|
import React from 'react'
|
|
4
3
|
import { StyledMarquee } from './Marquee.theme'
|
|
5
|
-
import cn from 'classnames'
|
|
6
4
|
|
|
7
|
-
const Marquee = ({
|
|
5
|
+
const Marquee = ({
|
|
6
|
+
direction = 'left',
|
|
7
|
+
speed = 20,
|
|
8
|
+
repeatContent = 5,
|
|
9
|
+
gap = '0px',
|
|
10
|
+
children,
|
|
11
|
+
}: IMarquee) => {
|
|
12
|
+
// To ensure continuous flow, duplicate the children multiple times based on the content size and container.
|
|
13
|
+
const content = Array.from({ length: repeatContent }, () => children);
|
|
14
|
+
|
|
8
15
|
return (
|
|
9
|
-
<StyledMarquee
|
|
16
|
+
<StyledMarquee direction={direction} duration={speed} gap={gap}>
|
|
10
17
|
<div>
|
|
11
|
-
|
|
12
|
-
{text} {text} {text}
|
|
13
|
-
</Heading>
|
|
18
|
+
{content}
|
|
14
19
|
</div>
|
|
15
20
|
</StyledMarquee>
|
|
16
21
|
)
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
import { CSSProperties } from
|
|
1
|
+
import { CSSProperties } from "styled-components";
|
|
2
2
|
|
|
3
|
-
export type
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
export type Direction = 'left' | 'right' | 'up' | 'down';
|
|
4
|
+
|
|
5
|
+
export interface IMarquee {
|
|
6
|
+
direction?: Direction;
|
|
7
|
+
repeatContent?: number;
|
|
8
|
+
duration?: number;
|
|
9
|
+
speed?: number;
|
|
10
|
+
gap?: string;
|
|
11
|
+
className?: string;
|
|
6
12
|
style?: CSSProperties
|
|
7
|
-
|
|
13
|
+
children: React.ReactNode;
|
|
8
14
|
}
|
|
15
|
+
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from '@storybook/react'
|
|
2
2
|
|
|
3
|
+
import Heading from '@/components/atoms/Heading/Heading.component'
|
|
3
4
|
import { IMarquee } from './Marquee.interface'
|
|
4
5
|
import Marquee from './Marquee.component'
|
|
5
6
|
import React from 'react'
|
|
@@ -14,6 +15,7 @@ export default {
|
|
|
14
15
|
export const Simple: StoryObj<IMarquee> = {
|
|
15
16
|
render: args => <Marquee {...args} />,
|
|
16
17
|
args: {
|
|
17
|
-
|
|
18
|
+
gap: "1rem",
|
|
19
|
+
children: <Heading>People • Sustainability • Efficiency • Innovation</Heading>
|
|
18
20
|
}
|
|
19
21
|
}
|
|
@@ -1,40 +1,48 @@
|
|
|
1
|
+
import { Direction, IMarquee } from './Marquee.interface';
|
|
1
2
|
import { colors, radius } from '@/styles/variables';
|
|
2
|
-
import styled, { css } from 'styled-components';
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import styled, { css, keyframes } from 'styled-components';
|
|
4
|
+
|
|
5
|
+
const getAnimation = (direction?: Direction) => {
|
|
6
|
+
switch (direction) {
|
|
7
|
+
case 'up':
|
|
8
|
+
case 'down':
|
|
9
|
+
return keyframes`
|
|
10
|
+
from { transform: translateY(0); }
|
|
11
|
+
to { transform: translateY(-100%); }
|
|
12
|
+
`;
|
|
13
|
+
case 'left':
|
|
14
|
+
case 'right':
|
|
15
|
+
return keyframes`
|
|
16
|
+
from { transform: translateX(0); }
|
|
17
|
+
to { transform: translateX(-100%); }
|
|
18
|
+
`;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
5
21
|
|
|
6
22
|
export const StyledMarquee = styled.div<IMarquee>`
|
|
23
|
+
display: flex;
|
|
7
24
|
position: relative;
|
|
8
|
-
top: 0;
|
|
9
|
-
left: 0;
|
|
10
25
|
width: 100%;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
--offset: 20vw;
|
|
15
|
-
--move-initial: calc(-25% + var(--offset));
|
|
16
|
-
--move-final: calc(-50% + var(--offset));
|
|
17
|
-
|
|
18
|
-
color: ${colors.primary50};
|
|
19
|
-
|
|
20
|
-
padding: 8px 0;
|
|
26
|
+
height: 100%;
|
|
27
|
+
overflow: hidden;
|
|
21
28
|
|
|
22
|
-
|
|
23
|
-
position: relative;
|
|
29
|
+
&>div{
|
|
24
30
|
display: flex;
|
|
25
|
-
|
|
31
|
+
${({ gap }) => css`gap: ${gap}`};
|
|
26
32
|
white-space: nowrap;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
33
|
+
width: ${({ direction }) => (direction === 'left' || direction === 'right' ? '200%' : 'auto')};
|
|
34
|
+
height: ${({ direction }) => (direction === 'up' || direction === 'down' ? '200%' : 'auto')};
|
|
35
|
+
flex-direction: ${({ direction }) => (direction === 'up' || direction === 'down' ? 'column' : 'row')};
|
|
30
36
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
37
|
+
animation: ${({ direction, duration }) => css`
|
|
38
|
+
${getAnimation(direction)} ${duration}s linear infinite
|
|
39
|
+
`};
|
|
35
40
|
|
|
36
|
-
|
|
37
|
-
|
|
41
|
+
animation-play-state: running; // Ensures the animation is running by default
|
|
42
|
+
|
|
43
|
+
&:hover {
|
|
44
|
+
animation-play-state: paused; // Pauses the animation when hovered
|
|
38
45
|
}
|
|
39
46
|
}
|
|
47
|
+
|
|
40
48
|
`;
|
|
@@ -28,14 +28,14 @@ const BlogCard = ({
|
|
|
28
28
|
</>
|
|
29
29
|
}
|
|
30
30
|
>
|
|
31
|
-
<Heading tag={'h3'} size={'h4'} className={'fw-bold textEllipsis
|
|
31
|
+
<Heading tag={'h3'} size={'h4'} className={'fw-bold textEllipsis'}>
|
|
32
32
|
{title}
|
|
33
33
|
</Heading>
|
|
34
34
|
<Heading tag={'span'} size={'captions'} className={'textEllipsis mt-3'}>
|
|
35
35
|
{description}
|
|
36
36
|
</Heading>
|
|
37
37
|
{date && (
|
|
38
|
-
<RichText tag={'span'} className="fw-bold mt-4">
|
|
38
|
+
<RichText tag={'span'} className="d-block fw-bold mt-4">
|
|
39
39
|
{date}
|
|
40
40
|
</RichText>
|
|
41
41
|
)}
|
|
@@ -21,17 +21,18 @@ const NewsCard = ({
|
|
|
21
21
|
$variant={variant}
|
|
22
22
|
imageElement={
|
|
23
23
|
<>
|
|
24
|
-
{category && <Chip variant='light' className='font-epilogue'>{category}</Chip>}
|
|
25
24
|
<ImageWrapper aspectRatioHeight={63}>{imageElement}</ImageWrapper>
|
|
26
25
|
</>
|
|
27
26
|
}
|
|
28
27
|
>
|
|
29
|
-
<
|
|
30
|
-
{
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
{
|
|
34
|
-
|
|
28
|
+
<div>
|
|
29
|
+
<Heading tag={'h3'} size={variant === "featured" ? "h3" : 'h4'} className={'fw-bold textEllipsis'}>
|
|
30
|
+
{title}
|
|
31
|
+
</Heading>
|
|
32
|
+
<Heading tag={'span'} size={'captions'} className={'textEllipsis mt-3'}>
|
|
33
|
+
{description}
|
|
34
|
+
</Heading>
|
|
35
|
+
</div>
|
|
35
36
|
{date && (
|
|
36
37
|
<Heading tag={'span'} size={variant === "featured" ? "h5" : 'texts'} className={'fw-bold mt-4'}>
|
|
37
38
|
{date}
|
|
@@ -4,7 +4,6 @@ import styled, { css } from 'styled-components';
|
|
|
4
4
|
import Card from '../Card/Card.component';
|
|
5
5
|
import { INewsCard } from './NewsCard.interface';
|
|
6
6
|
import { StyledChip } from '@/components/atoms/Chip/Chip.theme';
|
|
7
|
-
import { variables } from '@/index';
|
|
8
7
|
|
|
9
8
|
export const StyledNewsCard = styled(Card) <INewsCard>`
|
|
10
9
|
padding: 1rem;
|
|
@@ -42,7 +41,8 @@ export const StyledNewsCard = styled(Card) <INewsCard>`
|
|
|
42
41
|
@media only screen and (min-width: ${responsiveMedia}) {
|
|
43
42
|
|
|
44
43
|
display: flex;
|
|
45
|
-
align-items:
|
|
44
|
+
align-items:stretch;
|
|
45
|
+
justify-content: space-between;
|
|
46
46
|
flex-flow: row-reverse;
|
|
47
47
|
|
|
48
48
|
${StyledChip}{
|
|
@@ -55,7 +55,11 @@ export const StyledNewsCard = styled(Card) <INewsCard>`
|
|
|
55
55
|
width: 45%;
|
|
56
56
|
}
|
|
57
57
|
& figcaption{
|
|
58
|
-
|
|
58
|
+
display: flex;
|
|
59
|
+
flex-flow: column;
|
|
60
|
+
justify-content: space-between;
|
|
61
|
+
|
|
62
|
+
width: 45%;
|
|
59
63
|
padding:1.6rem;
|
|
60
64
|
}
|
|
61
65
|
}
|
|
@@ -9,6 +9,7 @@ import RichText from '@/components/atoms/RichText/RichText.component'
|
|
|
9
9
|
const ProductCard = ({
|
|
10
10
|
title,
|
|
11
11
|
imageElement,
|
|
12
|
+
linkElement,
|
|
12
13
|
description,
|
|
13
14
|
className,
|
|
14
15
|
style,
|
|
@@ -25,10 +26,10 @@ const ProductCard = ({
|
|
|
25
26
|
let firstRowTitle;
|
|
26
27
|
let secondRowTitle;
|
|
27
28
|
|
|
28
|
-
if(parts.length>1){
|
|
29
|
+
if (parts.length > 1) {
|
|
29
30
|
firstRowTitle = parts.slice(0, half).join(" ")
|
|
30
31
|
secondRowTitle = parts.slice(half, parts?.length).join(" ")
|
|
31
|
-
}else{
|
|
32
|
+
} else {
|
|
32
33
|
firstRowTitle = title;
|
|
33
34
|
}
|
|
34
35
|
|
|
@@ -45,6 +46,8 @@ const ProductCard = ({
|
|
|
45
46
|
</Heading>
|
|
46
47
|
</StyledProductCardWrapper>
|
|
47
48
|
{description && <RichText tag='p' className='color-secondary50 mt-6'>{description}</RichText>}
|
|
49
|
+
|
|
50
|
+
{linkElement}
|
|
48
51
|
</StyledProductCard>
|
|
49
52
|
)
|
|
50
53
|
}
|
|
@@ -25,6 +25,7 @@ const CircularSlider = ({
|
|
|
25
25
|
});
|
|
26
26
|
const slider = useRef<HTMLDivElement>();
|
|
27
27
|
const wrapper = useRef<HTMLDivElement>();
|
|
28
|
+
const svg = useRef<HTMLDivElement>();
|
|
28
29
|
const slidesHolder = useRef<HTMLDivElement>();
|
|
29
30
|
const contentHolder = useRef<HTMLDivElement>();
|
|
30
31
|
|
|
@@ -80,9 +81,9 @@ const CircularSlider = ({
|
|
|
80
81
|
|
|
81
82
|
slidesSize = Math.min(2 * radius * slideSize, stepAngle * radius * (1 - slideSize) - 50);
|
|
82
83
|
|
|
83
|
-
if(!isMobile){
|
|
84
|
+
if (!isMobile) {
|
|
84
85
|
slidesHolder.current.style.marginTop = radius * slideSize + 'px';
|
|
85
|
-
}else{
|
|
86
|
+
} else {
|
|
86
87
|
wrapper.current.style.marginTop = -(r - slidesSize) + 'px';
|
|
87
88
|
}
|
|
88
89
|
|
|
@@ -147,6 +148,7 @@ const CircularSlider = ({
|
|
|
147
148
|
currentAngle = direction === "-" ? (currentAngle + newAngle) : (currentAngle - newAngle);
|
|
148
149
|
currentSlide = newSlide;
|
|
149
150
|
|
|
151
|
+
if (svg?.current) svg.current.style.transform = 'translate(-50%, -50%) rotate( ' + currentAngle * 4 + 'deg )';
|
|
150
152
|
slidesHolder.current.style.transform = 'rotate( ' + currentAngle + 'deg )';
|
|
151
153
|
addStyle();
|
|
152
154
|
}
|
|
@@ -174,7 +176,7 @@ const CircularSlider = ({
|
|
|
174
176
|
|
|
175
177
|
return (
|
|
176
178
|
<StyledCircularSlider ref={slider as any} className={className} style={style}>
|
|
177
|
-
<svg viewBox="0 0 907 906" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
179
|
+
<svg ref={svg as any} viewBox="0 0 907 906" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
178
180
|
<path d="M887.551 584.892L904.187 504.729L531.591 461.981C531.824 459.769 532.012 457.775 531.984 455.735L906.794 468.208L902.047 386.545L531.043 441.754C530.798 439.669 530.336 437.54 529.829 435.627L895.322 350.347L869.628 272.699L525.63 422.1C524.69 420.097 523.922 418.356 522.981 416.353L853.852 239.821L808.868 171.277L515.038 404.535C513.792 402.92 512.328 401.26 510.82 399.817L784.811 143.459L723.799 88.9898L500.604 390.24C498.834 388.969 497.28 387.742 495.465 386.688L693.744 68.2895L620.714 31.439L483.014 380.262C481.154 379.424 479.032 378.757 477.127 378.136L585.693 19.4255L505.53 2.78951L462.783 375.385C460.571 375.152 458.576 374.964 456.537 374.993L469.01 0.182176L387.347 4.92974L442.556 375.933C440.471 376.179 438.342 376.641 436.429 377.148L351.149 11.6549L273.501 37.3486L422.902 381.346C420.899 382.286 419.158 383.055 417.155 383.995L240.361 53.2959L171.817 98.2799L405.12 391.893C403.505 393.14 401.846 394.603 400.403 396.112L144.261 122.166L89.7918 183.178L391.042 406.373C389.77 408.143 388.544 409.696 387.49 411.511L69.2632 213.494L32.4127 286.524L381.235 424.224C380.397 426.084 379.731 428.206 379.11 430.111L20.2275 321.283L3.59147 401.446L376.187 444.194C375.954 446.405 375.766 448.4 375.795 450.44L0.984138 437.967L5.73169 519.63L376.735 464.42C376.981 466.505 377.443 468.635 377.95 470.548L12.4569 555.828L38.1505 633.476L382.148 484.075C383.088 486.078 383.857 487.819 384.797 489.822L54.0979 666.616L99.0819 735.16L392.695 501.857C393.942 503.471 395.405 505.131 396.914 506.574L122.968 762.715L183.98 817.185L407.175 515.935C408.945 517.206 410.498 518.432 412.313 519.487L214.034 837.885L287.064 874.736L424.765 525.913C426.625 526.751 428.746 527.417 430.651 528.038L322.085 886.749L402.248 903.385L444.996 530.789C447.207 531.022 449.202 531.21 451.242 531.182L438.769 905.992L520.432 901.245L465.222 530.241C467.307 529.996 469.437 529.534 471.35 529.027L556.629 894.52L634.278 868.826L484.876 524.828C486.88 523.888 488.621 523.12 490.624 522.179L667.156 853.05L735.7 808.066L502.442 514.236C504.056 512.99 505.716 511.526 507.159 510.018L763.517 784.009L817.987 722.997L516.737 499.802C518.008 498.032 519.234 496.478 520.289 494.663L838.687 692.942L875.538 619.912L526.715 482.212C527.553 480.352 528.219 478.23 528.84 476.325L887.551 584.892Z" fill="#FC3151" />
|
|
179
181
|
</svg>
|
|
180
182
|
<StyledCircularSliderWrapper ref={wrapper as any}>
|
|
@@ -12,7 +12,7 @@ export const StyledCircularSlider = styled.div<ICircularSlider>`
|
|
|
12
12
|
position:absolute;
|
|
13
13
|
top:50%;
|
|
14
14
|
left:0;
|
|
15
|
-
width:
|
|
15
|
+
width:55%;
|
|
16
16
|
height:auto;
|
|
17
17
|
transform: translate(-50%, -50%)
|
|
18
18
|
}
|
|
@@ -21,8 +21,14 @@ export const StyledCircularSlider = styled.div<ICircularSlider>`
|
|
|
21
21
|
min-height: 100dvh;
|
|
22
22
|
& > svg{
|
|
23
23
|
display: block;
|
|
24
|
+
transition: all 0.8s ease-in-out;
|
|
24
25
|
}
|
|
25
26
|
}
|
|
27
|
+
|
|
28
|
+
@keyframes spin {
|
|
29
|
+
0% { transform: rotate(0deg); }
|
|
30
|
+
100% { transform: rotate(80deg); }
|
|
31
|
+
}
|
|
26
32
|
`;
|
|
27
33
|
|
|
28
34
|
export const StyledCircularSliderWrapper = styled.div<ICircularSlider>`
|