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,109 +0,0 @@
1
- .overlayTextClassList {
2
- @apply m-auto text-center text-primary;
3
- }
4
-
5
- .overlayTextWrapperClassList {
6
- @apply absolute z-20 flex transition-opacity duration-700;
7
- }
8
-
9
- .overlayClassList {
10
- @apply absolute z-10 bg-white transition-opacity duration-700;
11
- }
12
-
13
- .rounded {
14
- @apply rounded-2xl;
15
- }
16
-
17
- .roundedFull {
18
- @apply rounded-full;
19
- }
20
-
21
- .bordered {
22
- @apply border-4 border-primary;
23
- }
24
-
25
- .centerAligned {
26
- @apply mx-auto;
27
- }
28
-
29
- .visible {
30
- @apply opacity-80;
31
- }
32
-
33
- .invisible {
34
- @apply opacity-0;
35
- }
36
-
37
- .width1 {
38
- @apply w-6;
39
- }
40
- .width2 {
41
- @apply w-10;
42
- }
43
- .width3 {
44
- @apply w-14;
45
- }
46
- .width4 {
47
- @apply w-16;
48
- }
49
- .width5 {
50
- @apply w-20;
51
- }
52
- .width6 {
53
- @apply w-24;
54
- }
55
- .width7 {
56
- @apply w-28;
57
- }
58
- .width8 {
59
- @apply w-32;
60
- }
61
- .width9 {
62
- @apply w-36;
63
- }
64
- .width10 {
65
- @apply w-40;
66
- }
67
- .width11 {
68
- @apply w-44;
69
- }
70
- .width12 {
71
- @apply w-full;
72
- }
73
-
74
- .height1 {
75
- @apply h-6;
76
- }
77
- .height2 {
78
- @apply h-10;
79
- }
80
- .height3 {
81
- @apply h-14;
82
- }
83
- .height4 {
84
- @apply h-16;
85
- }
86
- .height5 {
87
- @apply h-20;
88
- }
89
- .height6 {
90
- @apply h-24;
91
- }
92
- .height7 {
93
- @apply h-28;
94
- }
95
- .height8 {
96
- @apply h-32;
97
- }
98
- .height9 {
99
- @apply h-36;
100
- }
101
- .height10 {
102
- @apply h-40;
103
- }
104
- .height11 {
105
- @apply h-44;
106
- }
107
- .height12 {
108
- @apply h-full;
109
- }
@@ -1,39 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import ImageInfo from '.';
5
-
6
- const meta = {
7
- title: 'Components/Image Info',
8
- component: ImageInfo,
9
- argTypes: {
10
- ...idAndClassName,
11
-
12
- bgColour: {
13
- type: { name: 'string', required: false },
14
- options: ['primary', 'secondary', 'white', 'black', 'gold'],
15
- description: 'The background colour of the component',
16
- table: {
17
- type: { summary: 'string' },
18
- },
19
- defaultValue: 'primary',
20
- control: 'select',
21
- },
22
- },
23
- args: {
24
- // title: 'This is a title',
25
- // description: 'what do you recon to this?',
26
- contentTitle: 'This is a title',
27
- text: 'Lorem ipsum dolor sit, amet consectetur adipisicing elit. Esse quia ducimus dolores exercitationem officia repudiandae maiores voluptatum iusto cum. Quae tenetur veniam quam nihil cupiditate fugiat, ratione minima illo! Cum.',
28
- image: 'https://picsum.photos/400/200',
29
- swapDesktop: true,
30
- swapMobile: true,
31
- bgColour: '#31A3DD',
32
- },
33
- };
34
-
35
- export default meta;
36
-
37
- type Story = StoryObj<typeof meta>;
38
-
39
- export const Default: Story = {};
@@ -1,95 +0,0 @@
1
- import React from 'react';
2
-
3
- import Container from '@components/Container';
4
- import { type Colours } from '@utils/controls';
5
- import MatchMedia from '@utils/matchMedia';
6
- import { Screens } from '@utils/screens';
7
- import classNames from 'classnames';
8
-
9
-
10
-
11
- export interface Props {
12
- id: string;
13
- className?: string;
14
- bgColour?: Colours;
15
- textColour?: string;
16
- contentTitle?: string;
17
- text?: string;
18
- image: string;
19
- swapDesktop?: boolean;
20
- swapMobile?: boolean;
21
- }
22
-
23
- const ImageInfo: React.FC<Props> = ({
24
- id,
25
- className,
26
- bgColour,
27
- textColour = 'white',
28
- contentTitle,
29
- text,
30
- image,
31
- swapDesktop = false,
32
- swapMobile = false,
33
- }: Props): JSX.Element => {
34
- const classList = className;
35
- const mediumScreen: string = Screens.md;
36
- const lgScreenSize: string = `(min-width: ${mediumScreen})`;
37
- const smScreenSize: string = `(max-width: ${mediumScreen})`;
38
- const isLg: boolean = MatchMedia(lgScreenSize);
39
- const isSm: boolean = MatchMedia(smScreenSize);
40
-
41
- const wrapperClassList = classNames(
42
- {
43
- [style.wrapper]: !swapDesktop,
44
- [style.reverseWrapper]: swapDesktop,
45
- [style.reverseMobileWrapper]: !isLg && swapMobile,
46
- },
47
- style.wrapperClasses,
48
- 'theme-local',
49
- );
50
-
51
- const imageWrapperClasses = classNames(
52
- {
53
- [style.smallImageWrapper]: isSm,
54
- },
55
- style.imageWrapper,
56
- );
57
-
58
- const imageClasses = classNames(
59
- {
60
- [style.smallImageHeight]: isSm,
61
- },
62
- style.image,
63
- );
64
-
65
- return (
66
- <div
67
- id={id}
68
- style={{ backgroundColor: bgColour, color: textColour }}
69
- className={classList}
70
- >
71
- <Container withPadding={isLg}>
72
- <div className={wrapperClassList}>
73
- <div className={imageWrapperClasses}>
74
- <img
75
- src={image}
76
- className={imageClasses}
77
- alt={contentTitle}
78
- title={contentTitle}
79
- />
80
- </div>
81
- <div className={style.contentWrapper}>
82
- <div className={style.content}>
83
- <div>
84
- <p className={style.title}>{contentTitle}</p>
85
- <p className={style.text}>{text}</p>
86
- </div>
87
- </div>
88
- </div>
89
- </div>
90
- </Container>
91
- </div>
92
- );
93
- };
94
-
95
- export default ImageInfo;
@@ -1,47 +0,0 @@
1
- .wrapperClasses {
2
- @apply md:flex;
3
- }
4
-
5
- .wrapper {
6
- @apply md:flex-row;
7
- }
8
-
9
- .reverseWrapper {
10
- @apply md:flex-row-reverse;
11
- }
12
-
13
- .reverseMobileWrapper {
14
- @apply flex flex-col-reverse;
15
- }
16
-
17
- .imageWrapper {
18
- @apply md:w-1/2;
19
- }
20
-
21
- .smallImageWrapper {
22
- height: 100vw;
23
- }
24
-
25
- .smallImageHeight {
26
- height: 100vw;
27
- }
28
-
29
- .image {
30
- @apply h-full w-full object-cover;
31
- }
32
-
33
- .contentWrapper {
34
- @apply md:w-1/2;
35
- }
36
-
37
- .content {
38
- @apply flex h-full items-center justify-center p-8 text-center;
39
- }
40
-
41
- .title {
42
- @apply text-lg font-regular;
43
- }
44
-
45
- .text {
46
- @apply text-md font-light;
47
- }
@@ -1,37 +0,0 @@
1
- import Column from '@components/Column';
2
- import { Meta, StoryObj } from '@storybook/react';
3
- import { idAndClassName } from '@utils/controls';
4
-
5
- import ImageLink from '.';
6
-
7
- const meta = {
8
- title: 'Components/Image Link',
9
- component: ImageLink,
10
- parameters: {},
11
- argTypes: {
12
- ...idAndClassName,
13
- title: {
14
- description: '',
15
- control: 'text',
16
- table: {
17
- category: '',
18
- },
19
- },
20
- image: {
21
- description: '',
22
- control: 'text',
23
- table: {
24
- category: '',
25
- },
26
- },
27
- },
28
- args: {
29
- image: 'https://picsum.photos/400/400',
30
- link: '/',
31
- },
32
- };
33
- export default meta;
34
-
35
- type Story = StoryObj<typeof meta>;
36
-
37
- export const Default: Story = {};
@@ -1,49 +0,0 @@
1
- import React from 'react';
2
-
3
- import Button, { type Props as buttonProps } from '@components/Button';
4
- import classNames from 'classnames';
5
-
6
-
7
-
8
- export interface Props {
9
- id?: string;
10
- className?: string;
11
- image?: string;
12
- altText?: string;
13
- title?: string;
14
- link?: string;
15
- rounded?: boolean;
16
- openInNewTab?: boolean;
17
- buttonProps?: buttonProps;
18
- }
19
- const ImageLink = ({
20
- id,
21
- className,
22
- image,
23
- altText,
24
- title,
25
- link,
26
- rounded,
27
- openInNewTab,
28
- buttonProps,
29
- }: Props): JSX.Element => {
30
- const classList = classNames(className, style.classList, 'theme-local');
31
-
32
- const roundedClass = classNames({
33
- [style.rounded]: rounded,
34
- });
35
-
36
- return (
37
- <a id={id} href={link} {...(openInNewTab && { target: 'blank' })}>
38
- <div className={classNames(roundedClass, classList, style.wrapper)}>
39
- <img src={image} alt={altText} className={style.image} />
40
- {title !== undefined && <h1 className={style.title}>{title}</h1>}
41
- {buttonProps?.children !== undefined && (
42
- <Button className={style.button}>{buttonProps.children}</Button>
43
- )}
44
- </div>
45
- </a>
46
- );
47
- };
48
-
49
- export default ImageLink;
@@ -1,23 +0,0 @@
1
- .classList {
2
- @apply mx-1 mb-2 cursor-pointer overflow-hidden text-center hover:opacity-50 md:mx-1 md:mb-2 lg:mx-3 lg:mb-5;
3
- }
4
-
5
- .rounded {
6
- @apply rounded-full;
7
- }
8
-
9
- .title {
10
- @apply absolute inset-x-0 top-0 mt-4 bg-black py-2 text-center text-white;
11
- }
12
-
13
- .button {
14
- @apply absolute inset-x-0 bottom-0 mx-8 mb-4 text-center;
15
- }
16
-
17
- .image {
18
- @apply h-full w-full object-cover;
19
- }
20
-
21
- .wrapper {
22
- @apply relative overflow-hidden;
23
- }
@@ -1,34 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import ImageLinkList from '.';
5
-
6
- const getLinks = (): any => {
7
- return new Array(16).fill(null).map(() => {
8
- return {
9
- image: 'https://picsum.photos/400/400',
10
- title: 'Hi',
11
- buttonProps: {
12
- children: <p>button</p>,
13
- },
14
- };
15
- });
16
- };
17
-
18
- const meta = {
19
- title: 'Components/Image Link List',
20
- component: ImageLinkList,
21
- parameters: {},
22
- argTypes: {
23
- ...idAndClassName,
24
- },
25
- args: {
26
- items: getLinks(),
27
- },
28
- };
29
-
30
- export default meta;
31
-
32
- type Story = StoryObj<typeof meta>;
33
-
34
- export const Default: Story = {};
@@ -1,33 +0,0 @@
1
- import React from 'react';
2
-
3
- import classNames from 'classnames';
4
-
5
- import ImageLink, { type Props as imageLinkProps } from '../ImageLink';
6
-
7
-
8
- export interface Props {
9
- id?: string;
10
- className?: string;
11
- items?: imageLinkProps[];
12
- }
13
-
14
- const ImageLinkList = ({ id, className, items }: Props): JSX.Element => {
15
- const classList = classNames(className, style.classList, 'theme-local');
16
-
17
- return (
18
- <div id={id} className={classList}>
19
- {items?.map((item, i: number) => {
20
- return (
21
- <ImageLink
22
- key={`image_link_${i + 0}`}
23
- altText={item.altText}
24
- image={item.image}
25
- title={item.title}
26
- />
27
- );
28
- })}
29
- </div>
30
- );
31
- };
32
-
33
- export default ImageLinkList;
@@ -1,3 +0,0 @@
1
- .classList {
2
- @apply grid sm:grid-cols-2 md:grid-cols-4;
3
- }
@@ -1,83 +0,0 @@
1
- import { Meta, StoryObj } from '@storybook/react';
2
- import { idAndClassName } from '@utils/controls';
3
-
4
- import InformationIcon from '.';
5
-
6
- const meta = {
7
- title: 'Components/Information Icon',
8
- component: InformationIcon,
9
- argTypes: {
10
- ...idAndClassName,
11
- title: {
12
- type: { name: 'string', required: true },
13
- description: 'The title to display on the component',
14
- table: {
15
- type: { summary: 'string' },
16
- },
17
- },
18
- subtitle: {
19
- type: { name: 'string', value: 'string | number' },
20
- description: 'The subtitle to display on the component',
21
- table: {
22
- type: {
23
- summary: 'string',
24
- },
25
- defaultValue: { summary: 'undefined' },
26
- },
27
- },
28
- withAnimation: {
29
- type: { name: 'boolean', required: false },
30
- description: 'Enabled the counter animation on the component',
31
- table: {
32
- type: { summary: 'boolean' },
33
- },
34
- defaultValue: 'false',
35
- },
36
- withHoverEffect: {
37
- type: { name: 'boolean', required: false },
38
- description: 'Enabled the hover effect on the component',
39
- table: {
40
- type: { summary: 'boolean' },
41
- },
42
- defaultValue: 'true',
43
- },
44
- iconProps: {
45
- type: { name: 'iconProps', required: false },
46
- description: 'The props to pass to the icon to display on the component',
47
- table: {
48
- type: { summary: 'iconProps' },
49
- },
50
- },
51
-
52
- large: {
53
- description: 'Defines the top and bottom padding size',
54
- control: 'boolean',
55
- table: {
56
- type: { summary: 'boolean' },
57
- defaultValue: { summary: 'true' },
58
- },
59
- defaultValue: 'true',
60
- },
61
- },
62
- args: {
63
- title: 'Self check-in',
64
- subtitle: 'Check yourself in with the smartlock.',
65
- withAnimation: true,
66
- backgroundColour: 'white',
67
- iconProps: {
68
- type: 'heart',
69
- size: 2,
70
- colour: 'black',
71
- hollow: true,
72
- bgColour: 'secondary',
73
- hoverColour: 'black',
74
- hoverBgColour: 'white',
75
- },
76
- },
77
- };
78
-
79
- export default meta;
80
-
81
- type Story = StoryObj<typeof meta>;
82
-
83
- export const Default: Story = {};
@@ -1,128 +0,0 @@
1
- import React, { useEffect, useRef } from 'react';
2
-
3
- import Icon, { type Props as iconProps } from '@components/Icon';
4
- import { type Colours } from '@utils/controls';
5
- import MatchMedia from '@utils/matchMedia';
6
- import classNames from 'classnames';
7
-
8
-
9
-
10
- export interface Props {
11
- id: string;
12
- className?: string;
13
- title: string;
14
- subtitle?: string | number;
15
- withAnimation?: boolean;
16
- withHoverEffect?: boolean;
17
- iconProps: iconProps;
18
- backgroundColour?: Colours;
19
-
20
- large?: boolean;
21
- }
22
-
23
- const InformationIcon = ({
24
- id,
25
- className,
26
- title,
27
- subtitle,
28
- withAnimation = false,
29
- withHoverEffect = true,
30
- iconProps,
31
- backgroundColour = 'white',
32
-
33
- large = true,
34
- }: Props): JSX.Element => {
35
- const loaded = useRef(false);
36
- const smScreenSize = 'max-width: 768px';
37
- const isSm: boolean = MatchMedia(smScreenSize);
38
- const classList = classNames(
39
- {
40
- [style.hoverable]: withHoverEffect,
41
- [style.large]: large,
42
- [style.small]: !large,
43
- 'pt-4': !large,
44
- },
45
- className,
46
- style.classList,
47
- style[backgroundColour],
48
- 'theme-local',
49
- );
50
-
51
- const titleClassList = classNames({
52
- [style.centerText]: subtitle === undefined,
53
- [style.title]: subtitle !== undefined,
54
- });
55
-
56
- const subtitleClassList = classNames(
57
- {
58
- [style.centerText]: title === undefined,
59
- },
60
- style.subtitle,
61
- );
62
-
63
- useEffect(() => {
64
- if (typeof subtitle === 'number') {
65
- const element = document.getElementById(`${id}_number`);
66
- const observer = new IntersectionObserver(
67
- (entries, observer) => {
68
- entries.forEach((entry) => {
69
- if (entry.intersectionRatio >= 0.1 && !loaded.current) {
70
- loaded.current = true;
71
- counterAnimation(
72
- document.getElementById(`${id}_number`),
73
- 0,
74
- subtitle,
75
- 3000,
76
- );
77
- }
78
- });
79
- },
80
- { threshold: 1 },
81
- );
82
- element != null && withAnimation && observer.observe(element);
83
- }
84
- }, []);
85
-
86
- const counterAnimation = (
87
- obj: any,
88
- start: number,
89
- end: number,
90
- duration: number,
91
- ): void => {
92
- let startTimestamp: number;
93
- const step = (timestamp: number): void => {
94
- startTimestamp = timestamp;
95
- const progress = Math.min((timestamp - startTimestamp) / duration, 1);
96
- obj.innerHTML = Math.floor(progress * (end - start) + start);
97
- if (progress < 1) {
98
- window.requestAnimationFrame(step);
99
- }
100
- };
101
- window.requestAnimationFrame(step);
102
- };
103
-
104
- return (
105
- <div id={id} className={classList}>
106
- <div className={style.icon}>
107
- {iconProps !== undefined && (
108
- <Icon
109
- {...iconProps}
110
- className="mx-auto"
111
- size={isSm ? 3 : 2}
112
- bgColour={backgroundColour}
113
- />
114
- )}
115
- </div>
116
- <div className={style.text}>
117
- {title !== undefined && title !== '' && (
118
- <p className={titleClassList}>{title}</p>
119
- )}
120
- {subtitle !== undefined && subtitle !== '' && (
121
- <p className={subtitleClassList}>{subtitle}</p>
122
- )}
123
- </div>
124
- </div>
125
- );
126
- };
127
-
128
- export default InformationIcon;