oddsgate-ds 1.0.174 → 1.0.176

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 (305) 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/cjs/types/index.d.ts +2 -0
  21. package/dist/esm/assets/components/quotes.svg +3 -3
  22. package/dist/esm/index.js +5 -5
  23. package/dist/esm/index.js.map +1 -1
  24. package/dist/esm/types/components/atoms/AwardBadge/AwardBadge.component.d.ts +11 -0
  25. package/dist/esm/types/components/atoms/AwardBadge/AwardBadge.interface.d.ts +4 -0
  26. package/dist/esm/types/components/atoms/AwardBadge/AwardBadge.theme.d.ts +3 -0
  27. package/dist/esm/types/components/atoms/AwardBadge/index.d.ts +1 -0
  28. package/dist/esm/types/components/molecules/AwardCard/AwardCard.component.d.ts +15 -0
  29. package/dist/esm/types/components/molecules/AwardCard/AwardCard.interface.d.ts +10 -0
  30. package/dist/esm/types/components/molecules/AwardCard/AwardCard.theme.d.ts +6 -0
  31. package/dist/esm/types/components/molecules/AwardCard/index.d.ts +1 -0
  32. package/dist/esm/types/components/organisms/Slider/Slider.component.d.ts +1 -1
  33. package/dist/esm/types/components/organisms/Slider/Slider.interface.d.ts +3 -0
  34. package/dist/esm/types/index.d.ts +2 -0
  35. package/dist/public/assets/components/quotes.svg +3 -3
  36. package/dist/public/assets/empty-state.svg +28 -28
  37. package/dist/public/fonts/Nichrome/mdnichrome-bold-webfont.svg +241 -241
  38. package/dist/public/fonts/Nichrome/mdnichrome-regular-webfont.svg +241 -241
  39. package/dist/public/fonts/miewfont/miewfont.svg +38 -38
  40. package/dist/types.d.ts +41 -2
  41. package/package.json +103 -103
  42. package/prettier.config.js +7 -7
  43. package/public/assets/components/quotes.svg +3 -3
  44. package/public/assets/empty-state.svg +28 -28
  45. package/public/fonts/Nichrome/mdnichrome-bold-webfont.svg +241 -241
  46. package/public/fonts/Nichrome/mdnichrome-regular-webfont.svg +241 -241
  47. package/public/fonts/miewfont/miewfont.svg +38 -38
  48. package/rollup.config.js +98 -98
  49. package/src/components/atoms/AwardBadge/AwardBadge.component.tsx +25 -0
  50. package/src/components/atoms/AwardBadge/AwardBadge.interface.ts +4 -0
  51. package/src/components/atoms/AwardBadge/AwardBadge.stories.tsx +48 -0
  52. package/src/components/atoms/AwardBadge/AwardBadge.theme.ts +28 -0
  53. package/src/components/atoms/AwardBadge/index.ts +1 -0
  54. package/src/components/atoms/Button/Button.component.tsx +60 -60
  55. package/src/components/atoms/Button/Button.interface.ts +29 -29
  56. package/src/components/atoms/Button/Button.stories.tsx +65 -65
  57. package/src/components/atoms/Button/Button.theme.ts +180 -180
  58. package/src/components/atoms/Button/index.ts +1 -1
  59. package/src/components/atoms/CardMarquee/CardMarquee.component.tsx +24 -24
  60. package/src/components/atoms/CardMarquee/CardMarquee.interface.ts +15 -15
  61. package/src/components/atoms/CardMarquee/CardMarquee.stories.tsx +21 -21
  62. package/src/components/atoms/CardMarquee/CardMarquee.theme.ts +48 -48
  63. package/src/components/atoms/CardMarquee/index.ts +1 -1
  64. package/src/components/atoms/Chip/Chip.component.tsx +30 -30
  65. package/src/components/atoms/Chip/Chip.interface.ts +14 -14
  66. package/src/components/atoms/Chip/Chip.stories.tsx +42 -42
  67. package/src/components/atoms/Chip/Chip.theme.ts +57 -57
  68. package/src/components/atoms/Chip/index.ts +1 -1
  69. package/src/components/atoms/CloseButton/CloseButton.component.tsx +17 -17
  70. package/src/components/atoms/CloseButton/CloseButton.interface.ts +9 -9
  71. package/src/components/atoms/CloseButton/CloseButton.stories.tsx +24 -24
  72. package/src/components/atoms/CloseButton/CloseButton.theme.ts +66 -66
  73. package/src/components/atoms/CloseButton/index.ts +1 -1
  74. package/src/components/atoms/Counter/Counter.component.tsx +99 -99
  75. package/src/components/atoms/Counter/Counter.interface.ts +10 -10
  76. package/src/components/atoms/Counter/Counter.stories.tsx +29 -29
  77. package/src/components/atoms/Counter/Counter.theme.ts +27 -27
  78. package/src/components/atoms/Counter/index.ts +1 -1
  79. package/src/components/atoms/EmptyState/EmptyState.component.tsx +27 -27
  80. package/src/components/atoms/EmptyState/EmptyState.interface.ts +10 -10
  81. package/src/components/atoms/EmptyState/EmptyState.stories.tsx +34 -34
  82. package/src/components/atoms/EmptyState/EmptyState.theme.ts +27 -27
  83. package/src/components/atoms/EmptyState/index.ts +1 -1
  84. package/src/components/atoms/Flex/Flex.component.tsx +30 -30
  85. package/src/components/atoms/Flex/Flex.interface.ts +24 -24
  86. package/src/components/atoms/Flex/Flex.theme.ts +12 -12
  87. package/src/components/atoms/Flex/index.ts +1 -1
  88. package/src/components/atoms/FlexGrid/FlexGrid.component.tsx +62 -62
  89. package/src/components/atoms/FlexGrid/FlexGrid.interface.ts +55 -55
  90. package/src/components/atoms/FlexGrid/FlexGrid.stories.tsx +59 -59
  91. package/src/components/atoms/FlexGrid/FlexGrid.theme.ts +82 -82
  92. package/src/components/atoms/FlexGrid/index.ts +1 -1
  93. package/src/components/atoms/FormField/CheckRadioField/CheckRadioField.component.tsx +24 -24
  94. package/src/components/atoms/FormField/CheckRadioField/CheckRadioField.interface.tsx +6 -6
  95. package/src/components/atoms/FormField/CheckRadioField/CheckRadioField.theme.ts +134 -134
  96. package/src/components/atoms/FormField/CheckRadioField/index.ts +1 -1
  97. package/src/components/atoms/FormField/FormField.component.tsx +37 -37
  98. package/src/components/atoms/FormField/FormField.interface.ts +10 -10
  99. package/src/components/atoms/FormField/FormField.stories.tsx +499 -499
  100. package/src/components/atoms/FormField/FormField.theme.tsx +136 -136
  101. package/src/components/atoms/FormField/index.ts +1 -1
  102. package/src/components/atoms/Heading/Heading.component.tsx +18 -18
  103. package/src/components/atoms/Heading/Heading.interface.tsx +21 -21
  104. package/src/components/atoms/Heading/Heading.theme.ts +17 -17
  105. package/src/components/atoms/Heading/index.ts +1 -1
  106. package/src/components/atoms/Icon/Icon.component.tsx +19 -19
  107. package/src/components/atoms/Icon/Icon.interface.ts +8 -8
  108. package/src/components/atoms/Icon/Icon.stories.tsx +26 -26
  109. package/src/components/atoms/Icon/Icon.theme.ts +115 -115
  110. package/src/components/atoms/Icon/index.ts +1 -1
  111. package/src/components/atoms/ImageWrapper/ImageWrapper.component.tsx +42 -42
  112. package/src/components/atoms/ImageWrapper/ImageWrapper.interface.ts +16 -16
  113. package/src/components/atoms/ImageWrapper/ImageWrapper.stories.tsx +27 -27
  114. package/src/components/atoms/ImageWrapper/ImageWrapper.theme.ts +50 -50
  115. package/src/components/atoms/ImageWrapper/index.ts +1 -1
  116. package/src/components/atoms/LegalLinks/LegalLinks.component.tsx +35 -35
  117. package/src/components/atoms/LegalLinks/LegalLinks.interface.ts +12 -12
  118. package/src/components/atoms/LegalLinks/LegalLinks.stories.tsx +43 -43
  119. package/src/components/atoms/LegalLinks/LegalLinks.theme.ts +33 -33
  120. package/src/components/atoms/LegalLinks/index.ts +1 -1
  121. package/src/components/atoms/Loader/Loader.component.tsx +26 -26
  122. package/src/components/atoms/Loader/Loader.interface.ts +10 -10
  123. package/src/components/atoms/Loader/Loader.stories.tsx +33 -33
  124. package/src/components/atoms/Loader/Loader.theme.ts +51 -51
  125. package/src/components/atoms/Loader/index.ts +1 -1
  126. package/src/components/atoms/Marquee/Marquee.component.tsx +32 -32
  127. package/src/components/atoms/Marquee/Marquee.interface.ts +10 -10
  128. package/src/components/atoms/Marquee/Marquee.stories.tsx +20 -20
  129. package/src/components/atoms/Marquee/Marquee.theme.ts +40 -40
  130. package/src/components/atoms/Marquee/index.ts +1 -1
  131. package/src/components/atoms/Quote/Quote.component.tsx +29 -29
  132. package/src/components/atoms/Quote/Quote.interface.ts +10 -10
  133. package/src/components/atoms/Quote/Quote.stories.tsx +25 -25
  134. package/src/components/atoms/Quote/Quote.theme.ts +26 -26
  135. package/src/components/atoms/Quote/index.ts +1 -1
  136. package/src/components/atoms/RichText/RichText.component.tsx +32 -32
  137. package/src/components/atoms/RichText/RichText.interface.ts +11 -11
  138. package/src/components/atoms/RichText/RichText.stories.tsx +73 -73
  139. package/src/components/atoms/RichText/RichText.theme.ts +34 -34
  140. package/src/components/atoms/RichText/index.ts +1 -1
  141. package/src/components/atoms/ScrollingNav/ScrollingNav.component.tsx +18 -18
  142. package/src/components/atoms/ScrollingNav/ScrollingNav.interface.ts +8 -8
  143. package/src/components/atoms/ScrollingNav/ScrollingNav.stories.tsx +44 -44
  144. package/src/components/atoms/ScrollingNav/ScrollingNav.theme.ts +58 -58
  145. package/src/components/atoms/ScrollingNav/index.ts +1 -1
  146. package/src/components/atoms/Separator/Separator.component.tsx +19 -19
  147. package/src/components/atoms/Separator/Separator.interface.tsx +10 -10
  148. package/src/components/atoms/Separator/Separator.stories.tsx +29 -29
  149. package/src/components/atoms/Separator/Separator.theme.ts +9 -9
  150. package/src/components/atoms/Separator/index.ts +1 -1
  151. package/src/components/atoms/SocialLinks/SocialLinks.component.tsx +42 -42
  152. package/src/components/atoms/SocialLinks/SocialLinks.interface.ts +8 -8
  153. package/src/components/atoms/SocialLinks/SocialLinks.stories.tsx +48 -48
  154. package/src/components/atoms/SocialLinks/SocialLinks.theme.ts +80 -80
  155. package/src/components/atoms/SocialLinks/index.ts +1 -1
  156. package/src/components/atoms/Spacer/Spacer.component.tsx +34 -34
  157. package/src/components/atoms/Spacer/Spacer.interface.ts +24 -24
  158. package/src/components/atoms/Spacer/Spacer.stories.tsx +99 -99
  159. package/src/components/atoms/Spacer/Spacer.theme.ts +33 -33
  160. package/src/components/atoms/Spacer/index.ts +1 -1
  161. package/src/components/atoms/Video/Video.component.tsx +116 -116
  162. package/src/components/atoms/Video/Video.interface.ts +13 -13
  163. package/src/components/atoms/Video/Video.stories.tsx +37 -37
  164. package/src/components/atoms/Video/Video.theme.ts +44 -44
  165. package/src/components/atoms/Video/index.ts +1 -1
  166. package/src/components/atoms/VideoEmbed/VideoEmbed.component.tsx +109 -109
  167. package/src/components/atoms/VideoEmbed/VideoEmbed.interface.ts +13 -13
  168. package/src/components/atoms/VideoEmbed/VideoEmbed.stories.tsx +23 -23
  169. package/src/components/atoms/VideoEmbed/VideoEmbed.theme.ts +45 -45
  170. package/src/components/atoms/VideoEmbed/index.ts +1 -1
  171. package/src/components/common/PortalComponent/PortalComponent.tsx +48 -48
  172. package/src/components/common/PortalComponent/index.ts +1 -1
  173. package/src/components/molecules/Accordion/Accordion.component.tsx +58 -58
  174. package/src/components/molecules/Accordion/Accordion.interface.ts +15 -15
  175. package/src/components/molecules/Accordion/Accordion.stories.tsx +100 -100
  176. package/src/components/molecules/Accordion/Accordion.theme.ts +93 -93
  177. package/src/components/molecules/Accordion/index.ts +1 -1
  178. package/src/components/molecules/AwardCard/AwardCard.component.tsx +51 -0
  179. package/src/components/molecules/AwardCard/AwardCard.interface.ts +10 -0
  180. package/src/components/molecules/AwardCard/AwardCard.stories.tsx +34 -0
  181. package/src/components/molecules/AwardCard/AwardCard.theme.ts +33 -0
  182. package/src/components/molecules/AwardCard/index.ts +1 -0
  183. package/src/components/molecules/BlogCard/BlogCard.component.tsx +48 -48
  184. package/src/components/molecules/BlogCard/BlogCard.interface.ts +10 -10
  185. package/src/components/molecules/BlogCard/BlogCard.stories.tsx +37 -37
  186. package/src/components/molecules/BlogCard/BlogCard.theme.ts +41 -41
  187. package/src/components/molecules/BlogCard/index.ts +1 -1
  188. package/src/components/molecules/Card/Card.component.tsx +15 -15
  189. package/src/components/molecules/Card/Card.interface.ts +11 -11
  190. package/src/components/molecules/Card/Card.theme.ts +54 -54
  191. package/src/components/molecules/Card/index.ts +1 -1
  192. package/src/components/molecules/CareersCard/CareersCard.component.tsx +27 -27
  193. package/src/components/molecules/CareersCard/CareersCard.interface.ts +7 -7
  194. package/src/components/molecules/CareersCard/CareersCard.stories.tsx +30 -30
  195. package/src/components/molecules/CareersCard/CareersCard.theme.ts +13 -13
  196. package/src/components/molecules/CareersCard/index.ts +1 -1
  197. package/src/components/molecules/Dropdown/Dropdown.component.tsx +67 -67
  198. package/src/components/molecules/Dropdown/Dropdown.interface.ts +26 -26
  199. package/src/components/molecules/Dropdown/Dropdown.stories.tsx +54 -54
  200. package/src/components/molecules/Dropdown/Dropdown.theme.ts +69 -69
  201. package/src/components/molecules/Dropdown/index.ts +1 -1
  202. package/src/components/molecules/EventsCard/EventsCard.component.tsx +40 -40
  203. package/src/components/molecules/EventsCard/EventsCard.interface.ts +9 -9
  204. package/src/components/molecules/EventsCard/EventsCard.stories.tsx +37 -37
  205. package/src/components/molecules/EventsCard/EventsCard.theme.ts +33 -33
  206. package/src/components/molecules/EventsCard/index.ts +1 -1
  207. package/src/components/molecules/IconBox/IconBox.component.tsx +29 -29
  208. package/src/components/molecules/IconBox/IconBox.interface.tsx +10 -10
  209. package/src/components/molecules/IconBox/IconBox.stories.tsx +23 -23
  210. package/src/components/molecules/IconBox/IconBox.theme.ts +25 -25
  211. package/src/components/molecules/IconBox/index.ts +1 -1
  212. package/src/components/molecules/IconTitle/IconTitle.component.tsx +24 -24
  213. package/src/components/molecules/IconTitle/IconTitle.interface.tsx +10 -10
  214. package/src/components/molecules/IconTitle/IconTitle.stories.tsx +49 -49
  215. package/src/components/molecules/IconTitle/IconTitle.theme.ts +10 -10
  216. package/src/components/molecules/IconTitle/index.ts +1 -1
  217. package/src/components/molecules/LicenseCard/LicenseCard.component.tsx +27 -27
  218. package/src/components/molecules/LicenseCard/LicenseCard.interface.ts +6 -6
  219. package/src/components/molecules/LicenseCard/LicenseCard.stories.tsx +42 -42
  220. package/src/components/molecules/LicenseCard/LicenseCard.theme.ts +28 -28
  221. package/src/components/molecules/LicenseCard/index.ts +1 -1
  222. package/src/components/molecules/LogosCard/LogosCard.component.tsx +14 -14
  223. package/src/components/molecules/LogosCard/LogosCard.interface.ts +8 -8
  224. package/src/components/molecules/LogosCard/LogosCard.stories.tsx +38 -38
  225. package/src/components/molecules/LogosCard/LogosCard.theme.ts +19 -19
  226. package/src/components/molecules/LogosCard/index.ts +1 -1
  227. package/src/components/molecules/Modal/Modal.component.tsx +70 -70
  228. package/src/components/molecules/Modal/Modal.interface.ts +11 -11
  229. package/src/components/molecules/Modal/Modal.stories.tsx +57 -57
  230. package/src/components/molecules/Modal/Modal.theme.ts +55 -55
  231. package/src/components/molecules/Modal/index.ts +1 -1
  232. package/src/components/molecules/NewsCard/NewsCard.component.tsx +55 -55
  233. package/src/components/molecules/NewsCard/NewsCard.interface.ts +9 -9
  234. package/src/components/molecules/NewsCard/NewsCard.stories.tsx +44 -44
  235. package/src/components/molecules/NewsCard/NewsCard.theme.ts +77 -77
  236. package/src/components/molecules/NewsCard/index.ts +1 -1
  237. package/src/components/molecules/OffCanvas/OffCanvas.component.tsx +55 -55
  238. package/src/components/molecules/OffCanvas/OffCanvas.interface.ts +12 -12
  239. package/src/components/molecules/OffCanvas/OffCanvas.stories.tsx +55 -55
  240. package/src/components/molecules/OffCanvas/OffCanvas.theme.ts +50 -50
  241. package/src/components/molecules/OffCanvas/index.ts +1 -1
  242. package/src/components/molecules/ProductCard/ProductCard.component.tsx +60 -60
  243. package/src/components/molecules/ProductCard/ProductCard.interface.ts +7 -7
  244. package/src/components/molecules/ProductCard/ProductCard.stories.tsx +42 -42
  245. package/src/components/molecules/ProductCard/ProductCard.theme.ts +26 -26
  246. package/src/components/molecules/ProductCard/index.ts +1 -1
  247. package/src/components/molecules/ShareModal/ShareModal.component.tsx +167 -167
  248. package/src/components/molecules/ShareModal/ShareModal.interface.ts +9 -9
  249. package/src/components/molecules/ShareModal/ShareModal.stories.tsx +33 -33
  250. package/src/components/molecules/ShareModal/ShareModal.theme.ts +103 -103
  251. package/src/components/molecules/ShareModal/index.ts +1 -1
  252. package/src/components/molecules/TeamCard/TeamCard.component.tsx +31 -31
  253. package/src/components/molecules/TeamCard/TeamCard.interface.ts +7 -7
  254. package/src/components/molecules/TeamCard/TeamCard.stories.tsx +33 -33
  255. package/src/components/molecules/TeamCard/TeamCard.theme.ts +12 -12
  256. package/src/components/molecules/TeamCard/index.ts +1 -1
  257. package/src/components/organisms/CircularSlider/CircularSlider.component.tsx +231 -231
  258. package/src/components/organisms/CircularSlider/CircularSlider.interface.ts +13 -13
  259. package/src/components/organisms/CircularSlider/CircularSlider.stories.tsx +138 -138
  260. package/src/components/organisms/CircularSlider/CircularSlider.theme.ts +126 -126
  261. package/src/components/organisms/CircularSlider/index.ts +1 -1
  262. package/src/components/organisms/Cover/Cover.component.tsx +46 -46
  263. package/src/components/organisms/Cover/Cover.interface.ts +14 -14
  264. package/src/components/organisms/Cover/Cover.stories.tsx +97 -97
  265. package/src/components/organisms/Cover/Cover.theme.ts +49 -49
  266. package/src/components/organisms/Cover/index.ts +1 -1
  267. package/src/components/organisms/ProductsSlider/ProductsSlider.component.tsx +216 -216
  268. package/src/components/organisms/ProductsSlider/ProductsSlider.interface.ts +12 -12
  269. package/src/components/organisms/ProductsSlider/ProductsSlider.stories.tsx +132 -132
  270. package/src/components/organisms/ProductsSlider/ProductsSlider.theme.ts +77 -77
  271. package/src/components/organisms/ProductsSlider/index.ts +1 -1
  272. package/src/components/organisms/ProductsSlider//306/222.js +164 -164
  273. package/src/components/organisms/Slider/Slider.component.tsx +156 -154
  274. package/src/components/organisms/Slider/Slider.interface.ts +23 -19
  275. package/src/components/organisms/Slider/Slider.stories.tsx +223 -146
  276. package/src/components/organisms/Slider/Slider.theme.ts +144 -145
  277. package/src/components/organisms/Slider/Slider.utils.tsx +19 -19
  278. package/src/components/organisms/Slider/index.ts +1 -1
  279. package/src/components/organisms/Tabs/Tabs.component.tsx +88 -88
  280. package/src/components/organisms/Tabs/Tabs.interface.ts +18 -18
  281. package/src/components/organisms/Tabs/Tabs.stories.tsx +118 -118
  282. package/src/components/organisms/Tabs/Tabs.theme.ts +115 -115
  283. package/src/components/organisms/Tabs/index.ts +1 -1
  284. package/src/helpers/clickOutsideToClose.tsx +17 -17
  285. package/src/helpers/events.ts +9 -9
  286. package/src/helpers/exportCSS.tsx +27 -27
  287. package/src/helpers/getIcons.ts +5 -5
  288. package/src/helpers/isTouchDevice.tsx +11 -11
  289. package/src/helpers/useInterval.ts +25 -25
  290. package/src/helpers/useMediaMatch.tsx +26 -26
  291. package/src/helpers/uuid.ts +5 -5
  292. package/src/iconsList.json +1 -1
  293. package/src/index.ts +70 -68
  294. package/src/reportWebVitals.js +13 -13
  295. package/src/stories/Documentation/Colors.stories.tsx +46 -46
  296. package/src/stories/Documentation/Headings.stories.tsx +24 -24
  297. package/src/stories/Documentation/Icons.stories.tsx +73 -73
  298. package/src/stories/Documentation/JWT.stories.tsx +60 -60
  299. package/src/stories/Documentation/Utilities.stories.tsx +65 -65
  300. package/src/styles/Global.ts +301 -301
  301. package/src/styles/grid.ts +70 -70
  302. package/src/styles/reset.ts +47 -47
  303. package/src/styles/utilities.ts +374 -374
  304. package/src/styles/variables.ts +180 -180
  305. 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
+ `