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,273 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
-
3
- import Container from '@components/Container';
4
- import HamburgerIcon from '@components/HamburgerIcon';
5
- import HorizontalLine from '@components/HorizontalLine';
6
- import Image from '@components/Image';
7
- import MenuButton, {
8
- type Props as MenuButtonProps,
9
- } from '@components/MenuButton';
10
- import NavItem, { type Props as navItemProps } from '@components/NavItem';
11
- import classNames from 'classnames';
12
-
13
- import StickyNav from './StickyNav';
14
-
15
-
16
- export interface Props {
17
- id?: string;
18
- className?: string;
19
- navLinks: navItemProps[];
20
- withMobileSideBar?: boolean;
21
- withMobileDropdown?: boolean;
22
- dropdownNavHeight: string;
23
- logo: string;
24
- logoDarkTheme: string;
25
- mobileLogo: string;
26
- mobileLogoDarkTheme: string;
27
- logoLink: string;
28
- mobileClasses?: string;
29
- getNavStatus?: (withMobileSideBar: boolean, open: boolean) => void;
30
- variant: 'primary' | 'secondary' | 'tertiary';
31
- text?: string;
32
- textLink?: string;
33
- stickyNavVariant: 'primary' | 'secondary' | 'tertiary';
34
- withStickyNavShadow?: boolean;
35
- withDesktopShadow?: boolean;
36
- profileMenu?: MenuButtonProps;
37
- }
38
-
39
- const NavOld = ({
40
- id,
41
- className,
42
- navLinks,
43
- withMobileSideBar = false,
44
- withMobileDropdown = false,
45
- dropdownNavHeight,
46
- logo,
47
- logoDarkTheme,
48
- mobileLogo,
49
- mobileLogoDarkTheme,
50
- logoLink,
51
- mobileClasses,
52
- getNavStatus,
53
- variant = 'primary',
54
- stickyNavVariant = 'primary',
55
- text,
56
- textLink = '/',
57
- withStickyNavShadow = false,
58
- withDesktopShadow = false,
59
- profileMenu,
60
- }: Props): JSX.Element => {
61
- const [showSideNav, setShowSideNav] = useState(false);
62
- const [showDropdownNav, setShowDropdownNav] = useState(false);
63
- const [showStickyNav, setShowStickyNav] = useState(false);
64
- const [navOpen, setNavOpen] = useState(false);
65
- const colours = [style[variant]];
66
- const classList = classNames(
67
- {
68
- // [style.desktopNavDropShadow]: withDesktopShadow && !showStickyNav && !showSideNav
69
- },
70
- className,
71
- style.nav,
72
- 'theme-local',
73
- colours,
74
- );
75
-
76
- const stickyClassList = classNames(
77
- {
78
- [style.showStickyNav]: showStickyNav,
79
- },
80
- style.stickyNav,
81
- );
82
-
83
- const isSticky = (): void => {
84
- window.scrollY >= 80 ? setShowStickyNav(true) : setShowStickyNav(false);
85
- };
86
-
87
- useEffect(() => {
88
- window.addEventListener('scroll', isSticky);
89
- return () => {
90
- window.removeEventListener('scroll', isSticky);
91
- };
92
- });
93
-
94
- const sideNavClasses = classNames(
95
- {
96
- [style.sideBarCollapsed]: !showSideNav,
97
- [style.sideBarExpanded]: showSideNav,
98
- },
99
- style.sideNavClassList,
100
- colours,
101
- );
102
-
103
- const dropdownNavClasses = classNames(
104
- {
105
- [style.dropDownCollapsed]: !showDropdownNav,
106
- [style.dropDownExpanded]: showDropdownNav,
107
- [`h-${dropdownNavHeight}`]: showDropdownNav,
108
- },
109
- style.dropDownNavClassList,
110
- );
111
-
112
- const mobileContainer = classNames(
113
- style.mobileContainer,
114
- style.mobileNav,
115
- mobileClasses,
116
- );
117
-
118
- const toggleMenu = (): void => {
119
- setNavOpen(!navOpen);
120
- if (withMobileSideBar) {
121
- getNavStatus?.(withMobileSideBar, !showSideNav);
122
- setShowSideNav(!showSideNav);
123
- }
124
- if (withMobileDropdown) {
125
- getNavStatus?.(withMobileDropdown, !showDropdownNav);
126
- setShowDropdownNav(!showDropdownNav);
127
- }
128
- };
129
-
130
- return (
131
- <div className={style.wrapperClasses}>
132
- <div
133
- className={classNames(
134
- style.defaultNavClasses,
135
- [navOpen] && style.navOpen,
136
- [!navOpen] && style.navClosed,
137
- )}
138
- />
139
- <header id={id} className={classList}>
140
- {/* Mobile Nav */}
141
- <Container withPadding className={mobileContainer}>
142
- {(withMobileSideBar || withMobileDropdown) && (
143
- <div className={style.collapseBtnWrapper}>
144
- <HamburgerIcon onClick={toggleMenu} variant={variant} />
145
- </div>
146
- )}
147
- <a
148
- className={style.mobileLogo}
149
- href={logoLink}
150
- aria-label="mobile-logo"
151
- >
152
- <Image src={mobileLogo} height={5} width={5} />
153
- </a>
154
- </Container>
155
-
156
- {/* Desktop Nav */}
157
- <Container withPadding className={style.desktopNav}>
158
- <div className={style.logoClassList}>
159
- <a
160
- className={style.desktopLogo}
161
- href={logoLink}
162
- aria-label="desktop-logo"
163
- >
164
- <Image src={logo} height={5} width={5} />
165
- </a>
166
- </div>
167
- <nav className={style.navItems}>
168
- {navLinks?.map((navLink, i) => {
169
- return (
170
- <NavItem
171
- key={`desktop_nav_item_${i}`}
172
- {...navLink}
173
- className={style.navItemPadding}
174
- bordered={false}
175
- rounded={false}
176
- underlineOnHover
177
- variant={variant}
178
- />
179
- );
180
- })}
181
- </nav>
182
- {!profileMenu?.menuItems !== undefined && (
183
- <div className={style.textClassList}>
184
- {text !== undefined && (
185
- <NavItem
186
- title={text}
187
- href={textLink}
188
- className={style.navItemPadding}
189
- underlineOnHover
190
- variant={variant}
191
- />
192
- )}
193
- </div>
194
- )}
195
- {profileMenu?.menuItems && (
196
- <div className={style.profileClassList}>
197
- <MenuButton {...profileMenu} menuItems={profileMenu?.menuItems} />
198
- </div>
199
- )}
200
- </Container>
201
-
202
- {/* Mobile Links */}
203
- {/* Side Bar */}
204
- {withMobileSideBar && (
205
- <div className={sideNavClasses}>
206
- {navLinks?.map((navLink, i) => {
207
- return (
208
- <div className="flex-col" key={`sidebar_nav_item_${i}`}>
209
- <NavItem
210
- {...navLink}
211
- className={classNames(
212
- colours,
213
- style.mobileSideBarMenuNavItems,
214
- 'justify-center pb-4 pt-2',
215
- )}
216
- bordered={false}
217
- rounded={false}
218
- underlineOnHover
219
- variant={variant}
220
- />
221
-
222
- <HorizontalLine
223
- colour={variant === 'secondary' ? 'primary' : 'secondary'}
224
- className="mx-2"
225
- />
226
- </div>
227
- );
228
- })}
229
- </div>
230
- )}
231
- {withMobileDropdown && (
232
- <div className={dropdownNavClasses}>
233
- <div className={style.mobileDropDownMenu}>
234
- {navLinks?.map((navLink, i) => {
235
- return (
236
- <NavItem
237
- key={`dropdown_nav_item_${i}`}
238
- {...navLink}
239
- className={style.mobileDropDownMenuNavItems}
240
- bordered={false}
241
- rounded={false}
242
- underlineOnHover
243
- variant={variant}
244
- />
245
- );
246
- })}
247
- </div>
248
- </div>
249
- )}
250
- <StickyNav
251
- id={id}
252
- className={stickyClassList}
253
- navLinks={navLinks}
254
- withMobileSideBar={withMobileSideBar}
255
- withMobileDropdown={withMobileDropdown}
256
- dropdownNavHeight={dropdownNavHeight}
257
- logo={logo}
258
- logoDarkTheme={logoDarkTheme}
259
- mobileLogo={mobileLogo}
260
- mobileLogoDarkTheme={mobileLogoDarkTheme}
261
- logoLink={logoLink}
262
- mobileClasses={mobileClasses}
263
- {...(getNavStatus && { getNavStatus })}
264
- variant={stickyNavVariant}
265
- tabindex={showStickyNav ? 0 : -1}
266
- withShadow={withStickyNavShadow}
267
- />
268
- </header>
269
- </div>
270
- );
271
- };
272
-
273
- export default NavOld;
@@ -1,156 +0,0 @@
1
- .wrapperCalsses {
2
- @apply flex min-h-screen flex-col;
3
- }
4
-
5
- .defaultNavClasses {
6
- @apply fixed bottom-0 left-0 right-0 top-0 z-50 h-full w-full bg-primary transition-opacity duration-700;
7
- }
8
-
9
- .navOpen {
10
- @apply visible opacity-100;
11
- }
12
-
13
- .navClosed {
14
- @apply invisible opacity-0;
15
- }
16
-
17
- .desktopNav {
18
- @apply relative z-50;
19
- @apply flex items-center justify-between;
20
- }
21
-
22
- .desktopNavDropShadow {
23
- @apply drop-shadow-lg;
24
- }
25
-
26
- .mobileNav {
27
- @apply relative z-50;
28
- }
29
-
30
- .stickyNav {
31
- @apply fixed top-0 z-40 w-full overflow-hidden opacity-0 transition-all duration-500;
32
- }
33
-
34
- .stickyNavDropShadow {
35
- @apply drop-shadow-lg;
36
- }
37
-
38
- .showStickyNav {
39
- @apply opacity-100 transition-all duration-1000;
40
- }
41
-
42
- .invisible {
43
- @apply hidden;
44
- }
45
-
46
- .primary {
47
- @apply bg-primary text-secondary;
48
- }
49
-
50
- .secondary {
51
- @apply bg-secondary text-primary;
52
- }
53
-
54
- .tertiary {
55
- @apply bg-tertiary text-secondary;
56
- }
57
-
58
- .white {
59
- @apply bg-white text-black;
60
- }
61
-
62
- .black {
63
- @apply bg-black text-white;
64
- }
65
-
66
- .collapseBtnWrapper {
67
- @apply absolute inset-y-0 left-8 top-4;
68
- }
69
-
70
- .collapseBtnWrapper:hover > button {
71
- @apply text-primary;
72
- }
73
-
74
- .navItems {
75
- @apply hidden w-96 justify-center py-6 md:flex md:pr-16 lg:pr-0;
76
- }
77
-
78
- .navItemPadding {
79
- @apply mx-auto w-24 text-center;
80
- }
81
-
82
- .logoClassList {
83
- @apply my-2 hidden w-96 md:flex;
84
- }
85
-
86
- .textClassList {
87
- @apply hidden w-96 flex-row-reverse lg:flex;
88
- }
89
-
90
- .profileClassList {
91
- @apply hidden w-96 flex-row-reverse md:flex;
92
- }
93
-
94
- .desktopLogo:focus {
95
- @apply border-2 border-white;
96
- }
97
-
98
- .mobileLogo {
99
- @apply mx-auto my-2;
100
- }
101
-
102
- .mobileLogo:focus {
103
- @apply border-2 border-white;
104
- }
105
-
106
- .mobileContainer {
107
- @apply flex items-center md:hidden;
108
- }
109
-
110
- .mobileDropDownMenu {
111
- @apply space-y-1 pb-3 pt-2;
112
- }
113
-
114
- .dropDownNavClassList {
115
- @apply z-50 overflow-hidden md:hidden;
116
- }
117
-
118
- .mobileDropDownMenuNavItems {
119
- @apply pl-8 pt-2;
120
- }
121
-
122
- .dropDownCollapsed {
123
- @apply h-0;
124
- }
125
-
126
- .sideNavClassList {
127
- @apply fixed z-50 h-full overflow-hidden duration-700 md:hidden;
128
- }
129
-
130
- .mobileSideBarMenu {
131
- @apply space-y-1 pb-3 pt-2;
132
- }
133
-
134
- .mobileSideBarMenuNavItems {
135
- @apply pl-2 pt-4;
136
- }
137
-
138
- .mobileSideBarMenuNavItems:focus {
139
- @apply border-2 border-white;
140
- }
141
-
142
- .sideBarCollapsed {
143
- @apply w-0;
144
- }
145
-
146
- .sideBarExpanded {
147
- @apply h-screen w-full sm:w-1/3;
148
- }
149
-
150
- .dark {
151
- @apply bg-primary text-white;
152
- }
153
-
154
- .light {
155
- @apply bg-white text-primary;
156
- }
@@ -1,35 +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
- children: any;
11
- visible?: boolean;
12
- }
13
-
14
- export const Dropdown = ({
15
- id,
16
- className,
17
- children,
18
- visible = false,
19
- }: Props): JSX.Element => {
20
- const dropdownNavClasses = classNames(
21
- {
22
- [style.dropDownCollapsed]: !visible,
23
- [style.dropDownExpanded]: visible,
24
- [`h-auto`]: visible,
25
- },
26
- style.dropDownNavClassList,
27
- className,
28
- );
29
-
30
- return (
31
- <div id={id} className={dropdownNavClasses}>
32
- <div className={style.mobileDropDownMenu}>{children}</div>
33
- </div>
34
- );
35
- };
@@ -1,38 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
-
3
- import { Meta, StoryObj } from '@storybook/react';
4
- import { idAndClassName } from '@utils/controls';
5
-
6
- import Nav from '.';
7
- import Container from '../Container';
8
- import HamburgerIcon from '../HamburgerIcon';
9
- import Image from '../Image';
10
- import NavItem from '../NavItem';
11
-
12
- const meta = {
13
- title: 'Components/NavTwo',
14
- component: Nav,
15
- parameters: {
16
- backgrounds: {
17
- default: 'grey',
18
- values: [
19
- {
20
- name: 'grey',
21
- value: '#f3f3f3',
22
- },
23
- ],
24
- },
25
- },
26
- argTypes: {
27
- ...idAndClassName,
28
- children: {},
29
- },
30
- args: {
31
- className: 'bg-primary text-white py-4',
32
- },
33
- };
34
- export default meta;
35
-
36
- type Story = StoryObj<typeof meta>;
37
-
38
- export const Default: Story = {};
@@ -1,34 +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
- children: any;
11
- visible?: boolean;
12
- }
13
-
14
- export const Sidebar = ({
15
- id,
16
- className,
17
- children,
18
- visible = false,
19
- }: Props): JSX.Element => {
20
- const sideNavClasses = classNames(
21
- {
22
- [style.sideBarCollapsed]: !visible,
23
- [style.sideBarExpanded]: visible,
24
- },
25
- style.sideNavClassList,
26
- className,
27
- );
28
-
29
- return (
30
- <div id={id} className={sideNavClasses}>
31
- {children}
32
- </div>
33
- );
34
- };
@@ -1,34 +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
- children: any;
11
- visible?: boolean;
12
- }
13
-
14
- export const StickyNav = ({
15
- id,
16
- className,
17
- children,
18
- visible = false,
19
- }: Props): JSX.Element => {
20
- const classList = classNames(
21
- {
22
- [style.showStickyNav]: visible,
23
- },
24
- className,
25
- style.stickyNav,
26
- 'theme-local',
27
- );
28
-
29
- return (
30
- <div id={`sticky_${id ?? 'nav'}`} className={classList}>
31
- {children}
32
- </div>
33
- );
34
- };
@@ -1,45 +0,0 @@
1
- import React from 'react';
2
-
3
- import classNames from 'classnames';
4
-
5
- import { Dropdown } from './Dropdown';
6
- import { Sidebar } from './Sidebar';
7
- import { StickyNav } from './StickyNav';
8
-
9
-
10
- export interface Props {
11
- id?: string;
12
- className?: string;
13
- children: any;
14
- mobileNavExpanded?: boolean;
15
- }
16
-
17
- const Nav = ({
18
- id,
19
- className,
20
- children,
21
- mobileNavExpanded,
22
- }: Props): JSX.Element => {
23
- const classList = classNames(className, style.nav, 'theme-local');
24
-
25
- return (
26
- <div>
27
- <div
28
- className={classNames(
29
- style.defaultNavClasses,
30
- [mobileNavExpanded] && style.navOpen,
31
- [!mobileNavExpanded] && style.navClosed,
32
- )}
33
- />
34
- <header id={id} className={classList}>
35
- {children}
36
- </header>
37
- </div>
38
- );
39
- };
40
-
41
- export default Nav;
42
-
43
- Nav.Dropdown = Dropdown;
44
- Nav.Sidebar = Sidebar;
45
- Nav.Sticky = StickyNav;
@@ -1,35 +0,0 @@
1
- .defaultNavClasses {
2
- @apply fixed bottom-0 left-0 right-0 top-0 z-50 h-full w-full bg-primary transition-opacity duration-700;
3
- }
4
-
5
- .navOpen {
6
- @apply visible opacity-100;
7
- }
8
-
9
- .navClosed {
10
- @apply invisible opacity-0;
11
- }
12
-
13
- .stickyNav {
14
- @apply fixed top-0 z-40 w-full overflow-hidden opacity-0 transition-all duration-500;
15
- }
16
-
17
- .showStickyNav {
18
- @apply opacity-100 transition-all duration-1000;
19
- }
20
-
21
- .dropDownCollapsed {
22
- @apply hidden h-0;
23
- }
24
-
25
- .sideNavClassList {
26
- @apply fixed z-50 h-full overflow-hidden duration-700 md:hidden;
27
- }
28
-
29
- .sideBarCollapsed {
30
- @apply w-0;
31
- }
32
-
33
- .sideBarExpanded {
34
- @apply h-screen w-full sm:w-1/3;
35
- }