oddsgate-ds 1.0.174 → 1.0.175

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 (303) 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 +1 -1
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/types/components/atoms/AwardBadge/AwardBadge.component.d.ts +11 -0
  11. package/dist/cjs/types/components/atoms/AwardBadge/AwardBadge.interface.d.ts +4 -0
  12. package/dist/cjs/types/components/atoms/AwardBadge/AwardBadge.theme.d.ts +3 -0
  13. package/dist/cjs/types/components/atoms/AwardBadge/index.d.ts +1 -0
  14. package/dist/cjs/types/components/molecules/AwardCard/AwardCard.component.d.ts +15 -0
  15. package/dist/cjs/types/components/molecules/AwardCard/AwardCard.interface.d.ts +10 -0
  16. package/dist/cjs/types/components/molecules/AwardCard/AwardCard.theme.d.ts +6 -0
  17. package/dist/cjs/types/components/molecules/AwardCard/index.d.ts +1 -0
  18. package/dist/cjs/types/components/organisms/Slider/Slider.component.d.ts +1 -1
  19. package/dist/cjs/types/components/organisms/Slider/Slider.interface.d.ts +3 -0
  20. package/dist/esm/assets/components/quotes.svg +3 -3
  21. package/dist/esm/index.js +5 -5
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/esm/types/components/atoms/AwardBadge/AwardBadge.component.d.ts +11 -0
  24. package/dist/esm/types/components/atoms/AwardBadge/AwardBadge.interface.d.ts +4 -0
  25. package/dist/esm/types/components/atoms/AwardBadge/AwardBadge.theme.d.ts +3 -0
  26. package/dist/esm/types/components/atoms/AwardBadge/index.d.ts +1 -0
  27. package/dist/esm/types/components/molecules/AwardCard/AwardCard.component.d.ts +15 -0
  28. package/dist/esm/types/components/molecules/AwardCard/AwardCard.interface.d.ts +10 -0
  29. package/dist/esm/types/components/molecules/AwardCard/AwardCard.theme.d.ts +6 -0
  30. package/dist/esm/types/components/molecules/AwardCard/index.d.ts +1 -0
  31. package/dist/esm/types/components/organisms/Slider/Slider.component.d.ts +1 -1
  32. package/dist/esm/types/components/organisms/Slider/Slider.interface.d.ts +3 -0
  33. package/dist/public/assets/components/quotes.svg +3 -3
  34. package/dist/public/assets/empty-state.svg +28 -28
  35. package/dist/public/fonts/Nichrome/mdnichrome-bold-webfont.svg +241 -241
  36. package/dist/public/fonts/Nichrome/mdnichrome-regular-webfont.svg +241 -241
  37. package/dist/public/fonts/miewfont/miewfont.svg +38 -38
  38. package/dist/types.d.ts +4 -1
  39. package/package.json +103 -103
  40. package/prettier.config.js +7 -7
  41. package/public/assets/components/quotes.svg +3 -3
  42. package/public/assets/empty-state.svg +28 -28
  43. package/public/fonts/Nichrome/mdnichrome-bold-webfont.svg +241 -241
  44. package/public/fonts/Nichrome/mdnichrome-regular-webfont.svg +241 -241
  45. package/public/fonts/miewfont/miewfont.svg +38 -38
  46. package/rollup.config.js +98 -98
  47. package/src/components/atoms/AwardBadge/AwardBadge.component.tsx +25 -0
  48. package/src/components/atoms/AwardBadge/AwardBadge.interface.ts +4 -0
  49. package/src/components/atoms/AwardBadge/AwardBadge.stories.tsx +48 -0
  50. package/src/components/atoms/AwardBadge/AwardBadge.theme.ts +28 -0
  51. package/src/components/atoms/AwardBadge/index.ts +1 -0
  52. package/src/components/atoms/Button/Button.component.tsx +60 -60
  53. package/src/components/atoms/Button/Button.interface.ts +29 -29
  54. package/src/components/atoms/Button/Button.stories.tsx +65 -65
  55. package/src/components/atoms/Button/Button.theme.ts +180 -180
  56. package/src/components/atoms/Button/index.ts +1 -1
  57. package/src/components/atoms/CardMarquee/CardMarquee.component.tsx +24 -24
  58. package/src/components/atoms/CardMarquee/CardMarquee.interface.ts +15 -15
  59. package/src/components/atoms/CardMarquee/CardMarquee.stories.tsx +21 -21
  60. package/src/components/atoms/CardMarquee/CardMarquee.theme.ts +48 -48
  61. package/src/components/atoms/CardMarquee/index.ts +1 -1
  62. package/src/components/atoms/Chip/Chip.component.tsx +30 -30
  63. package/src/components/atoms/Chip/Chip.interface.ts +14 -14
  64. package/src/components/atoms/Chip/Chip.stories.tsx +42 -42
  65. package/src/components/atoms/Chip/Chip.theme.ts +57 -57
  66. package/src/components/atoms/Chip/index.ts +1 -1
  67. package/src/components/atoms/CloseButton/CloseButton.component.tsx +17 -17
  68. package/src/components/atoms/CloseButton/CloseButton.interface.ts +9 -9
  69. package/src/components/atoms/CloseButton/CloseButton.stories.tsx +24 -24
  70. package/src/components/atoms/CloseButton/CloseButton.theme.ts +66 -66
  71. package/src/components/atoms/CloseButton/index.ts +1 -1
  72. package/src/components/atoms/Counter/Counter.component.tsx +99 -99
  73. package/src/components/atoms/Counter/Counter.interface.ts +10 -10
  74. package/src/components/atoms/Counter/Counter.stories.tsx +29 -29
  75. package/src/components/atoms/Counter/Counter.theme.ts +27 -27
  76. package/src/components/atoms/Counter/index.ts +1 -1
  77. package/src/components/atoms/EmptyState/EmptyState.component.tsx +27 -27
  78. package/src/components/atoms/EmptyState/EmptyState.interface.ts +10 -10
  79. package/src/components/atoms/EmptyState/EmptyState.stories.tsx +34 -34
  80. package/src/components/atoms/EmptyState/EmptyState.theme.ts +27 -27
  81. package/src/components/atoms/EmptyState/index.ts +1 -1
  82. package/src/components/atoms/Flex/Flex.component.tsx +30 -30
  83. package/src/components/atoms/Flex/Flex.interface.ts +24 -24
  84. package/src/components/atoms/Flex/Flex.theme.ts +12 -12
  85. package/src/components/atoms/Flex/index.ts +1 -1
  86. package/src/components/atoms/FlexGrid/FlexGrid.component.tsx +62 -62
  87. package/src/components/atoms/FlexGrid/FlexGrid.interface.ts +55 -55
  88. package/src/components/atoms/FlexGrid/FlexGrid.stories.tsx +59 -59
  89. package/src/components/atoms/FlexGrid/FlexGrid.theme.ts +82 -82
  90. package/src/components/atoms/FlexGrid/index.ts +1 -1
  91. package/src/components/atoms/FormField/CheckRadioField/CheckRadioField.component.tsx +24 -24
  92. package/src/components/atoms/FormField/CheckRadioField/CheckRadioField.interface.tsx +6 -6
  93. package/src/components/atoms/FormField/CheckRadioField/CheckRadioField.theme.ts +134 -134
  94. package/src/components/atoms/FormField/CheckRadioField/index.ts +1 -1
  95. package/src/components/atoms/FormField/FormField.component.tsx +37 -37
  96. package/src/components/atoms/FormField/FormField.interface.ts +10 -10
  97. package/src/components/atoms/FormField/FormField.stories.tsx +499 -499
  98. package/src/components/atoms/FormField/FormField.theme.tsx +136 -136
  99. package/src/components/atoms/FormField/index.ts +1 -1
  100. package/src/components/atoms/Heading/Heading.component.tsx +18 -18
  101. package/src/components/atoms/Heading/Heading.interface.tsx +21 -21
  102. package/src/components/atoms/Heading/Heading.theme.ts +17 -17
  103. package/src/components/atoms/Heading/index.ts +1 -1
  104. package/src/components/atoms/Icon/Icon.component.tsx +19 -19
  105. package/src/components/atoms/Icon/Icon.interface.ts +8 -8
  106. package/src/components/atoms/Icon/Icon.stories.tsx +26 -26
  107. package/src/components/atoms/Icon/Icon.theme.ts +115 -115
  108. package/src/components/atoms/Icon/index.ts +1 -1
  109. package/src/components/atoms/ImageWrapper/ImageWrapper.component.tsx +42 -42
  110. package/src/components/atoms/ImageWrapper/ImageWrapper.interface.ts +16 -16
  111. package/src/components/atoms/ImageWrapper/ImageWrapper.stories.tsx +27 -27
  112. package/src/components/atoms/ImageWrapper/ImageWrapper.theme.ts +50 -50
  113. package/src/components/atoms/ImageWrapper/index.ts +1 -1
  114. package/src/components/atoms/LegalLinks/LegalLinks.component.tsx +35 -35
  115. package/src/components/atoms/LegalLinks/LegalLinks.interface.ts +12 -12
  116. package/src/components/atoms/LegalLinks/LegalLinks.stories.tsx +43 -43
  117. package/src/components/atoms/LegalLinks/LegalLinks.theme.ts +33 -33
  118. package/src/components/atoms/LegalLinks/index.ts +1 -1
  119. package/src/components/atoms/Loader/Loader.component.tsx +26 -26
  120. package/src/components/atoms/Loader/Loader.interface.ts +10 -10
  121. package/src/components/atoms/Loader/Loader.stories.tsx +33 -33
  122. package/src/components/atoms/Loader/Loader.theme.ts +51 -51
  123. package/src/components/atoms/Loader/index.ts +1 -1
  124. package/src/components/atoms/Marquee/Marquee.component.tsx +32 -32
  125. package/src/components/atoms/Marquee/Marquee.interface.ts +10 -10
  126. package/src/components/atoms/Marquee/Marquee.stories.tsx +20 -20
  127. package/src/components/atoms/Marquee/Marquee.theme.ts +40 -40
  128. package/src/components/atoms/Marquee/index.ts +1 -1
  129. package/src/components/atoms/Quote/Quote.component.tsx +29 -29
  130. package/src/components/atoms/Quote/Quote.interface.ts +10 -10
  131. package/src/components/atoms/Quote/Quote.stories.tsx +25 -25
  132. package/src/components/atoms/Quote/Quote.theme.ts +26 -26
  133. package/src/components/atoms/Quote/index.ts +1 -1
  134. package/src/components/atoms/RichText/RichText.component.tsx +32 -32
  135. package/src/components/atoms/RichText/RichText.interface.ts +11 -11
  136. package/src/components/atoms/RichText/RichText.stories.tsx +73 -73
  137. package/src/components/atoms/RichText/RichText.theme.ts +34 -34
  138. package/src/components/atoms/RichText/index.ts +1 -1
  139. package/src/components/atoms/ScrollingNav/ScrollingNav.component.tsx +18 -18
  140. package/src/components/atoms/ScrollingNav/ScrollingNav.interface.ts +8 -8
  141. package/src/components/atoms/ScrollingNav/ScrollingNav.stories.tsx +44 -44
  142. package/src/components/atoms/ScrollingNav/ScrollingNav.theme.ts +58 -58
  143. package/src/components/atoms/ScrollingNav/index.ts +1 -1
  144. package/src/components/atoms/Separator/Separator.component.tsx +19 -19
  145. package/src/components/atoms/Separator/Separator.interface.tsx +10 -10
  146. package/src/components/atoms/Separator/Separator.stories.tsx +29 -29
  147. package/src/components/atoms/Separator/Separator.theme.ts +9 -9
  148. package/src/components/atoms/Separator/index.ts +1 -1
  149. package/src/components/atoms/SocialLinks/SocialLinks.component.tsx +42 -42
  150. package/src/components/atoms/SocialLinks/SocialLinks.interface.ts +8 -8
  151. package/src/components/atoms/SocialLinks/SocialLinks.stories.tsx +48 -48
  152. package/src/components/atoms/SocialLinks/SocialLinks.theme.ts +80 -80
  153. package/src/components/atoms/SocialLinks/index.ts +1 -1
  154. package/src/components/atoms/Spacer/Spacer.component.tsx +34 -34
  155. package/src/components/atoms/Spacer/Spacer.interface.ts +24 -24
  156. package/src/components/atoms/Spacer/Spacer.stories.tsx +99 -99
  157. package/src/components/atoms/Spacer/Spacer.theme.ts +33 -33
  158. package/src/components/atoms/Spacer/index.ts +1 -1
  159. package/src/components/atoms/Video/Video.component.tsx +116 -116
  160. package/src/components/atoms/Video/Video.interface.ts +13 -13
  161. package/src/components/atoms/Video/Video.stories.tsx +37 -37
  162. package/src/components/atoms/Video/Video.theme.ts +44 -44
  163. package/src/components/atoms/Video/index.ts +1 -1
  164. package/src/components/atoms/VideoEmbed/VideoEmbed.component.tsx +109 -109
  165. package/src/components/atoms/VideoEmbed/VideoEmbed.interface.ts +13 -13
  166. package/src/components/atoms/VideoEmbed/VideoEmbed.stories.tsx +23 -23
  167. package/src/components/atoms/VideoEmbed/VideoEmbed.theme.ts +45 -45
  168. package/src/components/atoms/VideoEmbed/index.ts +1 -1
  169. package/src/components/common/PortalComponent/PortalComponent.tsx +48 -48
  170. package/src/components/common/PortalComponent/index.ts +1 -1
  171. package/src/components/molecules/Accordion/Accordion.component.tsx +58 -58
  172. package/src/components/molecules/Accordion/Accordion.interface.ts +15 -15
  173. package/src/components/molecules/Accordion/Accordion.stories.tsx +100 -100
  174. package/src/components/molecules/Accordion/Accordion.theme.ts +93 -93
  175. package/src/components/molecules/Accordion/index.ts +1 -1
  176. package/src/components/molecules/AwardCard/AwardCard.component.tsx +51 -0
  177. package/src/components/molecules/AwardCard/AwardCard.interface.ts +10 -0
  178. package/src/components/molecules/AwardCard/AwardCard.stories.tsx +34 -0
  179. package/src/components/molecules/AwardCard/AwardCard.theme.ts +33 -0
  180. package/src/components/molecules/AwardCard/index.ts +1 -0
  181. package/src/components/molecules/BlogCard/BlogCard.component.tsx +48 -48
  182. package/src/components/molecules/BlogCard/BlogCard.interface.ts +10 -10
  183. package/src/components/molecules/BlogCard/BlogCard.stories.tsx +37 -37
  184. package/src/components/molecules/BlogCard/BlogCard.theme.ts +41 -41
  185. package/src/components/molecules/BlogCard/index.ts +1 -1
  186. package/src/components/molecules/Card/Card.component.tsx +15 -15
  187. package/src/components/molecules/Card/Card.interface.ts +11 -11
  188. package/src/components/molecules/Card/Card.theme.ts +54 -54
  189. package/src/components/molecules/Card/index.ts +1 -1
  190. package/src/components/molecules/CareersCard/CareersCard.component.tsx +27 -27
  191. package/src/components/molecules/CareersCard/CareersCard.interface.ts +7 -7
  192. package/src/components/molecules/CareersCard/CareersCard.stories.tsx +30 -30
  193. package/src/components/molecules/CareersCard/CareersCard.theme.ts +13 -13
  194. package/src/components/molecules/CareersCard/index.ts +1 -1
  195. package/src/components/molecules/Dropdown/Dropdown.component.tsx +67 -67
  196. package/src/components/molecules/Dropdown/Dropdown.interface.ts +26 -26
  197. package/src/components/molecules/Dropdown/Dropdown.stories.tsx +54 -54
  198. package/src/components/molecules/Dropdown/Dropdown.theme.ts +69 -69
  199. package/src/components/molecules/Dropdown/index.ts +1 -1
  200. package/src/components/molecules/EventsCard/EventsCard.component.tsx +40 -40
  201. package/src/components/molecules/EventsCard/EventsCard.interface.ts +9 -9
  202. package/src/components/molecules/EventsCard/EventsCard.stories.tsx +37 -37
  203. package/src/components/molecules/EventsCard/EventsCard.theme.ts +33 -33
  204. package/src/components/molecules/EventsCard/index.ts +1 -1
  205. package/src/components/molecules/IconBox/IconBox.component.tsx +29 -29
  206. package/src/components/molecules/IconBox/IconBox.interface.tsx +10 -10
  207. package/src/components/molecules/IconBox/IconBox.stories.tsx +23 -23
  208. package/src/components/molecules/IconBox/IconBox.theme.ts +25 -25
  209. package/src/components/molecules/IconBox/index.ts +1 -1
  210. package/src/components/molecules/IconTitle/IconTitle.component.tsx +24 -24
  211. package/src/components/molecules/IconTitle/IconTitle.interface.tsx +10 -10
  212. package/src/components/molecules/IconTitle/IconTitle.stories.tsx +49 -49
  213. package/src/components/molecules/IconTitle/IconTitle.theme.ts +10 -10
  214. package/src/components/molecules/IconTitle/index.ts +1 -1
  215. package/src/components/molecules/LicenseCard/LicenseCard.component.tsx +27 -27
  216. package/src/components/molecules/LicenseCard/LicenseCard.interface.ts +6 -6
  217. package/src/components/molecules/LicenseCard/LicenseCard.stories.tsx +42 -42
  218. package/src/components/molecules/LicenseCard/LicenseCard.theme.ts +28 -28
  219. package/src/components/molecules/LicenseCard/index.ts +1 -1
  220. package/src/components/molecules/LogosCard/LogosCard.component.tsx +14 -14
  221. package/src/components/molecules/LogosCard/LogosCard.interface.ts +8 -8
  222. package/src/components/molecules/LogosCard/LogosCard.stories.tsx +38 -38
  223. package/src/components/molecules/LogosCard/LogosCard.theme.ts +19 -19
  224. package/src/components/molecules/LogosCard/index.ts +1 -1
  225. package/src/components/molecules/Modal/Modal.component.tsx +70 -70
  226. package/src/components/molecules/Modal/Modal.interface.ts +11 -11
  227. package/src/components/molecules/Modal/Modal.stories.tsx +57 -57
  228. package/src/components/molecules/Modal/Modal.theme.ts +55 -55
  229. package/src/components/molecules/Modal/index.ts +1 -1
  230. package/src/components/molecules/NewsCard/NewsCard.component.tsx +55 -55
  231. package/src/components/molecules/NewsCard/NewsCard.interface.ts +9 -9
  232. package/src/components/molecules/NewsCard/NewsCard.stories.tsx +44 -44
  233. package/src/components/molecules/NewsCard/NewsCard.theme.ts +77 -77
  234. package/src/components/molecules/NewsCard/index.ts +1 -1
  235. package/src/components/molecules/OffCanvas/OffCanvas.component.tsx +55 -55
  236. package/src/components/molecules/OffCanvas/OffCanvas.interface.ts +12 -12
  237. package/src/components/molecules/OffCanvas/OffCanvas.stories.tsx +55 -55
  238. package/src/components/molecules/OffCanvas/OffCanvas.theme.ts +50 -50
  239. package/src/components/molecules/OffCanvas/index.ts +1 -1
  240. package/src/components/molecules/ProductCard/ProductCard.component.tsx +60 -60
  241. package/src/components/molecules/ProductCard/ProductCard.interface.ts +7 -7
  242. package/src/components/molecules/ProductCard/ProductCard.stories.tsx +42 -42
  243. package/src/components/molecules/ProductCard/ProductCard.theme.ts +26 -26
  244. package/src/components/molecules/ProductCard/index.ts +1 -1
  245. package/src/components/molecules/ShareModal/ShareModal.component.tsx +167 -167
  246. package/src/components/molecules/ShareModal/ShareModal.interface.ts +9 -9
  247. package/src/components/molecules/ShareModal/ShareModal.stories.tsx +33 -33
  248. package/src/components/molecules/ShareModal/ShareModal.theme.ts +103 -103
  249. package/src/components/molecules/ShareModal/index.ts +1 -1
  250. package/src/components/molecules/TeamCard/TeamCard.component.tsx +31 -31
  251. package/src/components/molecules/TeamCard/TeamCard.interface.ts +7 -7
  252. package/src/components/molecules/TeamCard/TeamCard.stories.tsx +33 -33
  253. package/src/components/molecules/TeamCard/TeamCard.theme.ts +12 -12
  254. package/src/components/molecules/TeamCard/index.ts +1 -1
  255. package/src/components/organisms/CircularSlider/CircularSlider.component.tsx +231 -231
  256. package/src/components/organisms/CircularSlider/CircularSlider.interface.ts +13 -13
  257. package/src/components/organisms/CircularSlider/CircularSlider.stories.tsx +138 -138
  258. package/src/components/organisms/CircularSlider/CircularSlider.theme.ts +126 -126
  259. package/src/components/organisms/CircularSlider/index.ts +1 -1
  260. package/src/components/organisms/Cover/Cover.component.tsx +46 -46
  261. package/src/components/organisms/Cover/Cover.interface.ts +14 -14
  262. package/src/components/organisms/Cover/Cover.stories.tsx +97 -97
  263. package/src/components/organisms/Cover/Cover.theme.ts +49 -49
  264. package/src/components/organisms/Cover/index.ts +1 -1
  265. package/src/components/organisms/ProductsSlider/ProductsSlider.component.tsx +216 -216
  266. package/src/components/organisms/ProductsSlider/ProductsSlider.interface.ts +12 -12
  267. package/src/components/organisms/ProductsSlider/ProductsSlider.stories.tsx +132 -132
  268. package/src/components/organisms/ProductsSlider/ProductsSlider.theme.ts +77 -77
  269. package/src/components/organisms/ProductsSlider/index.ts +1 -1
  270. package/src/components/organisms/ProductsSlider//306/222.js +164 -164
  271. package/src/components/organisms/Slider/Slider.component.tsx +156 -154
  272. package/src/components/organisms/Slider/Slider.interface.ts +23 -19
  273. package/src/components/organisms/Slider/Slider.stories.tsx +223 -146
  274. package/src/components/organisms/Slider/Slider.theme.ts +144 -145
  275. package/src/components/organisms/Slider/Slider.utils.tsx +19 -19
  276. package/src/components/organisms/Slider/index.ts +1 -1
  277. package/src/components/organisms/Tabs/Tabs.component.tsx +88 -88
  278. package/src/components/organisms/Tabs/Tabs.interface.ts +18 -18
  279. package/src/components/organisms/Tabs/Tabs.stories.tsx +118 -118
  280. package/src/components/organisms/Tabs/Tabs.theme.ts +115 -115
  281. package/src/components/organisms/Tabs/index.ts +1 -1
  282. package/src/helpers/clickOutsideToClose.tsx +17 -17
  283. package/src/helpers/events.ts +9 -9
  284. package/src/helpers/exportCSS.tsx +27 -27
  285. package/src/helpers/getIcons.ts +5 -5
  286. package/src/helpers/isTouchDevice.tsx +11 -11
  287. package/src/helpers/useInterval.ts +25 -25
  288. package/src/helpers/useMediaMatch.tsx +26 -26
  289. package/src/helpers/uuid.ts +5 -5
  290. package/src/iconsList.json +1 -1
  291. package/src/index.ts +68 -68
  292. package/src/reportWebVitals.js +13 -13
  293. package/src/stories/Documentation/Colors.stories.tsx +46 -46
  294. package/src/stories/Documentation/Headings.stories.tsx +24 -24
  295. package/src/stories/Documentation/Icons.stories.tsx +73 -73
  296. package/src/stories/Documentation/JWT.stories.tsx +60 -60
  297. package/src/stories/Documentation/Utilities.stories.tsx +65 -65
  298. package/src/styles/Global.ts +301 -301
  299. package/src/styles/grid.ts +70 -70
  300. package/src/styles/reset.ts +47 -47
  301. package/src/styles/utilities.ts +374 -374
  302. package/src/styles/variables.ts +180 -180
  303. 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'
@@ -0,0 +1,51 @@
1
+ import {
2
+ StyledAwardCard,
3
+ StyledAwardCardAwardBadgeWrapper,
4
+ StyledAwardCardImageAndBadgeWrapper,
5
+ StyledAwardCardWrapper
6
+ } from './AwardCard.theme'
7
+
8
+ import Heading from '@/components/atoms/Heading'
9
+ import { IAwardCard } from './AwardCard.interface'
10
+ import React from 'react'
11
+ import AwardBadge from '@/components/atoms/AwardBadge'
12
+
13
+ /**
14
+ * Renders an award card component displaying a title, an image, and an optional badge (chip).
15
+ *
16
+ * @param {IAwardCard} props - The props for the AwardCard component.
17
+ * @param {string} props.title - The title to display on the card.
18
+ * @param {React.ReactNode} props.imageElement - The image or element to display in the card.
19
+ * @param {string} [props.className] - Optional additional class name(s) for the card.
20
+ * @param {React.CSSProperties} [props.style] - Optional inline styles for the card.
21
+ * @param {{ variant: string; label: string }} [props.chip] - Optional chip object to display a badge, with variant and label.
22
+ * @returns {JSX.Element} The rendered AwardCard component.
23
+ */
24
+ const AwardCard = ({
25
+ title,
26
+ imageElement,
27
+ className,
28
+ style,
29
+ chip,
30
+ ...props
31
+ }: IAwardCard) => {
32
+ return (
33
+ <StyledAwardCard className={className} style={style}>
34
+ <StyledAwardCardWrapper>
35
+ <Heading tag={'h5'} size={'h5'} className={'fw-bold'}>
36
+ {title}
37
+ </Heading>
38
+ <StyledAwardCardImageAndBadgeWrapper>
39
+ {imageElement}
40
+ {chip && (
41
+ <StyledAwardCardAwardBadgeWrapper>
42
+ <AwardBadge variant={chip?.variant} label={chip?.label} />
43
+ </StyledAwardCardAwardBadgeWrapper>
44
+ )}
45
+ </StyledAwardCardImageAndBadgeWrapper>
46
+ </StyledAwardCardWrapper>
47
+ </StyledAwardCard>
48
+ )
49
+ }
50
+
51
+ export default AwardCard
@@ -0,0 +1,10 @@
1
+ import { ICard } from '../Card/Card.interface'
2
+
3
+ export interface IAwardCard extends ICard {
4
+ title?: string
5
+ imageElement?: React.ReactElement
6
+ chip?: {
7
+ label: string
8
+ variant: 'primary' | 'secondary'
9
+ }
10
+ }
@@ -0,0 +1,34 @@
1
+ import type { Meta, StoryObj } from '@storybook/react'
2
+
3
+ import { IAwardCard } from './AwardCard.interface'
4
+ import AwardCard from './AwardCard.component'
5
+ import React from 'react'
6
+
7
+ export default {
8
+ title: 'Components/AwardCard',
9
+ component: AwardCard,
10
+ tags: ['autodocs']
11
+ } as Meta
12
+
13
+ const image = (
14
+ <img
15
+ width="100%"
16
+ height="100%"
17
+ sizes="100vw"
18
+ decoding="async"
19
+ src="/assets/placeholder.png"
20
+ alt="Empty state"
21
+ />
22
+ )
23
+
24
+ export const Simple: StoryObj<IAwardCard> = {
25
+ render: args => <AwardCard {...args} style={{ maxWidth: '302px' }} />,
26
+ args: {
27
+ title: 'Cras vel facilisis tellus',
28
+ imageElement: image,
29
+ chip: {
30
+ label: 'New',
31
+ variant: 'primary'
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,33 @@
1
+ import styled from 'styled-components'
2
+ import { colors } from '@/styles/variables'
3
+ import { IAwardCard } from './AwardCard.interface'
4
+
5
+ export const StyledAwardCard = styled.div<IAwardCard>`
6
+ & img {
7
+ width: 100%;
8
+ object-fit: contain;
9
+ aspect-ratio: 2.74 / 1;
10
+ }
11
+ `
12
+
13
+ export const StyledAwardCardWrapper = styled.div<IAwardCard>`
14
+ display: flex;
15
+ flex-direction: column;
16
+ justify-content: space-between;
17
+ gap: 1.125rem;
18
+ background-color: ${colors.third10};
19
+ padding: 0.75rem 1rem 1rem 0.75rem;
20
+ border-radius: 0 60px;
21
+ height: 100%;
22
+ `
23
+
24
+ export const StyledAwardCardImageAndBadgeWrapper = styled.div`
25
+ display: flex;
26
+ flex-direction: column;
27
+ align-items: center;
28
+ gap: 1.125rem;
29
+ `
30
+
31
+ export const StyledAwardCardAwardBadgeWrapper = styled.div`
32
+ margin-left: auto;
33
+ `