trepur_components 2.3.7 → 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 (335) hide show
  1. package/.eslintrc.cjs +33 -4
  2. package/.prettierignore +10 -0
  3. package/README.md +1 -1
  4. package/package.json +9 -5
  5. package/src/components/Accordion/Accordion.stories.tsx +21 -98
  6. package/src/components/Accordion/const.tsx +34 -0
  7. package/src/components/Accordion/index.tsx +19 -25
  8. package/src/components/AlertBar/AlertBar.stories.tsx +78 -84
  9. package/src/components/AlertBar/index.tsx +69 -100
  10. package/src/components/Avatar/Avatar.stories.tsx +2 -7
  11. package/src/components/Avatar/index.tsx +4 -7
  12. package/src/components/Breadcrumbs/Breadcrumbs.stories.tsx +29 -0
  13. package/src/components/Breadcrumbs/index.tsx +89 -0
  14. package/src/components/Button/Button.stories.tsx +24 -0
  15. package/src/components/Button/index.tsx +59 -0
  16. package/src/components/Calendar/Calendar.stories.tsx +21 -0
  17. package/src/components/Calendar/index.tsx +92 -0
  18. package/src/components/Card/Card.stories.tsx +14 -0
  19. package/src/components/Card/index.tsx +39 -0
  20. package/src/components/Carousel/Carousel.stories.tsx +44 -0
  21. package/src/components/Carousel/index.tsx +301 -0
  22. package/src/components/Carousel/utils.ts +53 -0
  23. package/src/components/CarouselThumbnail/CarouselThumbnail.stories.tsx +29 -0
  24. package/src/components/CarouselThumbnail/const.ts +17 -0
  25. package/src/components/CarouselThumbnail/index.tsx +169 -0
  26. package/src/components/CarouselThumbnail/utils.ts +87 -0
  27. package/src/components/Checkbox/Checkbox.stories.tsx +27 -0
  28. package/src/components/Checkbox/index.tsx +44 -0
  29. package/src/components/Collapsible/Collapsible.stories.tsx +67 -0
  30. package/src/components/Collapsible/index.tsx +169 -0
  31. package/src/components/Counter/Counter.stories.tsx +20 -0
  32. package/src/components/Counter/index.tsx +98 -0
  33. package/src/components/DetailUpdater/DetailUpdater.stories.tsx +37 -0
  34. package/{archive → src/components}/DetailUpdater/index.tsx +20 -25
  35. package/src/components/Dialog/Dialog.stories.tsx +65 -0
  36. package/src/components/Dialog/index.tsx +29 -0
  37. package/src/components/Dropdown/Dropdown.stories.tsx +22 -0
  38. package/src/components/Dropdown/index.tsx +117 -0
  39. package/src/components/Dropdown/utils.ts +15 -0
  40. package/{archive → src/components}/FileUploader/FilePreview.tsx +11 -14
  41. package/src/components/FileUploader/FileUploader.stories.tsx +28 -0
  42. package/src/components/FileUploader/index.tsx +177 -0
  43. package/src/components/Footer/Footer.stories.tsx +47 -0
  44. package/src/components/Footer/index.tsx +96 -0
  45. package/src/components/FooterNav/FooterNav.stories.tsx +32 -0
  46. package/src/components/FooterNav/index.tsx +75 -0
  47. package/{archive → src/components}/Form/Form.stories.tsx +2 -2
  48. package/src/components/Form/index.tsx +41 -0
  49. package/src/components/Gallery/Gallery.stories.tsx +39 -0
  50. package/src/components/Gallery/index.tsx +31 -0
  51. package/src/components/Greeting/Greeting.stories.tsx +16 -0
  52. package/src/components/Greeting/index.tsx +49 -0
  53. package/src/components/HamburgerIcon/HamburgerIcon.stories.tsx +14 -0
  54. package/src/components/HamburgerIcon/index.tsx +75 -0
  55. package/src/components/Icon/Icon.stories.tsx +41 -0
  56. package/src/components/Icon/index.tsx +33 -0
  57. package/src/components/Image/Image.stories.tsx +17 -0
  58. package/src/components/Image/index.tsx +25 -0
  59. package/src/components/ImageCard/ImageCard.stories.tsx +29 -0
  60. package/src/components/ImageCard/index.tsx +75 -0
  61. package/src/components/Input/Input.stories.tsx +25 -0
  62. package/src/components/Input/index.tsx +139 -0
  63. package/{archive → src/components}/MenuButton/MenuButton.stories.tsx +2 -2
  64. package/src/components/MenuButton/index.tsx +66 -0
  65. package/{archive → src/components}/Modal/Modal.stories.tsx +4 -8
  66. package/{archive → src/components}/Modal/index.tsx +9 -12
  67. package/src/components/Nav/Nav.stories.tsx +80 -0
  68. package/src/components/Nav/index.tsx +171 -0
  69. package/src/components/NavItem/NavItem.stories.tsx +17 -0
  70. package/src/components/NavItem/index.tsx +39 -0
  71. package/src/components/Pill/Pill.stories.tsx +51 -0
  72. package/src/components/Pill/index.tsx +69 -0
  73. package/{archive → src/components}/Search/Search.stories.tsx +2 -2
  74. package/{archive → src/components}/Search/index.tsx +12 -16
  75. package/{archive → src/components}/Select/Select.stories.tsx +2 -3
  76. package/{archive → src/components}/Select/index.tsx +21 -30
  77. package/{archive → src/components}/Showcase/Showcase.stories.tsx +4 -3
  78. package/src/components/Showcase/index.tsx +62 -0
  79. package/{archive → src/components}/SideNav/SideNav.stories.tsx +2 -2
  80. package/{archive → src/components}/SideNav/index.tsx +8 -15
  81. package/{archive → src/components}/SocialButton/SocialButton.stories.tsx +2 -2
  82. package/{archive → src/components}/SocialButton/index.tsx +14 -22
  83. package/src/components/SplitCard/SplitCard.stories.tsx +34 -0
  84. package/src/components/SplitCard/index.tsx +132 -0
  85. package/src/components/Stars/Star.stories.tsx +18 -0
  86. package/src/components/Stars/index.tsx +38 -0
  87. package/src/components/Testimonial/Testimonial.stories.tsx +37 -0
  88. package/src/components/Testimonial/index.tsx +123 -0
  89. package/src/components/TextArea/TextArea.stories.tsx +24 -0
  90. package/src/components/TextArea/index.tsx +133 -0
  91. package/src/components/Timeline/Timeline.stories.tsx +45 -0
  92. package/src/components/Timeline/index.tsx +65 -0
  93. package/src/components/Tubestops/Tubestops.stories.tsx +22 -0
  94. package/src/components/Tubestops/index.tsx +132 -0
  95. package/src/components/Video/Video.stories.tsx +58 -0
  96. package/src/components/Video/assets/example.mp4 +0 -0
  97. package/src/components/Video/assets/example.ogv +0 -0
  98. package/src/components/Video/assets/example.webm +0 -0
  99. package/src/components/Video/index.tsx +92 -0
  100. package/src/components/index.ts +66 -112
  101. package/src/custom.d.ts +14 -0
  102. package/src/documentation/Colours.mdx +34 -34
  103. package/src/documentation/Introduction.mdx +9 -5
  104. package/src/documentation/assets/index.ts +3 -0
  105. package/src/documentation/assets/trepurComponentsLogo.svg +32 -0
  106. package/src/documentation/typography/Fonts/Fonts.stories.tsx +14 -0
  107. package/src/documentation/typography/Fonts/Fonts.tsx +73 -0
  108. package/src/styles/global.css +1 -1
  109. package/src/styles/themes/local.css +91 -39
  110. package/src/styles/themes/test.css +28 -0
  111. package/src/utils/screens.ts +1 -1
  112. package/tailwind/colors.ts +53 -385
  113. package/tailwind/preset.ts +4 -0
  114. package/tailwind.config.ts +12 -80
  115. package/tsconfig.json +8 -2
  116. package/archive/Breadcrumbs/Breadcrumbs.stories.tsx +0 -46
  117. package/archive/Breadcrumbs/index.tsx +0 -42
  118. package/archive/BreadcrumbsBordered/BreadcrumbsBordered.stories.tsx +0 -52
  119. package/archive/BreadcrumbsBordered/index.tsx +0 -44
  120. package/archive/BreadcrumbsItem/BreadcrumbsItem.stories.tsx +0 -40
  121. package/archive/BreadcrumbsItem/index.tsx +0 -149
  122. package/archive/Button/Button.stories.tsx +0 -150
  123. package/archive/Button/index.tsx +0 -111
  124. package/archive/Button/style.module.css +0 -76
  125. package/archive/Calendar/Calendar.stories.tsx +0 -82
  126. package/archive/Calendar/index.tsx +0 -76
  127. package/archive/Card/Card.stories.tsx +0 -75
  128. package/archive/Card/index.tsx +0 -102
  129. package/archive/Card/style.module.css +0 -75
  130. package/archive/CardWithTopImage/CardWithTopImage.stories.tsx +0 -50
  131. package/archive/CardWithTopImage/index.tsx +0 -39
  132. package/archive/CardWithTopImage/style.module.css +0 -11
  133. package/archive/Carousel/Carousel.stories.tsx +0 -451
  134. package/archive/Carousel/index.tsx +0 -388
  135. package/archive/Carousel/style.module.css +0 -99
  136. package/archive/CarouselThumbnail/CarouselThumbnail.stories.tsx +0 -350
  137. package/archive/CarouselThumbnail/index.tsx +0 -302
  138. package/archive/CarouselThumbnail/style.module.css +0 -67
  139. package/archive/Checkbox/Checkbox.stories.tsx +0 -34
  140. package/archive/Checkbox/index.tsx +0 -51
  141. package/archive/Checkbox/style.module.css +0 -15
  142. package/archive/Collapsible/Collapsible.stories.tsx +0 -67
  143. package/archive/Collapsible/index.tsx +0 -116
  144. package/archive/Collapsible/style.module.css +0 -47
  145. package/archive/Column/Column.stories.tsx +0 -89
  146. package/archive/Column/index.tsx +0 -119
  147. package/archive/Column/style.module.css +0 -151
  148. package/archive/ComponentWrapper/ComponentWrapper.stories.tsx +0 -40
  149. package/archive/ComponentWrapper/index.tsx +0 -55
  150. package/archive/ComponentWrapper/style.module.css +0 -40
  151. package/archive/Container/Container.stories.tsx +0 -40
  152. package/archive/Container/index.tsx +0 -24
  153. package/archive/Container/style.module.css +0 -4
  154. package/archive/Counter/Counter.stories.tsx +0 -19
  155. package/archive/Counter/index.tsx +0 -66
  156. package/archive/Counter/style.module.css +0 -19
  157. package/archive/DetailUpdater/DetailUpdater.stories.tsx +0 -96
  158. package/archive/DetailUpdater/style.module.css +0 -31
  159. package/archive/Dialog/Dialog.stories.tsx +0 -131
  160. package/archive/Dialog/index.tsx +0 -91
  161. package/archive/Dialog/style.module.css +0 -44
  162. package/archive/DropdownMenu/DropdownMenu.stories.tsx +0 -59
  163. package/archive/DropdownMenu/index.tsx +0 -51
  164. package/archive/DropdownMenu/style.module.css +0 -38
  165. package/archive/DynamicTextSection/DynamicTextSection.stories.tsx +0 -74
  166. package/archive/DynamicTextSection/index.tsx +0 -36
  167. package/archive/DynamicTextSection/style.module.css +0 -0
  168. package/archive/FileUploader/FileUploader.stories.tsx +0 -28
  169. package/archive/FileUploader/index.tsx +0 -135
  170. package/archive/FileUploader/style.module.css +0 -54
  171. package/archive/FilterItem/FilterItem.stories.tsx +0 -33
  172. package/archive/FilterItem/index.tsx +0 -101
  173. package/archive/FilterItem/style.module.css +0 -27
  174. package/archive/Footer/Footer.stories.tsx +0 -59
  175. package/archive/Footer/index.tsx +0 -50
  176. package/archive/Footer/style.module.css +0 -19
  177. package/archive/FooterNav/FooterNav.stories.tsx +0 -125
  178. package/archive/FooterNav/index.tsx +0 -57
  179. package/archive/FooterNav/style.module.css +0 -32
  180. package/archive/FooterNavItem/FooterNavItem.stories.tsx +0 -53
  181. package/archive/FooterNavItem/index.tsx +0 -80
  182. package/archive/FooterNavItem/style.module.css +0 -139
  183. package/archive/Form/index.tsx +0 -61
  184. package/archive/Form/style.module.css +0 -0
  185. package/archive/FyreCard/FyreCard.stories.tsx +0 -31
  186. package/archive/FyreCard/index.tsx +0 -52
  187. package/archive/FyreCard/style.module.css +0 -19
  188. package/archive/Greeting/Greeting.stories.tsx +0 -41
  189. package/archive/Greeting/index.tsx +0 -32
  190. package/archive/HamburgerIcon/HamburgerIcon.stories.tsx +0 -32
  191. package/archive/HamburgerIcon/index.tsx +0 -103
  192. package/archive/HamburgerIcon/style.module.css +0 -85
  193. package/archive/HorizontalLine/HorizontalLine.stories.tsx +0 -54
  194. package/archive/HorizontalLine/index.tsx +0 -40
  195. package/archive/HorizontalLine/style.module.css +0 -55
  196. package/archive/Icon/Icon.stories.tsx +0 -164
  197. package/archive/Icon/index.tsx +0 -115
  198. package/archive/Icon/style.module.css +0 -253
  199. package/archive/IconCard/IconCard.stories.tsx +0 -46
  200. package/archive/IconCard/index.tsx +0 -57
  201. package/archive/IconCard/style.module.css +0 -18
  202. package/archive/Image/Image.stories.tsx +0 -87
  203. package/archive/Image/index.tsx +0 -132
  204. package/archive/Image/style.module.css +0 -109
  205. package/archive/ImageInfo/ImageInfo.stories.tsx +0 -39
  206. package/archive/ImageInfo/index.tsx +0 -95
  207. package/archive/ImageInfo/style.module.css +0 -47
  208. package/archive/ImageLink/ImageLink.stories.tsx +0 -37
  209. package/archive/ImageLink/index.tsx +0 -49
  210. package/archive/ImageLink/style.module.css +0 -23
  211. package/archive/ImageLinkList/ImageLinkList.stories.tsx +0 -34
  212. package/archive/ImageLinkList/index.tsx +0 -33
  213. package/archive/ImageLinkList/style.module.css +0 -3
  214. package/archive/InformationIcon/InformationIcon.stories.tsx +0 -83
  215. package/archive/InformationIcon/index.tsx +0 -128
  216. package/archive/InformationIcon/style.module.css +0 -71
  217. package/archive/InformationIconBlock/InformationIconBlock.stories.tsx +0 -32
  218. package/archive/InformationIconBlock/index.tsx +0 -63
  219. package/archive/InformationIconBlock/style.module.css +0 -7
  220. package/archive/Input/Input.stories.tsx +0 -84
  221. package/archive/Input/index.tsx +0 -131
  222. package/archive/Input/style.module.css +0 -60
  223. package/archive/Jumbotron/Jumbotron.stories.tsx +0 -21
  224. package/archive/Jumbotron/index.tsx +0 -31
  225. package/archive/Jumbotron/style.module.css +0 -8
  226. package/archive/MenuButton/index.tsx +0 -82
  227. package/archive/MenuButton/style.module.css +0 -45
  228. package/archive/Modal/style.module.css +0 -35
  229. package/archive/NavItem/NavItem.stories.tsx +0 -90
  230. package/archive/NavItem/index.tsx +0 -65
  231. package/archive/NavItem/style.module.css +0 -71
  232. package/archive/NavOld/NavOld.stories.tsx +0 -193
  233. package/archive/NavOld/StickyNav.tsx +0 -191
  234. package/archive/NavOld/index.tsx +0 -273
  235. package/archive/NavOld/style.module.css +0 -156
  236. package/archive/NavTwo/Dropdown.tsx +0 -35
  237. package/archive/NavTwo/Nav.stories.tsx +0 -38
  238. package/archive/NavTwo/Sidebar.tsx +0 -34
  239. package/archive/NavTwo/StickyNav.tsx +0 -34
  240. package/archive/NavTwo/index.tsx +0 -45
  241. package/archive/NavTwo/style.module.css +0 -35
  242. package/archive/NewsCard/NewsCard.stories.tsx +0 -72
  243. package/archive/NewsCard/index.tsx +0 -57
  244. package/archive/NewsCard/style.module.css +0 -15
  245. package/archive/Pill/Pill.stories.tsx +0 -44
  246. package/archive/Pill/index.tsx +0 -64
  247. package/archive/Pill/style.module.css +0 -32
  248. package/archive/ProductCard/ProductCard.stories.tsx +0 -61
  249. package/archive/ProductCard/index.tsx +0 -111
  250. package/archive/ProductCard/style.module.css +0 -53
  251. package/archive/ProductCardV2/ProductCardV2.stories.tsx +0 -50
  252. package/archive/ProductCardV2/index.tsx +0 -119
  253. package/archive/ProductCardV2/style.module.css +0 -59
  254. package/archive/Proficiencies/Proficiencies.stories.tsx +0 -50
  255. package/archive/Proficiencies/index.tsx +0 -63
  256. package/archive/Proficiencies/style.module.css +0 -31
  257. package/archive/Profile/Profile.stories.tsx +0 -49
  258. package/archive/Profile/index.tsx +0 -103
  259. package/archive/Profile/style.module.css +0 -47
  260. package/archive/Row/Row.stories.tsx +0 -53
  261. package/archive/Row/index.tsx +0 -23
  262. package/archive/Row/style.module.css +0 -3
  263. package/archive/Search/style.module.css +0 -23
  264. package/archive/Select/style.module.css +0 -52
  265. package/archive/Showcase/index.tsx +0 -75
  266. package/archive/Showcase/style.module.css +0 -47
  267. package/archive/SideNav/style.module.css +0 -43
  268. package/archive/SocialBlock/SocialBlock.stories.tsx +0 -58
  269. package/archive/SocialBlock/index.tsx +0 -63
  270. package/archive/SocialButton/style.module.css +0 -77
  271. package/archive/StarRating/StarRating.stories.tsx +0 -23
  272. package/archive/StarRating/index.tsx +0 -71
  273. package/archive/Testimonial/Testimonial.stories.tsx +0 -110
  274. package/archive/Testimonial/index.tsx +0 -61
  275. package/archive/Testimonial/style.module.css +0 -27
  276. package/archive/TextAndTitle/TextAndTitle.stories.tsx +0 -70
  277. package/archive/TextAndTitle/index.tsx +0 -123
  278. package/archive/TextAndTitle/style.module.css +0 -75
  279. package/archive/TextArea/TextArea.stories.tsx +0 -55
  280. package/archive/TextArea/index.tsx +0 -125
  281. package/archive/TextArea/style.module.css +0 -60
  282. package/archive/Timeline/Timeline.stories.tsx +0 -92
  283. package/archive/Timeline/index.tsx +0 -254
  284. package/archive/Timeline/style.module.css +0 -134
  285. package/archive/TimelineV2/TimelineV2.stories.tsx +0 -95
  286. package/archive/TimelineV2/index.tsx +0 -70
  287. package/archive/TimelineV2/style.module.css +0 -28
  288. package/archive/Tubestops/Tubestops.stories.tsx +0 -42
  289. package/archive/Tubestops/index.tsx +0 -58
  290. package/archive/Tubestops/style.module.css +0 -54
  291. package/archive/UserIcon/UserIcon.stories.tsx +0 -52
  292. package/archive/UserIcon/index.tsx +0 -46
  293. package/archive/UserIcon/style.module.css +0 -19
  294. package/archive/Video/Video.stories.tsx +0 -23
  295. package/archive/Video/index.tsx +0 -47
  296. package/archive/theme.ts +0 -39
  297. package/archive/typography/Fonts/Fonts.stories.tsx +0 -14
  298. package/archive/typography/Fonts/Fonts.tsx +0 -181
  299. package/lib/components/Accordion/Accordion.stories.d.ts +0 -94
  300. package/lib/components/Accordion/index.d.ts +0 -8
  301. package/lib/components/Accordion/index.js +0 -15
  302. package/lib/components/AlertBar/AlertBar.stories.d.ts +0 -162
  303. package/lib/components/AlertBar/index.d.ts +0 -12
  304. package/lib/components/AlertBar/index.js +0 -49
  305. package/lib/components/Avatar/Avatar.stories.d.ts +0 -44
  306. package/lib/components/Avatar/index.d.ts +0 -4
  307. package/lib/components/index.d.ts +0 -4
  308. package/lib/index.d.ts +0 -1
  309. package/lib/index.js +0 -6
  310. package/lib/styles/global.css +0 -75
  311. package/lib/styles/themes/local.css +0 -40
  312. package/lib/styles/themes/palette.css +0 -131
  313. package/lib/tailwind/boxShadow.ts +0 -9
  314. package/lib/tailwind/colors.ts +0 -410
  315. package/lib/tailwind/container.ts +0 -11
  316. package/lib/tailwind/preset.ts +0 -88
  317. package/lib/tailwind/spacing.ts +0 -14
  318. package/lib/utils/controls.d.ts +0 -36
  319. package/lib/utils/matchMedia.d.ts +0 -2
  320. package/lib/utils/screens.d.ts +0 -7
  321. package/src/styles/themes/palette.css +0 -131
  322. package/svg.d.ts +0 -4
  323. /package/{archive → src/components}/Calendar/style.css +0 -0
  324. /package/{archive → src/components}/Checkbox/Checkbox.mdx +0 -0
  325. /package/{archive → src}/fonts/Sora/OFL.txt +0 -0
  326. /package/{archive → src}/fonts/Sora/README.txt +0 -0
  327. /package/{archive → src}/fonts/Sora/Sora-VariableFont_wght.ttf +0 -0
  328. /package/{archive → src}/fonts/Sora/static/Sora-Bold.ttf +0 -0
  329. /package/{archive → src}/fonts/Sora/static/Sora-ExtraBold.ttf +0 -0
  330. /package/{archive → src}/fonts/Sora/static/Sora-ExtraLight.ttf +0 -0
  331. /package/{archive → src}/fonts/Sora/static/Sora-Light.ttf +0 -0
  332. /package/{archive → src}/fonts/Sora/static/Sora-Medium.ttf +0 -0
  333. /package/{archive → src}/fonts/Sora/static/Sora-Regular.ttf +0 -0
  334. /package/{archive → src}/fonts/Sora/static/Sora-SemiBold.ttf +0 -0
  335. /package/{archive → src}/fonts/Sora/static/Sora-Thin.ttf +0 -0
@@ -1,115 +0,0 @@
1
- import React from 'react';
2
-
3
- import { type Colours } from '@utils/controls';
4
- import classNames from 'classnames';
5
-
6
-
7
-
8
- export interface Props {
9
- id?: string;
10
- className?: string;
11
- type: string;
12
- size?: number;
13
- animation?: 'pulse' | 'none';
14
- reverseSpin?: boolean;
15
- hollow?: boolean;
16
- colour?: Colours;
17
- bgColour?: Colours;
18
- hoverColour?: Colours;
19
- hoverBgColour?: Colours;
20
- rounded?: boolean;
21
- brand?: boolean;
22
-
23
- onClick?: (e?: any) => void;
24
- }
25
-
26
- const Icon = ({
27
- id,
28
- className,
29
- type,
30
- size = 1,
31
- animation = 'none',
32
- reverseSpin = false,
33
- hollow = false,
34
- colour = 'primary',
35
- bgColour = 'transparent',
36
- hoverColour = colour,
37
- hoverBgColour = bgColour,
38
- rounded = false,
39
- brand = false,
40
- onClick,
41
- }: Props): JSX.Element => {
42
- const colourString: string = colour;
43
- const hoverColourString: string = hoverColour;
44
- const bgColourString: string = bgColour;
45
- const hoverBgColourString: string = hoverBgColour;
46
-
47
- const fontColourKey =
48
- typeof colourString === 'string'
49
- ? `text${colourString.charAt(0).toUpperCase()}${colourString.slice(1)}`
50
- : 'textPrimary';
51
- const backgroundColourKey =
52
- typeof bgColourString === 'string'
53
- ? `bg${bgColourString.charAt(0).toUpperCase()}${bgColourString.slice(1)}`
54
- : 'bgTransparent';
55
- const hoverFontColourKey =
56
- typeof hoverColourString === 'string'
57
- ? `hoverText${hoverColourString
58
- .charAt(0)
59
- .toUpperCase()}${hoverColourString.slice(1)}`
60
- : 'hoverTextPrimary';
61
- const hoverBackgroundColourKey =
62
- typeof hoverBgColourString === 'string'
63
- ? `hoverBg${hoverBgColourString
64
- .charAt(0)
65
- .toUpperCase()}${hoverBgColourString.slice(1)}`
66
- : 'hoverBgTransparent';
67
-
68
- const wrapperClassList = classNames(
69
- {
70
- [style.sizeOne]: size === 1,
71
- [style.sizeTwo]: size === 2,
72
- [style.sizeThree]: size === 3,
73
- [style.sizeFour]: size === 4,
74
- [style.sizeFive]: size === 5,
75
- [style.sizeSix]: size === 6,
76
- [style.sizeSeven]: size === 7,
77
- [style.sizeEight]: size === 8,
78
- [style.sizeNine]: size === 9,
79
- [style.sizeTen]: size === 10,
80
- [style.rounded]: rounded,
81
- },
82
- className,
83
- style.wrapperClassList,
84
- style[backgroundColourKey],
85
- style[fontColourKey],
86
- style[hoverBackgroundColourKey],
87
- style[hoverFontColourKey],
88
- 'transition-backgroundColor duration-500 transform theme-local',
89
- );
90
-
91
- const classList = classNames(
92
- {
93
- 'fa-brands': brand,
94
- [`fa-${size}x`]: size,
95
- [`fa-${animation}`]: animation,
96
- 'fa-spin-reverse': reverseSpin,
97
- 'fa-regular': hollow,
98
- [style.rounded]: rounded,
99
- },
100
- `${style.classList} fa fa-${type}`,
101
- );
102
-
103
- return (
104
- <div id={id} className={wrapperClassList} onClick={onClick}>
105
- <span
106
- className={classList}
107
- role="img"
108
- aria-hidden="true"
109
- aria-label={type}
110
- />
111
- </div>
112
- );
113
- };
114
-
115
- export default Icon;
@@ -1,253 +0,0 @@
1
- .classList {
2
- @apply mx-auto my-auto;
3
- }
4
-
5
- .sizeOne {
6
- @apply h-6 w-6;
7
- }
8
-
9
- .sizeTwo {
10
- @apply h-8 w-8;
11
- }
12
-
13
- .sizeThree {
14
- @apply h-16 w-16;
15
- }
16
-
17
- .sizeFour {
18
- @apply h-20 w-20;
19
- }
20
-
21
- .sizeFive {
22
- @apply h-24 w-24;
23
- }
24
-
25
- .sizeSix {
26
- @apply h-28 w-28;
27
- }
28
-
29
- .sizeSeven {
30
- @apply h-32 w-32;
31
- }
32
-
33
- .sizeEight {
34
- @apply h-36 w-36;
35
- }
36
-
37
- .sizeNine {
38
- @apply h-40 w-40;
39
- }
40
-
41
- .sizeTen {
42
- @apply h-44 w-44;
43
- }
44
-
45
- /* .sizeTen {
46
- @apply w-48 h-48;
47
- } */
48
-
49
- .rounded {
50
- @apply rounded-full;
51
- }
52
-
53
- .wrapperClassList {
54
- @apply flex transform duration-500;
55
- }
56
-
57
- .textTransparent {
58
- @apply text-transparent;
59
- }
60
- .textPrimary {
61
- @apply text-primary;
62
- }
63
- .textSecondary {
64
- @apply text-secondary;
65
- }
66
- .textWhite {
67
- @apply text-white;
68
- }
69
- .textBlack {
70
- @apply text-black;
71
- }
72
- .textGold {
73
- @apply text-gold;
74
- }
75
- .textGrey {
76
- @apply text-light-grey;
77
- }
78
- .textFacebook {
79
- @apply text-facebook;
80
- }
81
- .textInteractive-facebook {
82
- @apply text-interactive-facebook;
83
- }
84
- .textSuccess {
85
- @apply text-success;
86
- }
87
- .textError {
88
- @apply text-error;
89
- }
90
-
91
- .bgTransparent {
92
- @apply bg-transparent;
93
- }
94
- .bgPrimary {
95
- @apply bg-primary;
96
- }
97
- .bgSecondary {
98
- @apply bg-secondary;
99
- }
100
- .bgWhite {
101
- @apply bg-white;
102
- }
103
- .bglack {
104
- @apply bg-black;
105
- }
106
- .bgGold {
107
- @apply bg-gold;
108
- }
109
- .bgGrey {
110
- @apply bg-light-grey;
111
- }
112
- .bgFacebook {
113
- @apply bg-facebook;
114
- }
115
- .bgInteractive-facebook {
116
- @apply bg-interactive-facebook;
117
- }
118
- .bgSuccess {
119
- @apply bg-success;
120
- }
121
- .bgError {
122
- @apply bg-error;
123
- }
124
-
125
- .hoverTextTransparent {
126
- @apply hover:text-transparent;
127
- }
128
- .hoverTextPrimary {
129
- @apply hover:text-primary;
130
- }
131
- .hoverTextSecondary {
132
- @apply hover:text-secondary;
133
- }
134
- .hoverTextWhite {
135
- @apply hover:text-white;
136
- }
137
- .hoverTextlack {
138
- @apply hover:text-black;
139
- }
140
- .hoverTextGold {
141
- @apply hover:text-gold;
142
- }
143
- .hoverTextGrey {
144
- @apply hover:text-light-grey;
145
- }
146
- .hoverTextFacebook {
147
- @apply hover:text-facebook;
148
- }
149
- .hoverTextInteractive-facebook {
150
- @apply hover:text-interactive-facebook;
151
- }
152
- .hoverTextSuccess {
153
- @apply hover:text-success;
154
- }
155
- .hoverTextError {
156
- @apply hover:text-error;
157
- }
158
-
159
- .hoverBgTransparent {
160
- @apply hover:bg-transparent;
161
- }
162
- .hoverBgPrimary {
163
- @apply hover:bg-primary;
164
- }
165
- .hoverBgSecondary {
166
- @apply hover:bg-secondary;
167
- }
168
- .hoverBgWhite {
169
- @apply hover:bg-white;
170
- }
171
- .hoverBglack {
172
- @apply hover:bg-black;
173
- }
174
- .hoverBgGold {
175
- @apply hover:bg-gold;
176
- }
177
- .hoverBgGrey {
178
- @apply hover:bg-light-grey;
179
- }
180
- .hoverBgFacebook {
181
- @apply hover:bg-facebook;
182
- }
183
- .hoverBgInteractive-facebook {
184
- @apply hover:bg-interactive-facebook;
185
- }
186
- .hoverBgSuccess {
187
- @apply hover:bg-success;
188
- }
189
- .hoverBgError {
190
- @apply hover:bg-error;
191
- }
192
-
193
- .focusTextPrimary {
194
- @apply focus:text-primary;
195
- }
196
- .focusTextSecondary {
197
- @apply focus:text-secondary;
198
- }
199
- .focusTextWhite {
200
- @apply focus:text-white;
201
- }
202
- .focusTextlack {
203
- @apply focus:text-black;
204
- }
205
- .focusTextGold {
206
- @apply focus:text-gold;
207
- }
208
- .focusTextGrey {
209
- @apply focus:text-light-grey;
210
- }
211
- .focusTextFacebook {
212
- @apply focus:text-facebook;
213
- }
214
- .focusTextInteractive-facebook {
215
- @apply focus:text-interactive-facebook;
216
- }
217
- .focusTextSuccess {
218
- @apply focus:text-success;
219
- }
220
- .focusTextError {
221
- @apply focus:text-error;
222
- }
223
-
224
- .focusBgPrimary {
225
- @apply focus:bg-primary;
226
- }
227
- .focusBgSecondary {
228
- @apply focus:bg-secondary;
229
- }
230
- .focusBgWhite {
231
- @apply focus:bg-white;
232
- }
233
- .focusBglack {
234
- @apply focus:bg-black;
235
- }
236
- .focusBgGold {
237
- @apply focus:bg-gold;
238
- }
239
- .focusBgGrey {
240
- @apply focus:bg-light-grey;
241
- }
242
- .focusBgFacebook {
243
- @apply focus:bg-facebook;
244
- }
245
- .focusBgInteractive-facebook {
246
- @apply focus:bg-interactive-facebook;
247
- }
248
- .focusBgSuccess {
249
- @apply focus:bg-success;
250
- }
251
- .focusBgError {
252
- @apply focus:bg-error;
253
- }
@@ -1,46 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import IconCard from '.';
5
-
6
- const meta = {
7
- title: 'Components/IconCard',
8
- component: IconCard,
9
- argTypes: {
10
- ...idAndClassName,
11
- title: {
12
- description: '',
13
- table: {},
14
- },
15
- description: {
16
- description: '',
17
- table: {},
18
- },
19
- href: {
20
- description: '',
21
- table: {},
22
- },
23
- target: {
24
- description: '',
25
- table: {},
26
- },
27
- iconProps: {
28
- description: '',
29
- table: {},
30
- },
31
- },
32
- args: {
33
- title: 'This is a title',
34
- description:
35
- 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fuga excepturi itaque in. Debitis et velit explicabo id quo repellendus architecto hic quis repellat corporis cumque dolorem officiis animi, dicta praesentium.',
36
- iconProps: {
37
- size: 2,
38
- type: 'unlock-keyhole',
39
- },
40
- },
41
- };
42
- export default meta;
43
-
44
- type Story = StoryObj<typeof meta>;
45
-
46
- export const Default: Story = {};
@@ -1,57 +0,0 @@
1
- import React from 'react';
2
-
3
- import Icon, { type Props as IconProps } from '@components/Icon';
4
- import classNames from 'classnames';
5
-
6
-
7
-
8
- interface AnchorAttributes
9
- extends Partial<
10
- Pick<JSX.IntrinsicElements['a'], 'href' | 'title' | 'target'>
11
- > {}
12
-
13
- export interface Props {
14
- id?: string;
15
- className?: string;
16
- title: string;
17
- description: string;
18
- iconProps: IconProps;
19
-
20
- href?: string;
21
- target?: string;
22
- onClick?: () => void;
23
- }
24
-
25
- const IconCard: React.FC<Props> = ({
26
- id,
27
- className,
28
- title,
29
- description,
30
- iconProps,
31
-
32
- href,
33
- target,
34
- onClick,
35
- }: Props): JSX.Element => {
36
- const classList = classNames(style.wrapper, className, 'theme-local');
37
-
38
- let Tag: keyof Pick<JSX.IntrinsicElements, 'a' | 'div'> = 'div';
39
- let attributes: AnchorAttributes = {};
40
-
41
- if (Boolean(href) || Boolean(target)) {
42
- Tag = 'a';
43
- attributes = { href, title, target };
44
- }
45
-
46
- return (
47
- <Tag id={id} className={classList} onClick={onClick} {...attributes}>
48
- <div className={style.iconWrapper}>
49
- <Icon {...iconProps} size={2} />
50
- </div>
51
- <p className={style.title}>{title}</p>
52
- <p className={style.description}>{description}</p>
53
- </Tag>
54
- );
55
- };
56
-
57
- export default IconCard;
@@ -1,18 +0,0 @@
1
- .wrapper {
2
- @apply flex flex-col;
3
- @apply bg-white hover:bg-lightest-grey;
4
- @apply cursor-pointer shadow-xl drop-shadow;
5
- @apply mx-auto my-auto w-full rounded-2xl p-4;
6
- }
7
-
8
- .iconWrapper {
9
- @apply py-2;
10
- }
11
-
12
- .title {
13
- @apply pt-6 text-md font-semiBold text-ink;
14
- }
15
-
16
- .description {
17
- @apply text-light-grey;
18
- }
@@ -1,87 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import Image from '.';
5
-
6
- const meta = {
7
- title: 'Components/Image',
8
- component: Image,
9
- argTypes: {
10
- ...idAndClassName,
11
- image: {
12
- type: { name: 'string', required: false },
13
- description: 'The image to display on the component',
14
- table: {
15
- type: { summary: 'default' },
16
- },
17
- },
18
- altText: {
19
- type: { name: 'string', required: false },
20
- description: 'The accessibility alt text for the image on the component',
21
- table: {
22
- type: { summary: 'default' },
23
- },
24
- },
25
- title: {
26
- type: { name: 'string', required: false },
27
- description: 'The accessibility title for the image on the component',
28
- table: {
29
- type: { summary: 'default' },
30
- },
31
- },
32
- rounded: {
33
- type: { name: 'boolean', required: false },
34
- description: 'Sets the corners of the component to rounded',
35
- table: {
36
- type: { summary: 'boolean' },
37
- },
38
- },
39
- roundedFull: {
40
- type: { name: 'boolean', required: false },
41
- description: 'Sets the component to a circle shape',
42
- table: {
43
- type: { summary: 'boolean' },
44
- },
45
- },
46
- height: {
47
- type: { name: 'number', required: false },
48
- description: 'Defines the height of the component',
49
- table: {
50
- type: { summary: 'number' },
51
- },
52
- },
53
- width: {
54
- type: { name: 'number', required: false },
55
- description: 'Defines the width of the component',
56
- table: {
57
- type: { summary: 'number' },
58
- },
59
- },
60
- overlayText: {
61
- type: { name: 'string', required: false },
62
- description: 'The text to show when hovering over the component',
63
- table: {
64
- type: { summary: 'default' },
65
- },
66
- },
67
- centerAligned: {
68
- type: { name: 'boolean', required: false },
69
- description: 'Sets the component to the center',
70
- table: {
71
- type: { summary: 'boolean' },
72
- },
73
- },
74
- },
75
- args: {
76
- src: 'https://picsum.photos/200/200',
77
- height: 8,
78
- width: 8,
79
- overlayText: 'logo',
80
- },
81
- };
82
-
83
- export default meta;
84
-
85
- type Story = StoryObj<typeof meta>;
86
-
87
- export const Default: Story = {};
@@ -1,132 +0,0 @@
1
- import React, { useState } from 'react';
2
-
3
- import classNames from 'classnames';
4
-
5
-
6
-
7
- export interface Props {
8
- id?: string;
9
- className?: string;
10
- src: string;
11
- altText?: string;
12
- title?: string;
13
- rounded?: boolean;
14
- roundedFull?: boolean;
15
- height?: number;
16
- width?: number;
17
- overlayText?: string;
18
- centerAligned?: boolean;
19
- bordered?: boolean;
20
- }
21
-
22
- const Image = ({
23
- id,
24
- className,
25
- src,
26
- altText,
27
- title,
28
- rounded = false,
29
- roundedFull = false,
30
- height = 8,
31
- width = 8,
32
- overlayText,
33
- centerAligned = false,
34
- bordered = false,
35
- }: Props): JSX.Element => {
36
- const [isHovering, setIsHovering] = useState(false);
37
- const opacity = classNames({
38
- [style.visible]: isHovering,
39
- [style.invisible]: !isHovering,
40
- });
41
-
42
- const widthClassList = classNames({
43
- [style.width1]: width === 1,
44
- [style.width2]: width === 2,
45
- [style.width3]: width === 3,
46
- [style.width4]: width === 4,
47
- [style.width5]: width === 5,
48
- [style.width6]: width === 6,
49
- [style.width7]: width === 7,
50
- [style.width8]: width === 8,
51
- [style.width9]: width === 9,
52
- [style.width10]: width === 10,
53
- [style.width11]: width === 11,
54
- [style.width12]:
55
- width === undefined ||
56
- ![1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].includes(width),
57
- });
58
-
59
- const heightClassList = classNames({
60
- [style.height1]: height === 1,
61
- [style.height2]: height === 2,
62
- [style.height3]: height === 3,
63
- [style.height4]: height === 4,
64
- [style.height5]: height === 5,
65
- [style.height6]: height === 6,
66
- [style.height7]: height === 7,
67
- [style.height8]: height === 8,
68
- [style.height9]: height === 9,
69
- [style.height10]: height === 10,
70
- [style.height11]: height === 11,
71
- [style.height12]:
72
- height === undefined ||
73
- ![1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].includes(height),
74
- });
75
-
76
- const imageClassList = classNames(
77
- {
78
- [style.rounded]: rounded,
79
- [style.roundedFull]: roundedFull,
80
- [style.centerAligned]: centerAligned,
81
- [style.bordered]: bordered,
82
- },
83
- className,
84
- widthClassList,
85
- heightClassList,
86
- 'theme-local',
87
- );
88
-
89
- const overlayClassList = classNames(
90
- widthClassList,
91
- heightClassList,
92
- opacity,
93
- style.overlayClassList,
94
- );
95
-
96
- const overlayTextWrapperClassList = classNames(
97
- widthClassList,
98
- heightClassList,
99
- opacity,
100
- style.overlayTextWrapperClassList,
101
- );
102
-
103
- return (
104
- <div className={imageClassList}>
105
- {overlayText !== undefined && (
106
- <>
107
- <div className={overlayClassList} />
108
- <div
109
- className={overlayTextWrapperClassList}
110
- onMouseEnter={() => {
111
- setIsHovering(true);
112
- }}
113
- onMouseLeave={() => {
114
- setIsHovering(false);
115
- }}
116
- >
117
- <p className={style.overlayTextClassList}>{overlayText}</p>
118
- </div>
119
- </>
120
- )}
121
- <img
122
- id={id}
123
- className={imageClassList}
124
- src={src}
125
- alt={altText ?? overlayText}
126
- title={title ?? overlayText}
127
- />
128
- </div>
129
- );
130
- };
131
-
132
- export default Image;