trepur_components 2.3.7 → 2.3.8

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 (456) hide show
  1. package/.eslintrc.cjs +33 -4
  2. package/.prettierignore +10 -0
  3. package/README.md +1 -1
  4. package/archive/theme.ts +1 -1
  5. package/lib/_virtual/react.js +4 -0
  6. package/lib/components/Accordion/Accordion.stories.d.ts +3 -2
  7. package/lib/components/Accordion/index.d.ts +2 -4
  8. package/lib/components/Accordion/index.js +4 -13
  9. package/lib/components/AlertBar/AlertBar.stories.d.ts +3 -2
  10. package/lib/components/AlertBar/index.d.ts +1 -1
  11. package/lib/components/Avatar/index.d.ts +1 -2
  12. package/lib/components/Breadcrumbs/Breadcrumbs.stories.d.ts +62 -0
  13. package/lib/components/Breadcrumbs/index.d.ts +9 -0
  14. package/lib/components/Breadcrumbs/index.js +12 -0
  15. package/lib/components/BreadcrumbsBordered/BreadcrumbsBordered.stories.d.ts +67 -0
  16. package/lib/components/BreadcrumbsBordered/index.d.ts +6 -0
  17. package/lib/components/BreadcrumbsBordered/index.js +28 -0
  18. package/lib/components/BreadcrumbsItem/BreadcrumbsItem.stories.d.ts +74 -0
  19. package/lib/components/BreadcrumbsItem/index.d.ts +10 -0
  20. package/lib/components/BreadcrumbsItem/index.js +117 -0
  21. package/lib/components/Button/Button.stories.d.ts +192 -0
  22. package/lib/components/Button/index.d.ts +19 -0
  23. package/lib/components/Button/index.js +66 -0
  24. package/lib/components/Calendar/Calendar.stories.d.ts +136 -0
  25. package/lib/components/Calendar/index.d.ts +15 -0
  26. package/lib/components/Calendar/index.js +46 -0
  27. package/lib/components/Calendar/style.css.js +1 -0
  28. package/lib/components/Card/Card.stories.d.ts +108 -0
  29. package/lib/components/Card/index.d.ts +17 -0
  30. package/lib/components/Card/index.js +51 -0
  31. package/lib/components/CardWithTopImage/CardWithTopImage.stories.d.ts +83 -0
  32. package/lib/components/CardWithTopImage/index.d.ts +9 -0
  33. package/lib/components/CardWithTopImage/index.js +28 -0
  34. package/lib/components/Carousel/Carousel.stories.d.ts +562 -0
  35. package/lib/components/Carousel/index.d.ts +77 -0
  36. package/lib/components/Carousel/index.js +248 -0
  37. package/lib/components/CarouselThumbnail/CarouselThumbnail.stories.d.ts +546 -0
  38. package/lib/components/CarouselThumbnail/index.d.ts +50 -0
  39. package/lib/components/CarouselThumbnail/index.js +205 -0
  40. package/lib/components/Checkbox/Checkbox.stories.d.ts +52 -0
  41. package/lib/components/Checkbox/index.d.ts +7 -0
  42. package/lib/components/Checkbox/index.js +31 -0
  43. package/lib/components/Collapsible/Collapsible.stories.d.ts +82 -0
  44. package/lib/components/Collapsible/index.d.ts +12 -0
  45. package/lib/components/Collapsible/index.js +88 -0
  46. package/lib/components/Column/Column.stories.d.ts +116 -0
  47. package/lib/components/Column/index.d.ts +10 -0
  48. package/lib/components/Column/index.js +8 -0
  49. package/lib/components/ComponentWrapper/ComponentWrapper.stories.d.ts +77 -0
  50. package/lib/components/ComponentWrapper/index.d.ts +14 -0
  51. package/lib/components/ComponentWrapper/index.js +27 -0
  52. package/lib/components/Container/Container.stories.d.ts +75 -0
  53. package/lib/components/Container/index.d.ts +7 -0
  54. package/lib/components/Container/index.js +12 -0
  55. package/lib/components/Counter/Counter.stories.d.ts +45 -0
  56. package/lib/components/Counter/index.d.ts +6 -0
  57. package/lib/components/Counter/index.js +31 -0
  58. package/lib/components/DetailUpdater/DetailUpdater.stories.d.ts +104 -0
  59. package/lib/components/DetailUpdater/index.d.ts +18 -0
  60. package/lib/components/DetailUpdater/index.js +63 -0
  61. package/lib/components/Dialog/Dialog.stories.d.ts +145 -0
  62. package/lib/components/Dialog/index.d.ts +12 -0
  63. package/lib/components/Dialog/index.js +78 -0
  64. package/lib/components/DropdownMenu/DropdownMenu.stories.d.ts +76 -0
  65. package/lib/components/DropdownMenu/index.d.ts +14 -0
  66. package/lib/components/DropdownMenu/index.js +27 -0
  67. package/lib/components/DynamicTextSection/DynamicTextSection.stories.d.ts +100 -0
  68. package/lib/components/DynamicTextSection/index.d.ts +11 -0
  69. package/lib/components/DynamicTextSection/index.js +18 -0
  70. package/lib/components/FileUploader/FilePreview.d.ts +8 -0
  71. package/lib/components/FileUploader/FileUploader.stories.d.ts +50 -0
  72. package/lib/components/FileUploader/index.d.ts +9 -0
  73. package/lib/components/FilterItem/FilterItem.stories.d.ts +57 -0
  74. package/lib/components/FilterItem/index.d.ts +8 -0
  75. package/lib/components/FilterItem/index.js +60 -0
  76. package/lib/components/Footer/Footer.stories.d.ts +105 -0
  77. package/lib/components/Footer/index.d.ts +10 -0
  78. package/lib/components/Footer/index.js +36 -0
  79. package/lib/components/FooterNav/FooterNav.stories.d.ts +135 -0
  80. package/lib/components/FooterNav/index.d.ts +13 -0
  81. package/lib/components/FooterNav/index.js +28 -0
  82. package/lib/components/FooterNavItem/FooterNavItem.stories.d.ts +93 -0
  83. package/lib/components/FooterNavItem/index.d.ts +16 -0
  84. package/lib/components/FooterNavItem/index.js +27 -0
  85. package/lib/components/Form/Form.stories.d.ts +117 -0
  86. package/lib/components/Form/index.d.ts +13 -0
  87. package/lib/components/Form/index.js +28 -0
  88. package/lib/components/FyreCard/FyreCard.stories.d.ts +58 -0
  89. package/lib/components/FyreCard/index.d.ts +12 -0
  90. package/lib/components/FyreCard/index.js +27 -0
  91. package/lib/components/Greeting/Greeting.stories.d.ts +83 -0
  92. package/lib/components/Greeting/index.d.ts +8 -0
  93. package/lib/components/Greeting/index.js +13 -0
  94. package/lib/components/HamburgerIcon/HamburgerIcon.stories.d.ts +64 -0
  95. package/lib/components/HamburgerIcon/index.d.ts +7 -0
  96. package/lib/components/HamburgerIcon/index.js +93 -0
  97. package/lib/components/HorizontalLine/HorizontalLine.stories.d.ts +96 -0
  98. package/lib/components/HorizontalLine/index.d.ts +11 -0
  99. package/lib/components/HorizontalLine/index.js +24 -0
  100. package/lib/components/Icon/Icon.stories.d.ts +47 -0
  101. package/lib/components/Icon/index.d.ts +10 -0
  102. package/lib/components/Icon/index.js +15 -0
  103. package/lib/components/IconCard/IconCard.stories.d.ts +51 -0
  104. package/lib/components/IconCard/index.d.ts +13 -0
  105. package/lib/components/IconCard/index.js +27 -0
  106. package/lib/components/Image/Image.stories.d.ts +158 -0
  107. package/lib/components/Image/index.d.ts +15 -0
  108. package/lib/components/Image/index.js +99 -0
  109. package/lib/components/ImageInfo/ImageInfo.stories.d.ts +69 -0
  110. package/lib/components/ImageInfo/index.d.ts +14 -0
  111. package/lib/components/ImageLink/ImageLink.stories.d.ts +63 -0
  112. package/lib/components/ImageLink/index.d.ts +14 -0
  113. package/lib/components/ImageLink/index.js +39 -0
  114. package/lib/components/ImageLinkList/ImageLinkList.stories.d.ts +48 -0
  115. package/lib/components/ImageLinkList/index.d.ts +8 -0
  116. package/lib/components/ImageLinkList/index.js +18 -0
  117. package/lib/components/InformationIcon/InformationIcon.stories.d.ts +54 -0
  118. package/lib/components/InformationIcon/index.d.ts +12 -0
  119. package/lib/components/InformationIcon/index.js +65 -0
  120. package/lib/components/InformationIconBlock/InformationIconBlock.stories.d.ts +55 -0
  121. package/lib/components/InformationIconBlock/index.d.ts +12 -0
  122. package/lib/components/Input/Input.stories.d.ts +114 -0
  123. package/lib/components/Input/index.d.ts +29 -0
  124. package/lib/components/Input/index.js +89 -0
  125. package/lib/components/Jumbotron/Jumbotron.stories.d.ts +48 -0
  126. package/lib/components/Jumbotron/index.d.ts +8 -0
  127. package/lib/components/Jumbotron/index.js +9 -0
  128. package/lib/components/MenuButton/MenuButton.stories.d.ts +76 -0
  129. package/lib/components/MenuButton/index.d.ts +14 -0
  130. package/lib/components/MenuButton/index.js +56 -0
  131. package/lib/components/Modal/Modal.stories.d.ts +67 -0
  132. package/lib/components/Modal/index.d.ts +10 -0
  133. package/lib/components/Modal/index.js +45 -0
  134. package/lib/components/NavItem/NavItem.stories.d.ts +154 -0
  135. package/lib/components/NavItem/index.d.ts +16 -0
  136. package/lib/components/NavItem/index.js +25 -0
  137. package/lib/components/NavOld/NavOld.stories.d.ts +290 -0
  138. package/lib/components/NavOld/StickyNav.d.ts +22 -0
  139. package/lib/components/NavOld/StickyNav.js +135 -0
  140. package/lib/components/NavOld/index.d.ts +26 -0
  141. package/lib/components/NavOld/index.js +187 -0
  142. package/lib/components/NavTwo/Dropdown.d.ts +7 -0
  143. package/lib/components/NavTwo/Dropdown.js +21 -0
  144. package/lib/components/NavTwo/Nav.stories.d.ts +62 -0
  145. package/lib/components/NavTwo/Sidebar.d.ts +7 -0
  146. package/lib/components/NavTwo/Sidebar.js +21 -0
  147. package/lib/components/NavTwo/StickyNav.d.ts +7 -0
  148. package/lib/components/NavTwo/StickyNav.js +20 -0
  149. package/lib/components/NavTwo/index.d.ts +13 -0
  150. package/lib/components/NavTwo/index.js +28 -0
  151. package/lib/components/NewsCard/NewsCard.stories.d.ts +102 -0
  152. package/lib/components/NewsCard/index.d.ts +13 -0
  153. package/lib/components/NewsCard/index.js +26 -0
  154. package/lib/components/Pill/Pill.stories.d.ts +84 -0
  155. package/lib/components/Pill/index.d.ts +8 -0
  156. package/lib/components/Pill/index.js +31 -0
  157. package/lib/components/ProductCard/ProductCard.stories.d.ts +86 -0
  158. package/lib/components/ProductCard/index.d.ts +18 -0
  159. package/lib/components/ProductCard/index.js +69 -0
  160. package/lib/components/ProductCardV2/ProductCardV2.stories.d.ts +75 -0
  161. package/lib/components/ProductCardV2/index.d.ts +21 -0
  162. package/lib/components/ProductCardV2/index.js +67 -0
  163. package/lib/components/Proficiencies/Proficiencies.stories.d.ts +51 -0
  164. package/lib/components/Proficiencies/index.d.ts +12 -0
  165. package/lib/components/Profile/Profile.stories.d.ts +80 -0
  166. package/lib/components/Profile/index.d.ts +17 -0
  167. package/lib/components/Profile/index.js +78 -0
  168. package/lib/components/Row/Row.stories.d.ts +62 -0
  169. package/lib/components/Row/index.d.ts +6 -0
  170. package/lib/components/Row/index.js +9 -0
  171. package/lib/components/Search/Search.stories.d.ts +86 -0
  172. package/lib/components/Search/index.d.ts +12 -0
  173. package/lib/components/Search/index.js +42 -0
  174. package/lib/components/Select/Select.stories.d.ts +56 -0
  175. package/lib/components/Select/index.d.ts +11 -0
  176. package/lib/components/Select/index.js +68 -0
  177. package/lib/components/Showcase/Showcase.stories.d.ts +55 -0
  178. package/lib/components/Showcase/index.d.ts +15 -0
  179. package/lib/components/SideNav/SideNav.stories.d.ts +80 -0
  180. package/lib/components/SideNav/index.d.ts +12 -0
  181. package/lib/components/SocialBlock/SocialBlock.stories.d.ts +101 -0
  182. package/lib/components/SocialBlock/index.d.ts +14 -0
  183. package/lib/components/SocialBlock/index.js +37 -0
  184. package/lib/components/SocialButton/SocialButton.stories.d.ts +130 -0
  185. package/lib/components/SocialButton/index.d.ts +12 -0
  186. package/lib/components/SocialButton/index.js +37 -0
  187. package/lib/components/StarRating/StarRating.stories.d.ts +49 -0
  188. package/lib/components/StarRating/index.d.ts +9 -0
  189. package/lib/components/StarRating/index.js +47 -0
  190. package/lib/components/Testimonial/Testimonial.stories.d.ts +172 -0
  191. package/lib/components/Testimonial/index.d.ts +16 -0
  192. package/lib/components/Testimonial/index.js +42 -0
  193. package/lib/components/TextAndTitle/TextAndTitle.stories.d.ts +97 -0
  194. package/lib/components/TextAndTitle/index.d.ts +25 -0
  195. package/lib/components/TextAndTitle/index.js +70 -0
  196. package/lib/components/TextArea/TextArea.stories.d.ts +85 -0
  197. package/lib/components/TextArea/index.d.ts +26 -0
  198. package/lib/components/TextArea/index.js +86 -0
  199. package/lib/components/Timeline/Timeline.stories.d.ts +81 -0
  200. package/lib/components/Timeline/index.d.ts +17 -0
  201. package/lib/components/Timeline/index.js +172 -0
  202. package/lib/components/TimelineV2/TimelineV2.stories.d.ts +87 -0
  203. package/lib/components/TimelineV2/index.d.ts +20 -0
  204. package/lib/components/Tubestops/Tubestops.stories.d.ts +54 -0
  205. package/lib/components/Tubestops/index.d.ts +8 -0
  206. package/lib/components/Tubestops/index.js +44 -0
  207. package/lib/components/UserIcon/UserIcon.stories.d.ts +81 -0
  208. package/lib/components/UserIcon/index.d.ts +10 -0
  209. package/lib/components/UserIcon/index.js +34 -0
  210. package/lib/components/Video/Video.stories.d.ts +49 -0
  211. package/lib/components/Video/index.d.ts +15 -0
  212. package/lib/components/Video/index.js +34 -0
  213. package/lib/components/index.d.ts +57 -1
  214. package/lib/components/typography/Fonts/Fonts.d.ts +2 -0
  215. package/lib/components/typography/Fonts/Fonts.stories.d.ts +10 -0
  216. package/lib/index.js +114 -2
  217. package/lib/node_modules/keen-slider/keen-slider.min.css.js +1 -0
  218. package/lib/node_modules/keen-slider/react.js +591 -0
  219. package/lib/style.css +1 -0
  220. package/lib/styles/themes/local.css +39 -39
  221. package/lib/utils/matchMedia.js +9 -0
  222. package/package.json +7 -4
  223. package/src/components/Accordion/Accordion.stories.tsx +8 -8
  224. package/src/components/Accordion/index.tsx +8 -15
  225. package/src/components/AlertBar/AlertBar.stories.tsx +9 -9
  226. package/src/components/AlertBar/index.tsx +11 -11
  227. package/src/components/Avatar/Avatar.stories.tsx +3 -3
  228. package/src/components/Avatar/index.tsx +35 -38
  229. package/{archive → src/components}/Breadcrumbs/Breadcrumbs.stories.tsx +8 -8
  230. package/{archive → src/components}/Breadcrumbs/index.tsx +11 -13
  231. package/{archive → src/components}/BreadcrumbsBordered/BreadcrumbsBordered.stories.tsx +8 -8
  232. package/{archive → src/components}/BreadcrumbsBordered/index.tsx +8 -11
  233. package/{archive → src/components}/BreadcrumbsItem/BreadcrumbsItem.stories.tsx +8 -8
  234. package/{archive → src/components}/BreadcrumbsItem/index.tsx +20 -22
  235. package/{archive → src/components}/Button/Button.stories.tsx +18 -18
  236. package/{archive → src/components}/Button/index.tsx +27 -34
  237. package/{archive → src/components}/Calendar/Calendar.stories.tsx +9 -9
  238. package/{archive → src/components}/Calendar/index.tsx +6 -10
  239. package/{archive → src/components}/Card/Card.stories.tsx +7 -7
  240. package/{archive → src/components}/Card/index.tsx +20 -26
  241. package/{archive → src/components}/CardWithTopImage/CardWithTopImage.stories.tsx +8 -8
  242. package/{archive → src/components}/CardWithTopImage/index.tsx +9 -13
  243. package/{archive → src/components}/Carousel/Carousel.stories.tsx +37 -37
  244. package/{archive → src/components}/Carousel/index.tsx +35 -41
  245. package/{archive → src/components}/CarouselThumbnail/CarouselThumbnail.stories.tsx +36 -36
  246. package/{archive → src/components}/CarouselThumbnail/index.tsx +24 -33
  247. package/{archive → src/components}/Checkbox/Checkbox.stories.tsx +9 -9
  248. package/{archive → src/components}/Checkbox/index.tsx +8 -18
  249. package/{archive → src/components}/Collapsible/Collapsible.stories.tsx +10 -10
  250. package/{archive → src/components}/Collapsible/index.tsx +42 -30
  251. package/{archive → src/components}/Column/Column.stories.tsx +12 -12
  252. package/src/components/Column/index.tsx +18 -0
  253. package/{archive → src/components}/ComponentWrapper/ComponentWrapper.stories.tsx +7 -7
  254. package/{archive → src/components}/ComponentWrapper/index.tsx +13 -20
  255. package/{archive → src/components}/Container/Container.stories.tsx +7 -7
  256. package/{archive → src/components}/Container/index.tsx +6 -9
  257. package/{archive → src/components}/Counter/Counter.stories.tsx +4 -4
  258. package/src/components/Counter/index.tsx +42 -0
  259. package/{archive → src/components}/DetailUpdater/DetailUpdater.stories.tsx +17 -18
  260. package/{archive → src/components}/DetailUpdater/index.tsx +21 -25
  261. package/{archive → src/components}/Dialog/Dialog.stories.tsx +14 -15
  262. package/{archive → src/components}/Dialog/index.tsx +26 -24
  263. package/{archive → src/components}/DropdownMenu/DropdownMenu.stories.tsx +8 -8
  264. package/{archive → src/components}/DropdownMenu/index.tsx +6 -12
  265. package/{archive → src/components}/DynamicTextSection/DynamicTextSection.stories.tsx +13 -11
  266. package/{archive → src/components}/DynamicTextSection/index.tsx +5 -9
  267. package/{archive → src/components}/FileUploader/FilePreview.tsx +13 -16
  268. package/{archive → src/components}/FileUploader/FileUploader.stories.tsx +6 -8
  269. package/{archive → src/components}/FileUploader/index.tsx +22 -25
  270. package/{archive → src/components}/FilterItem/FilterItem.stories.tsx +7 -7
  271. package/{archive → src/components}/FilterItem/index.tsx +23 -27
  272. package/{archive → src/components}/Footer/Footer.stories.tsx +7 -7
  273. package/{archive → src/components}/Footer/index.tsx +14 -16
  274. package/{archive → src/components}/FooterNav/FooterNav.stories.tsx +22 -25
  275. package/{archive → src/components}/FooterNav/index.tsx +8 -16
  276. package/{archive → src/components}/FooterNavItem/FooterNavItem.stories.tsx +8 -8
  277. package/{archive → src/components}/FooterNavItem/index.tsx +10 -32
  278. package/{archive → src/components}/Form/Form.stories.tsx +11 -11
  279. package/{archive → src/components}/Form/index.tsx +6 -21
  280. package/{archive → src/components}/FyreCard/FyreCard.stories.tsx +7 -7
  281. package/{archive → src/components}/FyreCard/index.tsx +10 -18
  282. package/{archive → src/components}/Greeting/Greeting.stories.tsx +9 -9
  283. package/{archive → src/components}/Greeting/index.tsx +4 -6
  284. package/{archive → src/components}/HamburgerIcon/HamburgerIcon.stories.tsx +6 -6
  285. package/{archive → src/components}/HamburgerIcon/index.tsx +26 -32
  286. package/{archive → src/components}/HorizontalLine/HorizontalLine.stories.tsx +5 -5
  287. package/{archive → src/components}/HorizontalLine/index.tsx +8 -16
  288. package/src/components/Icon/Icon.stories.tsx +22 -0
  289. package/src/components/Icon/index.tsx +25 -0
  290. package/{archive → src/components}/IconCard/IconCard.stories.tsx +7 -27
  291. package/{archive → src/components}/IconCard/index.tsx +13 -16
  292. package/{archive → src/components}/Image/Image.stories.tsx +15 -15
  293. package/{archive → src/components}/Image/index.tsx +43 -48
  294. package/{archive → src/components}/ImageInfo/ImageInfo.stories.tsx +8 -9
  295. package/{archive → src/components}/ImageInfo/index.tsx +18 -29
  296. package/{archive → src/components}/ImageLink/ImageLink.stories.tsx +8 -9
  297. package/src/components/ImageLink/index.tsx +58 -0
  298. package/{archive → src/components}/ImageLinkList/ImageLinkList.stories.tsx +8 -8
  299. package/{archive → src/components}/ImageLinkList/index.tsx +4 -9
  300. package/src/components/InformationIcon/InformationIcon.stories.tsx +29 -0
  301. package/{archive → src/components}/InformationIcon/index.tsx +21 -44
  302. package/src/components/InformationIconBlock/InformationIconBlock.stories.tsx +38 -0
  303. package/{archive → src/components}/InformationIconBlock/index.tsx +15 -22
  304. package/{archive → src/components}/Input/Input.stories.tsx +13 -13
  305. package/{archive → src/components}/Input/index.tsx +22 -23
  306. package/{archive → src/components}/Jumbotron/Jumbotron.stories.tsx +5 -5
  307. package/{archive → src/components}/Jumbotron/index.tsx +4 -16
  308. package/{archive → src/components}/MenuButton/MenuButton.stories.tsx +7 -7
  309. package/src/components/MenuButton/index.tsx +66 -0
  310. package/{archive → src/components}/Modal/Modal.stories.tsx +11 -15
  311. package/{archive → src/components}/Modal/index.tsx +13 -16
  312. package/{archive → src/components}/NavItem/NavItem.stories.tsx +9 -9
  313. package/src/components/NavItem/index.tsx +43 -0
  314. package/{archive → src/components}/NavOld/NavOld.stories.tsx +21 -21
  315. package/{archive → src/components}/NavOld/StickyNav.tsx +47 -51
  316. package/{archive → src/components}/NavOld/index.tsx +50 -58
  317. package/{archive → src/components}/NavTwo/Dropdown.tsx +7 -12
  318. package/{archive → src/components}/NavTwo/Nav.stories.tsx +6 -12
  319. package/{archive → src/components}/NavTwo/Sidebar.tsx +6 -10
  320. package/{archive → src/components}/NavTwo/StickyNav.tsx +5 -10
  321. package/{archive → src/components}/NavTwo/index.tsx +6 -14
  322. package/{archive → src/components}/NewsCard/NewsCard.stories.tsx +11 -11
  323. package/{archive → src/components}/NewsCard/index.tsx +8 -21
  324. package/{archive → src/components}/Pill/Pill.stories.tsx +9 -9
  325. package/{archive → src/components}/Pill/index.tsx +17 -27
  326. package/{archive → src/components}/ProductCard/ProductCard.stories.tsx +6 -6
  327. package/{archive → src/components}/ProductCard/index.tsx +21 -22
  328. package/{archive → src/components}/ProductCardV2/ProductCardV2.stories.tsx +6 -6
  329. package/src/components/ProductCardV2/index.tsx +98 -0
  330. package/{archive → src/components}/Proficiencies/Proficiencies.stories.tsx +5 -5
  331. package/{archive → src/components}/Proficiencies/index.tsx +10 -22
  332. package/{archive → src/components}/Profile/Profile.stories.tsx +9 -9
  333. package/{archive → src/components}/Profile/index.tsx +26 -26
  334. package/{archive → src/components}/Row/Row.stories.tsx +8 -8
  335. package/{archive → src/components}/Row/index.tsx +3 -9
  336. package/{archive → src/components}/Search/Search.stories.tsx +10 -10
  337. package/{archive → src/components}/Search/index.tsx +14 -18
  338. package/{archive → src/components}/Select/Select.stories.tsx +7 -8
  339. package/{archive → src/components}/Select/index.tsx +28 -36
  340. package/{archive → src/components}/Showcase/Showcase.stories.tsx +7 -6
  341. package/src/components/Showcase/index.tsx +69 -0
  342. package/{archive → src/components}/SideNav/SideNav.stories.tsx +9 -9
  343. package/{archive → src/components}/SideNav/index.tsx +10 -17
  344. package/{archive → src/components}/SocialBlock/SocialBlock.stories.tsx +8 -8
  345. package/{archive → src/components}/SocialBlock/index.tsx +15 -19
  346. package/{archive → src/components}/SocialButton/SocialButton.stories.tsx +13 -13
  347. package/{archive → src/components}/SocialButton/index.tsx +19 -26
  348. package/{archive → src/components}/StarRating/StarRating.stories.tsx +5 -5
  349. package/{archive → src/components}/StarRating/index.tsx +22 -28
  350. package/{archive → src/components}/Testimonial/Testimonial.stories.tsx +7 -8
  351. package/{archive → src/components}/Testimonial/index.tsx +12 -18
  352. package/{archive → src/components}/TextAndTitle/TextAndTitle.stories.tsx +9 -8
  353. package/{archive → src/components}/TextAndTitle/index.tsx +25 -29
  354. package/{archive → src/components}/TextArea/TextArea.stories.tsx +9 -9
  355. package/{archive → src/components}/TextArea/index.tsx +22 -23
  356. package/{archive → src/components}/Timeline/Timeline.stories.tsx +14 -14
  357. package/{archive → src/components}/Timeline/index.tsx +58 -56
  358. package/{archive → src/components}/TimelineV2/TimelineV2.stories.tsx +10 -10
  359. package/{archive → src/components}/TimelineV2/index.tsx +15 -15
  360. package/{archive → src/components}/Tubestops/Tubestops.stories.tsx +6 -6
  361. package/src/components/Tubestops/index.tsx +54 -0
  362. package/{archive → src/components}/UserIcon/UserIcon.stories.tsx +8 -8
  363. package/{archive → src/components}/UserIcon/index.tsx +15 -18
  364. package/{archive → src/components}/Video/Video.stories.tsx +5 -5
  365. package/{archive → src/components}/Video/index.tsx +3 -5
  366. package/src/components/index.ts +112 -112
  367. package/src/components/typography/Fonts/Fonts.stories.tsx +14 -0
  368. package/src/components/typography/Fonts/Fonts.tsx +74 -0
  369. package/src/documentation/Colours.mdx +1 -1
  370. package/src/styles/themes/local.css +39 -39
  371. package/tsconfig.json +8 -2
  372. package/archive/Button/style.module.css +0 -76
  373. package/archive/Card/style.module.css +0 -75
  374. package/archive/CardWithTopImage/style.module.css +0 -11
  375. package/archive/Carousel/style.module.css +0 -99
  376. package/archive/CarouselThumbnail/style.module.css +0 -67
  377. package/archive/Checkbox/style.module.css +0 -15
  378. package/archive/Collapsible/style.module.css +0 -47
  379. package/archive/Column/index.tsx +0 -119
  380. package/archive/Column/style.module.css +0 -151
  381. package/archive/ComponentWrapper/style.module.css +0 -40
  382. package/archive/Container/style.module.css +0 -4
  383. package/archive/Counter/index.tsx +0 -66
  384. package/archive/Counter/style.module.css +0 -19
  385. package/archive/DetailUpdater/style.module.css +0 -31
  386. package/archive/Dialog/style.module.css +0 -44
  387. package/archive/DropdownMenu/style.module.css +0 -38
  388. package/archive/FileUploader/style.module.css +0 -54
  389. package/archive/FilterItem/style.module.css +0 -27
  390. package/archive/Footer/style.module.css +0 -19
  391. package/archive/FooterNav/style.module.css +0 -32
  392. package/archive/FooterNavItem/style.module.css +0 -139
  393. package/archive/Form/style.module.css +0 -0
  394. package/archive/FyreCard/style.module.css +0 -19
  395. package/archive/HamburgerIcon/style.module.css +0 -85
  396. package/archive/HorizontalLine/style.module.css +0 -55
  397. package/archive/Icon/Icon.stories.tsx +0 -164
  398. package/archive/Icon/index.tsx +0 -115
  399. package/archive/Icon/style.module.css +0 -253
  400. package/archive/IconCard/style.module.css +0 -18
  401. package/archive/Image/style.module.css +0 -109
  402. package/archive/ImageInfo/style.module.css +0 -47
  403. package/archive/ImageLink/index.tsx +0 -49
  404. package/archive/ImageLink/style.module.css +0 -23
  405. package/archive/ImageLinkList/style.module.css +0 -3
  406. package/archive/InformationIcon/InformationIcon.stories.tsx +0 -83
  407. package/archive/InformationIcon/style.module.css +0 -71
  408. package/archive/InformationIconBlock/InformationIconBlock.stories.tsx +0 -32
  409. package/archive/InformationIconBlock/style.module.css +0 -7
  410. package/archive/Input/style.module.css +0 -60
  411. package/archive/Jumbotron/style.module.css +0 -8
  412. package/archive/MenuButton/index.tsx +0 -82
  413. package/archive/MenuButton/style.module.css +0 -45
  414. package/archive/Modal/style.module.css +0 -35
  415. package/archive/NavItem/index.tsx +0 -65
  416. package/archive/NavItem/style.module.css +0 -71
  417. package/archive/NavOld/style.module.css +0 -156
  418. package/archive/NavTwo/style.module.css +0 -35
  419. package/archive/NewsCard/style.module.css +0 -15
  420. package/archive/Pill/style.module.css +0 -32
  421. package/archive/ProductCard/style.module.css +0 -53
  422. package/archive/ProductCardV2/index.tsx +0 -119
  423. package/archive/ProductCardV2/style.module.css +0 -59
  424. package/archive/Proficiencies/style.module.css +0 -31
  425. package/archive/Profile/style.module.css +0 -47
  426. package/archive/Row/style.module.css +0 -3
  427. package/archive/Search/style.module.css +0 -23
  428. package/archive/Select/style.module.css +0 -52
  429. package/archive/Showcase/index.tsx +0 -75
  430. package/archive/Showcase/style.module.css +0 -47
  431. package/archive/SideNav/style.module.css +0 -43
  432. package/archive/SocialButton/style.module.css +0 -77
  433. package/archive/Testimonial/style.module.css +0 -27
  434. package/archive/TextAndTitle/style.module.css +0 -75
  435. package/archive/TextArea/style.module.css +0 -60
  436. package/archive/Timeline/style.module.css +0 -134
  437. package/archive/TimelineV2/style.module.css +0 -28
  438. package/archive/Tubestops/index.tsx +0 -58
  439. package/archive/Tubestops/style.module.css +0 -54
  440. package/archive/UserIcon/style.module.css +0 -19
  441. package/archive/typography/Fonts/Fonts.stories.tsx +0 -14
  442. package/archive/typography/Fonts/Fonts.tsx +0 -181
  443. /package/{archive → src/components}/Calendar/style.css +0 -0
  444. /package/{archive → src/components}/Checkbox/Checkbox.mdx +0 -0
  445. /package/{archive/DynamicTextSection → src/components/Form}/style.module.css +0 -0
  446. /package/{archive → src/components}/fonts/Sora/OFL.txt +0 -0
  447. /package/{archive → src/components}/fonts/Sora/README.txt +0 -0
  448. /package/{archive → src/components}/fonts/Sora/Sora-VariableFont_wght.ttf +0 -0
  449. /package/{archive → src/components}/fonts/Sora/static/Sora-Bold.ttf +0 -0
  450. /package/{archive → src/components}/fonts/Sora/static/Sora-ExtraBold.ttf +0 -0
  451. /package/{archive → src/components}/fonts/Sora/static/Sora-ExtraLight.ttf +0 -0
  452. /package/{archive → src/components}/fonts/Sora/static/Sora-Light.ttf +0 -0
  453. /package/{archive → src/components}/fonts/Sora/static/Sora-Medium.ttf +0 -0
  454. /package/{archive → src/components}/fonts/Sora/static/Sora-Regular.ttf +0 -0
  455. /package/{archive → src/components}/fonts/Sora/static/Sora-SemiBold.ttf +0 -0
  456. /package/{archive → src/components}/fonts/Sora/static/Sora-Thin.ttf +0 -0
@@ -1,9 +1,5 @@
1
- import React from 'react';
2
-
3
1
  import classNames from 'classnames';
4
2
 
5
-
6
-
7
3
  export interface Props {
8
4
  id?: string;
9
5
  className?: string;
@@ -16,19 +12,18 @@ export const StickyNav = ({
16
12
  className,
17
13
  children,
18
14
  visible = false,
19
- }: Props): JSX.Element => {
15
+ }: Props) => {
20
16
  const classList = classNames(
21
17
  {
22
- [style.showStickyNav]: visible,
18
+ 'opacity-100 transition-all duration-1000': visible,
23
19
  },
24
20
  className,
25
- style.stickyNav,
26
- 'theme-local',
27
- );
21
+ 'fixed top-0 z-40 w-full overflow-hidden opacity-0 transition-all duration-500',
22
+ )
28
23
 
29
24
  return (
30
25
  <div id={`sticky_${id ?? 'nav'}`} className={classList}>
31
26
  {children}
32
27
  </div>
33
28
  );
34
- };
29
+ }
@@ -1,12 +1,9 @@
1
- import React from 'react';
2
-
3
1
  import classNames from 'classnames';
4
2
 
5
3
  import { Dropdown } from './Dropdown';
6
4
  import { Sidebar } from './Sidebar';
7
5
  import { StickyNav } from './StickyNav';
8
6
 
9
-
10
7
  export interface Props {
11
8
  id?: string;
12
9
  className?: string;
@@ -14,21 +11,16 @@ export interface Props {
14
11
  mobileNavExpanded?: boolean;
15
12
  }
16
13
 
17
- const Nav = ({
18
- id,
19
- className,
20
- children,
21
- mobileNavExpanded,
22
- }: Props): JSX.Element => {
23
- const classList = classNames(className, style.nav, 'theme-local');
14
+ export const Nav = ({ id, className, children, mobileNavExpanded }: Props) => {
15
+ const classList = classNames(className);
24
16
 
25
17
  return (
26
18
  <div>
27
19
  <div
28
20
  className={classNames(
29
- style.defaultNavClasses,
30
- [mobileNavExpanded] && style.navOpen,
31
- [!mobileNavExpanded] && style.navClosed,
21
+ 'fixed bottom-0 left-0 right-0 top-0 z-50 h-full w-full bg-primary transition-opacity duration-700',
22
+ [mobileNavExpanded] && 'visible opacity-100',
23
+ [!mobileNavExpanded] && 'invisible opacity-0',
32
24
  )}
33
25
  />
34
26
  <header id={id} className={classList}>
@@ -36,7 +28,7 @@ const Nav = ({
36
28
  </header>
37
29
  </div>
38
30
  );
39
- };
31
+ }
40
32
 
41
33
  export default Nav;
42
34
 
@@ -1,7 +1,7 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { Meta, type StoryObj } from '@storybook/react';
2
2
  import { idAndClassName } from '@utils/controls';
3
3
 
4
- import NewsCard from '.';
4
+ import { NewsCard } from '.';
5
5
 
6
6
  const meta = {
7
7
  title: 'Components/News Card',
@@ -14,14 +14,14 @@ const meta = {
14
14
  control: 'text',
15
15
  table: {
16
16
  category: '',
17
- },
17
+ }
18
18
  },
19
19
  content: {
20
20
  description: '',
21
21
  control: 'text',
22
22
  table: {
23
23
  category: '',
24
- },
24
+ }
25
25
  },
26
26
  imageProps: {
27
27
  type: { name: 'other', value: 'object' },
@@ -31,22 +31,22 @@ const meta = {
31
31
  summary: 'object',
32
32
  },
33
33
  defaultValue: { summary: 'undefined' },
34
- },
34
+ }
35
35
  },
36
36
  buttonProps: {
37
37
  description: '',
38
38
  control: 'text',
39
39
  table: {
40
40
  category: '',
41
- },
41
+ }
42
42
  },
43
43
  rounded: {
44
44
  description: '',
45
45
  control: 'text',
46
46
  table: {
47
47
  category: '',
48
- },
49
- },
48
+ }
49
+ }
50
50
  },
51
51
  args: {
52
52
  title: 'This is a title',
@@ -61,12 +61,12 @@ const meta = {
61
61
  children: 'Button',
62
62
  className: 'w-full',
63
63
  href: '/',
64
- },
65
- },
64
+ }
65
+ }
66
66
  };
67
67
 
68
68
  export default meta;
69
69
 
70
- type Story = StoryObj<typeof meta>;
70
+ type Story = StoryObj<typeof NewsCard>;
71
71
 
72
72
  export const Default: Story = {};
@@ -1,11 +1,7 @@
1
- import React from 'react';
2
-
3
- import Button, { type Props as buttonProps } from '@components/Button';
4
- import Image, { type Props as imageProps } from '@components/Image';
1
+ import { Button, type Props as buttonProps } from '@components/Button';
2
+ import { Image, type Props as imageProps } from '@components/Image';
5
3
  import classNames from 'classnames';
6
4
 
7
-
8
-
9
5
  export interface Props {
10
6
  id?: string;
11
7
  className?: string;
@@ -16,7 +12,7 @@ export interface Props {
16
12
  rounded?: boolean;
17
13
  }
18
14
 
19
- const NewsCard = ({
15
+ export const NewsCard = ({
20
16
  id,
21
17
  className,
22
18
  title,
@@ -24,15 +20,8 @@ const NewsCard = ({
24
20
  imageProps,
25
21
  buttonProps,
26
22
  rounded,
27
- }: Props): JSX.Element => {
28
- const classList = classNames(
29
- {
30
- [style.rounded]: rounded,
31
- },
32
- className,
33
- style.classList,
34
- 'theme-local',
35
- );
23
+ }: Props) => {
24
+ const classList = classNames(className, 'flex border p-2');
36
25
 
37
26
  const src = imageProps?.src !== undefined ? imageProps.src : '';
38
27
 
@@ -41,17 +30,15 @@ const NewsCard = ({
41
30
  <div>
42
31
  <Image src={src} {...imageProps} />
43
32
  </div>
44
- <div className={classNames(style.contentWrapper, 'expandable')}>
33
+ <div className="expandable flex w-auto flex-col justify-between text-center">
45
34
  <p>{title}</p>
46
35
  <p>{content}</p>
47
36
  {buttonProps !== undefined && (
48
- <div className={style.buttonWrapper}>
37
+ <div className="px-8">
49
38
  <Button {...buttonProps}>{buttonProps.children}</Button>
50
39
  </div>
51
40
  )}
52
41
  </div>
53
42
  </div>
54
43
  );
55
- };
56
-
57
- export default NewsCard;
44
+ }
@@ -1,8 +1,8 @@
1
1
  import { action } from '@storybook/addon-actions';
2
- import { Meta, StoryObj } from '@storybook/react';
2
+ import { Meta, type StoryObj } from '@storybook/react';
3
3
  import { idAndClassName } from '@utils/controls';
4
4
 
5
- import Pill from '.';
5
+ import { Pill } from '.';
6
6
 
7
7
  const meta = {
8
8
  title: 'Components/Pill',
@@ -14,7 +14,7 @@ const meta = {
14
14
  description: 'The text to display in the component',
15
15
  table: {
16
16
  type: { summary: 'string' },
17
- },
17
+ }
18
18
  },
19
19
  onClick: {
20
20
  type: { name: 'function', required: false },
@@ -22,23 +22,23 @@ const meta = {
22
22
  'An on click handle to execute when clicking on the component',
23
23
  table: {
24
24
  type: { summary: 'function' },
25
- },
25
+ }
26
26
  },
27
27
  dismissOnClick: {
28
28
  type: { name: 'boolean', required: false },
29
29
  description: 'To toggle the disappearance of the component on click',
30
30
  table: {
31
31
  type: { summary: 'boolean' },
32
- },
33
- },
32
+ }
33
+ }
34
34
  },
35
35
  args: {
36
36
  text: 'This is a pill',
37
37
  onClick: action('pill clicked'),
38
- },
39
- };
38
+ }
39
+ }
40
40
  export default meta;
41
41
 
42
- type Story = StoryObj<typeof meta>;
42
+ type Story = StoryObj<typeof Pill>;
43
43
 
44
44
  export const Default: Story = {};
@@ -1,9 +1,9 @@
1
- import React, { useState } from 'react';
1
+ import { useState } from 'react';
2
2
 
3
- import Icon from '@components/Icon';
3
+ import { faCrosshairs } from '@fortawesome/fontawesome-free-solid';
4
+ import { type IconProp } from '@fortawesome/fontawesome-svg-core';
4
5
  import classNames from 'classnames';
5
-
6
-
6
+ import { Icon } from '..';
7
7
 
8
8
  export interface Props {
9
9
  id?: string;
@@ -13,52 +13,42 @@ export interface Props {
13
13
  dismissOnClick?: boolean;
14
14
  }
15
15
 
16
- const Pill = ({
16
+ export const Pill = ({
17
17
  id,
18
18
  className,
19
19
  text,
20
20
  onClick,
21
21
  dismissOnClick = false,
22
- }: Props): JSX.Element => {
22
+ }: Props) => {
23
23
  const [shouldDisplay, setShouldDisplay] = useState(true);
24
24
 
25
25
  const classList = classNames(
26
26
  {
27
- [style.hidden]: !shouldDisplay,
28
- [style.wrapperPadding]: !dismissOnClick,
29
- [style.wrapperPaddingDismiss]: dismissOnClick,
27
+ invisible: !shouldDisplay,
28
+ 'px-4': !dismissOnClick,
29
+ 'pl-4 pr-1': dismissOnClick,
30
30
  },
31
31
  className,
32
- [style.wrapperClasses],
33
- 'theme-local',
34
- );
32
+ 'rounded-full border-2 py-1 inline-block border-primary text-primary',
33
+ )
35
34
 
36
35
  const handleOnClick = (): void => {
37
36
  if (dismissOnClick) {
38
37
  setShouldDisplay(false);
39
38
  }
40
39
  onClick?.();
41
- };
40
+ }
42
41
 
43
42
  return shouldDisplay ? (
44
43
  <button id={id} className={classList} onClick={handleOnClick}>
45
- <div className={style.classes}>
44
+ <div className="flex">
46
45
  <p>{text}</p>
47
46
  {dismissOnClick && (
48
- <Icon
49
- className={style.icon}
50
- type="multiply"
51
- bgColour="white"
52
- hoverBgColour="white"
53
- colour="primary"
54
- hoverColour="primary"
55
- />
47
+ <Icon icon={faCrosshairs as IconProp} colour="primary" />
56
48
  )}
57
49
  </div>
58
50
  </button>
59
- ) : (
51
+ ) : (
60
52
  <></>
61
- );
62
- };
63
-
64
- export default Pill;
53
+ );
54
+ }
@@ -1,7 +1,7 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { Meta, type StoryObj } from '@storybook/react';
2
2
  import { idAndClassName } from '@utils/controls';
3
3
 
4
- import ProductCard from '.';
4
+ import { ProductCard } from '.';
5
5
 
6
6
  const meta = {
7
7
  title: 'Components/ProductCard',
@@ -40,7 +40,7 @@ const meta = {
40
40
  buttonProps: {
41
41
  description: '',
42
42
  table: {},
43
- },
43
+ }
44
44
  },
45
45
  args: {
46
46
  imageProps: {
@@ -51,11 +51,11 @@ const meta = {
51
51
  textLineTwo: 'Text Line 2',
52
52
  textLineThree: 'Text line 3',
53
53
  ctaText: 'Add to bag',
54
- },
55
- };
54
+ }
55
+ }
56
56
 
57
57
  export default meta;
58
58
 
59
- type Story = StoryObj<typeof meta>;
59
+ type Story = StoryObj<typeof ProductCard>;
60
60
 
61
61
  export const Default: Story = {};
@@ -1,12 +1,13 @@
1
- import React, { useState } from 'react';
1
+ import { useState } from 'react';
2
2
 
3
- import Button from '@components/Button';
4
- import Icon from '@components/Icon';
3
+ import { Button } from '@components/Button';
4
+ import { Icon } from '@components/Icon';
5
5
  import { type Props as imageProps } from '@components/Image';
6
+ import { faPercent } from '@fortawesome/fontawesome-free-solid';
7
+ import { type IconProp } from '@fortawesome/fontawesome-svg-core';
6
8
  import classNames from 'classnames';
7
9
 
8
- import Counter from '../Counter';
9
-
10
+ import { Counter } from '../Counter';
10
11
 
11
12
  export interface Props {
12
13
  id?: string;
@@ -24,7 +25,7 @@ export interface Props {
24
25
  onCounterClick?: (count: number) => void;
25
26
  }
26
27
 
27
- const ProductCard: React.FC<Props> = ({
28
+ export const ProductCard = ({
28
29
  id,
29
30
  className,
30
31
  imageProps,
@@ -38,16 +39,16 @@ const ProductCard: React.FC<Props> = ({
38
39
  ctaOnClick,
39
40
  onEditClick,
40
41
  onCounterClick,
41
- }: Props): JSX.Element => {
42
+ }: Props) => {
42
43
  const [isHovering, setIsHovering] = useState(false);
43
- const ProductCardTitleClasses = classNames(style.title);
44
- const ProductCardSubTitleClassList = classNames(style.subtitle);
44
+ const ProductCardTitleClasses = 'text-md font-medium';
45
+ const ProductCardSubTitleClassList = 'text-sm font-regular';
45
46
  const classList = classNames(
46
47
  className,
47
- style.classList,
48
- 'absolute theme-local',
49
- );
50
- const imageClassList = classNames(style.imageClassList);
48
+ 'absolute flex flex-col rounded-lg shadow-xl max-w-[380px]',
49
+ )
50
+ const imageClassList =
51
+ 'w-full object-cover h-96 overflow-hidden rounded-t-lg';
51
52
 
52
53
  return (
53
54
  <div
@@ -63,17 +64,17 @@ const ProductCard: React.FC<Props> = ({
63
64
  <div className="relative">
64
65
  <img className={imageClassList} {...imageProps} />
65
66
  {isEditable && (
66
- <div className={style.editButton}>
67
+ <div className="absolute right-2 top-2">
67
68
  <Button type="icon" variant="secondary" onClick={onEditClick}>
68
- <Icon type="pencil" />
69
+ <Icon icon={faPercent as IconProp} />
69
70
  </Button>
70
71
  </div>
71
72
  )}
72
73
  </div>
73
74
 
74
- <div className={style.content}>
75
+ <div className="h-150px overflow-hidden">
75
76
  {!isHovering && (
76
- <div className={style.contentWrapper}>
77
+ <div className="mt-0 h-full rounded-b-lg bg-white p-6 transition-all duration-300">
77
78
  {title !== undefined && (
78
79
  <h3 className={ProductCardTitleClasses}>{title}</h3>
79
80
  )}
@@ -89,8 +90,8 @@ const ProductCard: React.FC<Props> = ({
89
90
  </div>
90
91
  )}
91
92
  {isHovering && (
92
- <div className={style.hoverContentWrapper}>
93
- <div className={style.buttonWrapper}>
93
+ <div className="mt-0 flex h-full rounded-b-lg bg-white p-6 text-center transition-all duration-300">
94
+ <div className="mx-auto my-auto">
94
95
  <Button onClick={ctaOnClick}>{ctaText}</Button>
95
96
  {count !== undefined && (
96
97
  <Counter
@@ -106,6 +107,4 @@ const ProductCard: React.FC<Props> = ({
106
107
  </div>
107
108
  </div>
108
109
  );
109
- };
110
-
111
- export default ProductCard;
110
+ }
@@ -1,7 +1,7 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { Meta, type StoryObj } from '@storybook/react';
2
2
  import { idAndClassName } from '@utils/controls';
3
3
 
4
- import ProductCardV2 from '.';
4
+ import { ProductCardV2 } from '.';
5
5
 
6
6
  const meta = {
7
7
  title: 'Components/ProductCardV2',
@@ -26,7 +26,7 @@ const meta = {
26
26
  href: {
27
27
  description:
28
28
  'The link to send the user to when clicking on the component',
29
- },
29
+ }
30
30
  },
31
31
  args: {
32
32
  imageProps: {
@@ -39,12 +39,12 @@ const meta = {
39
39
  colour: 'black',
40
40
  type: 'edit',
41
41
  size: 2,
42
- },
43
- },
42
+ }
43
+ }
44
44
  };
45
45
 
46
46
  export default meta;
47
47
 
48
- type Story = StoryObj<typeof meta>;
48
+ type Story = StoryObj<typeof ProductCardV2>;
49
49
 
50
50
  export const Default: Story = {};
@@ -0,0 +1,98 @@
1
+ import React from 'react';
2
+
3
+ import { Counter } from '@components/Counter';
4
+ import { Icon, type IconProps } from '@components/Icon';
5
+ import { type Props as imageProps } from '@components/Image';
6
+ import classNames from 'classnames';
7
+
8
+ export interface Props {
9
+ id?: string;
10
+ className?: string;
11
+ title?: string;
12
+ imageProps?: imageProps;
13
+ topRightIcon?: IconProps;
14
+ bottomRightIcon?: IconProps;
15
+ topLeftIcon?: IconProps;
16
+ bottomLeftIcon?: IconProps;
17
+ textLineOne?: string;
18
+ textLineTwo?: string;
19
+ textLineThree?: string;
20
+ onClick?: () => void;
21
+ onCounterClick?: (count: number) => void;
22
+ count?: number;
23
+ isSelected?: boolean;
24
+ }
25
+
26
+ export const ProductCardV2 = ({
27
+ id,
28
+ className,
29
+ imageProps,
30
+ title,
31
+ textLineOne,
32
+ textLineTwo,
33
+ textLineThree,
34
+ topRightIcon,
35
+ bottomRightIcon,
36
+ topLeftIcon,
37
+ bottomLeftIcon,
38
+ onClick,
39
+ onCounterClick,
40
+ count,
41
+ isSelected = false,
42
+ }: Props) => {
43
+ return (
44
+ <div
45
+ id={id}
46
+ className={classNames(
47
+ {
48
+ 'rounded-lg border-2 border-border-light p-2': isSelected,
49
+ },
50
+
51
+ className,
52
+ 'max-w-[600px] scale-100 transform cursor-pointer duration-300',
53
+ )}
54
+ onClick={onClick}
55
+ >
56
+ <div className="relative">
57
+ <img
58
+ className="aspect-square w-full rounded-xl bg-white object-cover"
59
+ {...imageProps}
60
+ />
61
+ {topRightIcon && <Icon {...topRightIcon} />}
62
+ {bottomRightIcon && <Icon {...bottomRightIcon} colour="success" />}
63
+ {topLeftIcon && <Icon {...topLeftIcon} />}
64
+ {bottomLeftIcon && <Icon {...bottomLeftIcon} colour="success" />}
65
+ {count && (
66
+ <div className="absolute bottom-4 left-4 cursor-pointer">
67
+ <Counter
68
+ count={count}
69
+ onClick={(newCount: number) => {
70
+ onCounterClick?.(newCount);
71
+ }}
72
+ />
73
+ </div>
74
+ )}
75
+ </div>
76
+ <div className="mt-4">
77
+ {title !== undefined && (
78
+ <h3 className="text-md font-light text-ink">{title}</h3>
79
+ )}
80
+ {textLineOne !== undefined && (
81
+ <h4 className="text-sm font-extraLight text-border-dark">
82
+ {textLineOne}
83
+ </h4>
84
+ )}
85
+ {textLineTwo !== undefined && (
86
+ <h4 className="text-sm font-extraLight text-border-dark">
87
+ {textLineTwo}
88
+ </h4>
89
+ )}
90
+ {textLineThree !== undefined && (
91
+ <h4 className="text-sm font-extraLight text-border-dark">
92
+ {textLineThree}
93
+ </h4>
94
+ )}
95
+ </div>
96
+ </div>
97
+ );
98
+ }
@@ -1,7 +1,7 @@
1
- import { Meta, StoryObj } from '@storybook/react';
1
+ import { Meta, type StoryObj } from '@storybook/react';
2
2
  import { idAndClassName } from '@utils/controls';
3
3
 
4
- import Proficiencies from '.';
4
+ import { Proficiencies } from '.';
5
5
 
6
6
  const meta = {
7
7
  title: 'Components/Proficiencies',
@@ -39,12 +39,12 @@ const meta = {
39
39
  { src: 'https://picsum.photos/201/205', overlayText: 'Logo' },
40
40
  { src: 'https://picsum.photos/201/206', overlayText: 'Logo' },
41
41
  { src: 'https://picsum.photos/201/207', overlayText: 'Logo' },
42
- ],
43
- },
42
+ ]
43
+ }
44
44
  };
45
45
 
46
46
  export default meta;
47
47
 
48
- type Story = StoryObj<typeof meta>;
48
+ type Story = StoryObj<typeof Proficiencies>;
49
49
 
50
50
  export const Default: Story = {};