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,34 +0,0 @@
1
- import { type StoryObj, type Meta } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import Checkbox from '.';
5
-
6
- const meta = {
7
- title: 'Components/Checkbox',
8
- component: Checkbox,
9
- argTypes: {
10
- ...idAndClassName,
11
- label: {
12
- description: '',
13
- table: {},
14
- },
15
- },
16
- args: {
17
- label: '{{ label }}',
18
- },
19
- };
20
-
21
- export default meta;
22
- type Story = StoryObj<typeof Checkbox>;
23
-
24
- export const Checked: Story = {
25
- args: {
26
- checked: true,
27
- },
28
- };
29
-
30
- export const Unchecked: Story = {
31
- args: {
32
- checked: false,
33
- },
34
- };
@@ -1,51 +0,0 @@
1
- import React, { useState } from 'react';
2
-
3
- import classNames from 'classnames';
4
-
5
-
6
-
7
- export interface Props {
8
- id?: string;
9
- label: string;
10
- onClick?: (label: string, isChecked: boolean) => void;
11
-
12
- checked?: boolean;
13
- }
14
-
15
- const Checkbox: React.FC<Props> = ({
16
- id,
17
- label,
18
- onClick,
19
- checked = false,
20
- }: Props): JSX.Element => {
21
- const [isChecked, setIsChecked] = useState(checked);
22
-
23
- const classList = classNames('checkbox-wrapper theme-local');
24
- const checkBoxClassList = classNames(
25
- {
26
- [style.checked]: isChecked,
27
- },
28
- style.checkbox,
29
- );
30
-
31
- return (
32
- <div id={id} className={classList}>
33
- <label className={style.label}>
34
- <input
35
- className={checkBoxClassList}
36
- onChange={() => {
37
- setIsChecked(!isChecked);
38
- }}
39
- onClick={() => {
40
- onClick?.(label, !isChecked);
41
- }}
42
- type="checkbox"
43
- checked={isChecked}
44
- />
45
- <span className={style.span}>{label}</span>
46
- </label>
47
- </div>
48
- );
49
- };
50
-
51
- export default Checkbox;
@@ -1,15 +0,0 @@
1
- .label {
2
- @apply flex hover:cursor-pointer;
3
- }
4
-
5
- .span {
6
- @apply my-auto px-2;
7
- }
8
-
9
- .checkbox {
10
- @apply h-6 w-6 appearance-none rounded border-2 hover:cursor-pointer;
11
- }
12
-
13
- .checked {
14
- @apply bg-facebook;
15
- }
@@ -1,67 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import Collapsible from '.';
5
-
6
- const meta = {
7
- title: 'Components/Collapsible',
8
- component: Collapsible,
9
- parameters: {},
10
- argTypes: {
11
- ...idAndClassName,
12
-
13
- preText: {
14
- description: '',
15
- control: 'text',
16
- table: {
17
- category: '',
18
- },
19
- },
20
- title: {
21
- description: '',
22
- control: 'text',
23
- table: {
24
- category: '',
25
- },
26
- },
27
- subtitle: {
28
- description: '',
29
- control: 'text',
30
- table: {
31
- category: '',
32
- },
33
- },
34
- children: {
35
- description: '',
36
- control: 'array',
37
- table: {
38
- category: '',
39
- },
40
- },
41
- },
42
- args: {
43
- preText: 'this is some text',
44
- title: 'Sheffield Hallam University',
45
- subtitle: 'This is a subtitle',
46
- imageProps: {
47
- src: 'https://picsum.photos/500/300',
48
- },
49
- children: (
50
- <p>
51
- Lorem ipsum, dolor sit amet consectetur adipisicing elit. Error, unde
52
- perferendis quibusdam eos repellendus vero rerum sunt reiciendis velit
53
- autem odio, fuga molestiae perspiciatis dolor voluptatum mollitia quos
54
- ipsa! Doloribus? Lorem ipsum, dolor sit amet consectetur adipisicing
55
- elit. Reiciendis ducimus, dolorum tempore unde earum aspernatur placeat
56
- magnam, alias neque, blanditiis esse tenetur dignissimos in optio nihil
57
- libero cum cupiditate debitis?
58
- </p>
59
- ),
60
- },
61
- };
62
-
63
- export default meta;
64
-
65
- type Story = StoryObj<typeof meta>;
66
-
67
- export const Default: Story = {};
@@ -1,116 +0,0 @@
1
- import React, { useState, useEffect } from 'react';
2
-
3
- import HorizontalLine from '@components/HorizontalLine';
4
- import Icon from '@components/Icon';
5
- import Image, { type Props as imageProps } from '@components/Image';
6
- import classNames from 'classnames';
7
-
8
-
9
-
10
- export interface Props {
11
- id?: string;
12
- className?: string;
13
- preText?: string;
14
- title?: string;
15
- subtitle?: string;
16
- imageProps?: imageProps;
17
- children?: string | JSX.Element;
18
- }
19
-
20
- const Collapsible = ({
21
- id,
22
- className,
23
- preText,
24
- title,
25
- subtitle,
26
- imageProps,
27
- children,
28
- }: Props): JSX.Element => {
29
- const [expanded, setExpanded] = useState(false);
30
-
31
- useEffect(() => {
32
- const coll = document.getElementsByClassName('collapsible');
33
- let i: number;
34
-
35
- for (i = 0; i < coll.length; i++) {
36
- coll[i].addEventListener('click', function (this: any, err: any) {
37
- const content = this.nextElementSibling;
38
-
39
- const scrollHeight: string = content.scrollHeight.toString();
40
- if (content.style.maxHeight === '0px') {
41
- content.style.maxHeight = `${scrollHeight}px`;
42
- } else {
43
- content.style.maxHeight = '0px';
44
- }
45
- });
46
- }
47
- });
48
-
49
- const classList = classNames(
50
- className,
51
- style.classList,
52
- 'transition-opactiy theme-local',
53
- );
54
-
55
- const contentWrapperClassList = classNames(
56
- {
57
- [style.expanded]: expanded,
58
- [style.collapsed]: !expanded,
59
- },
60
- style.contentWrapperClassList,
61
- );
62
-
63
- const expandItem = (e: any): void => {
64
- const content = e.currentTarget.nextElementSibling;
65
- const scrollHeight: string = content.scrollHeight.toString();
66
- if (!expanded) {
67
- content.style.maxHeight = `${scrollHeight}px`;
68
- } else {
69
- content.style.maxHeight = '0px';
70
- }
71
- setExpanded(!expanded);
72
- };
73
-
74
- return (
75
- <div id={id} className={classList}>
76
- <div
77
- onClick={(e) => {
78
- expandItem(e);
79
- }}
80
- className={style.heading}
81
- >
82
- {imageProps !== undefined && (
83
- <Image {...imageProps} width={3} height={3} className={style.image} />
84
- )}
85
- <div className={style.textWrapper}>
86
- {preText !== undefined && (
87
- <h4 className={style.preText}>{preText}</h4>
88
- )}
89
- {title !== undefined && <h4 className={style.title}>{title}</h4>}
90
- {subtitle !== undefined && (
91
- <h5 className={style.subtitle}>{subtitle}</h5>
92
- )}
93
- </div>
94
- {children !== undefined && (
95
- <div className={style.iconWrapper}>
96
- <Icon
97
- className={style.icon}
98
- type={expanded ? 'chevron-up' : 'chevron-down'}
99
- />
100
- </div>
101
- )}
102
- </div>
103
- {children !== undefined && (
104
- <div
105
- className={contentWrapperClassList}
106
- style={{ transition: 'max-height 0.2s ease-out' }}
107
- >
108
- <HorizontalLine colour="grey" />
109
- <div className={style.children}>{children}</div>
110
- </div>
111
- )}
112
- </div>
113
- );
114
- };
115
-
116
- export default Collapsible;
@@ -1,47 +0,0 @@
1
- .classList {
2
- @apply w-full border-b border-lightest-grey duration-300 hover:cursor-pointer;
3
- }
4
-
5
- .heading {
6
- @apply flex h-24 px-4 sm:pr-8;
7
- }
8
-
9
- .image {
10
- @apply my-auto flex-none rounded-2xl;
11
- }
12
-
13
- .textWrapper {
14
- @apply mx-4 my-auto grid w-full;
15
- }
16
-
17
- .preText {
18
- @apply truncate text-xxs text-light-grey md:text-xs;
19
- }
20
-
21
- .title {
22
- @apply truncate text-sm md:text-md;
23
- }
24
-
25
- .subtitle {
26
- @apply truncate text-xs md:text-sm;
27
- }
28
-
29
- .contentWrapperClassList {
30
- @apply w-auto overflow-hidden px-4;
31
- }
32
-
33
- .expanded {
34
- @apply mb-4 mt-2 max-h-max;
35
- }
36
-
37
- .collapsed {
38
- @apply max-h-0;
39
- }
40
-
41
- .children {
42
- @apply pb-2 pt-4;
43
- }
44
-
45
- .iconWrapper {
46
- @apply my-auto flex-none;
47
- }
@@ -1,89 +0,0 @@
1
- import CardWithTopImage from '@components/CardWithTopImage';
2
- import { Meta, StoryObj } from '@storybook/react';
3
- import { idAndClassName } from '@utils/controls';
4
-
5
- import Column from '.';
6
-
7
- const cardChild = (
8
- <CardWithTopImage
9
- id="cardwithtopimage"
10
- imageProps={{
11
- src: 'https://picsum.photos/200/200',
12
- roundedFull: true,
13
- }}
14
- >
15
- <p>This is some text</p>
16
- <p>This is some more text</p>
17
- <p>This is a bit more text</p>
18
- <p>
19
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolorem odit ad
20
- sed, quam recusandae voluptatem provident eveniet beatae omnis vero minus
21
- unde facilis. Quia commodi quas odit iusto ut enim!
22
- </p>
23
- </CardWithTopImage>
24
- );
25
-
26
- const meta = {
27
- title: 'Components/Column',
28
- component: Column,
29
- parameters: {},
30
- argTypes: {
31
- ...idAndClassName,
32
- sm: {
33
- type: { name: 'number', required: false },
34
- description:
35
- 'The number of sections out of 12 that the component should span on sm screens',
36
- table: {
37
- type: { summary: 'number' },
38
- },
39
- },
40
- md: {
41
- type: { name: 'number', required: false },
42
- description:
43
- 'The number of sections out of 12 that the component should span on md screens',
44
- table: {
45
- type: { summary: 'number' },
46
- },
47
- },
48
- lg: {
49
- type: { name: 'number', required: false },
50
- description:
51
- 'The number of sections out of 12 that the component should span on lg screens',
52
- table: {
53
- type: { summary: 'number' },
54
- },
55
- },
56
- xl: {
57
- type: { name: 'number', required: false },
58
- description:
59
- 'The number of sections out of 12 that the component should span on xl screens',
60
- table: {
61
- type: { summary: 'number' },
62
- },
63
- },
64
- children: {
65
- type: { name: 'other', value: 'string | React.ReactNode' },
66
- description: 'The child elements to show in the component',
67
- table: {
68
- type: {
69
- summary: 'Array',
70
- },
71
- defaultValue: { summary: 'undefined' },
72
- },
73
- },
74
- },
75
- args: {
76
- sm: 12,
77
- md: 8,
78
- lg: 4,
79
- xl: 2,
80
- className: 'bg-facebook md:bg-twitter lg-whatsapp xl:bg-linkedin border',
81
- children: cardChild,
82
- },
83
- };
84
-
85
- export default meta;
86
-
87
- type Story = StoryObj<typeof meta>;
88
-
89
- export const Default: Story = {};
@@ -1,119 +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
- sm?: number;
11
- md?: number;
12
- lg?: number;
13
- xl?: number;
14
- children?: any;
15
- }
16
- const Column: React.FC<Props> = ({
17
- id,
18
- className,
19
- sm = 1,
20
- md = 1,
21
- lg = 1,
22
- xl = 1,
23
- children,
24
- }: Props): JSX.Element => {
25
- const widthOptions = [
26
- { 1: [style.size1] },
27
- { 2: [style.size2] },
28
- { 3: [style.size3] },
29
- { 4: [style.size4] },
30
- { 5: [style.size5] },
31
- { 6: [style.size6] },
32
- { 7: [style.size7] },
33
- { 8: [style.size8] },
34
- { 9: [style.size9] },
35
- { 10: [style.size10] },
36
- { 11: [style.size11] },
37
- { 12: [style.size12] },
38
- ];
39
-
40
- const mdWidthOptions = [
41
- { 1: [style.mdSize1] },
42
- { 2: [style.mdSize2] },
43
- { 3: [style.mdSize3] },
44
- { 4: [style.mdSize4] },
45
- { 5: [style.mdSize5] },
46
- { 6: [style.mdSize6] },
47
- { 7: [style.mdSize7] },
48
- { 8: [style.mdSize8] },
49
- { 9: [style.mdSize9] },
50
- { 10: [style.mdSize10] },
51
- { 11: [style.mdSize11] },
52
- { 12: [style.mdSize12] },
53
- ];
54
-
55
- const lgWidthOptions = [
56
- { 1: [style.lgSize1] },
57
- { 2: [style.lgSize2] },
58
- { 3: [style.lgSize3] },
59
- { 4: [style.lgSize4] },
60
- { 5: [style.lgSize5] },
61
- { 6: [style.lgSize6] },
62
- { 7: [style.lgSize7] },
63
- { 8: [style.lgSize8] },
64
- { 9: [style.lgSize9] },
65
- { 10: [style.lgSize10] },
66
- { 11: [style.lgSize11] },
67
- { 12: [style.lgSize12] },
68
- ];
69
-
70
- const xlWidthOptions = [
71
- { 1: [style.xlSize1] },
72
- { 2: [style.xlSize2] },
73
- { 3: [style.xlSize3] },
74
- { 4: [style.xlSize4] },
75
- { 5: [style.xlSize5] },
76
- { 6: [style.xlSize6] },
77
- { 7: [style.xlSize7] },
78
- { 8: [style.xlSize8] },
79
- { 9: [style.xlSize9] },
80
- { 10: [style.xlSize10] },
81
- { 11: [style.xlSize11] },
82
- { 12: [style.xlSize12] },
83
- ];
84
-
85
- const calculateWidth = (screen: any, size: number): string => {
86
- switch (screen) {
87
- case 'sm':
88
- return Object.values(widthOptions[size - 1]).toString();
89
- case 'md':
90
- return Object.values(mdWidthOptions[size - 1]).toString();
91
- case 'lg':
92
- return Object.values(lgWidthOptions[size - 1]).toString();
93
- case 'xl':
94
- return Object.values(xlWidthOptions[size - 1]).toString();
95
- default:
96
- return Object.values(widthOptions[size - 1]).toString();
97
- }
98
- };
99
-
100
- const classList = classNames(
101
- {
102
- [calculateWidth('sm', sm)]: sm,
103
- [calculateWidth('md', md)]: md,
104
- [calculateWidth('lg', lg)]: lg,
105
- [calculateWidth('xl', xl)]: xl,
106
- },
107
- className,
108
- style.classList,
109
- 'theme-local',
110
- );
111
-
112
- return (
113
- <div id={id} className={classList}>
114
- {children}
115
- </div>
116
- );
117
- };
118
-
119
- export default Column;
@@ -1,151 +0,0 @@
1
- .classList {
2
- @apply h-full;
3
- }
4
-
5
- .size1 {
6
- @apply w-1/12;
7
- }
8
- .size2 {
9
- @apply w-2/12;
10
- }
11
- .size3 {
12
- @apply w-3/12;
13
- }
14
- .size4 {
15
- @apply w-4/12;
16
- }
17
- .size5 {
18
- @apply w-5/12;
19
- }
20
- .size6 {
21
- @apply w-6/12;
22
- }
23
- .size7 {
24
- @apply w-7/12;
25
- }
26
- .size8 {
27
- @apply w-8/12;
28
- }
29
- .size9 {
30
- @apply w-9/12;
31
- }
32
- .size10 {
33
- @apply w-10/12;
34
- }
35
- .size11 {
36
- @apply w-11/12;
37
- }
38
- .size12 {
39
- @apply w-full;
40
- }
41
-
42
- .mdSize1 {
43
- @apply md:w-1/12;
44
- }
45
- .mdSize2 {
46
- @apply md:w-2/12;
47
- }
48
- .mdSize3 {
49
- @apply md:w-3/12;
50
- }
51
- .mdSize4 {
52
- @apply md:w-4/12;
53
- }
54
- .mdSize5 {
55
- @apply md:w-5/12;
56
- }
57
- .mdSize6 {
58
- @apply md:w-6/12;
59
- }
60
- .mdSize7 {
61
- @apply md:w-7/12;
62
- }
63
- .mdSize8 {
64
- @apply md:w-8/12;
65
- }
66
- .mdSize9 {
67
- @apply md:w-9/12;
68
- }
69
- .mdSize10 {
70
- @apply md:w-10/12;
71
- }
72
- .mdSize11 {
73
- @apply md:w-11/12;
74
- }
75
- .mdSize12 {
76
- @apply md:w-full;
77
- }
78
-
79
- .lgSize1 {
80
- @apply lg:w-1/12;
81
- }
82
- .lgSize2 {
83
- @apply lg:w-2/12;
84
- }
85
- .lgSize3 {
86
- @apply lg:w-3/12;
87
- }
88
- .lgSize4 {
89
- @apply lg:w-4/12;
90
- }
91
- .lgSize5 {
92
- @apply lg:w-5/12;
93
- }
94
- .lgSize6 {
95
- @apply lg:w-6/12;
96
- }
97
- .lgSize7 {
98
- @apply lg:w-7/12;
99
- }
100
- .lgSize8 {
101
- @apply lg:w-8/12;
102
- }
103
- .lgSize9 {
104
- @apply lg:w-9/12;
105
- }
106
- .lgSize10 {
107
- @apply lg:w-10/12;
108
- }
109
- .lgSize11 {
110
- @apply lg:w-11/12;
111
- }
112
- .lgSize12 {
113
- @apply lg:w-full;
114
- }
115
-
116
- .xlSize1 {
117
- @apply xl:w-1/12;
118
- }
119
- .xlSize2 {
120
- @apply xl:w-2/12;
121
- }
122
- .xlSize3 {
123
- @apply xl:w-3/12;
124
- }
125
- .xlSize4 {
126
- @apply xl:w-4/12;
127
- }
128
- .xlSize5 {
129
- @apply xl:w-5/12;
130
- }
131
- .xlSize6 {
132
- @apply xl:w-6/12;
133
- }
134
- .xlSize7 {
135
- @apply xl:w-7/12;
136
- }
137
- .xlSize8 {
138
- @apply xl:w-8/12;
139
- }
140
- .xlSize9 {
141
- @apply xl:w-9/12;
142
- }
143
- .xlSize10 {
144
- @apply xl:w-10/12;
145
- }
146
- .xlSize11 {
147
- @apply xl:w-11/12;
148
- }
149
- .xlSize12 {
150
- @apply xl:w-full;
151
- }