oddsgate-ds 1.0.114 → 1.0.115

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 (35) 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/organisms/ProductsSlider/ProductsSlider.component.d.ts +4 -0
  4. package/dist/cjs/types/components/organisms/ProductsSlider/ProductsSlider.interface.d.ts +11 -0
  5. package/dist/cjs/types/components/organisms/ProductsSlider/ProductsSlider.theme.d.ts +7 -0
  6. package/dist/cjs/types/components/organisms/ProductsSlider/index.d.ts +1 -0
  7. package/dist/cjs/types/index.d.ts +1 -0
  8. package/dist/esm/index.js +5 -5
  9. package/dist/esm/index.js.map +1 -1
  10. package/dist/esm/types/components/organisms/ProductsSlider/ProductsSlider.component.d.ts +4 -0
  11. package/dist/esm/types/components/organisms/ProductsSlider/ProductsSlider.interface.d.ts +11 -0
  12. package/dist/esm/types/components/organisms/ProductsSlider/ProductsSlider.theme.d.ts +7 -0
  13. package/dist/esm/types/components/organisms/ProductsSlider/index.d.ts +1 -0
  14. package/dist/esm/types/index.d.ts +1 -0
  15. package/dist/types.d.ts +14 -1
  16. package/package.json +1 -1
  17. package/src/components/organisms/CircularSlider/CircularSlider.theme.ts +1 -7
  18. package/src/components/organisms/{CircularSliderTeste/CircularSliderTeste.component.tsx → ProductsSlider/ProductsSlider.component.tsx} +74 -55
  19. package/src/components/organisms/ProductsSlider/ProductsSlider.interface.ts +12 -0
  20. package/src/components/organisms/ProductsSlider/ProductsSlider.stories.tsx +133 -0
  21. package/src/components/organisms/ProductsSlider/ProductsSlider.theme.ts +66 -0
  22. package/src/components/organisms/ProductsSlider/index.ts +1 -0
  23. package/src/index.ts +1 -0
  24. package/dist/cjs/types/components/organisms/CircularSliderTeste/CircularSliderTeste.component.d.ts +0 -4
  25. package/dist/cjs/types/components/organisms/CircularSliderTeste/CircularSliderTeste.interface.d.ts +0 -12
  26. package/dist/cjs/types/components/organisms/CircularSliderTeste/CircularSliderTeste.theme.d.ts +0 -7
  27. package/dist/cjs/types/components/organisms/CircularSliderTeste/index.d.ts +0 -1
  28. package/dist/esm/types/components/organisms/CircularSliderTeste/CircularSliderTeste.component.d.ts +0 -4
  29. package/dist/esm/types/components/organisms/CircularSliderTeste/CircularSliderTeste.interface.d.ts +0 -12
  30. package/dist/esm/types/components/organisms/CircularSliderTeste/CircularSliderTeste.theme.d.ts +0 -7
  31. package/dist/esm/types/components/organisms/CircularSliderTeste/index.d.ts +0 -1
  32. package/src/components/organisms/CircularSliderTeste/CircularSliderTeste.interface.ts +0 -13
  33. package/src/components/organisms/CircularSliderTeste/CircularSliderTeste.stories.tsx +0 -134
  34. package/src/components/organisms/CircularSliderTeste/CircularSliderTeste.theme.ts +0 -65
  35. package/src/components/organisms/CircularSliderTeste/index.ts +0 -1
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { IProductsSlider } from './ProductsSlider.interface';
3
+ declare const ProductsSlider: ({ content, style, className, }: IProductsSlider) => React.JSX.Element;
4
+ export default ProductsSlider;
@@ -0,0 +1,11 @@
1
+ import { CSSProperties } from 'react';
2
+ export type IProductsSlider = {
3
+ id?: string;
4
+ className?: string;
5
+ style?: CSSProperties;
6
+ content?: {
7
+ title?: string;
8
+ description?: string | React.ReactElement;
9
+ imageElement?: React.ReactElement;
10
+ }[];
11
+ };
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import { IProductsSlider } from './ProductsSlider.interface';
3
+ export declare const StyledProductsSlider: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, IProductsSlider>> & string;
4
+ export declare const StyledProductsSliderWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, IProductsSlider>> & string;
5
+ export declare const StyledProductsSliderSlides: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, IProductsSlider>> & string;
6
+ export declare const StyledProductsSliderSlide: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, IProductsSlider>> & string;
7
+ export declare const StyledProductsSliderContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, IProductsSlider>> & string;
@@ -0,0 +1 @@
1
+ export { default } from './ProductsSlider.component';
@@ -44,6 +44,7 @@ export { default as Slider } from './components/organisms/Slider';
44
44
  export { default as Cover } from './components/organisms/Cover';
45
45
  export { default as Tabs } from './components/organisms/Tabs';
46
46
  export { default as CircularSlider } from './components/organisms/CircularSlider';
47
+ export { default as ProductsSlider } from './components/organisms/ProductsSlider';
47
48
  export { iconsList } from './helpers/getIcons';
48
49
  export { default as GlobalStyles } from './styles/Global';
49
50
  export { default as clickOutSideToClose } from './helpers/clickOutsideToClose';
package/dist/types.d.ts CHANGED
@@ -642,6 +642,19 @@ type ICircularSlider = {
642
642
 
643
643
  declare const CircularSlider: ({ cta, content, style, className, }: ICircularSlider) => React__default.JSX.Element;
644
644
 
645
+ type IProductsSlider = {
646
+ id?: string;
647
+ className?: string;
648
+ style?: CSSProperties;
649
+ content?: {
650
+ title?: string;
651
+ description?: string | React.ReactElement;
652
+ imageElement?: React.ReactElement;
653
+ }[];
654
+ };
655
+
656
+ declare const ProductsSlider: ({ content, style, className, }: IProductsSlider) => React__default.JSX.Element;
657
+
645
658
  declare const iconsList: string[];
646
659
 
647
660
  declare const GlobalStyles: React$1.NamedExoticComponent<styled_components.ExecutionProps & object>;
@@ -654,4 +667,4 @@ declare function useMediaMatch(query?: string): boolean;
654
667
 
655
668
  declare const debounce: (callback: any, wait: number) => (...args: any) => void;
656
669
 
657
- export { Accordion, AccordionItem, BlogCard, Button, CareersCard, CheckRadioField, Chip, CircularSlider, CloseButton, Column, Counter, Cover, Dropdown, DropdownItem, EmptyState, EventsCard, Flex, FormField, GlobalStyles, Heading, Icon, IconBox, IconTitle, ImageWrapper, LicenseCard, Loader, LogosCard, Marquee, Modal, NewsCard, OffCanvas, PortalComponent, ProductCard, Quote, RichText, Row, ScrollingNav, Separator, ShareModal, Slider, SocialLinks, Spacer, Tabs, TeamCard, Video, VideoEmbed, clickOutSideToClose, debounce, iconsList, isTouchDevice, useMediaMatch, variables };
670
+ export { Accordion, AccordionItem, BlogCard, Button, CareersCard, CheckRadioField, Chip, CircularSlider, CloseButton, Column, Counter, Cover, Dropdown, DropdownItem, EmptyState, EventsCard, Flex, FormField, GlobalStyles, Heading, Icon, IconBox, IconTitle, ImageWrapper, LicenseCard, Loader, LogosCard, Marquee, Modal, NewsCard, OffCanvas, PortalComponent, ProductCard, ProductsSlider, Quote, RichText, Row, ScrollingNav, Separator, ShareModal, Slider, SocialLinks, Spacer, Tabs, TeamCard, Video, VideoEmbed, clickOutSideToClose, debounce, iconsList, isTouchDevice, useMediaMatch, variables };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oddsgate-ds",
3
- "version": "1.0.114",
3
+ "version": "1.0.115",
4
4
  "description": "Miew theme component library",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -12,7 +12,7 @@ export const StyledCircularSlider = styled.div<ICircularSlider>`
12
12
  position:absolute;
13
13
  top:50%;
14
14
  left:0;
15
- width:55%;
15
+ width:66.666%;
16
16
  height:auto;
17
17
  transform: translate(-50%, -50%)
18
18
  }
@@ -21,14 +21,8 @@ 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;
25
24
  }
26
25
  }
27
-
28
- @keyframes spin {
29
- 0% { transform: rotate(0deg); }
30
- 100% { transform: rotate(80deg); }
31
- }
32
26
  `;
33
27
 
34
28
  export const StyledCircularSliderWrapper = styled.div<ICircularSlider>`
@@ -1,37 +1,35 @@
1
1
  import React, { useEffect, useRef, useState } from 'react'
2
2
  import {
3
- StyledCircularSliderTeste,
4
- StyledCircularSliderTesteContent,
5
- StyledCircularSliderTesteSlide,
6
- StyledCircularSliderTesteSlides,
7
- StyledCircularSliderTesteWrapper
8
- } from './CircularSliderTeste.theme'
3
+ StyledProductsSlider,
4
+ StyledProductsSliderContent,
5
+ StyledProductsSliderSlide,
6
+ StyledProductsSliderSlides,
7
+ StyledProductsSliderWrapper
8
+ } from './ProductsSlider.theme'
9
9
 
10
10
  import Heading from '@/components/atoms/Heading/Heading.component';
11
- import { ICircularSliderTeste } from './CircularSliderTeste.interface'
11
+ import { IProductsSlider } from './ProductsSlider.interface'
12
+ import ProductCard from '@/components/molecules/ProductCard/ProductCard.component';
12
13
  import { debounce } from '@/helpers/events';
13
14
  import useMediaMatch from '@/helpers/useMediaMatch';
14
15
 
15
- const CircularSliderTeste = ({
16
- cta,
16
+ const ProductsSlider = ({
17
17
  content,
18
18
  style,
19
19
  className,
20
- }: ICircularSliderTeste) => {
20
+ }: IProductsSlider) => {
21
21
 
22
- const [slideContent, setSlideContent] = useState({
23
- name: content && content[0].name,
24
- role: content && content[0].role,
25
- });
22
+ const [activeElement, setActiveElement] = useState(content && content[0]);
26
23
  const slider = useRef<HTMLDivElement>();
27
24
  const wrapper = useRef<HTMLDivElement>();
28
25
  const slidesHolder = useRef<HTMLDivElement>();
29
26
  const contentHolder = useRef<HTMLDivElement>();
27
+ const isMobile = useMediaMatch();
30
28
 
31
29
  //force 12 items
32
- if (content && content.length < 12) {
30
+ if (content && content.length < 26) {
33
31
  let counter = 0;
34
- for (let i = content.length; i <= 12; i++) {
32
+ for (let i = content.length; i <= 26; i++) {
35
33
  content[i] = content[counter];
36
34
  counter++;
37
35
  }
@@ -40,53 +38,54 @@ const CircularSliderTeste = ({
40
38
  useEffect(() => {
41
39
  if (!slidesHolder.current) return //bail out;
42
40
 
43
- const animationDuration = 600;
44
-
45
41
  const slides = Array.prototype.slice.call(slidesHolder?.current?.children);
46
-
47
42
  let slidesSize = 0;
48
-
49
- let currentAngle = -180;
43
+ let currentAngle = 0;
50
44
 
51
45
  const stepAngle = 2 * Math.PI / slidesHolder?.current?.children.length;
52
46
  // const stepAngle = 0.52;
53
47
 
54
48
  let currentSlide = 0;
55
49
 
56
- slidesHolder.current.style.transitionDuration = animationDuration + 'ms';
57
50
  const slidesRepositioning = (r) => {
51
+ if (isMobile) return;
52
+
58
53
  for (let i = 0; i < slides.length; i++) {
59
54
 
60
55
  let x = r * Math.cos(stepAngle * i - Math.PI / 2),
61
56
  y = r * Math.sin(stepAngle * i - Math.PI / 2);
62
57
 
63
- slides[i].style.transform = 'translate( ' + x + 'px, ' + y + 'px ) rotate( ' + ((stepAngle * 180 / Math.PI * i) + 4) + 'deg )';
58
+ slides[i].style.transform = 'translate( ' + x + 'px, ' + y + 'px ) rotate( ' + (((stepAngle * 180 / Math.PI * i) + 90)) + 'deg )';
64
59
  // slides[i].style.transform = 'translate( ' + x + 'px, ' + y + 'px )';
65
60
  };
66
61
  }
67
62
  const setSize = (radius: number) => {
68
- if (!wrapper.current || !slidesHolder.current) return //bail out;
63
+ if (!wrapper.current || !slidesHolder.current || isMobile) return //bail out;
69
64
 
70
- const slideSize = 0.15;
65
+ const slideSize = 0.08;
71
66
 
72
67
  wrapper.current.style.width = 2 * radius + 'px';
73
- wrapper.current.style.height = 2 * radius + 'px';
68
+ // wrapper.current.style.height = 2 * radius + 'px';
69
+ wrapper.current.style.height = '320px';
74
70
 
75
71
  let r = 2 * radius * (1 - slideSize);
76
- slidesHolder.current.style.width = r*2 + 'px';
77
- slidesHolder.current.style.height = r/2 + 'px';
72
+ slidesHolder.current.style.width = r + 'px'
73
+ slidesHolder.current.style.height = r + 'px';
78
74
  slidesRepositioning(r / 2);
79
75
 
80
- slidesSize = Math.min(2 * radius * slideSize, stepAngle * radius * (1 - slideSize) - 50);
76
+ slidesSize = Math.min(2 * radius * slideSize, stepAngle * radius * (1 - slideSize) - 80);
77
+ slidesHolder.current.style.marginTop = slidesSize + 'px';
78
+
81
79
 
82
80
  for (let i = 0; i < slides.length; i++) {
83
- slides[i].style.width = slides[i].style.height = slidesSize + 'px';
81
+ slides[i].style.width = slidesSize + 'px';
84
82
  };
85
83
 
86
84
  }
87
85
 
88
86
  const sliderResize = debounce(() => {
89
- const sliderSize = 1;
87
+ if (isMobile) return;
88
+ const sliderSize = 2.4;
90
89
 
91
90
  let radius,
92
91
  w = slider?.current ? slider?.current?.getBoundingClientRect().width : 0,
@@ -107,7 +106,7 @@ const CircularSliderTeste = ({
107
106
  contentHolder?.current?.classList.remove('active');
108
107
  const prevElement = slides[currentSlide];
109
108
  setTimeout(() => {
110
- content && setSlideContent(content[currentSlide] as any)
109
+ content && setActiveElement(content[currentSlide] as any)
111
110
  prevElement.classList.remove('active');
112
111
  }, 400);
113
112
  };
@@ -143,15 +142,27 @@ const CircularSliderTeste = ({
143
142
  addStyle();
144
143
  }
145
144
 
146
- sliderResize();
147
- addStyle();
148
-
145
+ if (isMobile) {
146
+ setTimeout(() => {
147
+ if (wrapper?.current) wrapper.current.removeAttribute('style');
148
+ if (slidesHolder?.current) slidesHolder.current.removeAttribute('style');
149
+
150
+ for (let i = 0; i < slides.length; i++) {
151
+ slides[i].removeAttribute('style');
152
+ slides[i].removeEventListener('click', rotateSlider);
153
+ };
154
+ window.removeEventListener('resize', sliderResize)
155
+ }, 250)
156
+ } else {
157
+ sliderResize();
158
+ addStyle();
149
159
 
150
- for (let i = 0; i < slides.length; i++) {
151
- slides[i].addEventListener('click', rotateSlider, { passive: true });
152
- };
160
+ for (let i = 0; i < slides.length; i++) {
161
+ slides[i].addEventListener('click', rotateSlider, { passive: true });
162
+ };
153
163
 
154
- window.addEventListener('resize', sliderResize)
164
+ window.addEventListener('resize', sliderResize)
165
+ }
155
166
 
156
167
  return () => {
157
168
  for (let i = 0; i < slides.length; i++) {
@@ -160,31 +171,39 @@ const CircularSliderTeste = ({
160
171
 
161
172
  window.removeEventListener('resize', sliderResize)
162
173
  }
163
- }, [])
174
+ }, [isMobile])
164
175
 
165
176
  if (!content) return <></>
166
177
 
167
178
  return (
168
- <StyledCircularSliderTeste ref={slider as any} className={className} style={style}>
169
- <StyledCircularSliderTesteWrapper ref={wrapper as any}>
170
- <StyledCircularSliderTesteSlides ref={slidesHolder as any}>
179
+ <StyledProductsSlider ref={slider as any} className={className} style={style}>
180
+ <StyledProductsSliderWrapper ref={wrapper as any}>
181
+ <StyledProductsSliderSlides ref={slidesHolder as any}>
171
182
  {content?.map((item, index) => {
172
183
  return (
173
- <StyledCircularSliderTesteSlide key={`slide-${index}`}>{item.img}</StyledCircularSliderTesteSlide>
184
+ <StyledProductsSliderSlide key={`ProductCard-${index}`}>
185
+ <ProductCard
186
+ imageElement={item.imageElement}
187
+ title={item.title}
188
+ description={isMobile ? item?.description : ""}
189
+ />
190
+ </StyledProductsSliderSlide>
174
191
  )
175
192
  })}
176
- </StyledCircularSliderTesteSlides>
177
- </StyledCircularSliderTesteWrapper>
178
- <StyledCircularSliderTesteContent ref={contentHolder as any}>
179
- <div className='mb-4'>
180
- <Heading tag="span" size="h2" className='color-primary50 fw-bold'>{slideContent?.name}</Heading>
181
- <Heading tag="span" size="h4" className='color-secondary50'>{slideContent?.role}</Heading>
182
- </div>
183
- {cta}
184
- </StyledCircularSliderTesteContent>
185
- </StyledCircularSliderTeste>
193
+ </StyledProductsSliderSlides>
194
+ </StyledProductsSliderWrapper>
195
+ {!isMobile && (
196
+ <StyledProductsSliderContent ref={contentHolder as any} className='mt-6'>
197
+ <Heading tag="h5" size="h5">
198
+ <strong>{activeElement?.title}</strong>
199
+ <br />
200
+ {activeElement?.description}
201
+ </Heading>
202
+ </StyledProductsSliderContent>
203
+ )}
204
+ </StyledProductsSlider>
186
205
 
187
206
  )
188
207
  }
189
208
 
190
- export default CircularSliderTeste
209
+ export default ProductsSlider
@@ -0,0 +1,12 @@
1
+ import { CSSProperties } from 'react';
2
+
3
+ export type IProductsSlider = {
4
+ id?: string;
5
+ className?: string;
6
+ style?: CSSProperties;
7
+ content?: {
8
+ title?: string,
9
+ description?: string | React.ReactElement,
10
+ imageElement?: React.ReactElement
11
+ }[],
12
+ }
@@ -0,0 +1,133 @@
1
+ import type { Meta, StoryObj } from '@storybook/react'
2
+
3
+ import Button from '@/components/atoms/Button/Button.component'
4
+ import { IProductsSlider } from './ProductsSlider.interface'
5
+ import ProductsSlider from './ProductsSlider.component'
6
+ import React from 'react'
7
+
8
+ // More on default export: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
9
+ export default {
10
+ title: 'Components/ProductsSlider',
11
+ component: ProductsSlider,
12
+ tags: ['autodocs']
13
+ } as Meta
14
+
15
+ const image = (
16
+ <img
17
+ width="100%"
18
+ height="100%"
19
+ sizes="100vw"
20
+ decoding="async"
21
+ src="/assets/placeholder.png"
22
+ alt="Empty state"
23
+ />
24
+ )
25
+
26
+ export const Simple: StoryObj<IProductsSlider> = {
27
+ render: args => <div style={{ width: "100%", height: "200dvh" }}><ProductsSlider {...args}></ProductsSlider></div>,
28
+ args: {
29
+ content: [
30
+ {
31
+ imageElement: image,
32
+ title: 'My name 1',
33
+ description: 'My role',
34
+ },
35
+ {
36
+ imageElement: image,
37
+ title: 'My name 2',
38
+ description: 'My role',
39
+ },
40
+ {
41
+ imageElement: image,
42
+ title: 'My name 3',
43
+ description: 'My role',
44
+ },
45
+ {
46
+ imageElement: image,
47
+ title: 'My name 4',
48
+ description: 'My role',
49
+ },
50
+ {
51
+ imageElement: image,
52
+ title: 'My name 5',
53
+ description: 'My role',
54
+ },
55
+ {
56
+ imageElement: image,
57
+ title: 'My name 6',
58
+ description: 'My role',
59
+ },
60
+ {
61
+ imageElement: image,
62
+ title: 'My name 7',
63
+ description: 'My role',
64
+ },
65
+ {
66
+ imageElement: image,
67
+ title: 'My name 9',
68
+ description: 'My role',
69
+ },
70
+ {
71
+ imageElement: image,
72
+ title: 'My name 9',
73
+ description: 'My role',
74
+ },
75
+ {
76
+ imageElement: image,
77
+ title: 'My name 10',
78
+ description: 'My role',
79
+ },
80
+ {
81
+ imageElement: image,
82
+ title: 'My name 11',
83
+ description: 'My role',
84
+ },
85
+ {
86
+ imageElement: image,
87
+ title: 'My name 1§2',
88
+ description: 'My role',
89
+ },
90
+ {
91
+ imageElement: image,
92
+ title: 'My name 13',
93
+ description: 'My role',
94
+ },
95
+ {
96
+ imageElement: image,
97
+ title: 'My name 14',
98
+ description: 'My role',
99
+ },
100
+ {
101
+ imageElement: image,
102
+ title: 'My name 15',
103
+ description: 'My role',
104
+ },
105
+ {
106
+ imageElement: image,
107
+ title: 'My name 16',
108
+ description: 'My role',
109
+ },
110
+ {
111
+ imageElement: image,
112
+ title: 'My name 17',
113
+ description: 'My role',
114
+ },
115
+ {
116
+ imageElement: image,
117
+ title: 'My name 19',
118
+ description: 'My role',
119
+ },
120
+ {
121
+ imageElement: image,
122
+ title: 'My name 19',
123
+ description: 'My role',
124
+ },
125
+ {
126
+ imageElement: image,
127
+ title: 'My name 20',
128
+ description: 'My role',
129
+ }
130
+ ],
131
+ className: "h-100",
132
+ }
133
+ }
@@ -0,0 +1,66 @@
1
+ import { colors, radius, responsiveMedia } from '@/styles/variables';
2
+
3
+ import { IProductsSlider } from './ProductsSlider.interface';
4
+ import styled from 'styled-components';
5
+
6
+ export const StyledProductsSlider = styled.div<IProductsSlider>`
7
+ position: relative;
8
+ width: 100%;
9
+ overflow: hidden;
10
+ `;
11
+
12
+ export const StyledProductsSliderWrapper = styled.div<IProductsSlider>`
13
+ position: relative;
14
+ display: flex;
15
+ justify-content: center;
16
+ @media only screen and (min-width: ${responsiveMedia}) {
17
+ margin: 0 auto;
18
+ margin-right: 0;
19
+ transform: translate(-30%, 0%);
20
+ }
21
+ `;
22
+
23
+ export const StyledProductsSliderSlides = styled.div<IProductsSlider>`
24
+ @media only screen and (min-width: ${responsiveMedia}) {
25
+ transform-origin: center;
26
+ display: flex;
27
+ justify-content: center;
28
+ align-items: center;
29
+ position: relative;
30
+ z-index: 100;
31
+ transform: rotate(0deg);
32
+ transition: all 0.6s;
33
+ }
34
+ `;
35
+ export const StyledProductsSliderSlide = styled.div<IProductsSlider>`
36
+ @media only screen and (min-width: ${responsiveMedia}) {
37
+ position: absolute;
38
+ width: 26rem;
39
+ transform-origin: center;
40
+ opacity: 0.4;
41
+ transition: .3s linear all;
42
+ cursor: pointer;
43
+
44
+ & > div{
45
+ width: 100%;
46
+ height: 100%;
47
+ pointer-events:none;
48
+ transform: rotate(-90deg);
49
+ }
50
+
51
+ &.active{
52
+ opacity: 1;
53
+ }
54
+ }
55
+ `;
56
+
57
+
58
+ export const StyledProductsSliderContent = styled.div<IProductsSlider>`
59
+ max-width: 50rem;
60
+ background: ${colors.third10};
61
+ border-radius: ${radius.md};
62
+ padding: 2rem;
63
+ margin: auto;
64
+ transform: translateY(135px);
65
+ `;
66
+
@@ -0,0 +1 @@
1
+ export { default } from './ProductsSlider.component'
package/src/index.ts CHANGED
@@ -51,6 +51,7 @@ export { default as Slider } from './components/organisms/Slider'
51
51
  export { default as Cover } from './components/organisms/Cover'
52
52
  export { default as Tabs } from './components/organisms/Tabs'
53
53
  export { default as CircularSlider } from './components/organisms/CircularSlider'
54
+ export { default as ProductsSlider } from './components/organisms/ProductsSlider'
54
55
 
55
56
  export { iconsList } from './helpers/getIcons'
56
57
 
@@ -1,4 +0,0 @@
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;
@@ -1,12 +0,0 @@
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
- };
@@ -1,7 +0,0 @@
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;
@@ -1 +0,0 @@
1
- export { default } from './CircularSliderTeste.component';
@@ -1,4 +0,0 @@
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;
@@ -1,12 +0,0 @@
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
- };
@@ -1,7 +0,0 @@
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;
@@ -1 +0,0 @@
1
- export { default } from './CircularSliderTeste.component';
@@ -1,13 +0,0 @@
1
- import { CSSProperties } from 'react';
2
-
3
- export type ICircularSliderTeste = {
4
- id?: string;
5
- className?: string;
6
- style?: CSSProperties;
7
- content?: {
8
- name?: string,
9
- role?: string,
10
- img?: React.ReactNode
11
- }[],
12
- cta?: React.ReactNode
13
- }