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,254 +0,0 @@
1
- import React from 'react';
2
-
3
- import Column from '@components/Column';
4
- import ComponentWrapper from '@components/ComponentWrapper';
5
- import Image from '@components/Image';
6
- import Row from '@components/Row';
7
- import { type Colours } from '@utils/controls';
8
- import classNames from 'classnames';
9
-
10
-
11
-
12
- export interface Props {
13
- id?: string;
14
- className?: string;
15
- title?: string;
16
- description?: string;
17
- bgColour?: Colours;
18
- isHorizontal?: boolean;
19
- items?: object[];
20
- reverse?: boolean;
21
- textCenter?: boolean;
22
- useImages?: boolean;
23
- horizontalComponentClasses?: string;
24
- isSm?: boolean;
25
- }
26
-
27
- const Timeline = ({
28
- id,
29
- className,
30
- title,
31
- description,
32
- bgColour,
33
- isHorizontal = false,
34
- items,
35
- reverse = false,
36
- textCenter,
37
- useImages = true,
38
- horizontalComponentClasses,
39
- isSm = false,
40
- }: Props): JSX.Element => {
41
- const classList = classNames(className, style.classList, 'theme-local');
42
- const ulClasses = classNames(
43
- {
44
- [`${style.ulHorizontal} none-reverse`]: !reverse && isHorizontal,
45
- [`${style.ul} none-reverse`]: !reverse && !isHorizontal,
46
- [`${style.ulHorizontalReverse} reverse`]: reverse && isHorizontal,
47
- [`${style.ulVerticalReverse} reverse`]: reverse && !isHorizontal,
48
- },
49
- className,
50
- style.ulClassList,
51
- 'status-flow timeline',
52
- );
53
-
54
- const liClasses = classNames(
55
- {
56
- [style.textCenter]: textCenter,
57
- [style.liHorizontal]: !reverse && isHorizontal,
58
- [`${style.li} none-reverse`]: !reverse && !isHorizontal,
59
- [style.liHorizontalReverse]: reverse && isHorizontal,
60
- [style.liVerticalReverse]: reverse && !isHorizontal,
61
- },
62
- style.liClassList,
63
- 'status-flow-item',
64
- );
65
-
66
- const circle = classNames(
67
- {
68
- 'horizontal collapse': isHorizontal && isSm,
69
- horizontal: isHorizontal && !isSm,
70
- vertical: !isHorizontal,
71
- },
72
- style.circle,
73
- );
74
-
75
- return (
76
- <ComponentWrapper
77
- id={id}
78
- className={classList}
79
- title={title}
80
- description={description}
81
- bgColour={bgColour}
82
- >
83
- <div className={ulClasses}>
84
- {items?.map((item: any, i: number) => {
85
- let before;
86
- if (i % 2 === 0) {
87
- before = true;
88
- } else {
89
- before = false;
90
- }
91
-
92
- let circlePos;
93
- if (items.length - 1 > 0) {
94
- if (i === 0) circlePos = 'first-circle';
95
- else if (i === items.length - 1) circlePos = 'last-circle';
96
- else circlePos = 'circle';
97
- }
98
-
99
- let verticalCircleStylesBefore;
100
- if (circlePos === 'circle' && isSm) {
101
- verticalCircleStylesBefore = style.circleVerticalCollapseBefore;
102
- } else if (circlePos === 'circle' && !isSm) {
103
- verticalCircleStylesBefore = style.circleVerticalBefore;
104
- } else if (circlePos === 'last-circle' && isSm) {
105
- verticalCircleStylesBefore = style.lastCircleVerticalCollapseBefore;
106
- } else if (circlePos === 'last-circle' && !isSm) {
107
- verticalCircleStylesBefore = style.lastCircleVerticalBefore;
108
- }
109
-
110
- let verticalCircleStylesAfter;
111
- if (circlePos === 'circle' && isSm) {
112
- verticalCircleStylesAfter = style.circleVerticalCollapseAfter;
113
- } else if (circlePos === 'circle' && !isSm) {
114
- verticalCircleStylesAfter = style.circleVerticalAfter;
115
- } else if (circlePos === 'first-circle' && isSm) {
116
- verticalCircleStylesAfter = style.firstCircleVerticalCollapseAfter;
117
- } else if (circlePos === 'first-circle' && !isSm) {
118
- verticalCircleStylesAfter = style.firstCircleVerticalAfter;
119
- }
120
-
121
- let horizontalCircleStylesBefore;
122
- if (circlePos === 'circle' && isSm) {
123
- horizontalCircleStylesBefore = style.circleHorizontalCollapseBefore;
124
- } else if (circlePos === 'circle' && !isSm) {
125
- horizontalCircleStylesBefore = style.circleHorizontalBefore;
126
- } else if (circlePos === 'last-circle' && isSm) {
127
- horizontalCircleStylesBefore =
128
- style.lastCircleHorizontalCollapseBefore;
129
- } else if (circlePos === 'last-circle' && !isSm) {
130
- horizontalCircleStylesBefore = style.lastCircleHorizontalBefore;
131
- }
132
-
133
- let horizontalCircleStylesAfter;
134
- if (circlePos === 'circle' && isSm) {
135
- horizontalCircleStylesAfter = style.circleHorizontalCollapseAfter;
136
- } else if (circlePos === 'circle' && !isSm) {
137
- horizontalCircleStylesAfter = style.circleHorizontalAfter;
138
- } else if (circlePos === 'first-circle' && isSm) {
139
- horizontalCircleStylesAfter =
140
- style.firstCircleHorizontalCollapseAfter;
141
- } else if (circlePos === 'first-circle' && !isSm) {
142
- horizontalCircleStylesAfter = style.firstCircleHorizontalAfter;
143
- }
144
-
145
- const horizonalComponentClassList = classNames(
146
- horizontalComponentClasses,
147
- 'pt-12',
148
- );
149
- if (isHorizontal) {
150
- return (
151
- <Column
152
- key={`horizontal_col_${i + 0}`}
153
- id="timeline-item"
154
- className={`${liClasses} mb-8 py-4`}
155
- >
156
- <Row className={horizontalComponentClasses}>
157
- {before && item.component}
158
- </Row>
159
- <Row>
160
- {useImages ? (
161
- <div
162
- id={circlePos}
163
- className={
164
- isHorizontal ? 'horizontal my-0 py-0' : 'vertical'
165
- }
166
- >
167
- <span className={horizontalCircleStylesBefore} />
168
- <Image
169
- {...item.centerImageProps}
170
- className={style.imageProps}
171
- />
172
- <span className={horizontalCircleStylesAfter} />
173
- </div>
174
- ) : (
175
- <p id={circlePos} className={circle} />
176
- )}
177
- </Row>
178
- <Row className={horizonalComponentClassList}>
179
- {!before && item.component}
180
- </Row>
181
- </Column>
182
- );
183
- } else {
184
- return (
185
- <Row
186
- key={`vertical_row_${i + 0}`}
187
- id="timeline-item"
188
- className={`${liClasses} py-4`}
189
- >
190
- {!isSm && (
191
- <Column
192
- sm={5}
193
- md={5}
194
- lg={5}
195
- xl={5}
196
- className="my-auto text-center"
197
- >
198
- {before && item.component}
199
- </Column>
200
- )}
201
- <Column
202
- sm={2}
203
- md={2}
204
- lg={2}
205
- xl={2}
206
- id="circle-wrapper"
207
- className="my-auto"
208
- >
209
- {useImages ? (
210
- <div id={circlePos} className="vertical">
211
- <span className={verticalCircleStylesBefore} />
212
- <Image
213
- {...item.centerImageProps}
214
- className={style.imageProps}
215
- />
216
- <span className={verticalCircleStylesAfter} />
217
- </div>
218
- ) : (
219
- <p id={circlePos} className={circle} />
220
- )}
221
- </Column>
222
- {/* TODO: combine below - issue with sm div */}
223
- {isSm && (
224
- <Column
225
- sm={10}
226
- md={10}
227
- lg={10}
228
- xl={10}
229
- className="my-auto text-center"
230
- >
231
- {item.component}
232
- </Column>
233
- )}
234
- {!isSm && (
235
- <Column
236
- sm={5}
237
- md={5}
238
- lg={5}
239
- xl={5}
240
- className="my-auto text-center"
241
- >
242
- {!before && item.component}
243
- </Column>
244
- )}
245
- </Row>
246
- );
247
- }
248
- })}
249
- </div>
250
- </ComponentWrapper>
251
- );
252
- };
253
-
254
- export default Timeline;
@@ -1,134 +0,0 @@
1
- .classList {
2
- @apply w-full list-none pb-4;
3
- }
4
-
5
- .circle {
6
- @apply mx-auto my-16 h-4 w-4 rounded-full border bg-black text-center;
7
- }
8
-
9
- .liClassList {
10
- @apply relative flex flex-auto flex-row leading-tight;
11
- }
12
-
13
- .liVerticalReverse {
14
- @apply flex-row-reverse;
15
- }
16
-
17
- .liHorizontalReverse {
18
- @apply flex-col-reverse items-center;
19
- }
20
-
21
- .li {
22
- @apply flex-row;
23
- }
24
-
25
- .liHorizontal {
26
- @apply flex-col items-center justify-between;
27
- }
28
-
29
- .textCenter {
30
- @apply text-center;
31
- }
32
-
33
- .ulClassList {
34
- @apply relative flex list-none pl-0;
35
- }
36
-
37
- .ulVerticalReverse {
38
- @apply flex-col;
39
- }
40
-
41
- .ulHorizontalReverse {
42
- @apply flex-row justify-between;
43
- }
44
-
45
- .ul {
46
- @apply flex-col;
47
- }
48
-
49
- .ulHorizontal {
50
- @apply flex-row justify-between;
51
- }
52
-
53
- /* Vertical */
54
- .circleVerticalBefore {
55
- @apply absolute top-0 block h-1/2 border-2 border-solid border-primary;
56
- content: '';
57
- left: 49.9%;
58
- }
59
-
60
- .circleVerticalAfter {
61
- @apply absolute bottom-0 block h-1/2 border-2 border-solid border-primary;
62
- content: '';
63
- left: 49.9%;
64
- }
65
-
66
- .firstCircleVerticalAfter {
67
- @apply absolute bottom-0 block h-1/2 border-2 border-solid border-primary;
68
- content: '';
69
- left: 49.9%;
70
- }
71
-
72
- .lastCircleVerticalBefore {
73
- @apply absolute top-0 block h-1/2 border-2 border-solid border-primary;
74
- content: '';
75
- left: 49.9%;
76
- }
77
-
78
- /* V - collapse*/
79
- .circleVerticalCollapseBefore {
80
- @apply absolute top-0 block h-1/2 border-2 border-solid border-primary;
81
- content: '';
82
- left: 8.2%;
83
- }
84
-
85
- .circleVerticalCollapseAfter {
86
- @apply absolute bottom-0 block h-1/2 border-2 border-solid border-primary;
87
- content: '';
88
- left: 8.2%;
89
- }
90
-
91
- .firstCircleVerticalCollapseAfter {
92
- @apply absolute bottom-0 block h-1/2 border-2 border-solid border-primary;
93
- content: '';
94
- left: 8.2%;
95
- }
96
-
97
- .lastCircleVerticalCollapseBefore {
98
- @apply absolute top-0 block h-1/2 border-2 border-solid border-primary;
99
- content: '';
100
- left: 8.2%;
101
- }
102
-
103
- /* Horizontal */
104
- .circleHorizontalBefore {
105
- @apply absolute top-1/2 block border-2 border-solid border-primary;
106
- content: '';
107
- width: 70%;
108
- left: -8%;
109
- }
110
-
111
- .circleHorizontalAfter {
112
- @apply absolute top-1/2 block border-2 border-solid border-primary;
113
- content: '';
114
- width: 70%;
115
- right: -12%;
116
- }
117
-
118
- .firstCircleHorizontalAfter {
119
- @apply absolute top-1/2 block border-2 border-solid border-primary;
120
- content: '';
121
- width: 60%;
122
- right: -12%;
123
- }
124
-
125
- .lastCircleHorizontalBefore {
126
- @apply absolute top-1/2 block border-2 border-solid border-primary;
127
- content: '';
128
- width: 55%;
129
- left: -8%;
130
- }
131
-
132
- .imageProps {
133
- @apply relative z-10;
134
- }
@@ -1,95 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import TimelineV2 from '.';
5
-
6
- const meta = {
7
- title: 'Components/TimelineV2',
8
- component: TimelineV2,
9
- parameters: {},
10
- argTypes: {
11
- ...idAndClassName,
12
-
13
- isHorizontal: {
14
- description: '',
15
- control: 'boolean',
16
- table: {
17
- category: '',
18
- },
19
- },
20
- useImages: {
21
- description: '',
22
- control: 'boolean',
23
- table: {
24
- category: '',
25
- },
26
- },
27
- items: {
28
- description: '',
29
- control: 'array',
30
- table: {
31
- category: '',
32
- },
33
- },
34
- },
35
- args: {
36
- title: 'This is a timeline',
37
- description: 'What do you think to it?',
38
- items: [
39
- {
40
- preText:
41
- 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laudantium ratione optio ipsa repellat voluptatum in reiciendis corrupti officiis similique aliquid ex voluptas placeat autem blanditiis doloribus nisi, accusantium hic.',
42
- title:
43
- 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laudantium ratione optio ipsa repellat voluptatum in reiciendis corrupti officiis similique aliquid ex voluptas placeat autem blanditiis doloribus nisi, accusantium hic.',
44
- subtitle:
45
- 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Nam laudantium ratione optio ipsa repellat voluptatum in reiciendis corrupti officiis similique aliquid ex voluptas placeat autem blanditiis doloribus nisi, accusantium hic.',
46
- imageProps: {
47
- src: 'https://picsum.photos/101/100',
48
- },
49
- children:
50
- 'Lorem ipsum dolor sit amet consectetur, adipisicing elit. Laboriosam culpa dolores animi voluptatum dolore ducimus illum ad magni iste adipisci, officiis, pariatur architecto tenetur cupiditate rem minima itaque nostrum voluptate.',
51
- },
52
- {
53
- title: 'Title 2',
54
- subtitle: 'Subtitle 2',
55
- imageProps: {
56
- src: 'https://picsum.photos/100/101',
57
- },
58
- children:
59
- 'Lorem ipsum dolor sit amet consectetur, adipisicing elit. Laboriosam culpa dolores animi voluptatum dolore ducimus illum ad magni iste adipisci, officiis, pariatur architecto tenetur cupiditate rem minima itaque nostrum voluptate.',
60
- },
61
- {
62
- title: 'Title 3',
63
- subtitle: 'Subtitle 3',
64
- imageProps: {
65
- src: 'https://picsum.photos/102/100',
66
- },
67
- children:
68
- 'Lorem ipsum dolor sit amet consectetur, adipisicing elit. Laboriosam culpa dolores animi voluptatum dolore ducimus illum ad magni iste adipisci, officiis, pariatur architecto tenetur cupiditate rem minima itaque nostrum voluptate.',
69
- },
70
- {
71
- title: 'Title 4',
72
- subtitle: 'Subtitle 4',
73
- imageProps: {
74
- src: 'https://picsum.photos/100/102',
75
- },
76
- children:
77
- 'Lorem ipsum dolor sit amet consectetur, adipisicing elit. Laboriosam culpa dolores animi voluptatum dolore ducimus illum ad magni iste adipisci, officiis, pariatur architecto tenetur cupiditate rem minima itaque nostrum voluptate.',
78
- },
79
- {
80
- title: 'Title 5',
81
- subtitle: 'Subtitle 5',
82
- imageProps: {
83
- src: 'https://picsum.photos/102/101',
84
- },
85
- children:
86
- 'Lorem ipsum dolor sit amet consectetur, adipisicing elit. Laboriosam culpa dolores animi voluptatum dolore ducimus illum ad magni iste adipisci, officiis, pariatur architecto tenetur cupiditate rem minima itaque nostrum voluptate.',
87
- },
88
- ],
89
- },
90
- };
91
- export default meta;
92
-
93
- type Story = StoryObj<typeof meta>;
94
-
95
- export const Default: Story = {};
@@ -1,70 +0,0 @@
1
- import Collapsible from '@components/Collapsible';
2
- import ComponentWrapper from '@components/ComponentWrapper';
3
- import { type Props as ImageProps } from '@components/Image';
4
- import { type Colours } from '@utils/controls';
5
- import classNames from 'classnames';
6
-
7
-
8
-
9
- interface Item {
10
- preText?: string;
11
- title?: string;
12
- subtitle?: string;
13
- children: any;
14
- imageProps: ImageProps;
15
- }
16
-
17
- export interface Props {
18
- id?: string;
19
- className?: string;
20
- title?: string;
21
- description?: string;
22
- bgColour?: Colours;
23
- items?: Item[];
24
- }
25
-
26
- const TimelineV2 = ({
27
- id,
28
- className,
29
- title,
30
- description,
31
- bgColour,
32
- items,
33
- }: Props): JSX.Element => {
34
- const classList = classNames(className, style.classList, 'theme-local');
35
-
36
- return (
37
- <ComponentWrapper
38
- id={id}
39
- className={classList}
40
- title={title}
41
- description={description}
42
- bgColour={bgColour}
43
- >
44
- {items?.map((item, i: number) => {
45
- return (
46
- <div className={style.item} key={`timeline_${i}`}>
47
- <div className={style.lineWrapper}>
48
- <p className={style.circle} />
49
- <div
50
- className={i !== items.length - 1 ? style.line : style.blank}
51
- />
52
- </div>
53
- <div className={style.collapsible}>
54
- <Collapsible
55
- preText={item.preText}
56
- title={item.title}
57
- subtitle={item.subtitle}
58
- imageProps={item.imageProps}
59
- >
60
- {item.children}
61
- </Collapsible>
62
- </div>
63
- </div>
64
- );
65
- })}
66
- </ComponentWrapper>
67
- );
68
- };
69
-
70
- export default TimelineV2;
@@ -1,28 +0,0 @@
1
- .classList {
2
- @apply w-full list-none pb-4;
3
- }
4
-
5
- .item {
6
- @apply flex;
7
- }
8
-
9
- .lineWrapper {
10
- @apply hidden sm:block;
11
- }
12
-
13
- .circle {
14
- @apply z-10 m-auto mt-12 h-4 w-4 rounded-full bg-light-grey;
15
- }
16
-
17
- .line {
18
- @apply m-auto h-full w-1 bg-light-grey;
19
- }
20
-
21
- .blank {
22
- @apply border-r-2 border-transparent;
23
- content: '';
24
- }
25
-
26
- .collapsible {
27
- @apply my-2 w-full rounded-2xl bg-white sm:ml-8;
28
- }
@@ -1,42 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import Tubestops from '.';
5
-
6
- const meta = {
7
- title: 'Components/Tubestops',
8
- component: Tubestops,
9
- argTypes: {
10
- ...idAndClassName,
11
- items: {
12
- description:
13
- 'An array of strings, one per stop. To add a stop without text, use and empty string',
14
- },
15
- activeStop: {
16
- description: 'The stop number which is currently active',
17
- },
18
- },
19
- args: {
20
- items: [
21
- 'Step 1',
22
- 'Step 2',
23
- 'Step 3',
24
- 'Step 4',
25
- 'Step 5',
26
- 'Step 6',
27
- 'Step 7',
28
- 'Step 8',
29
- 'Step 9',
30
- 'Step 10',
31
- 'Step 11',
32
- 'Step 12',
33
- ],
34
- activeStop: 1,
35
- },
36
- };
37
-
38
- export default meta;
39
-
40
- type Story = StoryObj<typeof meta>;
41
-
42
- export const Default: Story = {};
@@ -1,58 +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 extends Partial<Pick<HTMLElement, 'className' | 'id'>> {
9
- items?: string[];
10
-
11
- bgColour?: Colours;
12
- activeStop?: number;
13
- }
14
-
15
- const Tubestops: React.FC<Props> = ({ id, items, activeStop = 1 }) => {
16
- return (
17
- <div id={id} className={classNames(style.wrapper, 'theme-local')}>
18
- {items?.map((item, i: number) => {
19
- return (
20
- <div className={classNames(style.item)} key={`tubestop-stop-${i}`}>
21
- <div
22
- className={classNames({
23
- [style.line]: i >= activeStop - 1 && i < items.length - 1,
24
- [style.completedLine]:
25
- i < activeStop - 1 && i < items.length - 1,
26
- })}
27
- />
28
- <p
29
- className={classNames(
30
- {
31
- [style.completedCircle]: i + 1 < activeStop,
32
- [style.activeCircle]: activeStop === i + 1,
33
- [style.inactiveCircle]: i + 1 > activeStop,
34
- [style.circleLast]: i === items.length - 1,
35
- },
36
- style.circle,
37
- )}
38
- />
39
- <p
40
- className={classNames(
41
- {
42
- [style.completedStop]: i + 1 < activeStop,
43
- [style.activeStop]: activeStop === i + 1,
44
- [style.inactiveStop]: i + 1 > activeStop,
45
- },
46
- style.text,
47
- )}
48
- >
49
- {item}
50
- </p>
51
- </div>
52
- );
53
- })}
54
- </div>
55
- );
56
- };
57
-
58
- export default Tubestops;