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,52 +0,0 @@
1
- import React from 'react';
2
-
3
- import Button, { type Props as buttonProps } from '@components/Button';
4
- import classNames from 'classnames';
5
-
6
-
7
-
8
- export interface Props {
9
- id?: string;
10
- className?: string;
11
- image?: string;
12
- imageClass?: string;
13
- altText?: string;
14
- bordered?: string;
15
- buttonProps?: buttonProps;
16
- }
17
-
18
- const FyreCard = ({
19
- id,
20
- className,
21
- image,
22
- imageClass,
23
- altText,
24
- bordered,
25
- buttonProps,
26
- }: Props): JSX.Element => {
27
- const classList = classNames(
28
- {
29
- [style.bordered]: bordered,
30
- },
31
- className,
32
- style.classList,
33
- );
34
- const imageClassList = classNames(imageClass, style.imageClassList);
35
-
36
- return (
37
- <div key={id} id={id} className={classList}>
38
- <div
39
- className={classNames(style.cardContent, 'card-content theme-local')}
40
- >
41
- <div>
42
- <img className={imageClassList} src={image} alt={altText} />
43
- </div>
44
- <div className={style.buttonWrapper}>
45
- <Button {...buttonProps}>{buttonProps?.children}</Button>
46
- </div>
47
- </div>
48
- </div>
49
- );
50
- };
51
-
52
- export default FyreCard;
@@ -1,19 +0,0 @@
1
- .classList {
2
- @apply flex flex-col;
3
- }
4
-
5
- .cardContent {
6
- @apply flex flex-1 flex-col;
7
- }
8
-
9
- .buttonWrapper {
10
- @apply flex justify-end;
11
- }
12
-
13
- .bordered {
14
- @apply border border-grey border-opacity-100;
15
- }
16
-
17
- .imageClassList {
18
- @apply w-full;
19
- }
@@ -1,41 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import Greeting from '.';
5
-
6
- const meta = {
7
- title: 'Components/Greeting',
8
- component: Greeting,
9
- argTypes: {
10
- ...idAndClassName,
11
- morningMessage: {
12
- type: { name: 'string', required: false },
13
- description: 'Defines the morning message for the greeting component',
14
- table: {
15
- type: { summary: 'string' },
16
- },
17
- },
18
- afternoonMessage: {
19
- type: { name: 'string', required: false },
20
- description: 'Defines the afternoon message for the greeting component',
21
- table: {
22
- type: { summary: 'string' },
23
- },
24
- },
25
- eveningMessage: {
26
- type: { name: 'string', required: false },
27
- description: 'Defines the evening message for the greeting component',
28
- table: {
29
- type: { summary: 'string' },
30
- },
31
- },
32
- },
33
- args: {
34
- morningMessage: 'What a beautiful morning it is today',
35
- },
36
- };
37
- export default meta;
38
-
39
- type Story = StoryObj<typeof meta>;
40
-
41
- export const Default: Story = {};
@@ -1,32 +0,0 @@
1
- export interface Props {
2
- id?: string;
3
- className?: string;
4
- morningMessage?: string;
5
- afternoonMessage?: string;
6
- eveningMessage?: string;
7
- }
8
-
9
- const Greeting = ({
10
- morningMessage = 'Good morning',
11
- afternoonMessage = 'Good afternoon',
12
- eveningMessage = 'Good evening',
13
- }: Props): string => {
14
- const today = new Date();
15
- const hours = `0${today.getHours().toString()}`.slice(-2);
16
- const minutes = `0${today.getMinutes().toString()}`.slice(-2);
17
- const seconds = `0${today.getSeconds().toString()}`.slice(-2);
18
- const time = parseInt(`${hours}${minutes}${seconds}`);
19
-
20
- let message = '';
21
- if (time < 120000) {
22
- message = morningMessage;
23
- } else if (time > 115959 && time < 170000) {
24
- message = afternoonMessage;
25
- } else if (time > 165959) {
26
- message = eveningMessage;
27
- }
28
-
29
- return message;
30
- };
31
-
32
- export default Greeting;
@@ -1,32 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import HamburgerIcon from '.';
5
-
6
- const meta = {
7
- title: 'Components/Hamburger Icon',
8
- component: HamburgerIcon,
9
- parameters: {
10
- docs: {
11
- description: {
12
- component: 'An icon component',
13
- },
14
- },
15
- layout: 'padded',
16
- },
17
- argTypes: {
18
- ...idAndClassName,
19
-
20
- onClick: {
21
- type: { name: 'function', required: false },
22
- description: 'Function to be called when the button is clicked',
23
- table: { type: { summary: 'function' } },
24
- },
25
- },
26
- };
27
-
28
- export default meta;
29
-
30
- type Story = StoryObj<typeof meta>;
31
-
32
- export const Default: Story = {};
@@ -1,103 +0,0 @@
1
- import React, { useState } from 'react';
2
-
3
- import Button from '@components/Button';
4
- import classNames from 'classnames';
5
-
6
-
7
-
8
- export interface Props extends Partial<Pick<HTMLElement, 'className' | 'id'>> {
9
- onClick?: React.MouseEventHandler;
10
- variant?: 'primary' | 'secondary' | 'tertiary';
11
- }
12
-
13
- const HamburgerIcon = ({
14
- id,
15
- className,
16
- onClick,
17
- variant = 'primary',
18
- }: Props): JSX.Element => {
19
- const [opened, setOpened] = useState(false);
20
- const classList = classNames(
21
- {
22
- [style.hamburgerIconSecondary]: variant === 'secondary',
23
- [style.hamburgerIconPrimary]: variant === 'primary',
24
- [style.hamburgerIconTertiary]: variant === 'tertiary',
25
- },
26
- className,
27
- 'theme-local',
28
- );
29
-
30
- const lineOneClassList = classNames(
31
- {
32
- [style.lineOneOpened]: opened,
33
- },
34
- style.lineOne,
35
- 'transition-transform',
36
- );
37
-
38
- const lineTwoClassList = classNames(
39
- {
40
- [style.lineTwoOpened]: opened,
41
- [style.lineTwoClosed]: !opened,
42
- },
43
- style.lineTwo,
44
- 'transition-opacity',
45
- );
46
-
47
- const lineThreeClassList = classNames(
48
- {
49
- [style.lineThreeOpened]: opened,
50
- },
51
- style.lineThree,
52
- 'transition-transform',
53
- );
54
-
55
- const toggleOpened = (e: any): void => {
56
- setOpened(!opened);
57
- onClick?.(e);
58
- };
59
-
60
- return (
61
- <Button
62
- id={id}
63
- className={classList}
64
- onClick={(e) => {
65
- toggleOpened(e);
66
- }}
67
- variant={variant}
68
- type="icon"
69
- label="Mobile menu toggle"
70
- >
71
- <svg
72
- className={classNames(
73
- {
74
- [style.svgPrimary]: variant === 'primary',
75
- [style.svgSecondary]: variant === 'secondary',
76
- [style.svgTertiary]: variant === 'tertiary',
77
- },
78
- style.svg,
79
- 'transition-backgroundColor',
80
- )}
81
- width="24"
82
- height="24"
83
- viewBox="0 0 24 15"
84
- xmlns="http://www.w3.org/2000/svg"
85
- >
86
- <path
87
- className={lineOneClassList}
88
- d="M0 1.5C0 0.947715 0.447715 0.5 1 0.5H21C21.5523 0.5 22 0.947715 22 1.5C22 2.05228 21.5523 2.5 21 2.5H1C0.447716 2.5 0 2.05228 0 1.5Z"
89
- />
90
- <path
91
- className={lineTwoClassList}
92
- d="M0 7.5C0 6.94772 0.447715 6.5 1 6.5H21C21.5523 6.5 22 6.94772 22 7.5C22 8.05228 21.5523 8.5 21 8.5H1C0.447716 8.5 0 8.05228 0 7.5Z"
93
- />
94
- <path
95
- className={lineThreeClassList}
96
- d="M0 13.5C0 12.9477 0.447715 12.5 1 12.5H21C21.5523 12.5 22 12.9477 22 13.5C22 14.0523 21.5523 14.5 21 14.5H1C0.447716 14.5 0 14.0523 0 13.5Z"
97
- />
98
- </svg>
99
- </Button>
100
- );
101
- };
102
-
103
- export default HamburgerIcon;
@@ -1,85 +0,0 @@
1
- .hamburgerIconPrimary path {
2
- @apply transition-all duration-500;
3
- @apply outline-none;
4
- @apply fill-secondary;
5
- }
6
-
7
- .hamburgerIconPrimary:hover path {
8
- @apply fill-primary;
9
- }
10
-
11
- .hamburgerIconPrimary:focus:active path {
12
- @apply fill-primary;
13
- }
14
-
15
- .hamburgerIconSecondary path {
16
- @apply transition-all duration-500;
17
- @apply outline-none;
18
- @apply fill-primary;
19
- }
20
-
21
- .hamburgerIconSecondary:hover path {
22
- @apply fill-secondary;
23
- }
24
-
25
- .hamburgerIconSecondary:focus:active path {
26
- @apply fill-secondary;
27
- }
28
-
29
- .hamburgerIconTertiary path {
30
- @apply transition-all duration-500;
31
- @apply outline-none;
32
- @apply fill-secondary;
33
- }
34
-
35
- .hamburgerIconTertiary:hover path {
36
- @apply fill-tertiary;
37
- }
38
-
39
- .hamburgerIconTertiary:focus:active path {
40
- @apply fill-tertiary;
41
- }
42
-
43
- .lineOneOpened {
44
- @apply origin-top-left -translate-y-0.5 translate-x-1 rotate-45;
45
- }
46
-
47
- .lineTwoOpened {
48
- @apply opacity-0;
49
- }
50
-
51
- .lineTwoClosed {
52
- @apply opacity-100;
53
- }
54
-
55
- .lineThreeOpened {
56
- @apply origin-bottom-left translate-x-1 translate-y-px -rotate-45;
57
- }
58
-
59
- .lineOne {
60
- @apply origin-top-left duration-200 ease-linear;
61
- }
62
-
63
- .lineTwo {
64
- @apply duration-200 ease-linear;
65
- }
66
-
67
- .lineThree {
68
- @apply origin-bottom-left duration-200 ease-linear;
69
- }
70
-
71
- .svg {
72
- @apply mx-auto transform overflow-visible duration-500;
73
- }
74
-
75
- .svgPrimary {
76
- @apply fill-secondary;
77
- }
78
-
79
- .svgSecondary {
80
- @apply fill-secondary;
81
- }
82
-
83
- .svgTertiary {
84
- @apply fill-tertiary;
85
- }
@@ -1,54 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import HorizontalLine from '.';
5
-
6
- const meta = {
7
- title: 'Components/HorizontalLine',
8
- component: HorizontalLine,
9
- argTypes: {
10
- ...idAndClassName,
11
-
12
- colour: {
13
- description: 'The colour of the component',
14
- control: 'select',
15
- table: {
16
- type: { summary: 'select' },
17
- defaultValue: { summary: 'primary' },
18
- },
19
- defaultValue: 'primary',
20
- },
21
- topLine: {
22
- description: 'Adds margin underneath the component',
23
- control: 'boolean',
24
- table: {
25
- type: { summary: 'boolean' },
26
- defaultValue: { summary: 'false' },
27
- },
28
- defaultValue: 'false',
29
- },
30
- bottomLine: {
31
- description: 'Adds margin above the component',
32
- control: 'boolean',
33
- table: {
34
- type: { summary: 'boolean' },
35
- defaultValue: { summary: 'false' },
36
- },
37
- defaultValue: 'false',
38
- },
39
- middleLine: {
40
- description: 'Adds margin above and below the component',
41
- control: 'boolean',
42
- table: {
43
- type: { summary: 'boolean' },
44
- defaultValue: { summary: 'false' },
45
- },
46
- defaultValue: 'false',
47
- },
48
- },
49
- };
50
- export default meta;
51
-
52
- type Story = StoryObj<typeof meta>;
53
-
54
- export const Default: Story = {};
@@ -1,40 +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
- colour?: Colours;
12
- topLine?: boolean;
13
- bottomLine?: boolean;
14
- middleLine?: boolean;
15
- }
16
-
17
- const HorizontalLine = ({
18
- id,
19
- className,
20
- colour = 'primary',
21
- topLine = false,
22
- bottomLine = false,
23
- middleLine = false,
24
- }: Props): JSX.Element => {
25
- const classList = classNames(
26
- {
27
- [style.topLine]: topLine,
28
- [style.bottomLine]: bottomLine,
29
- [style.middleLine]: middleLine,
30
- },
31
- className,
32
- style[colour],
33
- style.classList,
34
- 'theme-local',
35
- );
36
-
37
- return <hr id={id} className={classList} />;
38
- };
39
-
40
- export default HorizontalLine;
@@ -1,55 +0,0 @@
1
- .classList {
2
- @apply my-0 h-0.5 border-none py-0;
3
- }
4
-
5
- .topLine {
6
- @apply mb-6;
7
- }
8
-
9
- .bottomLine {
10
- @apply mt-6;
11
- }
12
-
13
- .middleLine {
14
- @apply my-6;
15
- }
16
-
17
- .primary {
18
- @apply bg-primary;
19
- }
20
-
21
- .secondary {
22
- @apply bg-secondary;
23
- }
24
-
25
- .ink {
26
- @apply bg-ink;
27
- }
28
-
29
- .white {
30
- @apply bg-white;
31
- }
32
-
33
- .grey {
34
- @apply bg-lightest-grey;
35
- }
36
-
37
- .gold {
38
- @apply bg-gold;
39
- }
40
-
41
- .success {
42
- @apply bg-success;
43
- }
44
-
45
- .warning {
46
- @apply bg-warning;
47
- }
48
-
49
- .info {
50
- @apply bg-info-light;
51
- }
52
-
53
- .error {
54
- @apply bg-error;
55
- }
@@ -1,164 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import Icon from '.';
5
-
6
- const meta = {
7
- title: 'Components/Icon',
8
- component: Icon,
9
- argTypes: {
10
- ...idAndClassName,
11
- type: {
12
- options: [
13
- 'heart',
14
- 'arrow-up',
15
- 'arrow-down',
16
- 'multiply',
17
- 'burger',
18
- 'bars',
19
- 'facebook',
20
- 'instagram',
21
- ],
22
- type: { name: 'string', required: false },
23
- description: 'The name of the icon to display in the component',
24
- table: {
25
- type: { summary: 'string' },
26
- },
27
- control: 'select',
28
- },
29
- size: {
30
- type: { name: 'number', required: false },
31
- description: 'The size of the icon to show in the component',
32
- table: {
33
- type: { summary: 'number' },
34
- },
35
- },
36
- animation: {
37
- type: { name: 'string', required: false },
38
- options: ['none', 'pulse', 'spin', 'beat'],
39
- description: 'Type of annimation to apply to the component',
40
- table: {
41
- type: { summary: 'string' },
42
- },
43
- control: 'select',
44
- },
45
- reverseSpin: {
46
- type: { name: 'boolean', required: false },
47
- description: 'To reverse the animation on the component',
48
- table: {
49
- type: { summary: 'boolean' },
50
- },
51
- defaultValue: 'false',
52
- },
53
- hollow: {
54
- type: { name: 'boolean', required: false },
55
- description: 'To render a hollow version of the icon in component',
56
- table: {
57
- type: { summary: 'boolean' },
58
- },
59
- defaultValue: 'false',
60
- },
61
- colour: {
62
- type: { name: 'string', required: false },
63
- options: [
64
- 'primary',
65
- 'secondary',
66
- 'white',
67
- 'black',
68
- 'gold',
69
- 'facebook',
70
- 'interactive-facebook',
71
- ],
72
- description: 'The font colour of the component',
73
- table: {
74
- type: { summary: 'string' },
75
- },
76
- defaultValue: 'primary',
77
- control: 'select',
78
- },
79
- bgColour: {
80
- type: { name: 'string', required: false },
81
- options: [
82
- 'primary',
83
- 'secondary',
84
- 'white',
85
- 'black',
86
- 'gold',
87
- 'facebook',
88
- 'interactive-facebook',
89
- ],
90
- description: 'The background colour of the component',
91
- table: {
92
- type: { summary: 'string' },
93
- },
94
- defaultValue: 'secondary',
95
- control: 'select',
96
- },
97
- hoverColour: {
98
- type: { name: 'string', required: false },
99
- options: [
100
- 'primary',
101
- 'secondary',
102
- 'white',
103
- 'black',
104
- 'gold',
105
- 'facebook',
106
- 'interactive-facebook',
107
- ],
108
- description: 'The font colour of the component',
109
- table: {
110
- type: { summary: 'string' },
111
- },
112
- defaultValue: 'primary',
113
- control: 'select',
114
- },
115
- hoverBgColour: {
116
- type: { name: 'string', required: false },
117
- options: [
118
- 'primary',
119
- 'secondary',
120
- 'white',
121
- 'black',
122
- 'gold',
123
- 'facebook',
124
- 'interactive-facebook',
125
- ],
126
- description: 'The background colour of the component',
127
- table: {
128
- type: { summary: 'string' },
129
- },
130
- defaultValue: 'secondary',
131
- control: 'select',
132
- },
133
- rounded: {
134
- type: { name: 'boolean', required: false },
135
- description: 'Sets the component to a circle shape',
136
- table: {
137
- type: { summary: 'boolean' },
138
- },
139
- defaultValue: 'false',
140
- },
141
- brand: {
142
- type: { name: 'boolean', required: false },
143
- description: 'Set to true if the icon type to render is a brand image',
144
- table: {
145
- type: { summary: 'boolean' },
146
- },
147
- defaultValue: 'false',
148
- },
149
- },
150
- args: {
151
- type: 'heart',
152
- size: 1,
153
- colour: 'primary',
154
- bgColour: 'white',
155
- hoverColour: 'primary',
156
- hoverBgColour: 'white',
157
- },
158
- };
159
-
160
- export default meta;
161
-
162
- type Story = StoryObj<typeof meta>;
163
-
164
- export const Default: Story = {};