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.
Files changed (41) hide show
  1. package/dist/cjs/index.js +5 -5
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/components/atoms/Marquee/Marquee.component.d.ts +1 -1
  4. package/dist/cjs/types/components/atoms/Marquee/Marquee.interface.d.ts +11 -5
  5. package/dist/cjs/types/components/molecules/ProductCard/ProductCard.component.d.ts +1 -1
  6. package/dist/cjs/types/components/molecules/ProductCard/ProductCard.interface.d.ts +1 -0
  7. package/dist/cjs/types/components/organisms/CircularSliderTeste/CircularSliderTeste.component.d.ts +4 -0
  8. package/dist/cjs/types/components/organisms/CircularSliderTeste/CircularSliderTeste.interface.d.ts +12 -0
  9. package/dist/cjs/types/components/organisms/CircularSliderTeste/CircularSliderTeste.theme.d.ts +7 -0
  10. package/dist/cjs/types/components/organisms/CircularSliderTeste/index.d.ts +1 -0
  11. package/dist/esm/index.js +5 -5
  12. package/dist/esm/index.js.map +1 -1
  13. package/dist/esm/types/components/atoms/Marquee/Marquee.component.d.ts +1 -1
  14. package/dist/esm/types/components/atoms/Marquee/Marquee.interface.d.ts +11 -5
  15. package/dist/esm/types/components/molecules/ProductCard/ProductCard.component.d.ts +1 -1
  16. package/dist/esm/types/components/molecules/ProductCard/ProductCard.interface.d.ts +1 -0
  17. package/dist/esm/types/components/organisms/CircularSliderTeste/CircularSliderTeste.component.d.ts +4 -0
  18. package/dist/esm/types/components/organisms/CircularSliderTeste/CircularSliderTeste.interface.d.ts +12 -0
  19. package/dist/esm/types/components/organisms/CircularSliderTeste/CircularSliderTeste.theme.d.ts +7 -0
  20. package/dist/esm/types/components/organisms/CircularSliderTeste/index.d.ts +1 -0
  21. package/dist/types.d.ts +14 -7
  22. package/package.json +1 -1
  23. package/src/components/atoms/FormField/FormField.theme.tsx +2 -0
  24. package/src/components/atoms/Marquee/Marquee.component.tsx +12 -7
  25. package/src/components/atoms/Marquee/Marquee.interface.ts +12 -5
  26. package/src/components/atoms/Marquee/Marquee.stories.tsx +3 -1
  27. package/src/components/atoms/Marquee/Marquee.theme.ts +35 -27
  28. package/src/components/atoms/RichText/RichText.theme.ts +2 -0
  29. package/src/components/molecules/BlogCard/BlogCard.component.tsx +2 -2
  30. package/src/components/molecules/BlogCard/BlogCard.theme.ts +3 -1
  31. package/src/components/molecules/NewsCard/NewsCard.component.tsx +8 -7
  32. package/src/components/molecules/NewsCard/NewsCard.theme.ts +7 -3
  33. package/src/components/molecules/ProductCard/ProductCard.component.tsx +5 -2
  34. package/src/components/molecules/ProductCard/ProductCard.interface.ts +1 -0
  35. package/src/components/organisms/CircularSlider/CircularSlider.component.tsx +5 -3
  36. package/src/components/organisms/CircularSlider/CircularSlider.theme.ts +7 -1
  37. package/src/components/organisms/CircularSliderTeste/CircularSliderTeste.component.tsx +190 -0
  38. package/src/components/organisms/CircularSliderTeste/CircularSliderTeste.interface.ts +13 -0
  39. package/src/components/organisms/CircularSliderTeste/CircularSliderTeste.stories.tsx +134 -0
  40. package/src/components/organisms/CircularSliderTeste/CircularSliderTeste.theme.ts +65 -0
  41. 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: ({ text, className, onClick, ...props }: IMarquee) => React.JSX.Element;
3
+ declare const Marquee: ({ direction, speed, repeatContent, gap, children, }: IMarquee) => React.JSX.Element;
4
4
  export default Marquee;
@@ -1,7 +1,13 @@
1
- import { CSSProperties } from 'react';
2
- export type IMarquee = {
3
- text?: string;
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
- onClick?: () => void;
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;
@@ -3,4 +3,5 @@ import { ICard } from '../Card/Card.interface';
3
3
  export interface IProductCard extends ICard {
4
4
  title?: string;
5
5
  description?: string | React.ReactElement;
6
+ linkElement?: React.ReactElement;
6
7
  }
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ICircularSliderTeste } from './CircularSliderTeste.interface';
3
+ declare const CircularSliderTeste: ({ cta, content, style, className, }: ICircularSliderTeste) => React.JSX.Element;
4
+ export default CircularSliderTeste;
@@ -0,0 +1,12 @@
1
+ import { CSSProperties } from 'react';
2
+ export type ICircularSliderTeste = {
3
+ id?: string;
4
+ className?: string;
5
+ style?: CSSProperties;
6
+ content?: {
7
+ name?: string;
8
+ role?: string;
9
+ img?: React.ReactNode;
10
+ }[];
11
+ cta?: React.ReactNode;
12
+ };
@@ -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 IMarquee = {
379
- text?: string;
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
- onClick?: () => void;
383
- };
387
+ style?: CSSProperties$1;
388
+ children: React.ReactNode;
389
+ }
384
390
 
385
- declare const Marquee: ({ text, className, onClick, ...props }: IMarquee) => React__default.JSX.Element;
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oddsgate-ds",
3
- "version": "1.0.112",
3
+ "version": "1.0.114",
4
4
  "description": "Miew theme component library",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -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 = ({ text, className, onClick, ...props }: IMarquee) => {
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 className={cn(className)} onClick={onClick} {...props}>
16
+ <StyledMarquee direction={direction} duration={speed} gap={gap}>
10
17
  <div>
11
- <Heading size="display" tag="span" className='fw-bold text-uppercase'>
12
- {text} {text} {text}
13
- </Heading>
18
+ {content}
14
19
  </div>
15
20
  </StyledMarquee>
16
21
  )
@@ -1,8 +1,15 @@
1
- import { CSSProperties } from 'react';
1
+ import { CSSProperties } from "styled-components";
2
2
 
3
- export type IMarquee = {
4
- text?: string
5
- className?: string,
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
- onClick?: () => void
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
- text: "People • Sustainability • Efficiency • Innovation"
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
- import { IMarquee } from './Marquee.interface';
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
- contain: paint;
12
- pointer-events: none;
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
- & > div{
23
- position: relative;
29
+ &>div{
24
30
  display: flex;
25
- width: fit-content;
31
+ ${({ gap }) => css`gap: ${gap}`};
26
32
  white-space: nowrap;
27
- transform: translate3d(var(--move-initial), 0, 0);
28
- animation: marquee 15s linear infinite;
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
- @keyframes marquee {
32
- 0% {
33
- transform: translate3d(var(--move-initial), 0, 0);
34
- }
37
+ animation: ${({ direction, duration }) => css`
38
+ ${getAnimation(direction)} ${duration}s linear infinite
39
+ `};
35
40
 
36
- 100% {
37
- transform: translate3d(var(--move-final), 0, 0);
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
  `;
@@ -5,6 +5,8 @@ import { IRichText } from './RichText.interface';
5
5
  import { fontSize } from '@/styles/utilities';
6
6
 
7
7
  export const StyledRichText = styled.div<IRichText>`
8
+ display: block;
9
+
8
10
  & p {
9
11
  margin: 0;
10
12
  }
@@ -28,14 +28,14 @@ const BlogCard = ({
28
28
  </>
29
29
  }
30
30
  >
31
- <Heading tag={'h3'} size={'h4'} className={'fw-bold textEllipsis mt-4'}>
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
  )}
@@ -27,7 +27,9 @@ export const StyledBlogCard = styled(Card) <IBlogCard>`
27
27
  }
28
28
 
29
29
  & figcaption{
30
-
30
+ h3{
31
+ line-height: 1.1;
32
+ }
31
33
  }
32
34
 
33
35
  &:hover{
@@ -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
- <Heading tag={'h3'} size={variant === "featured" ? "h3" : 'h4'} className={'fw-bold textEllipsis mt-4'}>
30
- {title}
31
- </Heading>
32
- <Heading tag={'span'} size={'captions'} className={'textEllipsis mt-3'}>
33
- {description}
34
- </Heading>
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:center;
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
- width: 55%;
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
  }
@@ -3,4 +3,5 @@ import { ICard } from '../Card/Card.interface';
3
3
  export interface IProductCard extends ICard {
4
4
  title?: string
5
5
  description?: string | React.ReactElement
6
+ linkElement?: React.ReactElement
6
7
  }
@@ -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:66.666%;
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>`