trepur_components 2.3.2 → 2.3.4

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 (354) hide show
  1. package/.eslintrc.cjs +43 -0
  2. package/.husky/pre-commit +4 -0
  3. package/.prettierrc.json +22 -0
  4. package/archive/Breadcrumbs/Breadcrumbs.stories.tsx +46 -0
  5. package/archive/Breadcrumbs/index.tsx +42 -0
  6. package/archive/BreadcrumbsBordered/BreadcrumbsBordered.stories.tsx +52 -0
  7. package/archive/BreadcrumbsBordered/index.tsx +44 -0
  8. package/archive/BreadcrumbsItem/BreadcrumbsItem.stories.tsx +40 -0
  9. package/archive/BreadcrumbsItem/index.tsx +149 -0
  10. package/archive/Button/Button.stories.tsx +150 -0
  11. package/archive/Button/index.tsx +111 -0
  12. package/archive/Button/style.module.css +76 -0
  13. package/archive/Calendar/Calendar.stories.tsx +82 -0
  14. package/archive/Calendar/index.tsx +76 -0
  15. package/archive/Calendar/style.css +233 -0
  16. package/archive/Card/Card.stories.tsx +75 -0
  17. package/archive/Card/index.tsx +102 -0
  18. package/archive/Card/style.module.css +75 -0
  19. package/archive/CardWithTopImage/CardWithTopImage.stories.tsx +50 -0
  20. package/archive/CardWithTopImage/index.tsx +39 -0
  21. package/archive/CardWithTopImage/style.module.css +11 -0
  22. package/archive/Carousel/Carousel.stories.tsx +451 -0
  23. package/archive/Carousel/index.tsx +388 -0
  24. package/archive/Carousel/style.module.css +99 -0
  25. package/archive/CarouselThumbnail/CarouselThumbnail.stories.tsx +350 -0
  26. package/archive/CarouselThumbnail/index.tsx +302 -0
  27. package/archive/CarouselThumbnail/style.module.css +67 -0
  28. package/archive/Checkbox/Checkbox.mdx +33 -0
  29. package/archive/Checkbox/Checkbox.stories.tsx +34 -0
  30. package/archive/Checkbox/index.tsx +51 -0
  31. package/archive/Checkbox/style.module.css +15 -0
  32. package/archive/Collapsible/Collapsible.stories.tsx +67 -0
  33. package/archive/Collapsible/index.tsx +116 -0
  34. package/archive/Collapsible/style.module.css +47 -0
  35. package/archive/Column/Column.stories.tsx +89 -0
  36. package/archive/Column/index.tsx +119 -0
  37. package/archive/Column/style.module.css +151 -0
  38. package/archive/ComponentWrapper/ComponentWrapper.stories.tsx +40 -0
  39. package/archive/ComponentWrapper/index.tsx +55 -0
  40. package/archive/ComponentWrapper/style.module.css +40 -0
  41. package/archive/Container/Container.stories.tsx +40 -0
  42. package/archive/Container/index.tsx +24 -0
  43. package/archive/Container/style.module.css +4 -0
  44. package/archive/Counter/Counter.stories.tsx +19 -0
  45. package/archive/Counter/index.tsx +66 -0
  46. package/archive/Counter/style.module.css +19 -0
  47. package/archive/DetailUpdater/DetailUpdater.stories.tsx +96 -0
  48. package/archive/DetailUpdater/index.tsx +112 -0
  49. package/archive/DetailUpdater/style.module.css +31 -0
  50. package/archive/Dialog/Dialog.stories.tsx +131 -0
  51. package/archive/Dialog/index.tsx +91 -0
  52. package/archive/Dialog/style.module.css +44 -0
  53. package/archive/DropdownMenu/DropdownMenu.stories.tsx +59 -0
  54. package/archive/DropdownMenu/index.tsx +51 -0
  55. package/archive/DropdownMenu/style.module.css +38 -0
  56. package/archive/DynamicTextSection/DynamicTextSection.stories.tsx +74 -0
  57. package/archive/DynamicTextSection/index.tsx +36 -0
  58. package/archive/DynamicTextSection/style.module.css +0 -0
  59. package/archive/FileUploader/FilePreview.tsx +48 -0
  60. package/archive/FileUploader/FileUploader.stories.tsx +28 -0
  61. package/archive/FileUploader/index.tsx +135 -0
  62. package/archive/FileUploader/style.module.css +54 -0
  63. package/archive/FilterItem/FilterItem.stories.tsx +33 -0
  64. package/archive/FilterItem/index.tsx +101 -0
  65. package/archive/FilterItem/style.module.css +27 -0
  66. package/archive/Footer/Footer.stories.tsx +59 -0
  67. package/archive/Footer/index.tsx +50 -0
  68. package/archive/Footer/style.module.css +19 -0
  69. package/archive/FooterNav/FooterNav.stories.tsx +125 -0
  70. package/archive/FooterNav/index.tsx +57 -0
  71. package/archive/FooterNav/style.module.css +32 -0
  72. package/archive/FooterNavItem/FooterNavItem.stories.tsx +53 -0
  73. package/archive/FooterNavItem/index.tsx +80 -0
  74. package/archive/FooterNavItem/style.module.css +139 -0
  75. package/archive/Form/Form.stories.tsx +86 -0
  76. package/archive/Form/index.tsx +61 -0
  77. package/archive/Form/style.module.css +0 -0
  78. package/archive/FyreCard/FyreCard.stories.tsx +31 -0
  79. package/archive/FyreCard/index.tsx +52 -0
  80. package/archive/FyreCard/style.module.css +19 -0
  81. package/archive/Greeting/Greeting.stories.tsx +41 -0
  82. package/archive/Greeting/index.tsx +32 -0
  83. package/archive/HamburgerIcon/HamburgerIcon.stories.tsx +32 -0
  84. package/archive/HamburgerIcon/index.tsx +103 -0
  85. package/archive/HamburgerIcon/style.module.css +85 -0
  86. package/archive/HorizontalLine/HorizontalLine.stories.tsx +54 -0
  87. package/archive/HorizontalLine/index.tsx +40 -0
  88. package/archive/HorizontalLine/style.module.css +55 -0
  89. package/archive/Icon/Icon.stories.tsx +164 -0
  90. package/archive/Icon/index.tsx +115 -0
  91. package/archive/Icon/style.module.css +253 -0
  92. package/archive/IconCard/IconCard.stories.tsx +46 -0
  93. package/archive/IconCard/index.tsx +57 -0
  94. package/archive/IconCard/style.module.css +18 -0
  95. package/archive/Image/Image.stories.tsx +87 -0
  96. package/archive/Image/index.tsx +132 -0
  97. package/archive/Image/style.module.css +109 -0
  98. package/archive/ImageInfo/ImageInfo.stories.tsx +39 -0
  99. package/archive/ImageInfo/index.tsx +95 -0
  100. package/archive/ImageInfo/style.module.css +47 -0
  101. package/archive/ImageLink/ImageLink.stories.tsx +37 -0
  102. package/archive/ImageLink/index.tsx +49 -0
  103. package/archive/ImageLink/style.module.css +23 -0
  104. package/archive/ImageLinkList/ImageLinkList.stories.tsx +34 -0
  105. package/archive/ImageLinkList/index.tsx +33 -0
  106. package/archive/ImageLinkList/style.module.css +3 -0
  107. package/archive/InformationIcon/InformationIcon.stories.tsx +83 -0
  108. package/archive/InformationIcon/index.tsx +128 -0
  109. package/archive/InformationIcon/style.module.css +71 -0
  110. package/archive/InformationIconBlock/InformationIconBlock.stories.tsx +32 -0
  111. package/archive/InformationIconBlock/index.tsx +63 -0
  112. package/archive/InformationIconBlock/style.module.css +7 -0
  113. package/archive/Input/Input.stories.tsx +84 -0
  114. package/archive/Input/index.tsx +131 -0
  115. package/archive/Input/style.module.css +60 -0
  116. package/archive/Jumbotron/Jumbotron.stories.tsx +21 -0
  117. package/archive/Jumbotron/index.tsx +31 -0
  118. package/archive/Jumbotron/style.module.css +8 -0
  119. package/archive/MenuButton/MenuButton.stories.tsx +46 -0
  120. package/archive/MenuButton/index.tsx +82 -0
  121. package/archive/MenuButton/style.module.css +45 -0
  122. package/archive/Modal/Modal.stories.tsx +86 -0
  123. package/archive/Modal/index.tsx +74 -0
  124. package/archive/Modal/style.module.css +35 -0
  125. package/archive/NavItem/NavItem.stories.tsx +90 -0
  126. package/archive/NavItem/index.tsx +65 -0
  127. package/archive/NavItem/style.module.css +71 -0
  128. package/archive/NavOld/NavOld.stories.tsx +193 -0
  129. package/archive/NavOld/StickyNav.tsx +191 -0
  130. package/archive/NavOld/index.tsx +273 -0
  131. package/archive/NavOld/style.module.css +156 -0
  132. package/archive/NavTwo/Dropdown.tsx +35 -0
  133. package/archive/NavTwo/Nav.stories.tsx +38 -0
  134. package/archive/NavTwo/Sidebar.tsx +34 -0
  135. package/archive/NavTwo/StickyNav.tsx +34 -0
  136. package/archive/NavTwo/index.tsx +45 -0
  137. package/archive/NavTwo/style.module.css +35 -0
  138. package/archive/NewsCard/NewsCard.stories.tsx +72 -0
  139. package/archive/NewsCard/index.tsx +57 -0
  140. package/archive/NewsCard/style.module.css +15 -0
  141. package/archive/Pill/Pill.stories.tsx +44 -0
  142. package/archive/Pill/index.tsx +64 -0
  143. package/archive/Pill/style.module.css +32 -0
  144. package/archive/ProductCard/ProductCard.stories.tsx +61 -0
  145. package/archive/ProductCard/index.tsx +111 -0
  146. package/archive/ProductCard/style.module.css +53 -0
  147. package/archive/ProductCardV2/ProductCardV2.stories.tsx +50 -0
  148. package/archive/ProductCardV2/index.tsx +119 -0
  149. package/archive/ProductCardV2/style.module.css +59 -0
  150. package/archive/Proficiencies/Proficiencies.stories.tsx +50 -0
  151. package/archive/Proficiencies/index.tsx +63 -0
  152. package/archive/Proficiencies/style.module.css +31 -0
  153. package/archive/Profile/Profile.stories.tsx +49 -0
  154. package/archive/Profile/index.tsx +103 -0
  155. package/archive/Profile/style.module.css +47 -0
  156. package/archive/Row/Row.stories.tsx +53 -0
  157. package/archive/Row/index.tsx +23 -0
  158. package/archive/Row/style.module.css +3 -0
  159. package/archive/Search/Search.stories.tsx +63 -0
  160. package/archive/Search/index.tsx +68 -0
  161. package/archive/Search/style.module.css +23 -0
  162. package/archive/Select/Select.stories.tsx +56 -0
  163. package/archive/Select/index.tsx +106 -0
  164. package/archive/Select/style.module.css +52 -0
  165. package/archive/Showcase/Showcase.stories.tsx +30 -0
  166. package/archive/Showcase/index.tsx +75 -0
  167. package/archive/Showcase/style.module.css +47 -0
  168. package/archive/SideNav/SideNav.stories.tsx +50 -0
  169. package/archive/SideNav/index.tsx +46 -0
  170. package/archive/SideNav/style.module.css +43 -0
  171. package/archive/SocialBlock/SocialBlock.stories.tsx +58 -0
  172. package/archive/SocialBlock/index.tsx +63 -0
  173. package/archive/SocialButton/SocialButton.stories.tsx +88 -0
  174. package/archive/SocialButton/index.tsx +71 -0
  175. package/archive/SocialButton/style.module.css +77 -0
  176. package/archive/StarRating/StarRating.stories.tsx +23 -0
  177. package/archive/StarRating/index.tsx +71 -0
  178. package/archive/Testimonial/Testimonial.stories.tsx +110 -0
  179. package/archive/Testimonial/index.tsx +61 -0
  180. package/archive/Testimonial/style.module.css +27 -0
  181. package/archive/TextAndTitle/TextAndTitle.stories.tsx +70 -0
  182. package/archive/TextAndTitle/index.tsx +123 -0
  183. package/archive/TextAndTitle/style.module.css +75 -0
  184. package/archive/TextArea/TextArea.stories.tsx +55 -0
  185. package/archive/TextArea/index.tsx +125 -0
  186. package/archive/TextArea/style.module.css +60 -0
  187. package/archive/Timeline/Timeline.stories.tsx +92 -0
  188. package/archive/Timeline/index.tsx +254 -0
  189. package/archive/Timeline/style.module.css +134 -0
  190. package/archive/TimelineV2/TimelineV2.stories.tsx +95 -0
  191. package/archive/TimelineV2/index.tsx +70 -0
  192. package/archive/TimelineV2/style.module.css +28 -0
  193. package/archive/Tubestops/Tubestops.stories.tsx +42 -0
  194. package/archive/Tubestops/index.tsx +58 -0
  195. package/archive/Tubestops/style.module.css +54 -0
  196. package/archive/UserIcon/UserIcon.stories.tsx +52 -0
  197. package/archive/UserIcon/index.tsx +46 -0
  198. package/archive/UserIcon/style.module.css +19 -0
  199. package/archive/Video/Video.stories.tsx +23 -0
  200. package/archive/Video/index.tsx +47 -0
  201. package/archive/fonts/Sora/OFL.txt +93 -0
  202. package/archive/fonts/Sora/README.txt +70 -0
  203. package/archive/fonts/Sora/Sora-VariableFont_wght.ttf +0 -0
  204. package/archive/fonts/Sora/static/Sora-Bold.ttf +0 -0
  205. package/archive/fonts/Sora/static/Sora-ExtraBold.ttf +0 -0
  206. package/archive/fonts/Sora/static/Sora-ExtraLight.ttf +0 -0
  207. package/archive/fonts/Sora/static/Sora-Light.ttf +0 -0
  208. package/archive/fonts/Sora/static/Sora-Medium.ttf +0 -0
  209. package/archive/fonts/Sora/static/Sora-Regular.ttf +0 -0
  210. package/archive/fonts/Sora/static/Sora-SemiBold.ttf +0 -0
  211. package/archive/fonts/Sora/static/Sora-Thin.ttf +0 -0
  212. package/archive/theme.ts +39 -0
  213. package/archive/typography/Fonts/Fonts.stories.tsx +14 -0
  214. package/archive/typography/Fonts/Fonts.tsx +181 -0
  215. package/lib/components/Accordion/Accordion.stories.d.ts +94 -0
  216. package/lib/components/Accordion/index.d.ts +9 -0
  217. package/lib/components/Accordion/index.js +15 -0
  218. package/lib/components/AlertBar/AlertBar.stories.d.ts +162 -0
  219. package/lib/components/AlertBar/index.d.ts +13 -0
  220. package/lib/components/AlertBar/index.js +49 -0
  221. package/lib/components/Avatar/Avatar.stories.d.ts +44 -0
  222. package/lib/components/Avatar/index.d.ts +4 -0
  223. package/lib/components/index.d.ts +4 -0
  224. package/lib/index.d.ts +1 -0
  225. package/lib/index.js +6 -0
  226. package/lib/styles/base.css +116 -0
  227. package/lib/utils/controls.d.ts +36 -0
  228. package/lib/utils/matchMedia.d.ts +2 -0
  229. package/lib/utils/screens.d.ts +7 -0
  230. package/package.json +8 -9
  231. package/src/components/Accordion/Accordion.stories.tsx +116 -0
  232. package/src/components/Accordion/index.tsx +30 -0
  233. package/src/components/AlertBar/AlertBar.stories.tsx +95 -0
  234. package/src/components/AlertBar/index.tsx +115 -0
  235. package/src/components/Avatar/Avatar.stories.tsx +19 -0
  236. package/src/components/Avatar/index.tsx +495 -0
  237. package/src/components/index.ts +119 -0
  238. package/src/documentation/Colours.mdx +192 -0
  239. package/src/documentation/Introduction.mdx +9 -0
  240. package/src/index.ts +1 -0
  241. package/src/styles/base.css +116 -0
  242. package/src/utils/controls.ts +44 -0
  243. package/src/utils/matchMedia.ts +9 -0
  244. package/src/utils/screens.ts +7 -0
  245. package/storybook-build/assets/Accordion.stories-Cn994N1H.js +103 -0
  246. package/storybook-build/assets/AlertBar.stories-BkzNXFBh.js +202 -0
  247. package/storybook-build/assets/Avatar.stories-CpH6xVwM.js +418 -0
  248. package/storybook-build/assets/Color-6VNJS4EI-DQV2onvt.js +1378 -0
  249. package/storybook-build/assets/Colours-r29qjFlW.js +324 -0
  250. package/storybook-build/assets/DocsRenderer-NNNQARDV-OgWasCIs.js +44 -0
  251. package/storybook-build/assets/Introduction-Bs1PgnBZ.js +40 -0
  252. package/storybook-build/assets/WithTooltip-V3YHNWJZ-vi2V5TOO.js +15 -0
  253. package/storybook-build/assets/_commonjsHelpers-LQfde5yM.js +35 -0
  254. package/storybook-build/assets/axe-DnFZVv9V.js +32561 -0
  255. package/storybook-build/assets/chunk-EIRT5I3Z-DFD8udmD.js +480 -0
  256. package/storybook-build/assets/context-CIRBAiUz.js +20 -0
  257. package/storybook-build/assets/controls-DJSGrQKd.js +23 -0
  258. package/storybook-build/assets/entry-preview-DmlPV4-3.js +41 -0
  259. package/storybook-build/assets/entry-preview-docs-D46Drugi.js +11861 -0
  260. package/storybook-build/assets/formatter-SWP5E3XI-BWIasvKP.js +14427 -0
  261. package/storybook-build/assets/iframe-Dzzzanqi.js +144 -0
  262. package/storybook-build/assets/index-0FT4HXk-.js +7222 -0
  263. package/storybook-build/assets/index-B9Tccxv4.js +107 -0
  264. package/storybook-build/assets/index-BdOSk9or.js +41 -0
  265. package/storybook-build/assets/index-CU7cYjZD.js +9604 -0
  266. package/storybook-build/assets/index-Clz-aGG3.js +39 -0
  267. package/storybook-build/assets/index-CpyNLP69.js +63 -0
  268. package/storybook-build/assets/index-DM9bPmif.js +319 -0
  269. package/storybook-build/assets/index-ex9_VrIg.js +3734 -0
  270. package/storybook-build/assets/jsx-runtime-D2-sc1j1.js +35 -0
  271. package/storybook-build/assets/preview-3kSipVgK.js +430 -0
  272. package/storybook-build/assets/preview-B4rAxPmB.js +27 -0
  273. package/storybook-build/assets/preview-BMkwWyrh.js +2920 -0
  274. package/storybook-build/assets/preview-BeQelhbu.js +204 -0
  275. package/storybook-build/assets/preview-BiG-rflf.js +2444 -0
  276. package/storybook-build/assets/preview-BiYUJ7TP.js +22 -0
  277. package/storybook-build/assets/preview-C4ItOQzM.js +34 -0
  278. package/storybook-build/assets/preview-CWyhKACi.css +886 -0
  279. package/storybook-build/assets/preview-CtOV68TG.js +10 -0
  280. package/storybook-build/assets/preview-De9E9xaR.js +140 -0
  281. package/storybook-build/assets/preview-bL4x2zrN.js +99 -0
  282. package/storybook-build/assets/preview-gxqyGMHu.js +323 -0
  283. package/storybook-build/assets/react-18-B-gfo82w.js +29 -0
  284. package/storybook-build/assets/syntaxhighlighter-B5GMVT5T-DrY_Dc6-.js +15 -0
  285. package/storybook-build/favicon.svg +7 -0
  286. package/storybook-build/iframe.html +458 -0
  287. package/storybook-build/index.html +163 -0
  288. package/storybook-build/index.json +1 -0
  289. package/storybook-build/preview-stats.json +172 -0
  290. package/storybook-build/project.json +1 -0
  291. package/storybook-build/sb-addons/a11y-9/manager-bundle.js +3 -0
  292. package/storybook-build/sb-addons/a11y-9/manager-bundle.js.LEGAL.txt +0 -0
  293. package/storybook-build/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
  294. package/storybook-build/sb-addons/essentials-actions-2/manager-bundle.js.LEGAL.txt +0 -0
  295. package/storybook-build/sb-addons/essentials-backgrounds-3/manager-bundle.js +12 -0
  296. package/storybook-build/sb-addons/essentials-backgrounds-3/manager-bundle.js.LEGAL.txt +0 -0
  297. package/storybook-build/sb-addons/essentials-controls-1/manager-bundle.js +63 -0
  298. package/storybook-build/sb-addons/essentials-controls-1/manager-bundle.js.LEGAL.txt +18 -0
  299. package/storybook-build/sb-addons/essentials-measure-6/manager-bundle.js +3 -0
  300. package/storybook-build/sb-addons/essentials-measure-6/manager-bundle.js.LEGAL.txt +0 -0
  301. package/storybook-build/sb-addons/essentials-outline-7/manager-bundle.js +3 -0
  302. package/storybook-build/sb-addons/essentials-outline-7/manager-bundle.js.LEGAL.txt +0 -0
  303. package/storybook-build/sb-addons/essentials-toolbars-5/manager-bundle.js +3 -0
  304. package/storybook-build/sb-addons/essentials-toolbars-5/manager-bundle.js.LEGAL.txt +0 -0
  305. package/storybook-build/sb-addons/essentials-viewport-4/manager-bundle.js +3 -0
  306. package/storybook-build/sb-addons/essentials-viewport-4/manager-bundle.js.LEGAL.txt +0 -0
  307. package/storybook-build/sb-addons/interactions-8/manager-bundle.js +12 -0
  308. package/storybook-build/sb-addons/interactions-8/manager-bundle.js.LEGAL.txt +0 -0
  309. package/storybook-build/sb-addons/links-0/manager-bundle.js +3 -0
  310. package/storybook-build/sb-addons/links-0/manager-bundle.js.LEGAL.txt +0 -0
  311. package/storybook-build/sb-addons/storybook-12/manager-bundle.js +151 -0
  312. package/storybook-build/sb-addons/storybook-12/manager-bundle.js.LEGAL.txt +0 -0
  313. package/storybook-build/sb-addons/storybook-react-i18next-11/manager-bundle.js +3 -0
  314. package/storybook-build/sb-addons/storybook-react-i18next-11/manager-bundle.js.LEGAL.txt +0 -0
  315. package/storybook-build/sb-addons/themes-10/register-bundle.js +5 -0
  316. package/storybook-build/sb-addons/themes-10/register-bundle.js.LEGAL.txt +0 -0
  317. package/storybook-build/sb-common-assets/fonts.css +31 -0
  318. package/storybook-build/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  319. package/storybook-build/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  320. package/storybook-build/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  321. package/storybook-build/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  322. package/storybook-build/sb-manager/WithTooltip-V3YHNWJZ-TRLNWEGW.js +1 -0
  323. package/storybook-build/sb-manager/chunk-4IYAVH3S.js +348 -0
  324. package/storybook-build/sb-manager/chunk-CXYKRFSY.js +9 -0
  325. package/storybook-build/sb-manager/chunk-KZYAAUOR.js +406 -0
  326. package/storybook-build/sb-manager/chunk-LVLAH4SI.js +7 -0
  327. package/storybook-build/sb-manager/chunk-ZEU7PDD3.js +1 -0
  328. package/storybook-build/sb-manager/formatter-SWP5E3XI-7BGIK6BL.js +156 -0
  329. package/storybook-build/sb-manager/globals-module-info.js +1 -0
  330. package/storybook-build/sb-manager/globals.js +1 -0
  331. package/storybook-build/sb-manager/index.js +1 -0
  332. package/storybook-build/sb-manager/runtime.js +1 -0
  333. package/storybook-build/sb-manager/syntaxhighlighter-B5GMVT5T-EA5ASEYD.js +1 -0
  334. package/storybook-build/sb-preview/globals.js +1 -0
  335. package/storybook-build/sb-preview/runtime.js +112 -0
  336. package/storybook-build/src/components/Accordion/Accordion.stories.d.ts +94 -0
  337. package/storybook-build/src/components/Accordion/index.d.ts +9 -0
  338. package/storybook-build/src/components/AlertBar/AlertBar.stories.d.ts +162 -0
  339. package/storybook-build/src/components/AlertBar/index.d.ts +13 -0
  340. package/storybook-build/src/components/Avatar/Avatar.stories.d.ts +44 -0
  341. package/storybook-build/src/components/Avatar/index.d.ts +4 -0
  342. package/storybook-build/src/components/index.d.ts +7 -0
  343. package/storybook-build/src/index.d.ts +1 -0
  344. package/storybook-build/src/utils/controls.d.ts +36 -0
  345. package/storybook-build/src/utils/matchMedia.d.ts +2 -0
  346. package/storybook-build/src/utils/screens.d.ts +7 -0
  347. package/storybook-build/src/utils/theme.d.ts +3 -0
  348. package/storybook-build/stories.json +1 -0
  349. package/storybook-build/styles/base.css +116 -0
  350. package/svg.d.ts +4 -0
  351. package/tailwind.config.ts +81 -0
  352. package/tsconfig.json +43 -0
  353. package/tsconfig.node.json +12 -0
  354. package/vite.config.mjs +64 -0
@@ -0,0 +1,58 @@
1
+ import { action } from '@storybook/addon-actions';
2
+ import { Meta, StoryObj } from '@storybook/react';
3
+ import { idAndClassName } from '@utils/controls';
4
+
5
+ import SocialBlock from '.';
6
+
7
+ const socialButtons = [
8
+ { type: 'facebook', href: '/facebook' },
9
+ { type: 'instagram', href: '/insta' },
10
+ { type: 'github', href: '/github' },
11
+ ];
12
+
13
+ const meta = {
14
+ title: 'Components/Social Block',
15
+ component: SocialBlock,
16
+ parameters: {},
17
+ argTypes: {
18
+ ...idAndClassName,
19
+
20
+ withLiveUpdates: {
21
+ description: '',
22
+ control: 'boolean',
23
+ table: { category: '' },
24
+ },
25
+ onSave: {
26
+ type: { name: 'function', required: false },
27
+ description: 'Fires a function when you click save',
28
+ action: 'onClick',
29
+ table: {
30
+ type: { summary: 'function' },
31
+ defaultValue: { summary: 'undefined' },
32
+ },
33
+ },
34
+ variant: {
35
+ type: { name: 'string', required: false },
36
+ options: ['dark', 'light'],
37
+ description: 'The variant of button to render',
38
+ table: { type: { summary: 'dark' }, defaultValue: { summary: 'dark' } },
39
+ defaultValue: 'dark',
40
+ control: { type: 'radio' },
41
+ },
42
+ },
43
+ args: {
44
+ title: 'Why not connect with me on LinkedIn or Facebook?',
45
+ description: 'Or send me a E-Mail to get in touch',
46
+ editTitleClasses: 'text-md sm:text-lg ',
47
+ editTextClasses: '',
48
+ editInputClasses: 'mt-4 border border-black text-black bg-white',
49
+ onSave: action('button-save'),
50
+ withLiveUpdates: true,
51
+ socialButtons,
52
+ },
53
+ };
54
+ export default meta;
55
+
56
+ type Story = StoryObj<typeof meta>;
57
+
58
+ export const Default: Story = {};
@@ -0,0 +1,63 @@
1
+ import ComponentWrapper from '@components/ComponentWrapper';
2
+ import SocialButton from '@components/SocialButton';
3
+ import { type Colours } from '@utils/controls';
4
+ import classNames from 'classnames';
5
+
6
+ export interface Props {
7
+ id?: string;
8
+ className?: string;
9
+ title?: string;
10
+ description?: string;
11
+ bgColour?: Colours;
12
+ socialButtons?: Array<{ type: string }>;
13
+ variant: 'light' | 'dark';
14
+ }
15
+
16
+ const SocialBlock = ({
17
+ id,
18
+ className,
19
+ title,
20
+ description,
21
+ bgColour,
22
+ socialButtons,
23
+ variant = 'light',
24
+ }: Props): JSX.Element => {
25
+ const colours = variant === 'dark' ? 'bg-primary text-white placeholder-white' : 'bg-white text-black placeholder-primary';
26
+ const classList = classNames(
27
+ 'w-full',
28
+ className,
29
+ colours,
30
+ 'theme-local',
31
+ );
32
+
33
+ return (
34
+ <ComponentWrapper
35
+ id={id}
36
+ className={classList}
37
+ title={title}
38
+ description={description}
39
+ bgColour={bgColour}
40
+ >
41
+ <div className='flex w-full'>
42
+ <div className='mx-auto inline-block rounded-full px-2'>
43
+ <div className='flex'>
44
+ {socialButtons?.map((button: any, i: number) => {
45
+ return (
46
+ button.href !== undefined && (
47
+ <SocialButton
48
+ key={`socual_button_${i}`}
49
+ className='mx-1 my-2'
50
+ type={button.type}
51
+ href={button.href}
52
+ />
53
+ )
54
+ );
55
+ })}
56
+ </div>
57
+ </div>
58
+ </div>
59
+ </ComponentWrapper>
60
+ );
61
+ };
62
+
63
+ export default SocialBlock;
@@ -0,0 +1,88 @@
1
+ import { action } from '@storybook/addon-actions';
2
+ import { Meta, StoryObj } from '@storybook/react';
3
+ import { idAndClassName } from '@utils/controls';
4
+
5
+ import SocialButton from '.';
6
+
7
+ const meta = {
8
+ title: 'Components/SocialButton',
9
+ component: SocialButton,
10
+ parameters: {
11
+ docs: {
12
+ description: {
13
+ component:
14
+ 'A SocialButton which can either be internal, external or social as well as a standard design or a slide design.',
15
+ },
16
+ },
17
+ },
18
+ argTypes: {
19
+ ...idAndClassName,
20
+ onClick: {
21
+ type: { name: 'function', required: false },
22
+ description: 'The action to perform when clicking on the component',
23
+ action: 'onClick',
24
+ table: {
25
+ type: {
26
+ summary: 'function',
27
+ },
28
+ defaultValue: { summary: 'undefined' },
29
+ },
30
+ },
31
+ type: {
32
+ type: {
33
+ name: 'string',
34
+ required: false,
35
+ },
36
+ options: ['facebook', 'instagram', 'github', 'linkedin'],
37
+ description: 'The type of SocialButton to render',
38
+ table: {
39
+ type: {
40
+ summary: 'default',
41
+ },
42
+ defaultValue: {
43
+ summary: 'default',
44
+ },
45
+ },
46
+ defaultValue: 'default',
47
+ control: { type: 'radio' },
48
+ },
49
+ href: {
50
+ type: { name: 'string', required: false },
51
+ description: 'The link attached to the component',
52
+ table: {
53
+ type: {
54
+ summary: 'default',
55
+ },
56
+ defaultValue: {
57
+ summary: 'undefined',
58
+ },
59
+ },
60
+ },
61
+ openInNewTab: {
62
+ type: { name: 'boolean', required: false },
63
+ description: 'Opens the link in a new tab when set to true',
64
+ defaultValue: 'false',
65
+ },
66
+ children: {
67
+ type: { name: 'other', value: 'string | React.ReactNode' },
68
+ description: 'The child elements to show in the component',
69
+ table: {
70
+ type: {
71
+ summary: 'Array',
72
+ },
73
+ defaultValue: { summary: 'undefined' },
74
+ },
75
+ },
76
+ },
77
+ args: {
78
+ type: 'facebook',
79
+ href: '/',
80
+ onClick: action('SocialButton clicked'),
81
+ },
82
+ };
83
+
84
+ export default meta;
85
+
86
+ type Story = StoryObj<typeof meta>;
87
+
88
+ export const Default: Story = {};
@@ -0,0 +1,71 @@
1
+ import React from 'react';
2
+
3
+ import Icon from '@components/Icon';
4
+ import { Colours, SocialTypes } from '@utils/controls';
5
+ import classNames from 'classnames';
6
+
7
+
8
+
9
+ export interface Props {
10
+ id?: string;
11
+ className?: string;
12
+ onClick?: React.MouseEventHandler;
13
+ type?: SocialTypes;
14
+ href?: string;
15
+ openInNewTab?: boolean;
16
+ }
17
+
18
+ const SocialButton = ({
19
+ id,
20
+ className,
21
+ onClick,
22
+ type = 'facebook',
23
+ href,
24
+ openInNewTab = false,
25
+ }: Props): JSX.Element => {
26
+ const getColours = (type: Colours): Colours => {
27
+ const typeString: string = type;
28
+ const colour: string = `interactive-${typeString}`;
29
+ return colour as Colours;
30
+ };
31
+
32
+ const classList = classNames(
33
+ style.classList,
34
+ style[type],
35
+ className,
36
+ 'theme-local',
37
+ );
38
+
39
+ const iconType = {
40
+ facebook: 'facebook-f',
41
+ instagram: 'instagram',
42
+ github: 'github',
43
+ linkedin: 'linkedin-in',
44
+ };
45
+
46
+ const typeString: string = type.toString();
47
+ return (
48
+ <a
49
+ className={style.anchor}
50
+ href={href}
51
+ aria-label={`view me on ${typeString}`}
52
+ onClick={onClick}
53
+ {...(openInNewTab && { target: '_blank' })}
54
+ >
55
+ <div id={id} className={classList}>
56
+ <Icon
57
+ type={iconType[type]}
58
+ className="mx-auto my-auto"
59
+ size={2}
60
+ brand
61
+ rounded
62
+ bgColour={type}
63
+ colour="white"
64
+ hoverBgColour={getColours(type as Colours)}
65
+ />
66
+ </div>
67
+ </a>
68
+ );
69
+ };
70
+
71
+ export default SocialButton;
@@ -0,0 +1,77 @@
1
+ .classList {
2
+ @apply flex h-16 w-16 transform rounded-full duration-500;
3
+ }
4
+
5
+ .anchor {
6
+ @apply rounded-full;
7
+ }
8
+
9
+ .facebook {
10
+ @apply bg-facebook hover:bg-interactive-facebook;
11
+ }
12
+
13
+ .instagram {
14
+ background: radial-gradient(
15
+ circle farthest-corner at 35% 90%,
16
+ #fec564,
17
+ transparent 50%
18
+ ),
19
+ radial-gradient(circle farthest-corner at 0 140%, #fec564, transparent 50%),
20
+ radial-gradient(ellipse farthest-corner at 0 -25%, #5258cf, transparent 50%),
21
+ radial-gradient(
22
+ ellipse farthest-corner at 20% -50%,
23
+ #5258cf,
24
+ transparent 50%
25
+ ),
26
+ radial-gradient(ellipse farthest-corner at 100% 0, #893dc2, transparent 50%),
27
+ radial-gradient(
28
+ ellipse farthest-corner at 60% -20%,
29
+ #893dc2,
30
+ transparent 50%
31
+ ),
32
+ radial-gradient(ellipse farthest-corner at 100% 100%, #d9317a, transparent),
33
+ linear-gradient(
34
+ #6559ca,
35
+ #bc318f 30%,
36
+ #e33f5f 50%,
37
+ #f77638 70%,
38
+ #fec66d 100%
39
+ );
40
+ }
41
+
42
+ .instagram:hover {
43
+ background: radial-gradient(
44
+ circle farthest-corner at 95% 90%,
45
+ #fec564,
46
+ transparent 50%
47
+ ),
48
+ radial-gradient(circle farthest-corner at 0 140%, #fec564, transparent 50%),
49
+ radial-gradient(ellipse farthest-corner at 0 -25%, #5258cf, transparent 50%),
50
+ radial-gradient(
51
+ ellipse farthest-corner at 20% -50%,
52
+ #5258cf,
53
+ transparent 50%
54
+ ),
55
+ radial-gradient(ellipse farthest-corner at 100% 0, #893dc2, transparent 50%),
56
+ radial-gradient(
57
+ ellipse farthest-corner at 60% -20%,
58
+ #893dc2,
59
+ transparent 50%
60
+ ),
61
+ radial-gradient(ellipse farthest-corner at 100% 100%, #d9317a, transparent),
62
+ linear-gradient(
63
+ #6559ca,
64
+ #bc318f 30%,
65
+ #e33f5f 50%,
66
+ #f77638 70%,
67
+ #fec66d 100%
68
+ );
69
+ }
70
+
71
+ .github {
72
+ @apply bg-github hover:bg-interactive-github;
73
+ }
74
+
75
+ .linkedin {
76
+ @apply bg-linkedin hover:bg-interactive-linkedin;
77
+ }
@@ -0,0 +1,23 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { idAndClassName } from '@utils/controls';
3
+
4
+ import StarRating from '.';
5
+
6
+ const meta = {
7
+ title: 'Components/Star Rating',
8
+ component: StarRating,
9
+ parameters: {},
10
+ argTypes: {
11
+ ...idAndClassName,
12
+ },
13
+ args: {
14
+ stars: 3,
15
+ size: 2,
16
+ },
17
+ };
18
+
19
+ export default meta;
20
+
21
+ type Story = StoryObj<typeof meta>;
22
+
23
+ export const Default: Story = {};
@@ -0,0 +1,71 @@
1
+ import Icon from '@components/Icon';
2
+ import classNames from 'classnames';
3
+
4
+ export interface Props {
5
+ id?: string;
6
+ className?: string;
7
+ stars?: number;
8
+ size?: number;
9
+ }
10
+
11
+ const StarRating = ({
12
+ id,
13
+ className,
14
+ stars = 1,
15
+ size = 1,
16
+ }: Props): JSX.Element => {
17
+ const classList = classNames(className, 'flex theme-local');
18
+
19
+ const getStars = (): JSX.Element[] => {
20
+ const starsArr = [];
21
+ for (let i = 0; i < stars; i++) {
22
+ starsArr.push(
23
+ <Icon
24
+ key={`checked_star_${i + 0}`}
25
+ id={`checked-${i}`}
26
+ className='checked'
27
+ type="star"
28
+ size={size}
29
+ colour="gold"
30
+ bgColour="white"
31
+ hoverColour="gold"
32
+ hoverBgColour="white"
33
+ />,
34
+ );
35
+ }
36
+ return starsArr;
37
+ };
38
+
39
+ const getStarsChecked = (): JSX.Element[] => {
40
+ const starsArr = [];
41
+ for (let i = 0; i < 5 - stars; i++) {
42
+ starsArr.push(
43
+ <Icon
44
+ key={`unchecked_star_${i + 0}`}
45
+ id={`unchecked-${i}`}
46
+ className='opacity-30 unchecked gold'
47
+ type="star"
48
+ size={size}
49
+ colour="gold"
50
+ bgColour="white"
51
+ hoverColour="gold"
52
+ hoverBgColour="white"
53
+ />,
54
+ );
55
+ }
56
+ return starsArr;
57
+ };
58
+
59
+ const getAllStars = (): JSX.Element[] => {
60
+ const starArray = [...getStars(), ...getStarsChecked()];
61
+ return starArray;
62
+ };
63
+
64
+ return (
65
+ <div id={id} className={classList}>
66
+ {getAllStars()}
67
+ </div>
68
+ );
69
+ };
70
+
71
+ export default StarRating;
@@ -0,0 +1,110 @@
1
+ import { Meta, StoryObj } from '@storybook/react';
2
+ import { idAndClassName } from '@utils/controls';
3
+
4
+ import Testimonial from '.';
5
+
6
+ const meta = {
7
+ title: 'Components/Testimonial',
8
+ component: Testimonial,
9
+ parameters: {},
10
+ argTypes: {
11
+ ...idAndClassName,
12
+ text: {
13
+ description: 'The description to display on the component',
14
+ control: 'text',
15
+ table: {
16
+ type: { summary: 'default' },
17
+ },
18
+ defaultValue: { summary: 'undefined' },
19
+ },
20
+ companyName: {
21
+ description: 'The company name to display on the component',
22
+ control: 'text',
23
+ table: {
24
+ type: { summary: 'default' },
25
+ },
26
+ defaultValue: { summary: 'undefined' },
27
+ },
28
+ positionStartDate: {
29
+ description: 'The start date to display on the component',
30
+ control: 'text',
31
+ table: {
32
+ type: { summary: 'default' },
33
+ },
34
+ defaultValue: { summary: 'undefined' },
35
+ },
36
+ positionEndDate: {
37
+ description: 'The end date to display on the component',
38
+ control: 'text',
39
+ table: {
40
+ type: { summary: 'default' },
41
+ },
42
+ defaultValue: { summary: 'undefined' },
43
+ },
44
+ position: {
45
+ description: 'The position to display on the component',
46
+ control: 'text',
47
+ table: {
48
+ type: { summary: 'default' },
49
+ },
50
+ defaultValue: { summary: 'undefined' },
51
+ },
52
+ date: {
53
+ description: 'The date of the testimonial to display on the component',
54
+ control: 'text',
55
+ table: {
56
+ type: { summary: 'default' },
57
+ },
58
+ defaultValue: { summary: 'undefined' },
59
+ },
60
+ authorsName: {
61
+ description: 'The authors name to display on the component',
62
+ control: 'text',
63
+ table: {
64
+ type: { summary: 'default' },
65
+ },
66
+ defaultValue: { summary: 'undefined' },
67
+ },
68
+ authorsPosition: {
69
+ description: 'The authors position to display on the component',
70
+ control: 'text',
71
+ table: {
72
+ type: { summary: 'default' },
73
+ },
74
+ defaultValue: { summary: 'undefined' },
75
+ },
76
+ imageProps: {
77
+ type: { name: 'other', value: 'object' },
78
+ description: 'The props to pass to the image to display on the component',
79
+ table: {
80
+ type: {
81
+ summary: 'object',
82
+ },
83
+ defaultValue: { summary: 'undefined' },
84
+ },
85
+ },
86
+ },
87
+ args: {
88
+ imageProps: {
89
+ src: 'https://picsum.photos/100/100',
90
+ height: 8,
91
+ width: 8,
92
+ roundedFull: true,
93
+ centerAligned: true,
94
+ },
95
+ authorsName: 'Authors Name',
96
+ authorsPosition: 'Authors Position',
97
+ position: 'Position',
98
+ positionEndDate: 'End Date',
99
+ positionStartDate: 'Start Date',
100
+ date: 'Date',
101
+ companyName: 'Company Name',
102
+ text: 'This is some text',
103
+ },
104
+ };
105
+
106
+ export default meta;
107
+
108
+ type Story = StoryObj<typeof meta>;
109
+
110
+ export const Default: Story = {};
@@ -0,0 +1,61 @@
1
+ import React from 'react';
2
+
3
+ import Container from '@components/Container';
4
+ import Image, { type Props as imageProps } from '@components/Image';
5
+ import classNames from 'classnames';
6
+
7
+
8
+
9
+ export interface Props {
10
+ id?: string;
11
+ className?: string;
12
+ text?: string;
13
+ imageProps?: imageProps;
14
+ companyName?: string;
15
+ position?: string;
16
+ date?: string;
17
+ positionStartDate?: string;
18
+ positionEndDate?: string;
19
+ authorsName?: string;
20
+ authorsPosition?: string;
21
+ }
22
+
23
+ const Testimonial = ({
24
+ id,
25
+ className,
26
+ text,
27
+ imageProps,
28
+ companyName,
29
+ position,
30
+ date,
31
+ positionStartDate,
32
+ positionEndDate,
33
+ authorsName,
34
+ authorsPosition,
35
+ }: Props): JSX.Element => {
36
+ const classList = classNames(className, style.classList, 'theme-local');
37
+ const src = imageProps?.src !== undefined ? imageProps?.src : '';
38
+
39
+ return (
40
+ <div id={id} className={classList}>
41
+ <Container withPadding>
42
+ <div className={style.imageWrapper}>
43
+ <Image src={src} {...imageProps} />
44
+ </div>
45
+ <div>
46
+ <h3 className={style.companyName}>{companyName}</h3>
47
+ <p className={style.position}>{position}</p>
48
+ <p className={style.dates}>
49
+ {positionStartDate} - {positionEndDate}
50
+ </p>
51
+ <p className={style.text}>{text}</p>
52
+ <p className={style.author}>
53
+ {authorsName} - {authorsPosition}: {date}
54
+ </p>
55
+ </div>
56
+ </Container>
57
+ </div>
58
+ );
59
+ };
60
+
61
+ export default Testimonial;
@@ -0,0 +1,27 @@
1
+ .classList {
2
+ @apply text-center;
3
+ }
4
+
5
+ .imageWrapper {
6
+ @apply mx-auto;
7
+ }
8
+
9
+ .companyName {
10
+ @apply text-lg font-medium;
11
+ }
12
+
13
+ .position {
14
+ @apply pt-2 text-md font-regular;
15
+ }
16
+
17
+ .dates {
18
+ @apply text-sm font-regular;
19
+ }
20
+
21
+ .text {
22
+ @apply py-4 text-md font-light;
23
+ }
24
+
25
+ .author {
26
+ @apply text-sm font-medium;
27
+ }