oddsgate-ds 1.0.169 → 1.0.171

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 (277) hide show
  1. package/.babelrc.json +25 -25
  2. package/.editorconfig +12 -12
  3. package/.storybook/main.ts +58 -58
  4. package/.storybook/preview.ts +26 -26
  5. package/README.md +30 -30
  6. package/chromatic.config.json +6 -6
  7. package/dist/cjs/assets/components/quotes.svg +3 -3
  8. package/dist/cjs/index.js +4 -4
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/types/components/molecules/EventsCard/EventsCard.component.d.ts +1 -1
  11. package/dist/cjs/types/components/molecules/EventsCard/EventsCard.interface.d.ts +1 -0
  12. package/dist/esm/assets/components/quotes.svg +3 -3
  13. package/dist/esm/index.js +1 -1
  14. package/dist/esm/index.js.map +1 -1
  15. package/dist/esm/types/components/molecules/EventsCard/EventsCard.component.d.ts +1 -1
  16. package/dist/esm/types/components/molecules/EventsCard/EventsCard.interface.d.ts +1 -0
  17. package/dist/public/assets/components/quotes.svg +3 -3
  18. package/dist/public/assets/empty-state.svg +28 -28
  19. package/dist/public/fonts/Nichrome/mdnichrome-bold-webfont.svg +241 -241
  20. package/dist/public/fonts/Nichrome/mdnichrome-regular-webfont.svg +241 -241
  21. package/dist/public/fonts/miewfont/miewfont.svg +38 -38
  22. package/dist/types.d.ts +2 -1
  23. package/package.json +103 -103
  24. package/prettier.config.js +7 -7
  25. package/public/assets/components/quotes.svg +3 -3
  26. package/public/assets/empty-state.svg +28 -28
  27. package/public/fonts/Nichrome/mdnichrome-bold-webfont.svg +241 -241
  28. package/public/fonts/Nichrome/mdnichrome-regular-webfont.svg +241 -241
  29. package/public/fonts/miewfont/miewfont.svg +38 -38
  30. package/rollup.config.js +98 -98
  31. package/src/components/atoms/Button/Button.component.tsx +60 -60
  32. package/src/components/atoms/Button/Button.interface.ts +29 -29
  33. package/src/components/atoms/Button/Button.stories.tsx +65 -65
  34. package/src/components/atoms/Button/Button.theme.ts +180 -180
  35. package/src/components/atoms/Button/index.ts +1 -1
  36. package/src/components/atoms/CardMarquee/CardMarquee.component.tsx +24 -24
  37. package/src/components/atoms/CardMarquee/CardMarquee.interface.ts +15 -15
  38. package/src/components/atoms/CardMarquee/CardMarquee.stories.tsx +21 -21
  39. package/src/components/atoms/CardMarquee/CardMarquee.theme.ts +48 -48
  40. package/src/components/atoms/CardMarquee/index.ts +1 -1
  41. package/src/components/atoms/Chip/Chip.component.tsx +30 -30
  42. package/src/components/atoms/Chip/Chip.interface.ts +14 -14
  43. package/src/components/atoms/Chip/Chip.stories.tsx +42 -42
  44. package/src/components/atoms/Chip/Chip.theme.ts +57 -57
  45. package/src/components/atoms/Chip/index.ts +1 -1
  46. package/src/components/atoms/CloseButton/CloseButton.component.tsx +17 -17
  47. package/src/components/atoms/CloseButton/CloseButton.interface.ts +9 -9
  48. package/src/components/atoms/CloseButton/CloseButton.stories.tsx +24 -24
  49. package/src/components/atoms/CloseButton/CloseButton.theme.ts +66 -66
  50. package/src/components/atoms/CloseButton/index.ts +1 -1
  51. package/src/components/atoms/Counter/Counter.component.tsx +99 -99
  52. package/src/components/atoms/Counter/Counter.interface.ts +10 -10
  53. package/src/components/atoms/Counter/Counter.stories.tsx +29 -29
  54. package/src/components/atoms/Counter/Counter.theme.ts +27 -27
  55. package/src/components/atoms/Counter/index.ts +1 -1
  56. package/src/components/atoms/EmptyState/EmptyState.component.tsx +27 -27
  57. package/src/components/atoms/EmptyState/EmptyState.interface.ts +10 -10
  58. package/src/components/atoms/EmptyState/EmptyState.stories.tsx +34 -34
  59. package/src/components/atoms/EmptyState/EmptyState.theme.ts +27 -27
  60. package/src/components/atoms/EmptyState/index.ts +1 -1
  61. package/src/components/atoms/Flex/Flex.component.tsx +30 -30
  62. package/src/components/atoms/Flex/Flex.interface.ts +24 -24
  63. package/src/components/atoms/Flex/Flex.theme.ts +12 -12
  64. package/src/components/atoms/Flex/index.ts +1 -1
  65. package/src/components/atoms/FlexGrid/FlexGrid.component.tsx +62 -62
  66. package/src/components/atoms/FlexGrid/FlexGrid.interface.ts +55 -55
  67. package/src/components/atoms/FlexGrid/FlexGrid.stories.tsx +59 -59
  68. package/src/components/atoms/FlexGrid/FlexGrid.theme.ts +82 -82
  69. package/src/components/atoms/FlexGrid/index.ts +1 -1
  70. package/src/components/atoms/FormField/CheckRadioField/CheckRadioField.component.tsx +24 -24
  71. package/src/components/atoms/FormField/CheckRadioField/CheckRadioField.interface.tsx +6 -6
  72. package/src/components/atoms/FormField/CheckRadioField/CheckRadioField.theme.ts +134 -134
  73. package/src/components/atoms/FormField/CheckRadioField/index.ts +1 -1
  74. package/src/components/atoms/FormField/FormField.component.tsx +37 -37
  75. package/src/components/atoms/FormField/FormField.interface.ts +10 -10
  76. package/src/components/atoms/FormField/FormField.stories.tsx +499 -499
  77. package/src/components/atoms/FormField/FormField.theme.tsx +136 -136
  78. package/src/components/atoms/FormField/index.ts +1 -1
  79. package/src/components/atoms/Heading/Heading.component.tsx +18 -18
  80. package/src/components/atoms/Heading/Heading.interface.tsx +21 -21
  81. package/src/components/atoms/Heading/Heading.theme.ts +17 -17
  82. package/src/components/atoms/Heading/index.ts +1 -1
  83. package/src/components/atoms/Icon/Icon.component.tsx +19 -19
  84. package/src/components/atoms/Icon/Icon.interface.ts +8 -8
  85. package/src/components/atoms/Icon/Icon.stories.tsx +26 -26
  86. package/src/components/atoms/Icon/Icon.theme.ts +115 -115
  87. package/src/components/atoms/Icon/index.ts +1 -1
  88. package/src/components/atoms/ImageWrapper/ImageWrapper.component.tsx +42 -42
  89. package/src/components/atoms/ImageWrapper/ImageWrapper.interface.ts +16 -16
  90. package/src/components/atoms/ImageWrapper/ImageWrapper.stories.tsx +27 -27
  91. package/src/components/atoms/ImageWrapper/ImageWrapper.theme.ts +50 -50
  92. package/src/components/atoms/ImageWrapper/index.ts +1 -1
  93. package/src/components/atoms/LegalLinks/LegalLinks.component.tsx +35 -35
  94. package/src/components/atoms/LegalLinks/LegalLinks.interface.ts +12 -12
  95. package/src/components/atoms/LegalLinks/LegalLinks.stories.tsx +43 -43
  96. package/src/components/atoms/LegalLinks/LegalLinks.theme.ts +33 -33
  97. package/src/components/atoms/LegalLinks/index.ts +1 -1
  98. package/src/components/atoms/Loader/Loader.component.tsx +26 -26
  99. package/src/components/atoms/Loader/Loader.interface.ts +10 -10
  100. package/src/components/atoms/Loader/Loader.stories.tsx +33 -33
  101. package/src/components/atoms/Loader/Loader.theme.ts +51 -51
  102. package/src/components/atoms/Loader/index.ts +1 -1
  103. package/src/components/atoms/Marquee/Marquee.component.tsx +32 -32
  104. package/src/components/atoms/Marquee/Marquee.interface.ts +10 -10
  105. package/src/components/atoms/Marquee/Marquee.stories.tsx +20 -20
  106. package/src/components/atoms/Marquee/Marquee.theme.ts +40 -40
  107. package/src/components/atoms/Marquee/index.ts +1 -1
  108. package/src/components/atoms/Quote/Quote.component.tsx +29 -29
  109. package/src/components/atoms/Quote/Quote.interface.ts +10 -10
  110. package/src/components/atoms/Quote/Quote.stories.tsx +25 -25
  111. package/src/components/atoms/Quote/Quote.theme.ts +26 -26
  112. package/src/components/atoms/Quote/index.ts +1 -1
  113. package/src/components/atoms/RichText/RichText.component.tsx +32 -32
  114. package/src/components/atoms/RichText/RichText.interface.ts +11 -11
  115. package/src/components/atoms/RichText/RichText.stories.tsx +73 -73
  116. package/src/components/atoms/RichText/RichText.theme.ts +34 -34
  117. package/src/components/atoms/RichText/index.ts +1 -1
  118. package/src/components/atoms/ScrollingNav/ScrollingNav.component.tsx +18 -18
  119. package/src/components/atoms/ScrollingNav/ScrollingNav.interface.ts +8 -8
  120. package/src/components/atoms/ScrollingNav/ScrollingNav.stories.tsx +44 -44
  121. package/src/components/atoms/ScrollingNav/ScrollingNav.theme.ts +58 -58
  122. package/src/components/atoms/ScrollingNav/index.ts +1 -1
  123. package/src/components/atoms/Separator/Separator.component.tsx +19 -19
  124. package/src/components/atoms/Separator/Separator.interface.tsx +10 -10
  125. package/src/components/atoms/Separator/Separator.stories.tsx +29 -29
  126. package/src/components/atoms/Separator/Separator.theme.ts +9 -9
  127. package/src/components/atoms/Separator/index.ts +1 -1
  128. package/src/components/atoms/SocialLinks/SocialLinks.component.tsx +42 -42
  129. package/src/components/atoms/SocialLinks/SocialLinks.interface.ts +8 -8
  130. package/src/components/atoms/SocialLinks/SocialLinks.stories.tsx +48 -48
  131. package/src/components/atoms/SocialLinks/SocialLinks.theme.ts +80 -80
  132. package/src/components/atoms/SocialLinks/index.ts +1 -1
  133. package/src/components/atoms/Spacer/Spacer.component.tsx +34 -34
  134. package/src/components/atoms/Spacer/Spacer.interface.ts +24 -24
  135. package/src/components/atoms/Spacer/Spacer.stories.tsx +99 -99
  136. package/src/components/atoms/Spacer/Spacer.theme.ts +33 -33
  137. package/src/components/atoms/Spacer/index.ts +1 -1
  138. package/src/components/atoms/Video/Video.component.tsx +116 -116
  139. package/src/components/atoms/Video/Video.interface.ts +13 -13
  140. package/src/components/atoms/Video/Video.stories.tsx +37 -37
  141. package/src/components/atoms/Video/Video.theme.ts +44 -44
  142. package/src/components/atoms/Video/index.ts +1 -1
  143. package/src/components/atoms/VideoEmbed/VideoEmbed.component.tsx +109 -109
  144. package/src/components/atoms/VideoEmbed/VideoEmbed.interface.ts +13 -13
  145. package/src/components/atoms/VideoEmbed/VideoEmbed.stories.tsx +23 -23
  146. package/src/components/atoms/VideoEmbed/VideoEmbed.theme.ts +45 -45
  147. package/src/components/atoms/VideoEmbed/index.ts +1 -1
  148. package/src/components/common/PortalComponent/PortalComponent.tsx +48 -48
  149. package/src/components/common/PortalComponent/index.ts +1 -1
  150. package/src/components/molecules/Accordion/Accordion.component.tsx +58 -58
  151. package/src/components/molecules/Accordion/Accordion.interface.ts +15 -15
  152. package/src/components/molecules/Accordion/Accordion.stories.tsx +100 -100
  153. package/src/components/molecules/Accordion/Accordion.theme.ts +93 -93
  154. package/src/components/molecules/Accordion/index.ts +1 -1
  155. package/src/components/molecules/BlogCard/BlogCard.component.tsx +48 -48
  156. package/src/components/molecules/BlogCard/BlogCard.interface.ts +10 -10
  157. package/src/components/molecules/BlogCard/BlogCard.stories.tsx +37 -37
  158. package/src/components/molecules/BlogCard/BlogCard.theme.ts +41 -41
  159. package/src/components/molecules/BlogCard/index.ts +1 -1
  160. package/src/components/molecules/Card/Card.component.tsx +15 -15
  161. package/src/components/molecules/Card/Card.interface.ts +11 -11
  162. package/src/components/molecules/Card/Card.theme.ts +54 -54
  163. package/src/components/molecules/Card/index.ts +1 -1
  164. package/src/components/molecules/CareersCard/CareersCard.component.tsx +27 -27
  165. package/src/components/molecules/CareersCard/CareersCard.interface.ts +7 -7
  166. package/src/components/molecules/CareersCard/CareersCard.stories.tsx +30 -30
  167. package/src/components/molecules/CareersCard/CareersCard.theme.ts +13 -13
  168. package/src/components/molecules/CareersCard/index.ts +1 -1
  169. package/src/components/molecules/Dropdown/Dropdown.component.tsx +67 -67
  170. package/src/components/molecules/Dropdown/Dropdown.interface.ts +26 -26
  171. package/src/components/molecules/Dropdown/Dropdown.stories.tsx +54 -54
  172. package/src/components/molecules/Dropdown/Dropdown.theme.ts +69 -69
  173. package/src/components/molecules/Dropdown/index.ts +1 -1
  174. package/src/components/molecules/EventsCard/EventsCard.component.tsx +41 -40
  175. package/src/components/molecules/EventsCard/EventsCard.interface.ts +10 -9
  176. package/src/components/molecules/EventsCard/EventsCard.stories.tsx +38 -37
  177. package/src/components/molecules/EventsCard/EventsCard.theme.ts +33 -33
  178. package/src/components/molecules/EventsCard/index.ts +1 -1
  179. package/src/components/molecules/IconBox/IconBox.component.tsx +29 -29
  180. package/src/components/molecules/IconBox/IconBox.interface.tsx +10 -10
  181. package/src/components/molecules/IconBox/IconBox.stories.tsx +23 -23
  182. package/src/components/molecules/IconBox/IconBox.theme.ts +25 -25
  183. package/src/components/molecules/IconBox/index.ts +1 -1
  184. package/src/components/molecules/IconTitle/IconTitle.component.tsx +24 -24
  185. package/src/components/molecules/IconTitle/IconTitle.interface.tsx +10 -10
  186. package/src/components/molecules/IconTitle/IconTitle.stories.tsx +49 -49
  187. package/src/components/molecules/IconTitle/IconTitle.theme.ts +10 -10
  188. package/src/components/molecules/IconTitle/index.ts +1 -1
  189. package/src/components/molecules/LicenseCard/LicenseCard.component.tsx +27 -27
  190. package/src/components/molecules/LicenseCard/LicenseCard.interface.ts +6 -6
  191. package/src/components/molecules/LicenseCard/LicenseCard.stories.tsx +42 -42
  192. package/src/components/molecules/LicenseCard/LicenseCard.theme.ts +28 -28
  193. package/src/components/molecules/LicenseCard/index.ts +1 -1
  194. package/src/components/molecules/LogosCard/LogosCard.component.tsx +14 -14
  195. package/src/components/molecules/LogosCard/LogosCard.interface.ts +8 -8
  196. package/src/components/molecules/LogosCard/LogosCard.stories.tsx +38 -38
  197. package/src/components/molecules/LogosCard/LogosCard.theme.ts +19 -19
  198. package/src/components/molecules/LogosCard/index.ts +1 -1
  199. package/src/components/molecules/Modal/Modal.component.tsx +70 -70
  200. package/src/components/molecules/Modal/Modal.interface.ts +11 -11
  201. package/src/components/molecules/Modal/Modal.stories.tsx +57 -57
  202. package/src/components/molecules/Modal/Modal.theme.ts +55 -55
  203. package/src/components/molecules/Modal/index.ts +1 -1
  204. package/src/components/molecules/NewsCard/NewsCard.component.tsx +55 -55
  205. package/src/components/molecules/NewsCard/NewsCard.interface.ts +9 -9
  206. package/src/components/molecules/NewsCard/NewsCard.stories.tsx +44 -44
  207. package/src/components/molecules/NewsCard/NewsCard.theme.ts +77 -77
  208. package/src/components/molecules/NewsCard/index.ts +1 -1
  209. package/src/components/molecules/OffCanvas/OffCanvas.component.tsx +55 -55
  210. package/src/components/molecules/OffCanvas/OffCanvas.interface.ts +12 -12
  211. package/src/components/molecules/OffCanvas/OffCanvas.stories.tsx +55 -55
  212. package/src/components/molecules/OffCanvas/OffCanvas.theme.ts +50 -50
  213. package/src/components/molecules/OffCanvas/index.ts +1 -1
  214. package/src/components/molecules/ProductCard/ProductCard.component.tsx +60 -60
  215. package/src/components/molecules/ProductCard/ProductCard.interface.ts +7 -7
  216. package/src/components/molecules/ProductCard/ProductCard.stories.tsx +42 -42
  217. package/src/components/molecules/ProductCard/ProductCard.theme.ts +26 -26
  218. package/src/components/molecules/ProductCard/index.ts +1 -1
  219. package/src/components/molecules/ShareModal/ShareModal.component.tsx +167 -167
  220. package/src/components/molecules/ShareModal/ShareModal.interface.ts +9 -9
  221. package/src/components/molecules/ShareModal/ShareModal.stories.tsx +33 -33
  222. package/src/components/molecules/ShareModal/ShareModal.theme.ts +103 -103
  223. package/src/components/molecules/ShareModal/index.ts +1 -1
  224. package/src/components/molecules/TeamCard/TeamCard.component.tsx +31 -31
  225. package/src/components/molecules/TeamCard/TeamCard.interface.ts +7 -7
  226. package/src/components/molecules/TeamCard/TeamCard.stories.tsx +33 -33
  227. package/src/components/molecules/TeamCard/TeamCard.theme.ts +12 -12
  228. package/src/components/molecules/TeamCard/index.ts +1 -1
  229. package/src/components/organisms/CircularSlider/CircularSlider.component.tsx +231 -231
  230. package/src/components/organisms/CircularSlider/CircularSlider.interface.ts +13 -13
  231. package/src/components/organisms/CircularSlider/CircularSlider.stories.tsx +138 -138
  232. package/src/components/organisms/CircularSlider/CircularSlider.theme.ts +126 -126
  233. package/src/components/organisms/CircularSlider/index.ts +1 -1
  234. package/src/components/organisms/Cover/Cover.component.tsx +46 -46
  235. package/src/components/organisms/Cover/Cover.interface.ts +14 -14
  236. package/src/components/organisms/Cover/Cover.stories.tsx +97 -97
  237. package/src/components/organisms/Cover/Cover.theme.ts +49 -49
  238. package/src/components/organisms/Cover/index.ts +1 -1
  239. package/src/components/organisms/ProductsSlider/ProductsSlider.component.tsx +216 -216
  240. package/src/components/organisms/ProductsSlider/ProductsSlider.interface.ts +12 -12
  241. package/src/components/organisms/ProductsSlider/ProductsSlider.stories.tsx +132 -132
  242. package/src/components/organisms/ProductsSlider/ProductsSlider.theme.ts +77 -77
  243. package/src/components/organisms/ProductsSlider/index.ts +1 -1
  244. package/src/components/organisms/ProductsSlider//306/222.js +164 -164
  245. package/src/components/organisms/Slider/Slider.component.tsx +154 -154
  246. package/src/components/organisms/Slider/Slider.interface.ts +19 -19
  247. package/src/components/organisms/Slider/Slider.stories.tsx +146 -146
  248. package/src/components/organisms/Slider/Slider.theme.ts +145 -145
  249. package/src/components/organisms/Slider/Slider.utils.tsx +19 -19
  250. package/src/components/organisms/Slider/index.ts +1 -1
  251. package/src/components/organisms/Tabs/Tabs.component.tsx +88 -88
  252. package/src/components/organisms/Tabs/Tabs.interface.ts +18 -18
  253. package/src/components/organisms/Tabs/Tabs.stories.tsx +118 -118
  254. package/src/components/organisms/Tabs/Tabs.theme.ts +115 -115
  255. package/src/components/organisms/Tabs/index.ts +1 -1
  256. package/src/helpers/clickOutsideToClose.tsx +17 -17
  257. package/src/helpers/events.ts +9 -9
  258. package/src/helpers/exportCSS.tsx +27 -27
  259. package/src/helpers/getIcons.ts +5 -5
  260. package/src/helpers/isTouchDevice.tsx +11 -11
  261. package/src/helpers/useInterval.ts +25 -25
  262. package/src/helpers/useMediaMatch.tsx +26 -26
  263. package/src/helpers/uuid.ts +5 -5
  264. package/src/iconsList.json +1 -1
  265. package/src/index.ts +68 -68
  266. package/src/reportWebVitals.js +13 -13
  267. package/src/stories/Documentation/Colors.stories.tsx +46 -46
  268. package/src/stories/Documentation/Headings.stories.tsx +24 -24
  269. package/src/stories/Documentation/Icons.stories.tsx +73 -73
  270. package/src/stories/Documentation/JWT.stories.tsx +60 -60
  271. package/src/stories/Documentation/Utilities.stories.tsx +65 -65
  272. package/src/styles/Global.ts +301 -301
  273. package/src/styles/grid.ts +70 -70
  274. package/src/styles/reset.ts +47 -47
  275. package/src/styles/utilities.ts +374 -374
  276. package/src/styles/variables.ts +180 -180
  277. package/tsconfig.json +31 -31
@@ -1,58 +1,58 @@
1
- import { IAccordion, IAccordionItem } from './Accordion.interface'
2
- import React, { useRef, useState } from 'react'
3
- import {
4
- StyledAccordion,
5
- StyledAccordionContent,
6
- StyledAccordionItem,
7
- StyledAccordionTitle
8
- } from './Accordion.theme'
9
-
10
- import Icon from '@/components/atoms/Icon/Icon.component'
11
- import Separator from '@/components/atoms/Separator/Separator.component'
12
-
13
- export const Accordion = ({ className, style, children }: IAccordion) => {
14
- return (
15
- <StyledAccordion className={className} style={style}>
16
- {children}
17
- </StyledAccordion>
18
- )
19
- }
20
-
21
- export const AccordionItem = ({
22
- title,
23
- className,
24
- style,
25
- children
26
- }: IAccordionItem) => {
27
- const [active, setActive] = useState(false)
28
- const contentEl = useRef<HTMLInputElement>(null)
29
-
30
- return (
31
- <StyledAccordionItem
32
- active={active ? true : undefined}
33
- className={className}
34
- style={style}
35
- >
36
- <StyledAccordionTitle
37
- className={`h4 fw-bold`}
38
- onClick={() => {
39
- setActive(!active)
40
- }}
41
- >
42
- <span>{title}</span>
43
- <Icon className={active ? 'icon-arrowDown' : 'icon-arrowUp'} />
44
- </StyledAccordionTitle>
45
- <StyledAccordionContent
46
- ref={contentEl}
47
- style={
48
- active
49
- ? { height: contentEl?.current?.scrollHeight }
50
- : { height: '0px' }
51
- }
52
- >
53
- <Separator height="1rem"></Separator>
54
- {children}
55
- </StyledAccordionContent>
56
- </StyledAccordionItem>
57
- )
58
- }
1
+ import { IAccordion, IAccordionItem } from './Accordion.interface'
2
+ import React, { useRef, useState } from 'react'
3
+ import {
4
+ StyledAccordion,
5
+ StyledAccordionContent,
6
+ StyledAccordionItem,
7
+ StyledAccordionTitle
8
+ } from './Accordion.theme'
9
+
10
+ import Icon from '@/components/atoms/Icon/Icon.component'
11
+ import Separator from '@/components/atoms/Separator/Separator.component'
12
+
13
+ export const Accordion = ({ className, style, children }: IAccordion) => {
14
+ return (
15
+ <StyledAccordion className={className} style={style}>
16
+ {children}
17
+ </StyledAccordion>
18
+ )
19
+ }
20
+
21
+ export const AccordionItem = ({
22
+ title,
23
+ className,
24
+ style,
25
+ children
26
+ }: IAccordionItem) => {
27
+ const [active, setActive] = useState(false)
28
+ const contentEl = useRef<HTMLInputElement>(null)
29
+
30
+ return (
31
+ <StyledAccordionItem
32
+ active={active ? true : undefined}
33
+ className={className}
34
+ style={style}
35
+ >
36
+ <StyledAccordionTitle
37
+ className={`h4 fw-bold`}
38
+ onClick={() => {
39
+ setActive(!active)
40
+ }}
41
+ >
42
+ <span>{title}</span>
43
+ <Icon className={active ? 'icon-arrowDown' : 'icon-arrowUp'} />
44
+ </StyledAccordionTitle>
45
+ <StyledAccordionContent
46
+ ref={contentEl}
47
+ style={
48
+ active
49
+ ? { height: contentEl?.current?.scrollHeight }
50
+ : { height: '0px' }
51
+ }
52
+ >
53
+ <Separator height="1rem"></Separator>
54
+ {children}
55
+ </StyledAccordionContent>
56
+ </StyledAccordionItem>
57
+ )
58
+ }
@@ -1,15 +1,15 @@
1
- import { CSSProperties } from 'react';
2
-
3
- export interface IAccordion {
4
- className?: string
5
- style?: CSSProperties
6
- children?: React.ReactNode;
7
- }
8
-
9
- export interface IAccordionItem {
10
- active?: boolean
11
- title?: string
12
- className?: string
13
- style?: CSSProperties
14
- children?: React.ReactNode;
15
- }
1
+ import { CSSProperties } from 'react';
2
+
3
+ export interface IAccordion {
4
+ className?: string
5
+ style?: CSSProperties
6
+ children?: React.ReactNode;
7
+ }
8
+
9
+ export interface IAccordionItem {
10
+ active?: boolean
11
+ title?: string
12
+ className?: string
13
+ style?: CSSProperties
14
+ children?: React.ReactNode;
15
+ }
@@ -1,100 +1,100 @@
1
- import { Accordion, AccordionItem } from './Accordion.component'
2
- import type { Meta, StoryObj } from '@storybook/react'
3
-
4
- import { IAccordion } from './Accordion.interface'
5
- import React from 'react'
6
-
7
- // More on default export: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
8
- export default {
9
- title: 'Components/Accordion',
10
- component: Accordion,
11
- tags: ['autodocs']
12
- } as Meta
13
-
14
- export const Simple: StoryObj<IAccordion> = {
15
- render: args => (
16
- <Accordion {...args}>
17
- <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
18
- <p>
19
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
20
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
21
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
22
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
23
- </p>
24
- </AccordionItem>
25
- <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
26
- <p>
27
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
28
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
29
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
30
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
31
- </p>
32
- </AccordionItem>
33
- <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
34
- <p>
35
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
36
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
37
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
38
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
39
- </p>
40
- </AccordionItem>
41
- <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
42
- <p>
43
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
44
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
45
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
46
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
47
- </p>
48
- </AccordionItem>
49
- <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
50
- <p>
51
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
52
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
53
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
54
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
55
- </p>
56
- </AccordionItem>
57
- <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
58
- <p>
59
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
60
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
61
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
62
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
63
- </p>
64
- </AccordionItem>
65
- <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
66
- <p>
67
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
68
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
69
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
70
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
71
- </p>
72
- </AccordionItem>
73
- <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
74
- <p>
75
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
76
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
77
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
78
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
79
- </p>
80
- </AccordionItem>
81
- <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
82
- <p>
83
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
84
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
85
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
86
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
87
- </p>
88
- </AccordionItem>
89
- <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
90
- <p>
91
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
92
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
93
- Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
94
- ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
95
- </p>
96
- </AccordionItem>
97
- </Accordion>
98
- ),
99
- args: {}
100
- }
1
+ import { Accordion, AccordionItem } from './Accordion.component'
2
+ import type { Meta, StoryObj } from '@storybook/react'
3
+
4
+ import { IAccordion } from './Accordion.interface'
5
+ import React from 'react'
6
+
7
+ // More on default export: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
8
+ export default {
9
+ title: 'Components/Accordion',
10
+ component: Accordion,
11
+ tags: ['autodocs']
12
+ } as Meta
13
+
14
+ export const Simple: StoryObj<IAccordion> = {
15
+ render: args => (
16
+ <Accordion {...args}>
17
+ <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
18
+ <p>
19
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
20
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
21
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
22
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
23
+ </p>
24
+ </AccordionItem>
25
+ <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
26
+ <p>
27
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
28
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
29
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
30
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
31
+ </p>
32
+ </AccordionItem>
33
+ <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
34
+ <p>
35
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
36
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
37
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
38
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
39
+ </p>
40
+ </AccordionItem>
41
+ <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
42
+ <p>
43
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
44
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
45
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
46
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
47
+ </p>
48
+ </AccordionItem>
49
+ <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
50
+ <p>
51
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
52
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
53
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
54
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
55
+ </p>
56
+ </AccordionItem>
57
+ <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
58
+ <p>
59
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
60
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
61
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
62
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
63
+ </p>
64
+ </AccordionItem>
65
+ <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
66
+ <p>
67
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
68
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
69
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
70
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
71
+ </p>
72
+ </AccordionItem>
73
+ <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
74
+ <p>
75
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
76
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
77
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
78
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
79
+ </p>
80
+ </AccordionItem>
81
+ <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
82
+ <p>
83
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
84
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
85
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
86
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
87
+ </p>
88
+ </AccordionItem>
89
+ <AccordionItem title="Lorem ipsum dolor sit amet, consectetur adipiscing elit.">
90
+ <p>
91
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
92
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique.
93
+ Cras vel facilisis tellus, id iaculis risus. Vestibulum non mollis
94
+ ipsum. Vestibulum faucibus nisl sit amet magna interdum tristique
95
+ </p>
96
+ </AccordionItem>
97
+ </Accordion>
98
+ ),
99
+ args: {}
100
+ }
@@ -1,93 +1,93 @@
1
- import { IAccordion, IAccordionItem } from './Accordion.interface';
2
- import { colors, easeOutExpo, responsiveMedia, responsiveMediaMax } from '@/styles/variables';
3
- import styled, { css } from 'styled-components';
4
-
5
- export const StyledAccordionTitle = styled.span<IAccordionItem>`
6
- display: block;
7
- position: relative;
8
-
9
- padding-right: 6rem;
10
-
11
- cursor: pointer;
12
- transition: font-weight .4s ease-in-out;
13
-
14
- & i {
15
- position: absolute;
16
- top: 50%;
17
- right: 8px;
18
-
19
- display: flex;
20
- align-items: center;
21
- justify-content: center;
22
-
23
- width: 4rem;
24
- height: 4rem;
25
- border-radius: 100%;
26
-
27
-
28
- font-size: 1.2rem;
29
- color: ${colors.secondary50};
30
- background: ${colors.third10};
31
-
32
- transform: translateY(-50%);
33
- transform-origin: center;
34
-
35
- transition: all 0.6s ${easeOutExpo};
36
- }
37
-
38
- `
39
-
40
- export const StyledAccordionContent = styled.div<IAccordionItem>`
41
- position: relative;
42
- display: grid;
43
- grid-template-rows: 0fr;
44
- overflow: hidden;
45
- transition: all 0.5s linear;
46
-
47
- ${({ active }) => active && `
48
- grid-template-rows: 1fr;
49
- `}
50
-
51
- @media only screen and (max-width: ${responsiveMediaMax}) {
52
- padding-right: 6rem;
53
- }
54
- `
55
-
56
- export const StyledAccordionItem = styled.li<IAccordionItem>`
57
- position: relative;
58
- width: 100%;
59
- padding: 2rem 2.4rem;
60
- border-radius: 50px;
61
- color: ${colors.third50};
62
- background-color: ${colors.secondary50};
63
- margin-bottom: 1rem;
64
- transition: all 0.6s ${easeOutExpo};
65
-
66
- &:hover{
67
- color: ${colors.primary50};
68
- & ${StyledAccordionTitle} {
69
- i{
70
- background: ${colors.primary50};
71
- }
72
- }
73
- }
74
-
75
- ${({ active }) => active && `
76
- color: ${colors.third10};
77
- & ${StyledAccordionTitle} {
78
- i{
79
- background: ${colors.third10};
80
- }
81
- }
82
- `}
83
-
84
- `
85
-
86
- export const StyledAccordion = styled.ul<IAccordion>`
87
- display: block;
88
- text-align: left;
89
- margin: auto;
90
- list-style: none;
91
- padding: 0;
92
- `;
93
-
1
+ import { IAccordion, IAccordionItem } from './Accordion.interface';
2
+ import { colors, easeOutExpo, responsiveMedia, responsiveMediaMax } from '@/styles/variables';
3
+ import styled, { css } from 'styled-components';
4
+
5
+ export const StyledAccordionTitle = styled.span<IAccordionItem>`
6
+ display: block;
7
+ position: relative;
8
+
9
+ padding-right: 6rem;
10
+
11
+ cursor: pointer;
12
+ transition: font-weight .4s ease-in-out;
13
+
14
+ & i {
15
+ position: absolute;
16
+ top: 50%;
17
+ right: 8px;
18
+
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: center;
22
+
23
+ width: 4rem;
24
+ height: 4rem;
25
+ border-radius: 100%;
26
+
27
+
28
+ font-size: 1.2rem;
29
+ color: ${colors.secondary50};
30
+ background: ${colors.third10};
31
+
32
+ transform: translateY(-50%);
33
+ transform-origin: center;
34
+
35
+ transition: all 0.6s ${easeOutExpo};
36
+ }
37
+
38
+ `
39
+
40
+ export const StyledAccordionContent = styled.div<IAccordionItem>`
41
+ position: relative;
42
+ display: grid;
43
+ grid-template-rows: 0fr;
44
+ overflow: hidden;
45
+ transition: all 0.5s linear;
46
+
47
+ ${({ active }) => active && `
48
+ grid-template-rows: 1fr;
49
+ `}
50
+
51
+ @media only screen and (max-width: ${responsiveMediaMax}) {
52
+ padding-right: 6rem;
53
+ }
54
+ `
55
+
56
+ export const StyledAccordionItem = styled.li<IAccordionItem>`
57
+ position: relative;
58
+ width: 100%;
59
+ padding: 2rem 2.4rem;
60
+ border-radius: 50px;
61
+ color: ${colors.third50};
62
+ background-color: ${colors.secondary50};
63
+ margin-bottom: 1rem;
64
+ transition: all 0.6s ${easeOutExpo};
65
+
66
+ &:hover{
67
+ color: ${colors.primary50};
68
+ & ${StyledAccordionTitle} {
69
+ i{
70
+ background: ${colors.primary50};
71
+ }
72
+ }
73
+ }
74
+
75
+ ${({ active }) => active && `
76
+ color: ${colors.third10};
77
+ & ${StyledAccordionTitle} {
78
+ i{
79
+ background: ${colors.third10};
80
+ }
81
+ }
82
+ `}
83
+
84
+ `
85
+
86
+ export const StyledAccordion = styled.ul<IAccordion>`
87
+ display: block;
88
+ text-align: left;
89
+ margin: auto;
90
+ list-style: none;
91
+ padding: 0;
92
+ `;
93
+
@@ -1 +1 @@
1
- export { Accordion, AccordionItem } from './Accordion.component'
1
+ export { Accordion, AccordionItem } from './Accordion.component'
@@ -1,48 +1,48 @@
1
- import Chip from '@/components/atoms/Chip/Chip.component'
2
- import Heading from '@/components/atoms/Heading'
3
- import { IBlogCard } from './BlogCard.interface'
4
- import Icon from '@/components/atoms/Icon/Icon.component'
5
- import ImageWrapper from '@/components/atoms/ImageWrapper'
6
- import React from 'react'
7
- import RichText from '@/components/atoms/RichText/RichText.component'
8
- import { StyledBlogCard } from './BlogCard.theme'
9
-
10
- const BlogCard = ({
11
- variant,
12
- date,
13
- category,
14
- title,
15
- imageElement,
16
- linkElement,
17
- description,
18
- author,
19
- ...props
20
- }: IBlogCard) => {
21
- return (
22
- <StyledBlogCard
23
- variant={variant}
24
- imageElement={
25
- <>
26
- {category && <Chip variant='light' className='font-epilogue'>{category}</Chip>}
27
- <ImageWrapper aspectRatioHeight={63}>{imageElement}</ImageWrapper>
28
- </>
29
- }
30
- >
31
- <Heading tag={'h3'} size={'h4'} className={'fw-bold textEllipsis'}>
32
- {title}
33
- </Heading>
34
- <Heading tag={'span'} size={'captions'} className={'textEllipsis mt-3'}>
35
- {description}
36
- </Heading>
37
- {date && (
38
- <RichText tag={'span'} className="d-block fw-bold mt-4">
39
- {date}
40
- </RichText>
41
- )}
42
-
43
- {linkElement}
44
- </StyledBlogCard>
45
- )
46
- }
47
-
48
- export default BlogCard
1
+ import Chip from '@/components/atoms/Chip/Chip.component'
2
+ import Heading from '@/components/atoms/Heading'
3
+ import { IBlogCard } from './BlogCard.interface'
4
+ import Icon from '@/components/atoms/Icon/Icon.component'
5
+ import ImageWrapper from '@/components/atoms/ImageWrapper'
6
+ import React from 'react'
7
+ import RichText from '@/components/atoms/RichText/RichText.component'
8
+ import { StyledBlogCard } from './BlogCard.theme'
9
+
10
+ const BlogCard = ({
11
+ variant,
12
+ date,
13
+ category,
14
+ title,
15
+ imageElement,
16
+ linkElement,
17
+ description,
18
+ author,
19
+ ...props
20
+ }: IBlogCard) => {
21
+ return (
22
+ <StyledBlogCard
23
+ variant={variant}
24
+ imageElement={
25
+ <>
26
+ {category && <Chip variant='light' className='font-epilogue'>{category}</Chip>}
27
+ <ImageWrapper aspectRatioHeight={63}>{imageElement}</ImageWrapper>
28
+ </>
29
+ }
30
+ >
31
+ <Heading tag={'h3'} size={'h4'} className={'fw-bold textEllipsis'}>
32
+ {title}
33
+ </Heading>
34
+ <Heading tag={'span'} size={'captions'} className={'textEllipsis mt-3'}>
35
+ {description}
36
+ </Heading>
37
+ {date && (
38
+ <RichText tag={'span'} className="d-block fw-bold mt-4">
39
+ {date}
40
+ </RichText>
41
+ )}
42
+
43
+ {linkElement}
44
+ </StyledBlogCard>
45
+ )
46
+ }
47
+
48
+ export default BlogCard
@@ -1,10 +1,10 @@
1
- import { ICard } from '../Card/Card.interface';
2
-
3
- export interface IBlogCard extends ICard {
4
- date?: string,
5
- category?: string
6
- title?: string
7
- description?: string | React.ReactElement
8
- author?: string,
9
- linkElement?: React.ReactElement
10
- }
1
+ import { ICard } from '../Card/Card.interface';
2
+
3
+ export interface IBlogCard extends ICard {
4
+ date?: string,
5
+ category?: string
6
+ title?: string
7
+ description?: string | React.ReactElement
8
+ author?: string,
9
+ linkElement?: React.ReactElement
10
+ }