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,40 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import ComponentWrapper from '.';
5
-
6
- const meta = {
7
- title: 'Components/ComponentWrapper',
8
- component: ComponentWrapper,
9
- argTypes: {
10
- ...idAndClassName,
11
- maxWidth: {
12
- type: { name: 'number', required: false },
13
- description: 'The number of pixles for the component to span',
14
- control: { type: 'number', min: 1, step: 1 },
15
- defaultValue: '1200',
16
- },
17
- children: {
18
- type: { name: 'other', value: 'string | React.ReactNode' },
19
- description: 'The child elements to show in the component',
20
- table: {
21
- type: {
22
- summary: 'Array',
23
- },
24
- defaultValue: { summary: 'undefined' },
25
- },
26
- },
27
- },
28
- args: {
29
- title: 'This is a title',
30
- description:
31
- 'Lorem ipsum dolor sit amet consectetur adipisicing elit. Corporis blanditiis cupiditate officiis aperiam culpa unde vitae quaerat, incidunt aliquam ut qui alias accusamus aspernatur in ad voluptatibus itaque, quibusdam distinctio.',
32
- children: <p>This is a centered ComponentWrapper with a max width</p>,
33
- },
34
- };
35
-
36
- export default meta;
37
-
38
- type Story = StoryObj<typeof meta>;
39
-
40
- export const Default: Story = {};
@@ -1,55 +0,0 @@
1
- import React, { type CSSProperties } from 'react';
2
-
3
- import Container from '@components/Container';
4
- import { type Colours } from '@utils/controls';
5
- import classNames from 'classnames';
6
-
7
-
8
-
9
- export interface Props {
10
- id?: string;
11
- className?: string;
12
- title?: string;
13
- description?: string;
14
- bgColour?: Colours;
15
- children?: any;
16
- styles?: CSSProperties;
17
- withContainerPadding?: boolean;
18
- }
19
-
20
- const ComponentWrapper = ({
21
- id,
22
- className,
23
- title,
24
- description,
25
- bgColour = 'grey',
26
- children,
27
- styles,
28
- withContainerPadding = true,
29
- }: Props): JSX.Element => {
30
- const classList = classNames(
31
- className,
32
- style.classList,
33
- style[bgColour],
34
- 'theme-local',
35
- );
36
- const containerClasses = classNames({
37
- [style.containerPadding]: withContainerPadding,
38
- });
39
-
40
- return (
41
- <div id={id} className={classList} style={styles}>
42
- <Container withPadding className={containerClasses}>
43
- <div className={style.heading}>
44
- {title !== undefined && <h2 className={style.title}>{title}</h2>}
45
- {description !== undefined && (
46
- <p className={style.description}>{description}</p>
47
- )}
48
- </div>
49
- {children}
50
- </Container>
51
- </div>
52
- );
53
- };
54
-
55
- export default ComponentWrapper;
@@ -1,40 +0,0 @@
1
- .classList {
2
- @apply mx-auto w-full;
3
- scroll-margin-top: 80px;
4
- }
5
-
6
- .containerPadding {
7
- @apply py-8;
8
- }
9
-
10
- .heading {
11
- @apply pt-0;
12
- }
13
-
14
- .title {
15
- @apply pb-2 text-lg font-regular;
16
- }
17
-
18
- .description {
19
- @apply pb-8 text-md font-light;
20
- }
21
-
22
- .primary {
23
- @apply bg-primary text-white;
24
- }
25
-
26
- .secondary {
27
- @apply bg-secondary text-white;
28
- }
29
-
30
- .white {
31
- @apply bg-white text-black;
32
- }
33
-
34
- .grey {
35
- @apply bg-lightest-grey text-black;
36
- }
37
-
38
- .black {
39
- @apply bg-black text-white;
40
- }
@@ -1,40 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import Container from '.';
5
-
6
- const meta = {
7
- title: 'Components/Container',
8
- component: Container,
9
- argTypes: {
10
- ...idAndClassName,
11
- maxWidth: {
12
- type: { name: 'number', required: false },
13
- description: 'The number of pixles for the component to span',
14
- control: { type: 'number', min: 1, step: 1 },
15
- defaultValue: '1200',
16
- },
17
- children: {
18
- type: { name: 'other', value: 'string | React.ReactNode' },
19
- description: 'The child elements to show in the component',
20
- table: {
21
- type: {
22
- summary: 'Array',
23
- },
24
- defaultValue: { summary: 'undefined' },
25
- },
26
- },
27
- },
28
- args: {
29
- children: (
30
- <div className="w-full border">
31
- <p className="my-20 text-center">This is a container</p>
32
- </div>
33
- ),
34
- },
35
- };
36
- export default meta;
37
-
38
- type Story = StoryObj<typeof meta>;
39
-
40
- export const Default: Story = {};
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
-
3
- import classNames from 'classnames';
4
-
5
-
6
-
7
- export interface Props {
8
- id?: string;
9
- className?: string;
10
- withPadding?: boolean;
11
- children?: any;
12
- }
13
-
14
- const Container = ({ id, className, children }: Props): JSX.Element => {
15
- const classList = classNames(className, style.classList, 'theme-local');
16
-
17
- return (
18
- <div id={id} className={classList}>
19
- {children}
20
- </div>
21
- );
22
- };
23
-
24
- export default Container;
@@ -1,4 +0,0 @@
1
- .classList {
2
- @apply px-6 md:px-10 lg:px-20;
3
- max-width: 2520px;
4
- }
@@ -1,19 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import Counter from '.';
5
-
6
- const meta = {
7
- title: 'Components/Counter',
8
- component: Counter,
9
- argTypes: {
10
- ...idAndClassName,
11
- },
12
- args: {},
13
- };
14
-
15
- export default meta;
16
-
17
- type Story = StoryObj<typeof meta>;
18
-
19
- export const Default: Story = {};
@@ -1,66 +0,0 @@
1
- import React, { useState } from 'react';
2
-
3
- import Icon from '@components/Icon';
4
- import classNames from 'classnames';
5
-
6
-
7
-
8
- export interface Props {
9
- id?: string;
10
- count?: number;
11
-
12
- onClick?: (count: number) => void;
13
- }
14
-
15
- const Counter: React.FC<Props> = ({
16
- id,
17
- count = 0,
18
- onClick,
19
- }: Props): JSX.Element => {
20
- const [currentCount, setCurrentCount] = useState(
21
- count !== undefined ? count : 0,
22
- );
23
-
24
- const handleMinusClick = (e: any): void => {
25
- e.stopPropagation();
26
- const newCount = currentCount - 1;
27
- if (currentCount === 0) {
28
- return;
29
- }
30
- setCurrentCount(newCount);
31
- onClick?.(newCount);
32
- };
33
-
34
- const handlePlusClick = (e: any): void => {
35
- e.stopPropagation();
36
- const newCount = currentCount + 1;
37
- setCurrentCount(newCount);
38
- onClick?.(newCount);
39
- };
40
-
41
- return (
42
- <div id={id} className={classNames(style.container, 'theme-local')}>
43
- <div className={style.innerContainer}>
44
- <div className={style.minusIconWrapper}>
45
- <Icon
46
- type="chevron-left"
47
- onClick={(e: any) => {
48
- handleMinusClick(e);
49
- }}
50
- />
51
- </div>
52
- <div className={style.count}>{currentCount}</div>
53
- <div className={style.plusIconWrapper}>
54
- <Icon
55
- type="chevron-right"
56
- onClick={(e: any) => {
57
- handlePlusClick(e);
58
- }}
59
- />
60
- </div>
61
- </div>
62
- </div>
63
- );
64
- };
65
-
66
- export default Counter;
@@ -1,19 +0,0 @@
1
- .container {
2
- @apply z-10 inline-block rounded-lg border bg-white p-1;
3
- }
4
-
5
- .innerContainer {
6
- @apply flex;
7
- }
8
-
9
- .count {
10
- @apply w-auto overflow-hidden text-center;
11
- }
12
-
13
- .minusIconWrapper {
14
- @apply my-auto cursor-pointer;
15
- }
16
-
17
- .plusIconWrapper {
18
- @apply my-auto cursor-pointer;
19
- }
@@ -1,96 +0,0 @@
1
- import Input from '@components/Input';
2
- import { action } from '@storybook/addon-actions';
3
- import { Meta, StoryObj } from '@storybook/react';
4
- import { idAndClassName } from '@utils/controls';
5
-
6
- import DetailUpdater from '.';
7
-
8
- const meta = {
9
- title: 'Components/Detail Updater',
10
- component: DetailUpdater,
11
- parameters: {},
12
- argTypes: {
13
- ...idAndClassName,
14
-
15
- title: {
16
- description: '',
17
- control: 'text',
18
- table: {
19
- category: '',
20
- },
21
- },
22
- description: {
23
- description: '',
24
- control: 'text',
25
- table: {
26
- category: '',
27
- },
28
- },
29
- expandText: {
30
- description: '',
31
- control: 'boolean',
32
- table: {
33
- category: '',
34
- },
35
- },
36
- collapseText: {
37
- description: '',
38
- control: 'boolean',
39
- table: {
40
- category: '',
41
- },
42
- },
43
- ctaText: {
44
- description: '',
45
- control: 'boolean',
46
- table: {
47
- category: '',
48
- },
49
- },
50
- onClick: {
51
- description: '',
52
- control: 'array',
53
- table: {
54
- category: '',
55
- },
56
- },
57
- fields: {
58
- description: 'The default value of the input',
59
- control: 'text',
60
- table: {
61
- category: '',
62
- },
63
- },
64
- },
65
- args: {
66
- title: 'Legal Name',
67
- description: 'This is a description to let you know what to do',
68
- expandText: 'Edit',
69
- collapseText: 'Cancel',
70
- ctaText: 'Save',
71
- onClick: (fieldValues) => {
72
- action('Submitted')(fieldValues);
73
- },
74
- onChange: (value) => {
75
- action('Updated')(value);
76
- },
77
- children: (
78
- <Input
79
- withValidation
80
- bgColour="white"
81
- label="Title"
82
- placeholder="Insert title here"
83
- className="mb-4"
84
- fullWidth={true}
85
- required={true}
86
- // onChange={(e) => setTitle(e.target.value)}
87
- />
88
- ),
89
- },
90
- };
91
-
92
- export default meta;
93
-
94
- type Story = StoryObj<typeof meta>;
95
-
96
- export const Default: Story = {};
@@ -1,31 +0,0 @@
1
- .class {
2
- @apply mx-4 py-6;
3
- }
4
-
5
- .wrapper {
6
- @apply flex justify-between;
7
- }
8
-
9
- .title {
10
- @apply font-semiBold text-ink;
11
- }
12
-
13
- .value {
14
- @apply text-ink;
15
- }
16
-
17
- .description {
18
- @apply text-light-grey;
19
- }
20
-
21
- .expandText {
22
- @apply cursor-pointer font-semiBold text-ink underline;
23
- }
24
-
25
- .inputWrapper {
26
- @apply grid w-full grid-cols-1 gap-0 py-4 md:grid-cols-2 md:gap-4 lg:w-2/3;
27
- }
28
-
29
- .hr {
30
- @apply text-lightest-grey shadow;
31
- }
@@ -1,131 +0,0 @@
1
- import React, { useState } from 'react';
2
-
3
- import { action } from '@storybook/addon-actions';
4
- import { type Meta } from '@storybook/react';
5
-
6
- import Dialog from '.';
7
- import Button from '../Button';
8
- import Modal from '../Modal';
9
-
10
- const meta = {
11
- title: 'Trepur Components/molecules/Dialog',
12
- component: Dialog,
13
- parameters: {
14
- docs: {
15
- description: {
16
- component: 'A dialog component',
17
- },
18
- },
19
- layout: 'padded',
20
- },
21
- argTypes: {
22
- id: {
23
- type: { name: 'string', required: false },
24
- description: 'HTML id attribute',
25
- table: { type: { summary: 'string' } },
26
- },
27
- className: {
28
- type: { name: 'string', required: false },
29
- description: 'Additional classes to be appended to the component',
30
- table: { type: { summary: 'string' } },
31
- },
32
- onDismissClick: {
33
- type: { name: 'function', required: false },
34
- description:
35
- 'Used to determine the onClick action when the dismiss cta is pressed',
36
- action: 'onClick',
37
- table: {
38
- type: { summary: 'function' },
39
- defaultValue: { summary: 'undefined' },
40
- },
41
- },
42
- title: {
43
- type: { name: 'string', required: false },
44
- description: 'Used to specify the title to display on the component',
45
- table: {
46
- type: { summary: 'string' },
47
- defaultValue: { summary: 'undefined' },
48
- },
49
- },
50
- paragraph: {
51
- type: { name: 'string', required: false },
52
- description:
53
- 'Used to the specify paragraph text to display on the component',
54
- table: {
55
- type: { summary: 'string' },
56
- defaultValue: { summary: 'undefined' },
57
- },
58
- },
59
- dismissText: {
60
- type: { name: 'string', required: false },
61
- description: 'Used to specify dismiss text to display on the component',
62
- table: {
63
- type: { summary: 'string' },
64
- defaultValue: { summary: 'undefined' },
65
- },
66
- },
67
- primaryCta: {
68
- type: { name: 'other', value: 'ButtonProps', required: false },
69
- description: 'A collection of props to pass to the button component',
70
- table: { type: { summary: 'ButtonProps' } },
71
- },
72
- secondaryCta: {
73
- type: { name: 'other', value: 'ButtonProps', required: false },
74
- description:
75
- 'A collection of props to pass to the second button component',
76
- table: { type: { summary: 'ButtonProps' } },
77
- },
78
- },
79
- args: {
80
- title: 'This is a title',
81
- paragraph:
82
- 'Lorem ipsum dolor sit, amet consectetur adipisicing elit. Sapiente itaque repellendus, ab rerum explicabo ducimus culpa incidunt consequatur, corporis, sequi dolor in praesentium ea maxime perferendis autem aliquam impedit. Debitis.',
83
- dismissText: 'Close',
84
- imageUrl: 'https://picsum.photos/500/300',
85
- onDismissClick: action('dismissed'),
86
- primaryCta: {
87
- children: 'Add bank details',
88
- palette: 'secondary',
89
- },
90
- secondaryCta: {
91
- children: 'Add bank details',
92
- variant: 'secondary',
93
- palette: 'secondary',
94
- },
95
- },
96
- };
97
-
98
- const Template = (args): React.ReactElement => {
99
- const [visible, setVisible] = useState<boolean>(false);
100
-
101
- return (
102
- <div style={{ height: '350vh' }}>
103
- <Button
104
- onClick={() => {
105
- setVisible(true);
106
- }}
107
- >
108
- Click Me!
109
- </Button>
110
- <Modal
111
- visible={visible}
112
- mobileGutter
113
- onOverlayClick={() => {
114
- setVisible(false);
115
- }}
116
- >
117
- <Dialog
118
- {...args}
119
- onDismissClick={() => {
120
- action('dismiss click');
121
- setVisible(!visible);
122
- }}
123
- />
124
- </Modal>
125
- </div>
126
- );
127
- };
128
-
129
- export const _Dialog = Template.bind({});
130
-
131
- export default meta;
@@ -1,91 +0,0 @@
1
- import React from 'react';
2
-
3
- import Button, { type Props as ButtonProps } from '@components/Button';
4
- import Image from '@components/Image';
5
- import classNames from 'classnames';
6
-
7
-
8
-
9
- export interface Props extends Partial<Pick<HTMLElement, 'className' | 'id'>> {
10
- title: string;
11
- paragraph: string;
12
- dismissText: string;
13
- onDismissClick?: () => void;
14
- primaryCta?: ButtonProps;
15
- secondaryCta?: ButtonProps;
16
-
17
- imageUrl?: string;
18
- }
19
-
20
- const Dialog = ({
21
- id,
22
- className,
23
- title,
24
- paragraph,
25
- dismissText,
26
- onDismissClick,
27
- primaryCta,
28
- secondaryCta,
29
- imageUrl,
30
- }: Props): JSX.Element => {
31
- const hasCta = Boolean(primaryCta?.children);
32
- const hasCta2 = Boolean(secondaryCta?.children);
33
-
34
- const ctaButton = hasCta && (
35
- <Button
36
- {...primaryCta}
37
- className={classNames(
38
- {
39
- [style.fullWidth]: hasCta2,
40
- },
41
- primaryCta?.className,
42
- style.ctaBtn,
43
- )}
44
- />
45
- );
46
-
47
- const ctaButton2 = hasCta2 && (
48
- <Button
49
- {...secondaryCta}
50
- className={classNames(
51
- {
52
- [style.fullWidth]: hasCta,
53
- },
54
- secondaryCta?.className,
55
- style.cta2Btn,
56
- )}
57
- />
58
- );
59
-
60
- const buttonWrapperClassList = classNames(
61
- {
62
- [style.fullWidth]: ctaButton2,
63
- },
64
- style.buttonWrapper,
65
- );
66
-
67
- const titleClassList = classNames({}, style.title);
68
-
69
- return (
70
- <div id={id} className={classNames(style.dialog, className, 'theme-local')}>
71
- <div className={style.headingWrapper}>
72
- {imageUrl !== undefined && (
73
- <Image src={imageUrl} height={3} width={3} />
74
- )}
75
- <p className={style.dismissText} onClick={onDismissClick}>
76
- {dismissText}
77
- </p>
78
- </div>
79
- <p className={titleClassList}>{title}</p>
80
- <p className={style.paragraph}>{paragraph}</p>
81
- {(hasCta || hasCta2) && (
82
- <div className={buttonWrapperClassList}>
83
- {ctaButton}
84
- {ctaButton2}
85
- </div>
86
- )}
87
- </div>
88
- );
89
- };
90
-
91
- export default Dialog;