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,123 +0,0 @@
1
- import React, { useState } from 'react';
2
-
3
- import { type Props as buttonProps } from '@components/Button';
4
- import ComponentWrapper from '@components/ComponentWrapper';
5
- import { type Colours } from '@utils/controls';
6
- import classNames from 'classnames';
7
-
8
-
9
-
10
- export interface Props {
11
- id: string;
12
- className?: string;
13
- title?: string;
14
- description?: string;
15
- bgColour?: Colours;
16
- titleClasses?: string;
17
- textClasses?: string;
18
- textLineOne?: string;
19
- textLineTwo?: string;
20
- textLineThree?: string;
21
- titleBold?: boolean;
22
- textCenter?: boolean;
23
- titleCenter?: boolean;
24
- withLiveUpdates?: boolean;
25
- onSave?: (arr: any[], id: string | undefined) => void;
26
- saveButtonProps?: buttonProps;
27
- cancelButtonProps?: buttonProps;
28
- isHorizontal?: boolean;
29
- children?: any;
30
- }
31
-
32
- const TextAndTitle: React.FC<Props> = ({
33
- id,
34
- className,
35
- title,
36
- description,
37
- bgColour,
38
- titleClasses,
39
- textClasses,
40
- textLineOne,
41
- textLineTwo,
42
- textLineThree,
43
- titleBold,
44
- textCenter,
45
- titleCenter,
46
- withLiveUpdates = false,
47
- isHorizontal = true,
48
- children,
49
- }: Props): JSX.Element => {
50
- const [isInEditingMode, setIsInEditingMode] = useState(false);
51
- const borderClasses = style.bordered;
52
- const classList = classNames(className, 'theme-local');
53
-
54
- const titleClassList = classNames(
55
- {
56
- [style.fontBold]: titleBold,
57
- [style.textCenter]: titleCenter,
58
- [borderClasses]: withLiveUpdates && !isInEditingMode && isHorizontal,
59
- },
60
- titleClasses,
61
- style.titleClassList,
62
- );
63
-
64
- const textClassList = classNames(
65
- {
66
- [style.textCenter]: textCenter,
67
- [borderClasses]: withLiveUpdates && !isInEditingMode && isHorizontal,
68
- },
69
- textClasses,
70
- style.textClassList,
71
- );
72
-
73
- const toggleEditState = (): void => {
74
- withLiveUpdates && setIsInEditingMode(!isInEditingMode);
75
- };
76
-
77
- const wrapperClassList = classNames({
78
- [style.horizontalWrapperClassList]: isHorizontal,
79
- [style.liveUpdatesWrapperClassList]: withLiveUpdates && !isInEditingMode,
80
- [style.wrapperClassList]: isHorizontal,
81
- });
82
-
83
- const titleWrapperClassList = classNames({
84
- [style.horizontalTitleWrapperClassList]: isHorizontal,
85
- });
86
-
87
- const textWrapperClassList = classNames({
88
- [style.horizontalTextWrapperClassList]: isHorizontal,
89
- });
90
-
91
- return (
92
- <ComponentWrapper
93
- id={id}
94
- className={classList}
95
- title={title}
96
- description={description}
97
- bgColour={bgColour}
98
- >
99
- <div className={wrapperClassList} onClick={toggleEditState}>
100
- <div className={titleWrapperClassList}>
101
- {children !== undefined && children !== null ? (
102
- children
103
- ) : (
104
- <h1 className={titleClassList}>{title}</h1>
105
- )}
106
- </div>
107
- <div className={textWrapperClassList}>
108
- <div id="textLineOne" className={textClassList}>
109
- {textLineOne}
110
- </div>
111
- <div id="textLineTwo" className={textClassList}>
112
- {textLineTwo}
113
- </div>
114
- <div id="textLineThree" className={textClassList}>
115
- {textLineThree}
116
- </div>
117
- </div>
118
- </div>
119
- </ComponentWrapper>
120
- );
121
- };
122
-
123
- export default TextAndTitle;
@@ -1,75 +0,0 @@
1
- .primary {
2
- @apply bg-primary text-white;
3
- }
4
-
5
- .primary:hover {
6
- @apply border-white;
7
- }
8
-
9
- .secondary {
10
- @apply bg-secondary text-white;
11
- }
12
-
13
- .secondary:hover {
14
- @apply border-white;
15
- }
16
-
17
- .white {
18
- @apply bg-white;
19
- }
20
-
21
- .white:hover {
22
- @apply border-black;
23
- }
24
-
25
- .black {
26
- @apply bg-black text-white;
27
- }
28
-
29
- .black:hover {
30
- @apply border-white;
31
- }
32
-
33
- .bordered {
34
- @apply border-4 border-transparent;
35
- }
36
-
37
- .fontBold {
38
- @apply font-bold;
39
- }
40
-
41
- .textCenter {
42
- @apply text-center;
43
- }
44
-
45
- .titleClassList {
46
- @apply break-words text-lg font-light;
47
- }
48
-
49
- .textClassList {
50
- @apply mt-2 pt-2 text-md font-light;
51
- }
52
-
53
- .wrapperClassList {
54
- @apply border-4 border-transparent;
55
- }
56
-
57
- .horizontalWrapperClassList {
58
- @apply flex flex-wrap justify-center md:items-center;
59
- }
60
-
61
- .liveUpdatesWrapperClassList:hover {
62
- @apply border-4 border-dashed;
63
- }
64
-
65
- .horizontalTextWrapperClassList {
66
- @apply md:w-1/2 md:text-center;
67
- }
68
-
69
- .horizontalTitleWrapperClassList {
70
- @apply md:w-1/2 md:text-center;
71
- }
72
-
73
- .buttonWrapper {
74
- @apply pb-8 text-center;
75
- }
@@ -1,55 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import TextArea from '.';
5
-
6
- const meta = {
7
- title: 'Components/Text Area',
8
- component: TextArea,
9
- parameters: {},
10
- argTypes: {
11
- ...idAndClassName,
12
-
13
- label: {
14
- description: '',
15
- control: 'text',
16
- table: {
17
- category: '',
18
- },
19
- },
20
- placeholder: {
21
- description: '',
22
- control: 'text',
23
- table: {
24
- category: '',
25
- },
26
- },
27
- bold: {
28
- description: '',
29
- control: 'boolean',
30
- table: {
31
- category: '',
32
- },
33
- },
34
- bgColour: {
35
- type: { name: 'string', required: false },
36
- options: ['primary', 'secondary', 'white', 'black', 'gold'],
37
- description: 'The background colour of the component',
38
- table: {
39
- type: { summary: 'string' },
40
- },
41
- defaultValue: 'primary',
42
- control: 'select',
43
- },
44
- },
45
- args: {
46
- label: 'This is a label',
47
- placeholder: 'This is a text area placeholder',
48
- },
49
- };
50
-
51
- export default meta;
52
-
53
- type Story = StoryObj<typeof meta>;
54
-
55
- export const Default: Story = {};
@@ -1,125 +0,0 @@
1
- import React, { useRef } 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
- autoComplete?: string;
12
- disabled?: boolean;
13
- formId?: string;
14
- maxLength?: number;
15
- minLength?: number;
16
- required?: boolean;
17
- readOnly?: boolean;
18
- label?: string;
19
- name?: string;
20
- placeholder?: string;
21
- withValidation?: boolean;
22
- onChange?: (e: any) => void;
23
- onBlur?: () => void;
24
- onFocus?: () => void;
25
- onClick?: () => void;
26
- errors?: string[];
27
- errorState?: boolean;
28
- value?: string;
29
- bgColour?: Colours;
30
- }
31
-
32
- const TextArea = ({
33
- id,
34
- className,
35
- autoComplete,
36
- disabled,
37
- formId,
38
- maxLength,
39
- minLength,
40
- required = false,
41
- readOnly,
42
- label,
43
- name,
44
- placeholder,
45
- onChange,
46
- onBlur,
47
- onFocus,
48
- onClick,
49
- withValidation,
50
- errors,
51
- errorState = false,
52
- value,
53
- }: Props): JSX.Element => {
54
- const newId = id !== undefined ? `-${id}` : '';
55
-
56
- const valueClassList = classNames(
57
- {
58
- [style.errorState]: errors != null || errorState,
59
- },
60
- style.value,
61
- );
62
-
63
- const labelClassList = classNames(
64
- {
65
- [style.labelError]: errors != null || errorState,
66
- },
67
- style.label,
68
- );
69
-
70
- const headerClassList = classNames(style.classList, className, 'theme-local');
71
-
72
- const btnRef = useRef<any>(null);
73
-
74
- const handleClick = (): void => {
75
- btnRef.current?.focus();
76
- };
77
-
78
- return (
79
- <>
80
- <div id={id} className={headerClassList} onClick={handleClick}>
81
- <div className={style.labelWrapper}>
82
- <p className={labelClassList}>{label}</p>
83
- {required && <p className={style.required}>&nbsp;*</p>}
84
- </div>
85
- <textarea
86
- ref={btnRef}
87
- id={`input${newId}`}
88
- className={valueClassList}
89
- autoComplete={autoComplete}
90
- disabled={disabled}
91
- form={formId}
92
- maxLength={maxLength}
93
- minLength={minLength}
94
- required={required}
95
- readOnly={readOnly}
96
- name={name}
97
- value={value}
98
- placeholder={placeholder}
99
- onChange={(e) => {
100
- onChange?.(e);
101
- }}
102
- onBlur={onBlur}
103
- onFocus={onFocus}
104
- onClick={onClick}
105
- />
106
- </div>
107
- {withValidation && (
108
- <div
109
- id={`errors${newId}`}
110
- className={classNames(style.errors, 'theme-local')}
111
- >
112
- {errors?.map((error, i) => {
113
- return (
114
- <p key={`error-msg-${i + 0}`} className={style.errorText}>
115
- {error}
116
- </p>
117
- );
118
- })}
119
- </div>
120
- )}
121
- </>
122
- );
123
- };
124
-
125
- export default TextArea;
@@ -1,60 +0,0 @@
1
- .classList {
2
- @apply mt-4 w-full bg-white;
3
- @apply cursor-pointer;
4
- }
5
-
6
- /* .classList:active p {
7
- @apply hidden;
8
- }
9
-
10
- .classList:active .value {
11
- @apply pt-3 pb-4;
12
- } */
13
-
14
- .fullWidth {
15
- @apply w-full;
16
- }
17
-
18
- .notFullWidth {
19
- @apply sm:w-72;
20
- }
21
-
22
- .labelWrapper {
23
- @apply absolute -mt-3 ml-3 px-1;
24
- @apply rounded-2xl bg-white text-sm font-regular;
25
- }
26
-
27
- .required {
28
- @apply font-semiBold text-error;
29
- }
30
-
31
- .value {
32
- @apply w-full rounded-md bg-white py-2 pl-4 text-ink;
33
- @apply cursor-pointer;
34
- @apply border border-black;
35
- @apply text-md;
36
- }
37
-
38
- /* .value:focus {
39
- @apply pt-3 pb-4;
40
- }
41
-
42
- .value:focus ~ label {
43
- @apply text-xl;
44
- } */
45
-
46
- .errors {
47
- @apply text-sm font-regular text-error;
48
- }
49
-
50
- .errorState {
51
- @apply border-2 border-error;
52
- }
53
-
54
- .labelError {
55
- @apply text-error;
56
- }
57
-
58
- .errorText {
59
- @apply mt-1 border-l-4 border-error pl-3;
60
- }
@@ -1,92 +0,0 @@
1
- import CardWithTopImage from '@components/CardWithTopImage';
2
- import { Meta, StoryObj } from '@storybook/react';
3
- import { idAndClassName } from '@utils/controls';
4
-
5
- import Timeline from '.';
6
- import { type Props as imageProps } from '../Image';
7
-
8
- const timelineItems = (): Array<{
9
- component: JSX.Element;
10
- centerImageProps: imageProps;
11
- }> => {
12
- return new Array(8).fill(null).map((_, i) => {
13
- return {
14
- component: (
15
- <CardWithTopImage
16
- imageProps={{
17
- src: `https://picsum.photos/200/20${i}`,
18
- roundedFull: true,
19
- width: 4,
20
- height: 4,
21
- }}
22
- className="px-4"
23
- >
24
- <p>This is some text</p>
25
- <p>This is some more text</p>
26
- <p>This is a bit more text</p>
27
- <p>
28
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem
29
- odit ad sed, quam recusandae voluptatem provident eveniet beatae
30
- omnis vero minus unde facilis. Quia commodi quas odit iusto ut enim!
31
- </p>
32
- </CardWithTopImage>
33
- ),
34
- centerImageProps: {
35
- src: `https://picsum.photos/200/20${i}`,
36
- imageClasses: 'mx-auto',
37
- width: 4,
38
- height: 4,
39
- centerAligned: true,
40
- roundedFull: true,
41
- },
42
- };
43
- });
44
- };
45
-
46
- const meta = {
47
- title: 'Components/Timeline',
48
- component: Timeline,
49
- parameters: {},
50
- argTypes: {
51
- ...idAndClassName,
52
-
53
- isHorizontal: {
54
- description: '',
55
- control: 'boolean',
56
- table: {
57
- category: '',
58
- },
59
- },
60
- useImages: {
61
- description: '',
62
- control: 'boolean',
63
- table: {
64
- category: '',
65
- },
66
- },
67
- items: {
68
- description: '',
69
- control: 'array',
70
- table: {
71
- category: '',
72
- },
73
- },
74
- },
75
- args: {
76
- title: 'This is a timeline',
77
- description: 'What do you think to it?',
78
- isHorizontal: true,
79
- reverse: false,
80
- items: timelineItems(),
81
- textCenter: true,
82
- useImages: true,
83
- horizontalComponentClasses: 'w-96 h-96',
84
- isSm: true,
85
- },
86
- };
87
-
88
- export default meta;
89
-
90
- type Story = StoryObj<typeof meta>;
91
-
92
- export const Default: Story = {};