trepur_components 2.3.8 → 2.3.9

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 (424) hide show
  1. package/package.json +3 -2
  2. package/src/components/Accordion/Accordion.stories.tsx +23 -100
  3. package/src/components/Accordion/const.tsx +34 -0
  4. package/src/components/Accordion/index.tsx +18 -17
  5. package/src/components/AlertBar/AlertBar.stories.tsx +79 -85
  6. package/src/components/AlertBar/index.tsx +69 -100
  7. package/src/components/Avatar/Avatar.stories.tsx +3 -8
  8. package/src/components/Avatar/index.tsx +31 -31
  9. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +17 -34
  10. package/src/components/Breadcrumbs/index.tsx +78 -29
  11. package/src/components/Button/Button.stories.tsx +11 -137
  12. package/src/components/Button/index.tsx +47 -92
  13. package/src/components/Calendar/Calendar.stories.tsx +12 -73
  14. package/src/components/Calendar/index.tsx +54 -34
  15. package/src/components/Card/Card.stories.tsx +3 -64
  16. package/src/components/Card/index.tsx +23 -80
  17. package/src/components/Carousel/Carousel.stories.tsx +32 -439
  18. package/src/components/Carousel/index.tsx +205 -286
  19. package/src/components/Carousel/utils.ts +53 -0
  20. package/src/components/CarouselThumbnail/CarouselThumbnail.stories.tsx +16 -337
  21. package/src/components/CarouselThumbnail/const.ts +17 -0
  22. package/src/components/CarouselThumbnail/index.tsx +92 -216
  23. package/src/components/CarouselThumbnail/utils.ts +87 -0
  24. package/src/components/Checkbox/Checkbox.stories.tsx +12 -19
  25. package/src/components/Checkbox/index.tsx +37 -34
  26. package/src/components/Collapsible/Collapsible.stories.tsx +50 -50
  27. package/src/components/Collapsible/index.tsx +151 -110
  28. package/src/components/Counter/Counter.stories.tsx +10 -9
  29. package/src/components/Counter/index.tsx +81 -25
  30. package/src/components/DetailUpdater/DetailUpdater.stories.tsx +11 -69
  31. package/src/components/DetailUpdater/index.tsx +7 -8
  32. package/src/components/Dialog/Dialog.stories.tsx +13 -78
  33. package/src/components/Dialog/index.tsx +5 -69
  34. package/src/components/Dropdown/Dropdown.stories.tsx +22 -0
  35. package/src/components/Dropdown/index.tsx +117 -0
  36. package/src/components/Dropdown/utils.ts +15 -0
  37. package/src/components/FileUploader/FilePreview.tsx +2 -2
  38. package/src/components/FileUploader/FileUploader.stories.tsx +10 -8
  39. package/src/components/FileUploader/index.tsx +113 -68
  40. package/src/components/Footer/Footer.stories.tsx +38 -50
  41. package/src/components/Footer/index.tsx +84 -36
  42. package/src/components/FooterNav/FooterNav.stories.tsx +14 -104
  43. package/src/components/FooterNav/index.tsx +71 -45
  44. package/src/components/Form/Form.stories.tsx +9 -9
  45. package/src/components/Form/index.tsx +10 -15
  46. package/src/components/Gallery/Gallery.stories.tsx +39 -0
  47. package/src/components/Gallery/index.tsx +31 -0
  48. package/src/components/Greeting/Greeting.stories.tsx +6 -31
  49. package/src/components/Greeting/index.tsx +44 -25
  50. package/src/components/HamburgerIcon/HamburgerIcon.stories.tsx +3 -21
  51. package/src/components/HamburgerIcon/index.tsx +40 -62
  52. package/src/components/Icon/Icon.stories.tsx +30 -11
  53. package/src/components/Icon/index.tsx +28 -20
  54. package/src/components/Image/Image.stories.tsx +5 -75
  55. package/src/components/Image/index.tsx +17 -119
  56. package/src/components/ImageCard/ImageCard.stories.tsx +29 -0
  57. package/src/components/ImageCard/index.tsx +75 -0
  58. package/src/components/Input/Input.stories.tsx +12 -71
  59. package/src/components/Input/index.tsx +107 -98
  60. package/src/components/MenuButton/MenuButton.stories.tsx +5 -5
  61. package/src/components/MenuButton/index.tsx +4 -4
  62. package/src/components/Modal/Modal.stories.tsx +7 -7
  63. package/src/components/Modal/index.tsx +4 -4
  64. package/src/components/Nav/Nav.stories.tsx +80 -0
  65. package/src/components/Nav/index.tsx +171 -0
  66. package/src/components/NavItem/NavItem.stories.tsx +7 -80
  67. package/src/components/NavItem/index.tsx +34 -38
  68. package/src/components/Pill/Pill.stories.tsx +42 -35
  69. package/src/components/Pill/index.tsx +64 -49
  70. package/src/components/Search/Search.stories.tsx +8 -8
  71. package/src/components/Search/index.tsx +3 -3
  72. package/src/components/Select/Select.stories.tsx +5 -5
  73. package/src/components/Select/index.tsx +8 -9
  74. package/src/components/Showcase/Showcase.stories.tsx +3 -3
  75. package/src/components/Showcase/index.tsx +12 -19
  76. package/src/components/SideNav/SideNav.stories.tsx +7 -7
  77. package/src/components/SideNav/index.tsx +2 -2
  78. package/src/components/SocialButton/SocialButton.stories.tsx +11 -11
  79. package/src/components/SocialButton/index.tsx +6 -7
  80. package/src/components/SplitCard/SplitCard.stories.tsx +34 -0
  81. package/src/components/SplitCard/index.tsx +132 -0
  82. package/src/components/Stars/Star.stories.tsx +18 -0
  83. package/src/components/Stars/index.tsx +38 -0
  84. package/src/components/Testimonial/Testimonial.stories.tsx +25 -97
  85. package/src/components/Testimonial/index.tsx +121 -53
  86. package/src/components/TextArea/TextArea.stories.tsx +11 -42
  87. package/src/components/TextArea/index.tsx +104 -95
  88. package/src/components/Timeline/Timeline.stories.tsx +32 -79
  89. package/src/components/Timeline/index.tsx +55 -246
  90. package/src/components/Tubestops/Tubestops.stories.tsx +10 -30
  91. package/src/components/Tubestops/index.tsx +125 -47
  92. package/src/components/Video/Video.stories.tsx +47 -12
  93. package/src/components/Video/assets/example.mp4 +0 -0
  94. package/src/components/Video/assets/example.ogv +0 -0
  95. package/src/components/Video/assets/example.webm +0 -0
  96. package/src/components/Video/index.tsx +83 -36
  97. package/src/components/index.ts +7 -53
  98. package/src/custom.d.ts +14 -0
  99. package/src/documentation/Colours.mdx +33 -33
  100. package/src/documentation/Introduction.mdx +9 -5
  101. package/src/documentation/assets/index.ts +3 -0
  102. package/src/documentation/assets/trepurComponentsLogo.svg +32 -0
  103. package/src/{components → documentation}/typography/Fonts/Fonts.stories.tsx +1 -1
  104. package/src/{components → documentation}/typography/Fonts/Fonts.tsx +20 -21
  105. package/src/styles/global.css +1 -1
  106. package/src/styles/themes/local.css +61 -9
  107. package/src/styles/themes/test.css +28 -0
  108. package/src/utils/screens.ts +1 -1
  109. package/tailwind/colors.ts +53 -385
  110. package/tailwind/preset.ts +4 -0
  111. package/tailwind.config.ts +12 -80
  112. package/archive/theme.ts +0 -39
  113. package/lib/_virtual/react.js +0 -4
  114. package/lib/components/Accordion/Accordion.stories.d.ts +0 -95
  115. package/lib/components/Accordion/index.d.ts +0 -6
  116. package/lib/components/Accordion/index.js +0 -6
  117. package/lib/components/AlertBar/AlertBar.stories.d.ts +0 -163
  118. package/lib/components/AlertBar/index.d.ts +0 -12
  119. package/lib/components/AlertBar/index.js +0 -49
  120. package/lib/components/Avatar/Avatar.stories.d.ts +0 -44
  121. package/lib/components/Avatar/index.d.ts +0 -3
  122. package/lib/components/Breadcrumbs/Breadcrumbs.stories.d.ts +0 -62
  123. package/lib/components/Breadcrumbs/index.d.ts +0 -9
  124. package/lib/components/Breadcrumbs/index.js +0 -12
  125. package/lib/components/BreadcrumbsBordered/BreadcrumbsBordered.stories.d.ts +0 -67
  126. package/lib/components/BreadcrumbsBordered/index.d.ts +0 -6
  127. package/lib/components/BreadcrumbsBordered/index.js +0 -28
  128. package/lib/components/BreadcrumbsItem/BreadcrumbsItem.stories.d.ts +0 -74
  129. package/lib/components/BreadcrumbsItem/index.d.ts +0 -10
  130. package/lib/components/BreadcrumbsItem/index.js +0 -117
  131. package/lib/components/Button/Button.stories.d.ts +0 -192
  132. package/lib/components/Button/index.d.ts +0 -19
  133. package/lib/components/Button/index.js +0 -66
  134. package/lib/components/Calendar/Calendar.stories.d.ts +0 -136
  135. package/lib/components/Calendar/index.d.ts +0 -15
  136. package/lib/components/Calendar/index.js +0 -46
  137. package/lib/components/Calendar/style.css.js +0 -1
  138. package/lib/components/Card/Card.stories.d.ts +0 -108
  139. package/lib/components/Card/index.d.ts +0 -17
  140. package/lib/components/Card/index.js +0 -51
  141. package/lib/components/CardWithTopImage/CardWithTopImage.stories.d.ts +0 -83
  142. package/lib/components/CardWithTopImage/index.d.ts +0 -9
  143. package/lib/components/CardWithTopImage/index.js +0 -28
  144. package/lib/components/Carousel/Carousel.stories.d.ts +0 -562
  145. package/lib/components/Carousel/index.d.ts +0 -77
  146. package/lib/components/Carousel/index.js +0 -248
  147. package/lib/components/CarouselThumbnail/CarouselThumbnail.stories.d.ts +0 -546
  148. package/lib/components/CarouselThumbnail/index.d.ts +0 -50
  149. package/lib/components/CarouselThumbnail/index.js +0 -205
  150. package/lib/components/Checkbox/Checkbox.stories.d.ts +0 -52
  151. package/lib/components/Checkbox/index.d.ts +0 -7
  152. package/lib/components/Checkbox/index.js +0 -31
  153. package/lib/components/Collapsible/Collapsible.stories.d.ts +0 -82
  154. package/lib/components/Collapsible/index.d.ts +0 -12
  155. package/lib/components/Collapsible/index.js +0 -88
  156. package/lib/components/Column/Column.stories.d.ts +0 -116
  157. package/lib/components/Column/index.d.ts +0 -10
  158. package/lib/components/Column/index.js +0 -8
  159. package/lib/components/ComponentWrapper/ComponentWrapper.stories.d.ts +0 -77
  160. package/lib/components/ComponentWrapper/index.d.ts +0 -14
  161. package/lib/components/ComponentWrapper/index.js +0 -27
  162. package/lib/components/Container/Container.stories.d.ts +0 -75
  163. package/lib/components/Container/index.d.ts +0 -7
  164. package/lib/components/Container/index.js +0 -12
  165. package/lib/components/Counter/Counter.stories.d.ts +0 -45
  166. package/lib/components/Counter/index.d.ts +0 -6
  167. package/lib/components/Counter/index.js +0 -31
  168. package/lib/components/DetailUpdater/DetailUpdater.stories.d.ts +0 -104
  169. package/lib/components/DetailUpdater/index.d.ts +0 -18
  170. package/lib/components/DetailUpdater/index.js +0 -63
  171. package/lib/components/Dialog/Dialog.stories.d.ts +0 -145
  172. package/lib/components/Dialog/index.d.ts +0 -12
  173. package/lib/components/Dialog/index.js +0 -78
  174. package/lib/components/DropdownMenu/DropdownMenu.stories.d.ts +0 -76
  175. package/lib/components/DropdownMenu/index.d.ts +0 -14
  176. package/lib/components/DropdownMenu/index.js +0 -27
  177. package/lib/components/DynamicTextSection/DynamicTextSection.stories.d.ts +0 -100
  178. package/lib/components/DynamicTextSection/index.d.ts +0 -11
  179. package/lib/components/DynamicTextSection/index.js +0 -18
  180. package/lib/components/FileUploader/FilePreview.d.ts +0 -8
  181. package/lib/components/FileUploader/FileUploader.stories.d.ts +0 -50
  182. package/lib/components/FileUploader/index.d.ts +0 -9
  183. package/lib/components/FilterItem/FilterItem.stories.d.ts +0 -57
  184. package/lib/components/FilterItem/index.d.ts +0 -8
  185. package/lib/components/FilterItem/index.js +0 -60
  186. package/lib/components/Footer/Footer.stories.d.ts +0 -105
  187. package/lib/components/Footer/index.d.ts +0 -10
  188. package/lib/components/Footer/index.js +0 -36
  189. package/lib/components/FooterNav/FooterNav.stories.d.ts +0 -135
  190. package/lib/components/FooterNav/index.d.ts +0 -13
  191. package/lib/components/FooterNav/index.js +0 -28
  192. package/lib/components/FooterNavItem/FooterNavItem.stories.d.ts +0 -93
  193. package/lib/components/FooterNavItem/index.d.ts +0 -16
  194. package/lib/components/FooterNavItem/index.js +0 -27
  195. package/lib/components/Form/Form.stories.d.ts +0 -117
  196. package/lib/components/Form/index.d.ts +0 -13
  197. package/lib/components/Form/index.js +0 -28
  198. package/lib/components/FyreCard/FyreCard.stories.d.ts +0 -58
  199. package/lib/components/FyreCard/index.d.ts +0 -12
  200. package/lib/components/FyreCard/index.js +0 -27
  201. package/lib/components/Greeting/Greeting.stories.d.ts +0 -83
  202. package/lib/components/Greeting/index.d.ts +0 -8
  203. package/lib/components/Greeting/index.js +0 -13
  204. package/lib/components/HamburgerIcon/HamburgerIcon.stories.d.ts +0 -64
  205. package/lib/components/HamburgerIcon/index.d.ts +0 -7
  206. package/lib/components/HamburgerIcon/index.js +0 -93
  207. package/lib/components/HorizontalLine/HorizontalLine.stories.d.ts +0 -96
  208. package/lib/components/HorizontalLine/index.d.ts +0 -11
  209. package/lib/components/HorizontalLine/index.js +0 -24
  210. package/lib/components/Icon/Icon.stories.d.ts +0 -47
  211. package/lib/components/Icon/index.d.ts +0 -10
  212. package/lib/components/Icon/index.js +0 -15
  213. package/lib/components/IconCard/IconCard.stories.d.ts +0 -51
  214. package/lib/components/IconCard/index.d.ts +0 -13
  215. package/lib/components/IconCard/index.js +0 -27
  216. package/lib/components/Image/Image.stories.d.ts +0 -158
  217. package/lib/components/Image/index.d.ts +0 -15
  218. package/lib/components/Image/index.js +0 -99
  219. package/lib/components/ImageInfo/ImageInfo.stories.d.ts +0 -69
  220. package/lib/components/ImageInfo/index.d.ts +0 -14
  221. package/lib/components/ImageLink/ImageLink.stories.d.ts +0 -63
  222. package/lib/components/ImageLink/index.d.ts +0 -14
  223. package/lib/components/ImageLink/index.js +0 -39
  224. package/lib/components/ImageLinkList/ImageLinkList.stories.d.ts +0 -48
  225. package/lib/components/ImageLinkList/index.d.ts +0 -8
  226. package/lib/components/ImageLinkList/index.js +0 -18
  227. package/lib/components/InformationIcon/InformationIcon.stories.d.ts +0 -54
  228. package/lib/components/InformationIcon/index.d.ts +0 -12
  229. package/lib/components/InformationIcon/index.js +0 -65
  230. package/lib/components/InformationIconBlock/InformationIconBlock.stories.d.ts +0 -55
  231. package/lib/components/InformationIconBlock/index.d.ts +0 -12
  232. package/lib/components/Input/Input.stories.d.ts +0 -114
  233. package/lib/components/Input/index.d.ts +0 -29
  234. package/lib/components/Input/index.js +0 -89
  235. package/lib/components/Jumbotron/Jumbotron.stories.d.ts +0 -48
  236. package/lib/components/Jumbotron/index.d.ts +0 -8
  237. package/lib/components/Jumbotron/index.js +0 -9
  238. package/lib/components/MenuButton/MenuButton.stories.d.ts +0 -76
  239. package/lib/components/MenuButton/index.d.ts +0 -14
  240. package/lib/components/MenuButton/index.js +0 -56
  241. package/lib/components/Modal/Modal.stories.d.ts +0 -67
  242. package/lib/components/Modal/index.d.ts +0 -10
  243. package/lib/components/Modal/index.js +0 -45
  244. package/lib/components/NavItem/NavItem.stories.d.ts +0 -154
  245. package/lib/components/NavItem/index.d.ts +0 -16
  246. package/lib/components/NavItem/index.js +0 -25
  247. package/lib/components/NavOld/NavOld.stories.d.ts +0 -290
  248. package/lib/components/NavOld/StickyNav.d.ts +0 -22
  249. package/lib/components/NavOld/StickyNav.js +0 -135
  250. package/lib/components/NavOld/index.d.ts +0 -26
  251. package/lib/components/NavOld/index.js +0 -187
  252. package/lib/components/NavTwo/Dropdown.d.ts +0 -7
  253. package/lib/components/NavTwo/Dropdown.js +0 -21
  254. package/lib/components/NavTwo/Nav.stories.d.ts +0 -62
  255. package/lib/components/NavTwo/Sidebar.d.ts +0 -7
  256. package/lib/components/NavTwo/Sidebar.js +0 -21
  257. package/lib/components/NavTwo/StickyNav.d.ts +0 -7
  258. package/lib/components/NavTwo/StickyNav.js +0 -20
  259. package/lib/components/NavTwo/index.d.ts +0 -13
  260. package/lib/components/NavTwo/index.js +0 -28
  261. package/lib/components/NewsCard/NewsCard.stories.d.ts +0 -102
  262. package/lib/components/NewsCard/index.d.ts +0 -13
  263. package/lib/components/NewsCard/index.js +0 -26
  264. package/lib/components/Pill/Pill.stories.d.ts +0 -84
  265. package/lib/components/Pill/index.d.ts +0 -8
  266. package/lib/components/Pill/index.js +0 -31
  267. package/lib/components/ProductCard/ProductCard.stories.d.ts +0 -86
  268. package/lib/components/ProductCard/index.d.ts +0 -18
  269. package/lib/components/ProductCard/index.js +0 -69
  270. package/lib/components/ProductCardV2/ProductCardV2.stories.d.ts +0 -75
  271. package/lib/components/ProductCardV2/index.d.ts +0 -21
  272. package/lib/components/ProductCardV2/index.js +0 -67
  273. package/lib/components/Proficiencies/Proficiencies.stories.d.ts +0 -51
  274. package/lib/components/Proficiencies/index.d.ts +0 -12
  275. package/lib/components/Profile/Profile.stories.d.ts +0 -80
  276. package/lib/components/Profile/index.d.ts +0 -17
  277. package/lib/components/Profile/index.js +0 -78
  278. package/lib/components/Row/Row.stories.d.ts +0 -62
  279. package/lib/components/Row/index.d.ts +0 -6
  280. package/lib/components/Row/index.js +0 -9
  281. package/lib/components/Search/Search.stories.d.ts +0 -86
  282. package/lib/components/Search/index.d.ts +0 -12
  283. package/lib/components/Search/index.js +0 -42
  284. package/lib/components/Select/Select.stories.d.ts +0 -56
  285. package/lib/components/Select/index.d.ts +0 -11
  286. package/lib/components/Select/index.js +0 -68
  287. package/lib/components/Showcase/Showcase.stories.d.ts +0 -55
  288. package/lib/components/Showcase/index.d.ts +0 -15
  289. package/lib/components/SideNav/SideNav.stories.d.ts +0 -80
  290. package/lib/components/SideNav/index.d.ts +0 -12
  291. package/lib/components/SocialBlock/SocialBlock.stories.d.ts +0 -101
  292. package/lib/components/SocialBlock/index.d.ts +0 -14
  293. package/lib/components/SocialBlock/index.js +0 -37
  294. package/lib/components/SocialButton/SocialButton.stories.d.ts +0 -130
  295. package/lib/components/SocialButton/index.d.ts +0 -12
  296. package/lib/components/SocialButton/index.js +0 -37
  297. package/lib/components/StarRating/StarRating.stories.d.ts +0 -49
  298. package/lib/components/StarRating/index.d.ts +0 -9
  299. package/lib/components/StarRating/index.js +0 -47
  300. package/lib/components/Testimonial/Testimonial.stories.d.ts +0 -172
  301. package/lib/components/Testimonial/index.d.ts +0 -16
  302. package/lib/components/Testimonial/index.js +0 -42
  303. package/lib/components/TextAndTitle/TextAndTitle.stories.d.ts +0 -97
  304. package/lib/components/TextAndTitle/index.d.ts +0 -25
  305. package/lib/components/TextAndTitle/index.js +0 -70
  306. package/lib/components/TextArea/TextArea.stories.d.ts +0 -85
  307. package/lib/components/TextArea/index.d.ts +0 -26
  308. package/lib/components/TextArea/index.js +0 -86
  309. package/lib/components/Timeline/Timeline.stories.d.ts +0 -81
  310. package/lib/components/Timeline/index.d.ts +0 -17
  311. package/lib/components/Timeline/index.js +0 -172
  312. package/lib/components/TimelineV2/TimelineV2.stories.d.ts +0 -87
  313. package/lib/components/TimelineV2/index.d.ts +0 -20
  314. package/lib/components/Tubestops/Tubestops.stories.d.ts +0 -54
  315. package/lib/components/Tubestops/index.d.ts +0 -8
  316. package/lib/components/Tubestops/index.js +0 -44
  317. package/lib/components/UserIcon/UserIcon.stories.d.ts +0 -81
  318. package/lib/components/UserIcon/index.d.ts +0 -10
  319. package/lib/components/UserIcon/index.js +0 -34
  320. package/lib/components/Video/Video.stories.d.ts +0 -49
  321. package/lib/components/Video/index.d.ts +0 -15
  322. package/lib/components/Video/index.js +0 -34
  323. package/lib/components/index.d.ts +0 -60
  324. package/lib/components/typography/Fonts/Fonts.d.ts +0 -2
  325. package/lib/components/typography/Fonts/Fonts.stories.d.ts +0 -10
  326. package/lib/index.d.ts +0 -1
  327. package/lib/index.js +0 -118
  328. package/lib/node_modules/keen-slider/keen-slider.min.css.js +0 -1
  329. package/lib/node_modules/keen-slider/react.js +0 -591
  330. package/lib/style.css +0 -1
  331. package/lib/styles/global.css +0 -75
  332. package/lib/styles/themes/local.css +0 -40
  333. package/lib/styles/themes/palette.css +0 -131
  334. package/lib/tailwind/boxShadow.ts +0 -9
  335. package/lib/tailwind/colors.ts +0 -410
  336. package/lib/tailwind/container.ts +0 -11
  337. package/lib/tailwind/preset.ts +0 -88
  338. package/lib/tailwind/spacing.ts +0 -14
  339. package/lib/utils/controls.d.ts +0 -36
  340. package/lib/utils/matchMedia.d.ts +0 -2
  341. package/lib/utils/matchMedia.js +0 -9
  342. package/lib/utils/screens.d.ts +0 -7
  343. package/src/components/BreadcrumbsBordered/BreadcrumbsBordered.stories.tsx +0 -52
  344. package/src/components/BreadcrumbsBordered/index.tsx +0 -41
  345. package/src/components/BreadcrumbsItem/BreadcrumbsItem.stories.tsx +0 -40
  346. package/src/components/BreadcrumbsItem/index.tsx +0 -147
  347. package/src/components/CardWithTopImage/CardWithTopImage.stories.tsx +0 -50
  348. package/src/components/CardWithTopImage/index.tsx +0 -35
  349. package/src/components/Column/Column.stories.tsx +0 -89
  350. package/src/components/Column/index.tsx +0 -18
  351. package/src/components/ComponentWrapper/ComponentWrapper.stories.tsx +0 -40
  352. package/src/components/ComponentWrapper/index.tsx +0 -48
  353. package/src/components/Container/Container.stories.tsx +0 -40
  354. package/src/components/Container/index.tsx +0 -21
  355. package/src/components/DropdownMenu/DropdownMenu.stories.tsx +0 -59
  356. package/src/components/DropdownMenu/index.tsx +0 -45
  357. package/src/components/DynamicTextSection/DynamicTextSection.stories.tsx +0 -76
  358. package/src/components/DynamicTextSection/index.tsx +0 -32
  359. package/src/components/FilterItem/FilterItem.stories.tsx +0 -33
  360. package/src/components/FilterItem/index.tsx +0 -97
  361. package/src/components/FooterNavItem/FooterNavItem.stories.tsx +0 -53
  362. package/src/components/FooterNavItem/index.tsx +0 -58
  363. package/src/components/Form/style.module.css +0 -0
  364. package/src/components/FyreCard/FyreCard.stories.tsx +0 -31
  365. package/src/components/FyreCard/index.tsx +0 -44
  366. package/src/components/HorizontalLine/HorizontalLine.stories.tsx +0 -54
  367. package/src/components/HorizontalLine/index.tsx +0 -32
  368. package/src/components/IconCard/IconCard.stories.tsx +0 -26
  369. package/src/components/IconCard/index.tsx +0 -54
  370. package/src/components/ImageInfo/ImageInfo.stories.tsx +0 -38
  371. package/src/components/ImageInfo/index.tsx +0 -84
  372. package/src/components/ImageLink/ImageLink.stories.tsx +0 -36
  373. package/src/components/ImageLink/index.tsx +0 -58
  374. package/src/components/ImageLinkList/ImageLinkList.stories.tsx +0 -34
  375. package/src/components/ImageLinkList/index.tsx +0 -28
  376. package/src/components/InformationIcon/InformationIcon.stories.tsx +0 -29
  377. package/src/components/InformationIcon/index.tsx +0 -105
  378. package/src/components/InformationIconBlock/InformationIconBlock.stories.tsx +0 -38
  379. package/src/components/InformationIconBlock/index.tsx +0 -56
  380. package/src/components/Jumbotron/Jumbotron.stories.tsx +0 -21
  381. package/src/components/Jumbotron/index.tsx +0 -19
  382. package/src/components/NavOld/NavOld.stories.tsx +0 -193
  383. package/src/components/NavOld/StickyNav.tsx +0 -187
  384. package/src/components/NavOld/index.tsx +0 -265
  385. package/src/components/NavTwo/Dropdown.tsx +0 -30
  386. package/src/components/NavTwo/Nav.stories.tsx +0 -32
  387. package/src/components/NavTwo/Sidebar.tsx +0 -30
  388. package/src/components/NavTwo/StickyNav.tsx +0 -29
  389. package/src/components/NavTwo/index.tsx +0 -37
  390. package/src/components/NewsCard/NewsCard.stories.tsx +0 -72
  391. package/src/components/NewsCard/index.tsx +0 -44
  392. package/src/components/ProductCard/ProductCard.stories.tsx +0 -61
  393. package/src/components/ProductCard/index.tsx +0 -110
  394. package/src/components/ProductCardV2/ProductCardV2.stories.tsx +0 -50
  395. package/src/components/ProductCardV2/index.tsx +0 -98
  396. package/src/components/Proficiencies/Proficiencies.stories.tsx +0 -50
  397. package/src/components/Proficiencies/index.tsx +0 -51
  398. package/src/components/Profile/Profile.stories.tsx +0 -49
  399. package/src/components/Profile/index.tsx +0 -103
  400. package/src/components/Row/Row.stories.tsx +0 -53
  401. package/src/components/Row/index.tsx +0 -17
  402. package/src/components/SocialBlock/SocialBlock.stories.tsx +0 -58
  403. package/src/components/SocialBlock/index.tsx +0 -59
  404. package/src/components/StarRating/StarRating.stories.tsx +0 -23
  405. package/src/components/StarRating/index.tsx +0 -65
  406. package/src/components/TextAndTitle/TextAndTitle.stories.tsx +0 -71
  407. package/src/components/TextAndTitle/index.tsx +0 -119
  408. package/src/components/TimelineV2/TimelineV2.stories.tsx +0 -95
  409. package/src/components/TimelineV2/index.tsx +0 -70
  410. package/src/components/UserIcon/UserIcon.stories.tsx +0 -52
  411. package/src/components/UserIcon/index.tsx +0 -43
  412. package/src/styles/themes/palette.css +0 -131
  413. package/svg.d.ts +0 -4
  414. /package/src/{components/fonts → fonts}/Sora/OFL.txt +0 -0
  415. /package/src/{components/fonts → fonts}/Sora/README.txt +0 -0
  416. /package/src/{components/fonts → fonts}/Sora/Sora-VariableFont_wght.ttf +0 -0
  417. /package/src/{components/fonts → fonts}/Sora/static/Sora-Bold.ttf +0 -0
  418. /package/src/{components/fonts → fonts}/Sora/static/Sora-ExtraBold.ttf +0 -0
  419. /package/src/{components/fonts → fonts}/Sora/static/Sora-ExtraLight.ttf +0 -0
  420. /package/src/{components/fonts → fonts}/Sora/static/Sora-Light.ttf +0 -0
  421. /package/src/{components/fonts → fonts}/Sora/static/Sora-Medium.ttf +0 -0
  422. /package/src/{components/fonts → fonts}/Sora/static/Sora-Regular.ttf +0 -0
  423. /package/src/{components/fonts → fonts}/Sora/static/Sora-SemiBold.ttf +0 -0
  424. /package/src/{components/fonts → fonts}/Sora/static/Sora-Thin.ttf +0 -0
@@ -1,39 +1,14 @@
1
- import { Meta, type StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import { Greeting } from '.';
1
+ import { Greeting } from './';
2
+ import { Meta, StoryObj } from '@storybook/react';
5
3
 
6
4
  const meta = {
7
- title: 'Components/Greeting',
5
+ title: 'V2Components/Greeting',
8
6
  component: Greeting,
9
- argTypes: {
10
- ...idAndClassName,
11
- morningMessage: {
12
- type: { name: 'string', required: false },
13
- description: 'Defines the morning message for the greeting component',
14
- table: {
15
- type: { summary: 'string' },
16
- }
17
- },
18
- afternoonMessage: {
19
- type: { name: 'string', required: false },
20
- description: 'Defines the afternoon message for the greeting component',
21
- table: {
22
- type: { summary: 'string' },
23
- }
24
- },
25
- eveningMessage: {
26
- type: { name: 'string', required: false },
27
- description: 'Defines the evening message for the greeting component',
28
- table: {
29
- type: { summary: 'string' },
30
- }
31
- }
32
- },
33
7
  args: {
34
8
  morningMessage: 'What a beautiful morning it is today',
35
- }
36
- }
9
+ },
10
+ } satisfies Meta<typeof Greeting>;
11
+
37
12
  export default meta;
38
13
 
39
14
  type Story = StoryObj<typeof Greeting>;
@@ -1,30 +1,49 @@
1
- export interface Props {
2
- id?: string;
3
- className?: string;
1
+ import { forwardRef, HTMLAttributes } from 'react';
2
+
3
+ import { DateTime } from 'luxon';
4
+
5
+ export interface GreetingProps {
4
6
  morningMessage?: string;
5
7
  afternoonMessage?: string;
6
8
  eveningMessage?: string;
7
9
  }
8
10
 
9
- export const Greeting = ({
10
- morningMessage = 'Good morning',
11
- afternoonMessage = 'Good afternoon',
12
- eveningMessage = 'Good evening',
13
- }: Props) => {
14
- const today = new Date();
15
- const hours = `0${today.getHours().toString()}`.slice(-2);
16
- const minutes = `0${today.getMinutes().toString()}`.slice(-2);
17
- const seconds = `0${today.getSeconds().toString()}`.slice(-2);
18
- const time = parseInt(`${hours}${minutes}${seconds}`);
19
-
20
- let message = '';
21
- if (time < 120000) {
22
- message = morningMessage;
23
- } else if (time > 115959 && time < 170000) {
24
- message = afternoonMessage;
25
- } else if (time > 165959) {
26
- message = eveningMessage;
27
- }
28
-
29
- return <p>{message}</p>;
30
- }
11
+ const GreetingComponent = forwardRef<
12
+ HTMLDivElement,
13
+ HTMLAttributes<HTMLParagraphElement> & GreetingProps
14
+ >(
15
+ (
16
+ {
17
+ morningMessage = 'Good morning',
18
+ afternoonMessage = 'Good afternoon',
19
+ eveningMessage = 'Good evening',
20
+ ...props
21
+ },
22
+ ref,
23
+ ) => {
24
+ const now = DateTime.now();
25
+ const midday = DateTime.now().set({ hour: 12, minute: 0, second: 0 });
26
+ const evening = DateTime.now().set({ hour: 17, minute: 0, second: 0 });
27
+
28
+ let message = '';
29
+ if (now < midday) {
30
+ message = morningMessage;
31
+ } else if (now >= midday && now < evening) {
32
+ message = afternoonMessage;
33
+ } else if (now >= evening) {
34
+ message = eveningMessage;
35
+ }
36
+
37
+ return (
38
+ <p {...props} ref={ref}>
39
+ {message}
40
+ </p>
41
+ );
42
+ },
43
+ );
44
+
45
+ GreetingComponent.displayName = 'Greeting';
46
+
47
+ const Greeting = Object.assign(GreetingComponent);
48
+
49
+ export { Greeting };
@@ -1,29 +1,11 @@
1
- import { Meta, type StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
1
+ import { Meta, StoryObj } from '@storybook/react';
3
2
 
4
3
  import { HamburgerIcon } from '.';
5
4
 
6
5
  const meta = {
7
- title: 'Components/Hamburger Icon',
6
+ title: 'V2Components/Hamburger Icon',
8
7
  component: HamburgerIcon,
9
- parameters: {
10
- docs: {
11
- description: {
12
- component: 'An icon component',
13
- }
14
- },
15
- layout: 'padded',
16
- },
17
- argTypes: {
18
- ...idAndClassName,
19
-
20
- onClick: {
21
- type: { name: 'function', required: false },
22
- description: 'Function to be called when the button is clicked',
23
- table: { type: { summary: 'function' } },
24
- }
25
- }
26
- };
8
+ } satisfies Meta<typeof HamburgerIcon>;
27
9
 
28
10
  export default meta;
29
11
 
@@ -1,78 +1,35 @@
1
- import React, { useState } from 'react';
1
+ import { forwardRef, HTMLAttributes, useState } from 'react';
2
2
 
3
- import { Button } from '@components/Button';
4
- import classNames from 'classnames';
3
+ import { Button, ButtonProps } from '@components/Button';
4
+ import clsx from 'clsx';
5
5
 
6
- export interface Props extends Partial<Pick<HTMLElement, 'className' | 'id'>> {
7
- onClick?: React.MouseEventHandler;
8
- variant?: 'primary' | 'secondary' | 'tertiary';
9
- }
10
-
11
- export const HamburgerIcon = ({
12
- id,
13
- className,
14
- onClick,
15
- variant = 'primary',
16
- }: Props) => {
6
+ const HamburgerIconComponent = forwardRef<
7
+ HTMLButtonElement,
8
+ HTMLAttributes<HTMLButtonElement> & ButtonProps
9
+ >(({ className, onClick, variant = 'ghost' }, ref) => {
17
10
  const [opened, setOpened] = useState(false);
18
- const classList = classNames(
19
- {
20
- 'transition-all duration-500 outline-none fill-primary':
21
- variant === 'secondary',
22
- 'transition-all duration-500 outline-none fill-secondary':
23
- variant === 'primary',
24
- 'transition-all duration-500 outline-none fill-tertiary':
25
- variant === 'tertiary',
26
- },
27
- className,
28
- )
29
-
30
- const lineOneClassList = classNames(
31
- {
32
- 'origin-top-left -translate-y-0.5 translate-x-1 rotate-45': opened,
33
- },
34
- 'origin-top-left duration-200 ease-linear transition-transform',
35
- )
36
-
37
- const lineTwoClassList = classNames(
38
- {
39
- 'opacity-0': opened,
40
- 'opacity-100': !opened,
41
- },
42
- 'duration-200 ease-linear transition-opacity',
43
- )
44
-
45
- const lineThreeClassList = classNames(
46
- {
47
- 'origin-bottom-left translate-x-1 translate-y-px -rotate-45': opened,
48
- },
49
- 'origin-bottom-left duration-200 ease-linear transition-transform',
50
- )
51
11
 
52
12
  const toggleOpened = (e: any): void => {
53
13
  setOpened(!opened);
54
14
  onClick?.(e);
55
- }
56
-
15
+ };
57
16
  return (
58
17
  <Button
59
- id={id}
60
- className={classList}
18
+ className={clsx('stroke-white', className)}
19
+ ref={ref}
61
20
  onClick={(e) => {
62
21
  toggleOpened(e);
63
22
  }}
64
23
  variant={variant}
65
- type="icon"
66
- label="Mobile menu toggle"
67
24
  >
68
25
  <svg
69
- className={classNames(
26
+ className={clsx(
27
+ 'transition-backgroundColor mx-auto transform overflow-visible duration-500',
70
28
  {
71
- 'fill-primary': variant === 'primary',
72
- 'fill-secondary': variant === 'secondary',
73
- 'fill-tertiary': variant === 'tertiary',
29
+ 'fill-button-primary-text': variant === 'primary',
30
+ 'fill-button-secondary-text': variant === 'secondary',
31
+ 'fill-button-ghost-text': variant === 'ghost',
74
32
  },
75
- 'transition-backgroundColor mx-auto transform overflow-visible duration-500',
76
33
  )}
77
34
  width="24"
78
35
  height="24"
@@ -80,18 +37,39 @@ export const HamburgerIcon = ({
80
37
  xmlns="http://www.w3.org/2000/svg"
81
38
  >
82
39
  <path
83
- className={lineOneClassList}
40
+ className={clsx(
41
+ 'origin-top-left transition-transform duration-200 ease-linear',
42
+ {
43
+ 'origin-top-left -translate-y-0.5 translate-x-1 rotate-45':
44
+ opened,
45
+ },
46
+ )}
84
47
  d="M0 1.5C0 0.947715 0.447715 0.5 1 0.5H21C21.5523 0.5 22 0.947715 22 1.5C22 2.05228 21.5523 2.5 21 2.5H1C0.447716 2.5 0 2.05228 0 1.5Z"
85
48
  />
86
49
  <path
87
- className={lineTwoClassList}
50
+ className={clsx('transition-opacity duration-200 ease-linear', {
51
+ 'opacity-0': opened,
52
+ 'opacity-100': !opened,
53
+ })}
88
54
  d="M0 7.5C0 6.94772 0.447715 6.5 1 6.5H21C21.5523 6.5 22 6.94772 22 7.5C22 8.05228 21.5523 8.5 21 8.5H1C0.447716 8.5 0 8.05228 0 7.5Z"
89
55
  />
90
56
  <path
91
- className={lineThreeClassList}
57
+ className={clsx(
58
+ 'origin-bottom-left transition-transform duration-200 ease-linear',
59
+ {
60
+ 'origin-bottom-left translate-x-1 translate-y-px -rotate-45':
61
+ opened,
62
+ },
63
+ )}
92
64
  d="M0 13.5C0 12.9477 0.447715 12.5 1 12.5H21C21.5523 12.5 22 12.9477 22 13.5C22 14.0523 21.5523 14.5 21 14.5H1C0.447716 14.5 0 14.0523 0 13.5Z"
93
65
  />
94
66
  </svg>
95
67
  </Button>
96
68
  );
97
- }
69
+ });
70
+
71
+ HamburgerIconComponent.displayName = 'HamburgerIcon';
72
+
73
+ const HamburgerIcon = Object.assign(HamburgerIconComponent);
74
+
75
+ export { HamburgerIcon };
@@ -1,22 +1,41 @@
1
- import { faHeart } from '@fortawesome/fontawesome-free-solid';
2
- import { Meta, type StoryObj } from '@storybook/react';
3
- import { idAndClassName } from '@utils/controls';
4
-
5
- import { Icon } from '.';
1
+ import { Icon } from './';
2
+ import { faHeart, faSpinner } from '@fortawesome/fontawesome-free-solid';
3
+ import { Meta, StoryObj } from '@storybook/react';
6
4
 
7
5
  const meta = {
8
- title: 'Components/Icon',
6
+ title: 'V2Components/Icon',
9
7
  component: Icon,
10
- argTypes: {
11
- ...idAndClassName,
12
- },
13
8
  args: {
14
9
  icon: faHeart,
15
- }
16
- }
10
+ },
11
+ } satisfies Meta<typeof Icon>;
17
12
 
18
13
  export default meta;
19
14
 
20
15
  type Story = StoryObj<typeof Icon>;
21
16
 
22
17
  export const Default: Story = {};
18
+
19
+ export const Colour: Story = {
20
+ ...Default,
21
+ args: {
22
+ ...Default.args,
23
+ className: 'text-error-light',
24
+ },
25
+ };
26
+
27
+ export const Size: Story = {
28
+ ...Default,
29
+ args: {
30
+ ...Default.args,
31
+ size: '2x',
32
+ },
33
+ };
34
+
35
+ export const Annimation: Story = {
36
+ ...Default,
37
+ args: {
38
+ icon: faSpinner,
39
+ className: 'animate-spin',
40
+ },
41
+ };
@@ -1,25 +1,33 @@
1
- import {
2
- type IconProp,
3
- type SizeProp,
4
- } from '@fortawesome/fontawesome-svg-core';
1
+ import { forwardRef } from 'react';
2
+
3
+ import { IconDefinition } from '@fortawesome/fontawesome-free-solid';
4
+ import { IconProp, SizeProp } from '@fortawesome/fontawesome-svg-core';
5
5
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
6
6
 
7
7
  export interface IconProps {
8
- id?: string;
9
- icon: IconProp;
10
- colour?: string;
11
- size?: SizeProp;
12
- onClick?: () => void;
8
+ className?: string;
9
+ icon: IconProp | IconDefinition;
10
+ size: SizeProp;
13
11
  }
14
12
 
15
- export const Icon = ({ id, icon, colour, size = '1x', onClick }: IconProps) => {
16
- return (
17
- <FontAwesomeIcon
18
- onClick={onClick}
19
- id={id}
20
- icon={icon}
21
- size={size}
22
- color={colour}
23
- />
24
- );
25
- }
13
+ const IconComponent = forwardRef(
14
+ (props: IconProps, ref: React.Ref<SVGSVGElement>) => {
15
+ const { className, size, icon, ...rest } = props;
16
+
17
+ return (
18
+ <FontAwesomeIcon
19
+ className={className}
20
+ ref={ref}
21
+ icon={icon as IconProp}
22
+ size={size}
23
+ {...rest}
24
+ />
25
+ );
26
+ },
27
+ );
28
+
29
+ IconComponent.displayName = 'Icon';
30
+
31
+ const Icon = Object.assign(IconComponent);
32
+
33
+ export { Icon };
@@ -1,84 +1,14 @@
1
- import { Meta, type StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
1
+ import { Meta, StoryObj } from '@storybook/react';
3
2
 
4
3
  import { Image } from '.';
5
4
 
6
5
  const meta = {
7
- title: 'Components/Image',
6
+ title: 'V2Components/Image',
8
7
  component: Image,
9
- argTypes: {
10
- ...idAndClassName,
11
- image: {
12
- type: { name: 'string', required: false },
13
- description: 'The image to display on the component',
14
- table: {
15
- type: { summary: 'default' },
16
- }
17
- },
18
- altText: {
19
- type: { name: 'string', required: false },
20
- description: 'The accessibility alt text for the image on the component',
21
- table: {
22
- type: { summary: 'default' },
23
- }
24
- },
25
- title: {
26
- type: { name: 'string', required: false },
27
- description: 'The accessibility title for the image on the component',
28
- table: {
29
- type: { summary: 'default' },
30
- }
31
- },
32
- rounded: {
33
- type: { name: 'boolean', required: false },
34
- description: 'Sets the corners of the component to rounded',
35
- table: {
36
- type: { summary: 'boolean' },
37
- }
38
- },
39
- roundedFull: {
40
- type: { name: 'boolean', required: false },
41
- description: 'Sets the component to a circle shape',
42
- table: {
43
- type: { summary: 'boolean' },
44
- }
45
- },
46
- height: {
47
- type: { name: 'number', required: false },
48
- description: 'Defines the height of the component',
49
- table: {
50
- type: { summary: 'number' },
51
- }
52
- },
53
- width: {
54
- type: { name: 'number', required: false },
55
- description: 'Defines the width of the component',
56
- table: {
57
- type: { summary: 'number' },
58
- }
59
- },
60
- overlayText: {
61
- type: { name: 'string', required: false },
62
- description: 'The text to show when hovering over the component',
63
- table: {
64
- type: { summary: 'default' },
65
- }
66
- },
67
- centerAligned: {
68
- type: { name: 'boolean', required: false },
69
- description: 'Sets the component to the center',
70
- table: {
71
- type: { summary: 'boolean' },
72
- }
73
- }
74
- },
75
8
  args: {
76
- src: 'https://picsum.photos/200/200',
77
- height: 8,
78
- width: 8,
79
- overlayText: 'logo',
80
- }
81
- }
9
+ src: 'https://picsum.photos/400/400',
10
+ },
11
+ } satisfies Meta<typeof Image>;
82
12
 
83
13
  export default meta;
84
14
 
@@ -1,127 +1,25 @@
1
- import { useState } from 'react';
1
+ import { forwardRef, HTMLAttributes } from 'react';
2
2
 
3
- import classNames from 'classnames';
3
+ import clsx from 'clsx';
4
4
 
5
- export interface Props {
6
- id?: string;
7
- className?: string;
5
+ export interface ImageProps {
8
6
  src: string;
9
- altText?: string;
10
- title?: string;
11
- rounded?: boolean;
12
- roundedFull?: boolean;
13
- height?: number;
14
- width?: number;
15
- overlayText?: string;
16
- centerAligned?: boolean;
17
- bordered?: boolean;
18
7
  }
19
8
 
20
- export const Image = ({
21
- id,
22
- className,
23
- src,
24
- altText,
25
- title,
26
- rounded = false,
27
- roundedFull = false,
28
- height = 8,
29
- width = 8,
30
- overlayText,
31
- centerAligned = false,
32
- bordered = false,
33
- }: Props) => {
34
- const [isHovering, setIsHovering] = useState(false);
35
- const opacity = classNames({
36
- 'opacity-80': isHovering,
37
- 'opacity-0': !isHovering,
38
- })
9
+ const ImageComponent = forwardRef<
10
+ HTMLImageElement,
11
+ HTMLAttributes<HTMLImageElement> & ImageProps
12
+ >(({ className, src, ...props }, ref) => (
13
+ <img
14
+ className={clsx('h-full w-full', className)}
15
+ ref={ref}
16
+ src={src}
17
+ {...props}
18
+ />
19
+ ));
39
20
 
40
- const widthClassList = classNames({
41
- 'w-6': width === 1,
42
- 'w-10': width === 2,
43
- 'w-14': width === 3,
44
- 'w-16': width === 4,
45
- 'w-20': width === 5,
46
- 'w-24': width === 6,
47
- 'w-28': width === 7,
48
- 'w-32': width === 8,
49
- 'w-36': width === 9,
50
- 'w-40': width === 10,
51
- 'w-44': width === 11,
52
- 'w-full':
53
- width === undefined ||
54
- ![1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].includes(width),
55
- })
21
+ ImageComponent.displayName = 'Image';
56
22
 
57
- const heightClassList = classNames({
58
- 'h-6': height === 1,
59
- 'h-10': height === 2,
60
- 'h-14': height === 3,
61
- 'h-16': height === 4,
62
- 'h-20': height === 5,
63
- 'h-24': height === 6,
64
- 'h-28': height === 7,
65
- 'h-32': height === 8,
66
- 'h-36': height === 9,
67
- 'h-40': height === 10,
68
- 'h-44': height === 11,
69
- 'h-full':
70
- height === undefined ||
71
- ![1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].includes(height),
72
- })
23
+ const Image = Object.assign(ImageComponent);
73
24
 
74
- const imageClassList = classNames(
75
- {
76
- 'rounded-2xl': rounded,
77
- 'rounded-full': roundedFull,
78
- 'mx-auto': centerAligned,
79
- 'border-4 border-primary': bordered,
80
- },
81
- className,
82
- widthClassList,
83
- heightClassList,
84
- )
85
-
86
- const overlayClassList = classNames(
87
- widthClassList,
88
- heightClassList,
89
- opacity,
90
- 'absolute z-10 bg-white transition-opacity duration-700',
91
- )
92
-
93
- const overlayTextWrapperClassList = classNames(
94
- widthClassList,
95
- heightClassList,
96
- opacity,
97
- 'absolute z-20 flex transition-opacity duration-700',
98
- )
99
-
100
- return (
101
- <div className={imageClassList}>
102
- {overlayText !== undefined && (
103
- <>
104
- <div className={overlayClassList} />
105
- <div
106
- className={overlayTextWrapperClassList}
107
- onMouseEnter={() => {
108
- setIsHovering(true);
109
- }}
110
- onMouseLeave={() => {
111
- setIsHovering(false);
112
- }}
113
- >
114
- <p className="m-auto text-center text-primary">{overlayText}</p>
115
- </div>
116
- </>
117
- )}
118
- <img
119
- id={id}
120
- className={imageClassList}
121
- src={src}
122
- alt={altText ?? overlayText}
123
- title={title ?? overlayText}
124
- />
125
- </div>
126
- );
127
- }
25
+ export { Image };
@@ -0,0 +1,29 @@
1
+ import { type Meta, StoryObj } from '@storybook/react';
2
+
3
+ import { ImageCard } from '.';
4
+
5
+ const meta = {
6
+ title: 'V2Components/ImageCard',
7
+ component: ImageCard,
8
+ args: {
9
+ children: [
10
+ <ImageCard.Image src="https://picsum.photos/500/300" />,
11
+ <ImageCard.Content>
12
+ <ImageCard.Title>This is a title</ImageCard.Title>
13
+ <ImageCard.Subtitle>This is a subtitle</ImageCard.Subtitle>
14
+ <ImageCard.Text>
15
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Eaque, est
16
+ iusto. Veniam ullam impedit expedita perferendis cumque culpa saepe
17
+ magni velit quia nemo suscipit, reiciendis ad libero, voluptate
18
+ incidunt fugiat?
19
+ </ImageCard.Text>
20
+ </ImageCard.Content>,
21
+ ],
22
+ },
23
+ } satisfies Meta<typeof ImageCard>;
24
+
25
+ export default meta;
26
+
27
+ type Story = StoryObj<typeof ImageCard>;
28
+
29
+ export const Default: Story = {};