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,67 +1,67 @@
1
- import { IDropdown, IDropdownItem } from './Dropdown.interface'
2
- import React, { createRef, useState } from 'react'
3
- import {
4
- StyledDropdown,
5
- StyledDropdownContainer,
6
- StyledDropdownItem,
7
- StyledDropdownTitle
8
- } from './Dropdown.theme'
9
-
10
- import clickOutSideToClose from '../../../helpers/clickOutsideToClose'
11
-
12
- const Dropdown = ({
13
- children,
14
- title,
15
- icon,
16
- className,
17
- style,
18
- ...props
19
- }: IDropdown) => {
20
- const [isOpen, setIsOpen] = useState(false)
21
-
22
- const itemsContainerRef = createRef<HTMLDivElement>()
23
- clickOutSideToClose(itemsContainerRef, () => setIsOpen(false))
24
-
25
- return (
26
- <StyledDropdown ref={itemsContainerRef} className={className} style={style}>
27
- <StyledDropdownTitle open={isOpen} onClick={() => setIsOpen(!isOpen)}>
28
- {title}
29
- {icon && <span style={{ marginLeft: '4px' }}>{icon}</span>}
30
- </StyledDropdownTitle>
31
- <StyledDropdownContainer open={isOpen}>
32
- {children}
33
- </StyledDropdownContainer>
34
- </StyledDropdown>
35
- )
36
- }
37
-
38
- export default Dropdown
39
-
40
- export const DropdownItem = ({
41
- icon,
42
- disabled,
43
- section,
44
- className,
45
- style,
46
- children,
47
- onClick,
48
- ...props
49
- }: IDropdownItem) => {
50
-
51
- const itemClickHandler = () => {
52
- if (onClick && !disabled) onClick()
53
- }
54
-
55
- return (
56
- <StyledDropdownItem
57
- disabled={disabled}
58
- section={section}
59
- className={className}
60
- style={style}
61
- onClick={itemClickHandler}
62
- >
63
- {children}
64
- {icon && <span style={{ marginLeft: '4px' }}>{icon}</span>}
65
- </StyledDropdownItem>
66
- )
67
- }
1
+ import { IDropdown, IDropdownItem } from './Dropdown.interface'
2
+ import React, { createRef, useState } from 'react'
3
+ import {
4
+ StyledDropdown,
5
+ StyledDropdownContainer,
6
+ StyledDropdownItem,
7
+ StyledDropdownTitle
8
+ } from './Dropdown.theme'
9
+
10
+ import clickOutSideToClose from '../../../helpers/clickOutsideToClose'
11
+
12
+ const Dropdown = ({
13
+ children,
14
+ title,
15
+ icon,
16
+ className,
17
+ style,
18
+ ...props
19
+ }: IDropdown) => {
20
+ const [isOpen, setIsOpen] = useState(false)
21
+
22
+ const itemsContainerRef = createRef<HTMLDivElement>()
23
+ clickOutSideToClose(itemsContainerRef, () => setIsOpen(false))
24
+
25
+ return (
26
+ <StyledDropdown ref={itemsContainerRef} className={className} style={style}>
27
+ <StyledDropdownTitle open={isOpen} onClick={() => setIsOpen(!isOpen)}>
28
+ {title}
29
+ {icon && <span style={{ marginLeft: '4px' }}>{icon}</span>}
30
+ </StyledDropdownTitle>
31
+ <StyledDropdownContainer open={isOpen}>
32
+ {children}
33
+ </StyledDropdownContainer>
34
+ </StyledDropdown>
35
+ )
36
+ }
37
+
38
+ export default Dropdown
39
+
40
+ export const DropdownItem = ({
41
+ icon,
42
+ disabled,
43
+ section,
44
+ className,
45
+ style,
46
+ children,
47
+ onClick,
48
+ ...props
49
+ }: IDropdownItem) => {
50
+
51
+ const itemClickHandler = () => {
52
+ if (onClick && !disabled) onClick()
53
+ }
54
+
55
+ return (
56
+ <StyledDropdownItem
57
+ disabled={disabled}
58
+ section={section}
59
+ className={className}
60
+ style={style}
61
+ onClick={itemClickHandler}
62
+ >
63
+ {children}
64
+ {icon && <span style={{ marginLeft: '4px' }}>{icon}</span>}
65
+ </StyledDropdownItem>
66
+ )
67
+ }
@@ -1,26 +1,26 @@
1
- import { CSSProperties } from 'react';
2
-
3
- export type IDropdown = {
4
- ref?: React.RefObject<HTMLDivElement>
5
- title?: React.ReactElement
6
- icon?: React.ReactElement
7
- className?: string;
8
- style?: CSSProperties
9
- children: React.ReactNode
10
- }
11
- export type IDropdownTitle = {
12
- open: boolean
13
- onClick: () => void
14
- }
15
- export type IDropdownContainer = {
16
- open: boolean
17
- }
18
- export type IDropdownItem = {
19
- icon?: React.ReactElement
20
- disabled?: boolean
21
- section?: boolean
22
- className?: string;
23
- style?: CSSProperties
24
- children: React.ReactNode
25
- onClick?: () => void
26
- }
1
+ import { CSSProperties } from 'react';
2
+
3
+ export type IDropdown = {
4
+ ref?: React.RefObject<HTMLDivElement>
5
+ title?: React.ReactElement
6
+ icon?: React.ReactElement
7
+ className?: string;
8
+ style?: CSSProperties
9
+ children: React.ReactNode
10
+ }
11
+ export type IDropdownTitle = {
12
+ open: boolean
13
+ onClick: () => void
14
+ }
15
+ export type IDropdownContainer = {
16
+ open: boolean
17
+ }
18
+ export type IDropdownItem = {
19
+ icon?: React.ReactElement
20
+ disabled?: boolean
21
+ section?: boolean
22
+ className?: string;
23
+ style?: CSSProperties
24
+ children: React.ReactNode
25
+ onClick?: () => void
26
+ }
@@ -1,54 +1,54 @@
1
- import Dropdown, { DropdownItem } from './Dropdown.component'
2
- import type { Meta, StoryObj } from '@storybook/react'
3
-
4
- import Heading from '@/components/atoms/Heading'
5
- import { IDropdown } from '../Dropdown/Dropdown.interface'
6
- import Icon from '@/components/atoms/Icon'
7
- import React from 'react'
8
-
9
- // More on default export: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
10
- export default {
11
- title: 'Components/Dropdown',
12
- component: Dropdown,
13
- tags: ['autodocs']
14
- } as Meta
15
-
16
- export const Simple: StoryObj<IDropdown> = {
17
- render: args => (
18
- <Dropdown {...args}>
19
- <DropdownItem>
20
- <Heading tag={'span'} size={'texts'}>
21
- Item 1
22
- </Heading>
23
- </DropdownItem>
24
- <DropdownItem>
25
- <Heading tag={'span'} size={'texts'}>
26
- Item 2
27
- </Heading>
28
- </DropdownItem>
29
- <DropdownItem>
30
- <Heading tag={'span'} size={'texts'}>
31
- Item 3
32
- </Heading>
33
- </DropdownItem>
34
- <DropdownItem icon={<Icon icon="icon-down-chevron" />}>
35
- <Heading tag={'span'} size={'texts'}>
36
- Item 4
37
- </Heading>
38
- </DropdownItem>
39
- <DropdownItem>
40
- <Heading tag={'span'} size={'texts'}>
41
- Item 5
42
- </Heading>
43
- </DropdownItem>
44
- </Dropdown>
45
- ),
46
- args: {
47
- title: (
48
- <Heading tag={'span'} size={'texts'}>
49
- My dropdown title
50
- </Heading>
51
- ),
52
- icon: <Icon icon="icon-down-chevron" />
53
- }
54
- }
1
+ import Dropdown, { DropdownItem } from './Dropdown.component'
2
+ import type { Meta, StoryObj } from '@storybook/react'
3
+
4
+ import Heading from '@/components/atoms/Heading'
5
+ import { IDropdown } from '../Dropdown/Dropdown.interface'
6
+ import Icon from '@/components/atoms/Icon'
7
+ import React from 'react'
8
+
9
+ // More on default export: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
10
+ export default {
11
+ title: 'Components/Dropdown',
12
+ component: Dropdown,
13
+ tags: ['autodocs']
14
+ } as Meta
15
+
16
+ export const Simple: StoryObj<IDropdown> = {
17
+ render: args => (
18
+ <Dropdown {...args}>
19
+ <DropdownItem>
20
+ <Heading tag={'span'} size={'texts'}>
21
+ Item 1
22
+ </Heading>
23
+ </DropdownItem>
24
+ <DropdownItem>
25
+ <Heading tag={'span'} size={'texts'}>
26
+ Item 2
27
+ </Heading>
28
+ </DropdownItem>
29
+ <DropdownItem>
30
+ <Heading tag={'span'} size={'texts'}>
31
+ Item 3
32
+ </Heading>
33
+ </DropdownItem>
34
+ <DropdownItem icon={<Icon icon="icon-down-chevron" />}>
35
+ <Heading tag={'span'} size={'texts'}>
36
+ Item 4
37
+ </Heading>
38
+ </DropdownItem>
39
+ <DropdownItem>
40
+ <Heading tag={'span'} size={'texts'}>
41
+ Item 5
42
+ </Heading>
43
+ </DropdownItem>
44
+ </Dropdown>
45
+ ),
46
+ args: {
47
+ title: (
48
+ <Heading tag={'span'} size={'texts'}>
49
+ My dropdown title
50
+ </Heading>
51
+ ),
52
+ icon: <Icon icon="icon-down-chevron" />
53
+ }
54
+ }
@@ -1,69 +1,69 @@
1
- import { IDropdown, IDropdownContainer, IDropdownItem, IDropdownTitle } from './Dropdown.interface';
2
- import { colors, radius, responsiveMedia, shadows } from '@/styles/variables';
3
- import styled, { css } from 'styled-components';
4
-
5
- import { fontSize } from '@/styles/utilities';
6
-
7
- export const StyledDropdown = styled.div<IDropdown>`
8
- position: relative;
9
- display: inline-flex;
10
- `;
11
-
12
- export const StyledDropdownTitle = styled.div<IDropdownTitle>`
13
- display: flex;
14
- align-items: center;
15
-
16
- color: ${colors.primary50};
17
- background-color: ${colors.secondary50};
18
-
19
- ${fontSize('h5')};
20
- padding: 10px 20px;
21
- border-radius: 50px;
22
- text-transform:uppercase;
23
-
24
- transition: color 0.15s ease-in-out;
25
- cursor: pointer;
26
-
27
- &:hover{
28
- color: ${colors.secondary50};
29
- background-color: ${colors.primary50};
30
- }
31
-
32
- ${({ open }) => open && `
33
- color: ${colors.secondary50};
34
- background-color: ${colors.primary50};
35
- `}
36
- `;
37
-
38
-
39
- export const StyledDropdownContainer = styled.ul<IDropdownContainer>`
40
- position: absolute;
41
- top: 100%;
42
- left: 0;
43
-
44
- margin-top: 12px;
45
- padding: 20px;
46
- background: ${colors.secondary50};
47
- box-shadow: ${shadows.sm};
48
- border-radius: ${radius.md};
49
-
50
- min-width: 18rem;
51
-
52
- opacity: ${props => props.open ? 1 : 0};
53
- pointer-events: ${props => props.open ? "auto" : "none"};
54
-
55
- transform: ${props => props.open ? "rotate(0deg) translateY(0)" : "rotate(8deg) translateY(30px)"}; ;
56
-
57
- z-index: 1;
58
- transition: all 0.35s ease-in-out;
59
- `;
60
- export const StyledDropdownItem = styled.li<IDropdownItem>`
61
- display:flex;
62
- gap: 8px;
63
- align-items: center;
64
- cursor: pointer;
65
-
66
- &:hover {
67
- color: ${colors.primary50}
68
- }
69
- `;
1
+ import { IDropdown, IDropdownContainer, IDropdownItem, IDropdownTitle } from './Dropdown.interface';
2
+ import { colors, radius, responsiveMedia, shadows } from '@/styles/variables';
3
+ import styled, { css } from 'styled-components';
4
+
5
+ import { fontSize } from '@/styles/utilities';
6
+
7
+ export const StyledDropdown = styled.div<IDropdown>`
8
+ position: relative;
9
+ display: inline-flex;
10
+ `;
11
+
12
+ export const StyledDropdownTitle = styled.div<IDropdownTitle>`
13
+ display: flex;
14
+ align-items: center;
15
+
16
+ color: ${colors.primary50};
17
+ background-color: ${colors.secondary50};
18
+
19
+ ${fontSize('h5')};
20
+ padding: 10px 20px;
21
+ border-radius: 50px;
22
+ text-transform:uppercase;
23
+
24
+ transition: color 0.15s ease-in-out;
25
+ cursor: pointer;
26
+
27
+ &:hover{
28
+ color: ${colors.secondary50};
29
+ background-color: ${colors.primary50};
30
+ }
31
+
32
+ ${({ open }) => open && `
33
+ color: ${colors.secondary50};
34
+ background-color: ${colors.primary50};
35
+ `}
36
+ `;
37
+
38
+
39
+ export const StyledDropdownContainer = styled.ul<IDropdownContainer>`
40
+ position: absolute;
41
+ top: 100%;
42
+ left: 0;
43
+
44
+ margin-top: 12px;
45
+ padding: 20px;
46
+ background: ${colors.secondary50};
47
+ box-shadow: ${shadows.sm};
48
+ border-radius: ${radius.md};
49
+
50
+ min-width: 18rem;
51
+
52
+ opacity: ${props => props.open ? 1 : 0};
53
+ pointer-events: ${props => props.open ? "auto" : "none"};
54
+
55
+ transform: ${props => props.open ? "rotate(0deg) translateY(0)" : "rotate(8deg) translateY(30px)"}; ;
56
+
57
+ z-index: 1;
58
+ transition: all 0.35s ease-in-out;
59
+ `;
60
+ export const StyledDropdownItem = styled.li<IDropdownItem>`
61
+ display:flex;
62
+ gap: 8px;
63
+ align-items: center;
64
+ cursor: pointer;
65
+
66
+ &:hover {
67
+ color: ${colors.primary50}
68
+ }
69
+ `;
@@ -1 +1 @@
1
- export { default, DropdownItem } from './Dropdown.component'
1
+ export { default, DropdownItem } from './Dropdown.component'
@@ -1,40 +1,40 @@
1
- import Chip from '@/components/atoms/Chip/Chip.component'
2
- import Heading from '@/components/atoms/Heading'
3
- import { IEventsCard } from './EventsCard.interface'
4
- import ImageWrapper from '@/components/atoms/ImageWrapper'
5
- import React from 'react'
6
- import RichText from '@/components/atoms/RichText/RichText.component'
7
- import { StyledEventsCard } from './EventsCard.theme'
8
-
9
- const EventsCard = ({
10
- variant,
11
- date,
12
- category,
13
- title,
14
- imageElement,
15
- linkElement,
16
- description,
17
- ...props
18
- }: IEventsCard) => {
19
- return (
20
- <StyledEventsCard
21
- variant={variant}
22
- imageElement={
23
- <ImageWrapper aspectRatioHeight={100}>{imageElement}</ImageWrapper>
24
- }
25
- >
26
- <Heading tag={'h3'} size={'h4'} className={'fw-bold textEllipsis'}>
27
- {title}
28
- </Heading>
29
- {date && (
30
- <Heading tag={'span'} size={'h5'} className={'mt-3'}>
31
- {date}
32
- </Heading>
33
- )}
34
-
35
- {linkElement}
36
- </StyledEventsCard >
37
- )
38
- }
39
-
40
- export default EventsCard
1
+ import Chip from '@/components/atoms/Chip/Chip.component'
2
+ import Heading from '@/components/atoms/Heading'
3
+ import { IEventsCard } from './EventsCard.interface'
4
+ import ImageWrapper from '@/components/atoms/ImageWrapper'
5
+ import React from 'react'
6
+ import RichText from '@/components/atoms/RichText/RichText.component'
7
+ import { StyledEventsCard } from './EventsCard.theme'
8
+
9
+ const EventsCard = ({
10
+ variant,
11
+ date,
12
+ category,
13
+ title,
14
+ imageElement,
15
+ linkElement,
16
+ description,
17
+ ...props
18
+ }: IEventsCard) => {
19
+ return (
20
+ <StyledEventsCard
21
+ variant={variant}
22
+ imageElement={
23
+ <ImageWrapper aspectRatioHeight={100}>{imageElement}</ImageWrapper>
24
+ }
25
+ >
26
+ <Heading tag={'h3'} size={'h4'} className={'fw-bold textEllipsis'}>
27
+ {title}
28
+ </Heading>
29
+ {date && (
30
+ <Heading tag={'span'} size={'h5'} className={'mt-3'}>
31
+ {date}
32
+ </Heading>
33
+ )}
34
+
35
+ {linkElement}
36
+ </StyledEventsCard >
37
+ )
38
+ }
39
+
40
+ export default EventsCard
@@ -1,9 +1,9 @@
1
- import { ICard } from '../Card/Card.interface';
2
-
3
- export interface IEventsCard extends ICard {
4
- date?: string,
5
- category?: string
6
- title?: string
7
- description?: string | React.ReactElement
8
- linkElement?: React.ReactElement
9
- }
1
+ import { ICard } from '../Card/Card.interface';
2
+
3
+ export interface IEventsCard extends ICard {
4
+ date?: string,
5
+ category?: string
6
+ title?: string
7
+ description?: string | React.ReactElement
8
+ linkElement?: React.ReactElement
9
+ }
@@ -1,37 +1,37 @@
1
- import type { Meta, StoryObj } from '@storybook/react'
2
-
3
- import EventsCard from './EventsCard.component'
4
- import { IEventsCard } from './EventsCard.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/EventsCard',
10
- component: EventsCard,
11
- tags: ['autodocs']
12
- } as Meta
13
-
14
- const image = (
15
- <img
16
- width="100%"
17
- height="100%"
18
- sizes="100vw"
19
- decoding="async"
20
- src="/assets/placeholder.png"
21
- alt="Empty state"
22
- />
23
- )
24
-
25
- export const Simple: StoryObj<IEventsCard> = {
26
- render: args => (
27
- <EventsCard {...args} style={{ maxWidth: '320px' }}></EventsCard>
28
- ),
29
- args: {
30
- date: 'Nov 23, 25',
31
- category: 'Category name',
32
- title: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
33
- imageElement: image,
34
- linkElement: <a href="#" className="linker"></a>
35
- }
36
- }
37
-
1
+ import type { Meta, StoryObj } from '@storybook/react'
2
+
3
+ import EventsCard from './EventsCard.component'
4
+ import { IEventsCard } from './EventsCard.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/EventsCard',
10
+ component: EventsCard,
11
+ tags: ['autodocs']
12
+ } as Meta
13
+
14
+ const image = (
15
+ <img
16
+ width="100%"
17
+ height="100%"
18
+ sizes="100vw"
19
+ decoding="async"
20
+ src="/assets/placeholder.png"
21
+ alt="Empty state"
22
+ />
23
+ )
24
+
25
+ export const Simple: StoryObj<IEventsCard> = {
26
+ render: args => (
27
+ <EventsCard {...args} style={{ maxWidth: '320px' }}></EventsCard>
28
+ ),
29
+ args: {
30
+ date: 'Nov 23, 25',
31
+ category: 'Category name',
32
+ title: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
33
+ imageElement: image,
34
+ linkElement: <a href="#" className="linker"></a>
35
+ }
36
+ }
37
+