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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trepur_components",
3
- "version": "2.3.8",
3
+ "version": "2.3.9",
4
4
  "description": "component lib",
5
5
  "author": "trepur_ttenneb",
6
6
  "private": false,
@@ -40,13 +40,14 @@
40
40
  "dependencies": {
41
41
  "@fortawesome/fontawesome": "^1.2.0-6",
42
42
  "@fortawesome/fontawesome-common-types": "^6.5.1",
43
+ "@fortawesome/fontawesome-free": "^6.5.2",
43
44
  "@fortawesome/fontawesome-free-regular": "^5.1.0-3",
44
45
  "@fortawesome/fontawesome-free-solid": "^5.1.0-3",
45
46
  "@fortawesome/fontawesome-svg-core": "^6.5.2",
46
47
  "@fortawesome/react-fontawesome": "^0.2.0",
47
48
  "class-variance-authority": "^0.7.0",
48
49
  "classnames": "^2.5.1",
49
- "clsx": "^2.0.0",
50
+ "clsx": "^2.1.1",
50
51
  "cmdk": "^0.2.0",
51
52
  "d3-array": "^3.2.4",
52
53
  "embla-carousel-react": "^8.0.0-rc17",
@@ -1,112 +1,35 @@
1
- import { type Meta, type StoryObj } from '@storybook/react';
1
+ import { Collapsible } from '@components/Collapsible';
2
+ import { Meta, StoryObj } from '@storybook/react';
2
3
  import { idAndClassName } from '@utils/controls';
3
4
 
4
- import { Accordion } from './';
5
-
6
- const propItems = [
7
- {
8
- preText: 'This is some text',
9
- title: 'This is a title',
10
- subtitle: 'This is a subtitle',
11
- imageProps: {
12
- src: 'https://picsum.photos/100/100',
13
- },
14
- children: (
15
- <p>
16
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam semper
17
- in neque in venenatis. Mauris scelerisque orci magna, et ultricies nulla
18
- lobortis ac. Aliquam vitae faucibus nisl. Nunc in tellus libero. Donec
19
- ut augue consequat, convallis risus in, pulvinar nibh. Duis mi nibh,
20
- posuere molestie pharetra cursus, viverra ut dolor. Vivamus eget arcu
21
- dui. Donec ullamcorper ornare justo sed feugiat. Curabitur aliquam
22
- lectus sed quam pharetra scelerisque. Integer vitae eleifend dolor. Duis
23
- luctus metus ipsum, et commodo magna bibendum quis. Quisque gravida leo
24
- sodales quam feugiat, id vulputate arcu pulvinar. Duis dictum gravida
25
- risus, et bibendum nunc condimentum eu.
26
- </p>
27
- ),
28
- },
29
- {
30
- preText:
31
- 'Lorem, ipsum dolor sit amet consectetur adipisicing elit. Repellendus nihil, molestias amet sed, corrupti debitis odit doloribus perspiciatis est, quasi illum culpa iusto. Molestias, ducimus. Provident, quibusdam fuga. Voluptatem, saepe.',
32
- title: 'This is a title',
33
- imageProps: {
34
- src: 'https://picsum.photos/101/100',
35
- },
36
- children: (
37
- <p>
38
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam semper
39
- in neque in venenatis. Mauris scelerisque orci magna, et ultricies nulla
40
- lobortis ac. Aliquam vitae faucibus nisl. Nunc in tellus libero. Donec
41
- ut augue consequat, convallis risus in, pulvinar nibh. Duis mi nibh,
42
- posuere molestie pharetra cursus, viverra ut dolor. Vivamus eget arcu
43
- dui. Donec ullamcorper ornare justo sed feugiat. Curabitur aliquam
44
- lectus sed quam pharetra scelerisque. Integer vitae eleifend dolor. Duis
45
- luctus metus ipsum, et commodo magna bibendum quis. Quisque gravida leo
46
- sodales quam feugiat, id vulputate arcu pulvinar. Duis dictum gravida
47
- risus, et bibendum nunc condimentum eu.
48
- </p>
49
- ),
50
- },
51
- {
52
- subtitle: 'This is a subtitle',
53
- imageProps: {
54
- src: 'https://picsum.photos/100/101',
55
- },
56
- children: (
57
- <p>
58
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam semper
59
- in neque in venenatis. Mauris scelerisque orci magna, et ultricies nulla
60
- lobortis ac. Aliquam vitae faucibus nisl. Nunc in tellus libero. Donec
61
- ut augue consequat, convallis risus in, pulvinar nibh. Duis mi nibh,
62
- posuere molestie pharetra cursus, viverra ut dolor. Vivamus eget arcu
63
- dui. Donec ullamcorper ornare justo sed feugiat. Curabitur aliquam
64
- lectus sed quam pharetra scelerisque. Integer vitae eleifend dolor. Duis
65
- luctus metus ipsum, et commodo magna bibendum quis. Quisque gravida leo
66
- sodales quam feugiat, id vulputate arcu pulvinar. Duis dictum gravida
67
- risus, et bibendum nunc condimentum eu.
68
- </p>
69
- ),
70
- },
71
- {
72
- imageProps: {
73
- src: 'https://picsum.photos/102/100',
74
- },
75
- children: (
76
- <p>
77
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam semper
78
- in neque in venenatis. Mauris scelerisque orci magna, et ultricies nulla
79
- lobortis ac. Aliquam vitae faucibus nisl. Nunc in tellus libero. Donec
80
- ut augue consequat, convallis risus in, pulvinar nibh. Duis mi nibh,
81
- posuere molestie pharetra cursus, viverra ut dolor. Vivamus eget arcu
82
- dui. Donec ullamcorper ornare justo sed feugiat. Curabitur aliquam
83
- lectus sed quam pharetra scelerisque. Integer vitae eleifend dolor. Duis
84
- luctus metus ipsum, et commodo magna bibendum quis. Quisque gravida leo
85
- sodales quam feugiat, id vulputate arcu pulvinar. Duis dictum gravida
86
- risus, et bibendum nunc condimentum eu.
87
- </p>
88
- ),
89
- }
90
- ]
5
+ import { Accordion } from '.';
6
+ import { items } from './const';
91
7
 
92
8
  const meta = {
93
- title: 'Components/Accordion',
9
+ title: 'V2Components/Accordion',
94
10
  component: Accordion,
95
11
  argTypes: {
96
12
  ...idAndClassName,
97
- items: {
98
- description: 'An array of collapsible props',
99
- control: { type: 'array', default: undefined },
100
- table: {
101
- category: 'Accordion',
102
- type: { summary: 'array' },
103
- defaultValue: { summary: 'undefined' },
104
- }
105
- }
106
13
  },
107
14
  args: {
108
- items: propItems,
109
- }
15
+ children: items.map((item) => {
16
+ return (
17
+ <Collapsible>
18
+ <Collapsible.Header>
19
+ {item.image && <Collapsible.Image src={item.image} />}
20
+ <Collapsible.HeaderContent>
21
+ <Collapsible.Label>{item.label}</Collapsible.Label>
22
+ <Collapsible.Title>{item.title}</Collapsible.Title>
23
+ <Collapsible.Subtitle>{item.subtitle}</Collapsible.Subtitle>
24
+ </Collapsible.HeaderContent>
25
+ </Collapsible.Header>
26
+ <Collapsible.Content>
27
+ <Collapsible.Text>{item.content}</Collapsible.Text>
28
+ </Collapsible.Content>
29
+ </Collapsible>
30
+ );
31
+ }),
32
+ },
110
33
  } satisfies Meta<typeof Accordion>;
111
34
 
112
35
  export default meta;
@@ -0,0 +1,34 @@
1
+ export const items = [
2
+ {
3
+ label: 'This is some text',
4
+ title: 'This is a title',
5
+ subtitle: 'This is a subtitle',
6
+ image: 'https://picsum.photos/100/100',
7
+ content:
8
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam semper in neque in venenatis. Mauris scelerisque orci magna, et ultricies nulla lobortis ac. Aliquam vitae faucibus nisl. Nunc in tellus libero. Donec ut augue consequat, convallis risus in, pulvinar nibh. Duis mi nibh, posuere molestie pharetra cursus, viverra ut dolor. Vivamus eget arcu dui. Donec ullamcorper ornare justo sed feugiat. Curabitur aliquam lectus sed quam pharetra scelerisque. Integer vitae eleifend dolor. Duis luctus metus ipsum, et commodo magna bibendum quis. Quisque gravida leo sodales quam feugiat, id vulputate arcu pulvinar. Duis dictum gravida risus, et bibendum nunc condimentum eu.',
9
+ },
10
+ {
11
+ title: 'This is a title',
12
+ content:
13
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam semper in neque in venenatis. Mauris scelerisque orci magna, et ultricies nulla lobortis ac. Aliquam vitae faucibus nisl. Nunc in tellus libero. Donec ut augue consequat, convallis risus in, pulvinar nibh. Duis mi nibh, posuere molestie pharetra cursus, viverra ut dolor. Vivamus eget arcu dui. Donec ullamcorper ornare justo sed feugiat. Curabitur aliquam lectus sed quam pharetra scelerisque. Integer vitae eleifend dolor. Duis luctus metus ipsum, et commodo magna bibendum quis. Quisque gravida leo sodales quam feugiat, id vulputate arcu pulvinar. Duis dictum gravida risus, et bibendum nunc condimentum eu.',
14
+ },
15
+ {
16
+ label:
17
+ 'Lorem, ipsum dolor sit amet consectetur adipisicing elit. Repellendus nihil, molestias amet sed, corrupti debitis odit doloribus perspiciatis est, quasi illum culpa iusto. Molestias, ducimus. Provident, quibusdam fuga. Voluptatem, saepe.',
18
+ title: 'This is a title',
19
+ image: 'https://picsum.photos/101/100',
20
+ content:
21
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam semper in neque in venenatis. Mauris scelerisque orci magna, et ultricies nulla lobortis ac. Aliquam vitae faucibus nisl. Nunc in tellus libero. Donec ut augue consequat, convallis risus in, pulvinar nibh. Duis mi nibh, posuere molestie pharetra cursus, viverra ut dolor. Vivamus eget arcu dui. Donec ullamcorper ornare justo sed feugiat. Curabitur aliquam lectus sed quam pharetra scelerisque. Integer vitae eleifend dolor. Duis luctus metus ipsum, et commodo magna bibendum quis. Quisque gravida leo sodales quam feugiat, id vulputate arcu pulvinar. Duis dictum gravida risus, et bibendum nunc condimentum eu.',
22
+ },
23
+ {
24
+ subtitle: 'This is a subtitle',
25
+ image: 'https://picsum.photos/100/101',
26
+ content:
27
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam semper in neque in venenatis. Mauris scelerisque orci magna, et ultricies nulla lobortis ac. Aliquam vitae faucibus nisl. Nunc in tellus libero. Donec ut augue consequat, convallis risus in, pulvinar nibh. Duis mi nibh, posuere molestie pharetra cursus, viverra ut dolor. Vivamus eget arcu dui. Donec ullamcorper ornare justo sed feugiat. Curabitur aliquam lectus sed quam pharetra scelerisque. Integer vitae eleifend dolor. Duis luctus metus ipsum, et commodo magna bibendum quis. Quisque gravida leo sodales quam feugiat, id vulputate arcu pulvinar. Duis dictum gravida risus, et bibendum nunc condimentum eu.',
28
+ },
29
+ {
30
+ image: 'https://picsum.photos/102/100',
31
+ content:
32
+ 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam semper in neque in venenatis. Mauris scelerisque orci magna, et ultricies nulla lobortis ac. Aliquam vitae faucibus nisl. Nunc in tellus libero. Donec ut augue consequat, convallis risus in, pulvinar nibh. Duis mi nibh, posuere molestie pharetra cursus, viverra ut dolor. Vivamus eget arcu dui. Donec ullamcorper ornare justo sed feugiat. Curabitur aliquam lectus sed quam pharetra scelerisque. Integer vitae eleifend dolor. Duis luctus metus ipsum, et commodo magna bibendum quis. Quisque gravida leo sodales quam feugiat, id vulputate arcu pulvinar. Duis dictum gravida risus, et bibendum nunc condimentum eu.',
33
+ },
34
+ ];
@@ -1,21 +1,22 @@
1
- import { Collapsible } from "@components/index";
1
+ import { forwardRef, HTMLAttributes } from 'react';
2
+
3
+ import clsx from 'clsx';
2
4
 
3
5
  export interface AccordionProps {
4
- id?: string;
5
- className?: string;
6
- items: any;
6
+ loading?: boolean;
7
7
  }
8
8
 
9
- export const Accordion = ({ id, className, items }: AccordionProps) => {
10
- return (
11
- <div id={id} className={className}>
12
- {items?.map((item: any, i: number) => {
13
- return (
14
- <Collapsible key={`collapsible_item_${i}`} {...item}>
15
- {item.children}
16
- </Collapsible>
17
- );
18
- })}
19
- </div>
20
- );
21
- }
9
+ const AccordionComponent = forwardRef<
10
+ HTMLDivElement,
11
+ HTMLAttributes<HTMLDivElement> & AccordionProps
12
+ >(({ id, className, children, loading = false, ...props }, ref) => (
13
+ <div id={id} className={clsx('', className)} ref={ref} {...props}>
14
+ {children}
15
+ </div>
16
+ ));
17
+
18
+ AccordionComponent.displayName = 'Accordion';
19
+
20
+ const Accordion = Object.assign(AccordionComponent);
21
+
22
+ export { Accordion };
@@ -1,95 +1,89 @@
1
- import { Meta, type StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import { AlertBar } from '.';
1
+ import { AlertBar } from './';
2
+ import {
3
+ faCheckCircle,
4
+ faExclamationCircle,
5
+ faHeart,
6
+ faQuestionCircle,
7
+ faStopCircle,
8
+ } from '@fortawesome/fontawesome-free-solid';
9
+ import { IconProp } from '@fortawesome/fontawesome-svg-core';
10
+ import { action } from '@storybook/addon-actions';
11
+ import { Meta, StoryObj } from '@storybook/react';
5
12
 
6
13
  const meta = {
7
- title: 'Components/Alert Bar',
14
+ title: 'V2Components/Alert Bar',
8
15
  component: AlertBar,
9
- argTypes: {
10
- ...idAndClassName,
11
- type: {
12
- type: { name: 'string', required: false },
13
- options: ['success', 'warning', 'error', 'info'],
14
- description: 'The type of alert to render',
15
- table: {
16
- type: { summary: 'warning' },
17
- defaultValue: { summary: 'warning' },
18
- },
19
- defaultValue: 'warning',
20
- control: { type: 'radio' },
21
- },
22
- text: {
23
- type: { name: 'string', required: false },
24
- description: 'The text to display in the component',
25
- table: {
26
- type: { summary: 'string' },
27
- defaultValue: { summary: 'undefined' },
28
- }
29
- },
30
16
 
31
- leftIconProps: {
32
- description: 'The icon props for the icon to display aligned to the left',
33
- table: {
34
- category: '',
35
- type: { summary: 'string' },
36
- defaultValue: { summary: 'undefined' },
37
- }
38
- },
39
- rightIconProps: {
40
- description:
41
- 'The icon props for the icon to display aligned to the right',
42
- table: {
43
- category: '',
44
- type: { summary: 'string' },
45
- defaultValue: { summary: 'undefined' },
46
- }
47
- },
48
- textCenter: {
49
- type: { name: 'boolean', required: false },
50
- description: 'Aligns the text in the center of the component',
51
- table: {
52
- type: { summary: 'boolean' },
53
- defaultValue: { summary: 'false' },
54
- },
55
- defaultValue: 'false',
56
- },
57
- isDismissable: {
58
- type: { name: 'boolean', required: false },
59
- description: 'Enables the component to be closed when set to true',
60
- table: {
61
- type: { summary: 'boolean' },
62
- defaultValue: { summary: 'false' },
63
- },
64
- defaultValue: 'false',
65
- },
66
- onDismissClick: {
67
- type: { name: 'function', required: false },
68
- description: 'The action to perform when the component is closed',
69
- action: 'onClick',
70
- table: {
71
- type: {
72
- summary: 'function',
73
- },
74
- defaultValue: { summary: 'undefined' },
75
- }
76
- }
77
- },
78
17
  args: {
79
- text: 'This is an alert bar message',
80
- leftIconProps: {
81
- type: 'heart',
82
- colour: 'white',
83
- hollow: true,
84
- },
85
- rightIconProps: {
86
- type: 'heart',
87
- colour: 'white',
88
- }
89
- }
90
- };
18
+ children: [
19
+ <AlertBar.Icon icon={faHeart} />,
20
+ <AlertBar.Label>This is an alert bar</AlertBar.Label>,
21
+ ],
22
+ },
23
+ } satisfies Meta<typeof AlertBar>;
91
24
  export default meta;
92
25
 
93
26
  type Story = StoryObj<typeof AlertBar>;
94
27
 
95
28
  export const Default: Story = {};
29
+
30
+ export const Error: Story = {
31
+ ...Default,
32
+ args: {
33
+ ...Default.args,
34
+ children: [
35
+ <AlertBar.Icon icon={faStopCircle} />,
36
+ <AlertBar.Label>This is an alert bar</AlertBar.Label>,
37
+ ],
38
+ variant: 'error',
39
+ },
40
+ };
41
+
42
+ export const Success: Story = {
43
+ ...Default,
44
+ args: {
45
+ ...Default.args,
46
+ children: [
47
+ <AlertBar.Icon icon={faCheckCircle} />,
48
+ <AlertBar.Label>This is an alert bar</AlertBar.Label>,
49
+ ],
50
+ variant: 'success',
51
+ },
52
+ };
53
+
54
+ export const Warning: Story = {
55
+ ...Default,
56
+ args: {
57
+ ...Default.args,
58
+ children: [
59
+ <AlertBar.Icon icon={faExclamationCircle} />,
60
+ <AlertBar.Label>This is an alert bar</AlertBar.Label>,
61
+ ],
62
+ variant: 'warning',
63
+ },
64
+ };
65
+
66
+ export const Info: Story = {
67
+ ...Default,
68
+ args: {
69
+ ...Default.args,
70
+ children: [
71
+ <AlertBar.Icon icon={faQuestionCircle} />,
72
+ <AlertBar.Label>This is an alert bar</AlertBar.Label>,
73
+ ],
74
+ variant: 'info',
75
+ },
76
+ };
77
+
78
+ export const Dismiss: Story = {
79
+ ...Default,
80
+ args: {
81
+ ...Default.args,
82
+ children: [
83
+ <AlertBar.Icon icon={faQuestionCircle} />,
84
+ <AlertBar.Label>This is an alert bar</AlertBar.Label>,
85
+ <AlertBar.Dismiss onClick={action('clicked')} />,
86
+ ],
87
+ variant: 'info',
88
+ },
89
+ };
@@ -1,113 +1,82 @@
1
- import { type MouseEventHandler, useState } from 'react';
1
+ import { ComponentPropsWithoutRef, forwardRef, HTMLAttributes } from 'react';
2
2
 
3
- // import Icon, { type Props as iconProps } from '@components/Icon';
4
- import classNames from 'classnames';
3
+ import { PickU } from '@components/Pill';
4
+ import { faExclamation } from '@fortawesome/fontawesome-free-solid';
5
+ import { IconProp } from '@fortawesome/fontawesome-svg-core';
6
+ import clsx from 'clsx';
5
7
 
6
- export interface Props {
8
+ import { Button } from '..';
9
+ import { Icon } from '../Icon';
10
+
11
+ export interface AlertBarProps {
7
12
  id?: string;
8
13
  className?: string;
9
- type?: 'success' | 'warning' | 'error' | 'info';
10
- text?: string;
11
- // leftIconProps?: iconProps;
12
- // rightIconProps?: iconProps;
13
- textCenter?: boolean;
14
- isDismissable?: boolean;
15
- onDismissClick?: MouseEventHandler;
14
+ variant?: 'default' | 'success' | 'warning' | 'error' | 'info';
15
+ loading?: boolean;
16
16
  }
17
17
 
18
- export const AlertBar = ({
19
- id,
20
- className,
21
- type = 'warning',
22
- text,
23
- // leftIconProps,
24
- // rightIconProps,
25
- textCenter = false,
26
- isDismissable = false,
27
- onDismissClick,
28
- }: Props) => {
29
- const [alertBarStatus, setAlertBarStatus] = useState({
30
- state: 'open',
31
- display: true,
32
- })
33
-
34
- // const iconLeft = leftIconProps != null && <Icon {...leftIconProps} />;
35
-
36
- // const iconRight = rightIconProps != null && <Icon {...rightIconProps} />;
18
+ const AlertBarComponent = forwardRef<
19
+ HTMLDivElement,
20
+ HTMLAttributes<HTMLDivElement> & AlertBarProps
21
+ >(
22
+ (
23
+ { id, className, children, variant = 'default', loading, ...props },
24
+ ref,
25
+ ) => {
26
+ return (
27
+ <div
28
+ id={id}
29
+ className={clsx('flex w-full items-center gap-x-4 px-8 py-2', {
30
+ '': variant === 'default',
31
+ 'border-error-default bg-error-light text-error-default':
32
+ variant === 'error',
33
+ 'border-info-default bg-info-light text-info-default':
34
+ variant === 'info',
35
+ 'border-success-default bg-success-light text-success-default':
36
+ variant === 'success',
37
+ 'border-warning-default bg-warning-light text-warning-default':
38
+ variant === 'warning',
39
+ })}
40
+ ref={ref}
41
+ {...props}
42
+ >
43
+ {children}
44
+ </div>
45
+ );
46
+ },
47
+ );
37
48
 
38
- const bgColor = classNames({
39
- 'bg-success': type === 'success',
40
- 'bg-warning': type === 'warning',
41
- 'bg-error': type === 'error',
42
- 'bg-info-light': type === 'info',
43
- })
49
+ const AlertBarLabel = forwardRef<
50
+ HTMLParagraphElement,
51
+ HTMLAttributes<HTMLParagraphElement>
52
+ >(({ ...props }, ref) => (
53
+ <p className="text-md text-light-grey flex-1 truncate" ref={ref} {...props} />
54
+ ));
44
55
 
45
- const alertBarState = classNames({
46
- 'opacity-100': alertBarStatus.state === 'open',
47
- 'opacity-0': alertBarStatus.state === 'closed',
48
- hidden: !alertBarStatus.display,
49
- })
56
+ const AlertBarIcon = forwardRef<
57
+ SVGSVGElement,
58
+ PickU<ComponentPropsWithoutRef<typeof Icon>, 'icon'>
59
+ >(({ icon }, ref) => <Icon ref={ref} icon={icon} />);
50
60
 
51
- const classList = classNames(
52
- className,
53
- bgColor,
54
- alertBarState,
55
- 'flex py-2 text-white duration-700 w-parent transition-opactiy',
56
- )
61
+ const AlertBarDismiss = forwardRef<
62
+ HTMLButtonElement,
63
+ Omit<HTMLAttributes<HTMLButtonElement>, 'icon'>
64
+ >(({ ...props }) => (
65
+ <Button variant="ghost" {...props}>
66
+ <Icon icon={faExclamation} />
67
+ </Button>
68
+ ));
57
69
 
58
- const textClassList = classNames(
59
- {
60
- 'text-center': textCenter,
61
- // 'pl-20': !textCenter && leftIconProps !== null,
62
- // 'pl-4': !textCenter && leftIconProps === null,
63
- },
64
- 'w-full py-3',
65
- )
70
+ AlertBarComponent.displayName = 'AlertBar';
66
71
 
67
- const rightIconClasses = classNames(
68
- {
69
- 'hover:cursor-pointer': isDismissable,
70
- },
71
- 'absolute right-0 pr-8 pt-3',
72
- )
72
+ AlertBarLabel.displayName = 'AlertBar.Label';
73
+ AlertBarIcon.displayName = 'AlertBar.Icon';
74
+ AlertBarDismiss.displayName = 'AlertBar.Dismiss';
73
75
 
74
- const closeAlertBar = (e: any): void => {
75
- setAlertBarStatus({
76
- state: 'closed',
77
- display: alertBarStatus.display,
78
- })
79
- setTimeout(() => {
80
- setAlertBarStatus({
81
- state: 'closed',
82
- display: false,
83
- })
84
- }, 700);
85
- if (onDismissClick != null) {
86
- onDismissClick(e);
87
- }
88
- };
76
+ const AlertBar = Object.assign(AlertBarComponent, {
77
+ Label: AlertBarLabel,
78
+ Icon: AlertBarIcon,
79
+ Dismiss: AlertBarDismiss,
80
+ });
89
81
 
90
- // const dismissIcon = <Icon type="multiply" colour="white" />;
91
-
92
- return (
93
- <div id={id} className={classList}>
94
- {/* {leftIconProps != null && (
95
- <span className='absolute pl-8 pt-3'>{iconLeft}</span>
96
- )} */}
97
- <h3 className={textClassList}>{text}</h3>
98
- {/* {isDismissable && (
99
- <a
100
- className={rightIconClasses}
101
- onClick={(e) => {
102
- closeAlertBar(e);
103
- }}
104
- >
105
- <span>{dismissIcon}</span>
106
- </a>
107
- )} */}
108
- {/* {iconRight != null && !isDismissable && (
109
- <span className={rightIconClasses}>{iconRight}</span>
110
- )} */}
111
- </div>
112
- );
113
- }
82
+ export { AlertBar };
@@ -1,16 +1,11 @@
1
- import { Meta, type StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import { Avatar } from '.';
1
+ import { Avatar } from './';
2
+ import { Meta, StoryObj } from '@storybook/react';
5
3
 
6
4
  const meta = {
7
5
  title: 'Components/Avatar',
8
6
  component: Avatar,
9
- argTypes: {
10
- ...idAndClassName,
11
- },
12
7
  args: {},
13
- }
8
+ } satisfies Meta<typeof Avatar>;
14
9
 
15
10
  export default meta;
16
11