trepur_components 1.0.2 → 1.0.4

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 (237) hide show
  1. package/dist/src/lib/components/Accordion/index.js +3 -1
  2. package/dist/src/lib/components/Accordion/index.js.map +1 -1
  3. package/dist/src/lib/components/Accordion/style.module.css +4 -0
  4. package/dist/src/lib/components/Accordion/style.module.css.map +1 -0
  5. package/dist/src/lib/components/Carousel/index.d.ts +0 -1
  6. package/dist/src/lib/components/Carousel/index.js +1 -1
  7. package/dist/src/lib/components/Carousel/index.js.map +1 -1
  8. package/dist/src/lib/components/ImageLinkList/index.d.ts +1 -1
  9. package/dist/src/lib/components/Nav/index.d.ts +1 -1
  10. package/dist/src/lib/components/Nav/index.js +2 -2
  11. package/dist/src/lib/components/Nav/index.js.map +1 -1
  12. package/dist/src/lib/components/SocialBlock/index.js +2 -2
  13. package/dist/src/lib/components/SocialBlock/index.js.map +1 -1
  14. package/dist/{components → src/lib/components}/Timeline/index.css +2 -0
  15. package/dist/src/lib/components/Timeline/index.css.map +1 -0
  16. package/dist/{components → src/lib/components}/Tubestops/index.css +35 -30
  17. package/dist/src/lib/components/Tubestops/index.css.map +1 -0
  18. package/dist/src/lib/typography/index.d.ts +1 -3
  19. package/dist/src/lib/typography/index.js +1 -1
  20. package/dist/src/lib/typography/index.js.map +1 -1
  21. package/package.json +13 -6
  22. package/dist/components/Accordion/Accordion.stories.tsx +0 -88
  23. package/dist/components/Accordion/index.tsx +0 -31
  24. package/dist/components/AlertBar/AlertBar.stories.tsx +0 -105
  25. package/dist/components/AlertBar/index.tsx +0 -127
  26. package/dist/components/Breadcrumbs/Breadcrumbs.stories.tsx +0 -60
  27. package/dist/components/Breadcrumbs/index.tsx +0 -55
  28. package/dist/components/BreadcrumbsBordered/BreadcrumbsBordered.stories.tsx +0 -52
  29. package/dist/components/BreadcrumbsBordered/index.tsx +0 -44
  30. package/dist/components/BreadcrumbsItem/BreadcrumbsItem.stories.tsx +0 -54
  31. package/dist/components/BreadcrumbsItem/index.tsx +0 -151
  32. package/dist/components/Button/button.stories.tsx +0 -148
  33. package/dist/components/Button/index.tsx +0 -91
  34. package/dist/components/Card/Card.stories.tsx +0 -150
  35. package/dist/components/Card/index.tsx +0 -162
  36. package/dist/components/CardWithTopImage/CardWithTopImage.stories.tsx +0 -48
  37. package/dist/components/CardWithTopImage/index.tsx +0 -40
  38. package/dist/components/Carousel/Carousel.stories.tsx +0 -369
  39. package/dist/components/Carousel/index.tsx +0 -267
  40. package/dist/components/ChevronCard/ChevronCard.stories.tsx +0 -21
  41. package/dist/components/ChevronCard/index.tsx +0 -39
  42. package/dist/components/Collapsible/Collapsible.stories.tsx +0 -70
  43. package/dist/components/Collapsible/index.tsx +0 -124
  44. package/dist/components/Column/Column.stories.tsx +0 -82
  45. package/dist/components/Column/index.tsx +0 -114
  46. package/dist/components/Container/Container.stories.tsx +0 -38
  47. package/dist/components/Container/index.tsx +0 -30
  48. package/dist/components/FooterBar/FooterBar.stories.tsx +0 -57
  49. package/dist/components/FooterBar/index.tsx +0 -44
  50. package/dist/components/Form/Form.stories.tsx +0 -93
  51. package/dist/components/Form/index.tsx +0 -58
  52. package/dist/components/FyreCard/FyreCard.stories.tsx +0 -29
  53. package/dist/components/FyreCard/index.tsx +0 -46
  54. package/dist/components/Greeting/Greeting.stories.tsx +0 -42
  55. package/dist/components/Greeting/index.tsx +0 -46
  56. package/dist/components/HamburgerIcon/HamburgerIcon.stories.tsx +0 -50
  57. package/dist/components/HamburgerIcon/index.tsx +0 -65
  58. package/dist/components/Icon/Icon.stories.tsx +0 -102
  59. package/dist/components/Icon/index.tsx +0 -112
  60. package/dist/components/Image/Image.stories.tsx +0 -88
  61. package/dist/components/Image/index.tsx +0 -113
  62. package/dist/components/ImageLink/ImageLink.stories.tsx +0 -60
  63. package/dist/components/ImageLink/index.tsx +0 -62
  64. package/dist/components/ImageLinkList/ImageLinkList.stories.tsx +0 -34
  65. package/dist/components/ImageLinkList/index.tsx +0 -33
  66. package/dist/components/InformationIcon/InformationIcon.stories.tsx +0 -86
  67. package/dist/components/InformationIcon/index.tsx +0 -84
  68. package/dist/components/Input/Input.stories.tsx +0 -99
  69. package/dist/components/Input/index.tsx +0 -126
  70. package/dist/components/Jumbotron/Jumbotron.stories.tsx +0 -22
  71. package/dist/components/Jumbotron/index.tsx +0 -25
  72. package/dist/components/Nav/Nav.stories.tsx +0 -155
  73. package/dist/components/Nav/index.tsx +0 -180
  74. package/dist/components/NavItem/NavItem.stories.tsx +0 -89
  75. package/dist/components/NavItem/index.tsx +0 -65
  76. package/dist/components/NewsCard/NewsCard.stories.tsx +0 -71
  77. package/dist/components/NewsCard/index.tsx +0 -48
  78. package/dist/components/Profile/Profile.stories.tsx +0 -50
  79. package/dist/components/Profile/index.tsx +0 -87
  80. package/dist/components/Row/Row.stories.tsx +0 -51
  81. package/dist/components/Row/index.tsx +0 -24
  82. package/dist/components/Search/Search.stories.tsx +0 -58
  83. package/dist/components/Search/index.tsx +0 -58
  84. package/dist/components/SocialBlock/SocialBlock.stories.tsx +0 -114
  85. package/dist/components/SocialBlock/index.tsx +0 -161
  86. package/dist/components/StarRating/StarRating.stories.tsx +0 -23
  87. package/dist/components/StarRating/index.tsx +0 -71
  88. package/dist/components/Testimonial/Testimonial.stories.tsx +0 -110
  89. package/dist/components/Testimonial/index.tsx +0 -50
  90. package/dist/components/TextAndTitle/TextAndTitle.stories.tsx +0 -65
  91. package/dist/components/TextAndTitle/index.tsx +0 -257
  92. package/dist/components/TextArea/TextArea.stories.tsx +0 -67
  93. package/dist/components/TextArea/index.tsx +0 -97
  94. package/dist/components/Timeline/Timeline.stories.tsx +0 -100
  95. package/dist/components/Timeline/index.tsx +0 -315
  96. package/dist/components/Tubestops/Tubestops.stories.tsx +0 -66
  97. package/dist/components/Tubestops/index.tsx +0 -77
  98. package/dist/components/UserIcon/UserIcon.stories.tsx +0 -67
  99. package/dist/components/UserIcon/index.tsx +0 -42
  100. package/dist/components/Video/Video.stories.tsx +0 -23
  101. package/dist/components/Video/index.tsx +0 -49
  102. package/dist/fonts/Sora/OFL.txt +0 -93
  103. package/dist/fonts/Sora/README.txt +0 -70
  104. package/dist/fonts/Sora/Sora-VariableFont_wght.ttf +0 -0
  105. package/dist/fonts/Sora/static/Sora-Bold.ttf +0 -0
  106. package/dist/fonts/Sora/static/Sora-ExtraBold.ttf +0 -0
  107. package/dist/fonts/Sora/static/Sora-ExtraLight.ttf +0 -0
  108. package/dist/fonts/Sora/static/Sora-Light.ttf +0 -0
  109. package/dist/fonts/Sora/static/Sora-Medium.ttf +0 -0
  110. package/dist/fonts/Sora/static/Sora-Regular.ttf +0 -0
  111. package/dist/fonts/Sora/static/Sora-SemiBold.ttf +0 -0
  112. package/dist/fonts/Sora/static/Sora-Thin.ttf +0 -0
  113. package/dist/index.js +0 -272
  114. package/dist/src/lib/components/Accordion/Accordion.stories.d.ts +0 -6
  115. package/dist/src/lib/components/Accordion/Accordion.stories.js +0 -80
  116. package/dist/src/lib/components/Accordion/Accordion.stories.js.map +0 -1
  117. package/dist/src/lib/components/AlertBar/AlertBar.stories.d.ts +0 -6
  118. package/dist/src/lib/components/AlertBar/AlertBar.stories.js +0 -91
  119. package/dist/src/lib/components/AlertBar/AlertBar.stories.js.map +0 -1
  120. package/dist/src/lib/components/Breadcrumbs/Breadcrumbs.stories.d.ts +0 -6
  121. package/dist/src/lib/components/Breadcrumbs/Breadcrumbs.stories.js +0 -56
  122. package/dist/src/lib/components/Breadcrumbs/Breadcrumbs.stories.js.map +0 -1
  123. package/dist/src/lib/components/BreadcrumbsBordered/BreadcrumbsBordered.stories.d.ts +0 -6
  124. package/dist/src/lib/components/BreadcrumbsBordered/BreadcrumbsBordered.stories.js +0 -45
  125. package/dist/src/lib/components/BreadcrumbsBordered/BreadcrumbsBordered.stories.js.map +0 -1
  126. package/dist/src/lib/components/BreadcrumbsItem/BreadcrumbsItem.stories.d.ts +0 -6
  127. package/dist/src/lib/components/BreadcrumbsItem/BreadcrumbsItem.stories.js +0 -50
  128. package/dist/src/lib/components/BreadcrumbsItem/BreadcrumbsItem.stories.js.map +0 -1
  129. package/dist/src/lib/components/Button/button.stories.d.ts +0 -6
  130. package/dist/src/lib/components/Button/button.stories.js +0 -132
  131. package/dist/src/lib/components/Button/button.stories.js.map +0 -1
  132. package/dist/src/lib/components/Card/Card.stories.d.ts +0 -8
  133. package/dist/src/lib/components/Card/Card.stories.js +0 -124
  134. package/dist/src/lib/components/Card/Card.stories.js.map +0 -1
  135. package/dist/src/lib/components/CardWithTopImage/CardWithTopImage.stories.d.ts +0 -6
  136. package/dist/src/lib/components/CardWithTopImage/CardWithTopImage.stories.js +0 -40
  137. package/dist/src/lib/components/CardWithTopImage/CardWithTopImage.stories.js.map +0 -1
  138. package/dist/src/lib/components/Carousel/Carousel.stories.d.ts +0 -6
  139. package/dist/src/lib/components/Carousel/Carousel.stories.js +0 -297
  140. package/dist/src/lib/components/Carousel/Carousel.stories.js.map +0 -1
  141. package/dist/src/lib/components/ChevronCard/ChevronCard.stories.d.ts +0 -6
  142. package/dist/src/lib/components/ChevronCard/ChevronCard.stories.js +0 -14
  143. package/dist/src/lib/components/ChevronCard/ChevronCard.stories.js.map +0 -1
  144. package/dist/src/lib/components/Collapsible/Collapsible.stories.d.ts +0 -6
  145. package/dist/src/lib/components/Collapsible/Collapsible.stories.js +0 -66
  146. package/dist/src/lib/components/Collapsible/Collapsible.stories.js.map +0 -1
  147. package/dist/src/lib/components/Column/Column.stories.d.ts +0 -6
  148. package/dist/src/lib/components/Column/Column.stories.js +0 -64
  149. package/dist/src/lib/components/Column/Column.stories.js.map +0 -1
  150. package/dist/src/lib/components/Container/Container.stories.d.ts +0 -6
  151. package/dist/src/lib/components/Container/Container.stories.js +0 -30
  152. package/dist/src/lib/components/Container/Container.stories.js.map +0 -1
  153. package/dist/src/lib/components/FooterBar/footerBar.stories.d.ts +0 -6
  154. package/dist/src/lib/components/FooterBar/footerBar.stories.js +0 -48
  155. package/dist/src/lib/components/FooterBar/footerBar.stories.js.map +0 -1
  156. package/dist/src/lib/components/Form/Form.stories.d.ts +0 -6
  157. package/dist/src/lib/components/Form/Form.stories.js +0 -82
  158. package/dist/src/lib/components/Form/Form.stories.js.map +0 -1
  159. package/dist/src/lib/components/FyreCard/FyreCard.stories.d.ts +0 -6
  160. package/dist/src/lib/components/FyreCard/FyreCard.stories.js +0 -22
  161. package/dist/src/lib/components/FyreCard/FyreCard.stories.js.map +0 -1
  162. package/dist/src/lib/components/Greeting/Greeting.stories.d.ts +0 -6
  163. package/dist/src/lib/components/Greeting/Greeting.stories.js +0 -33
  164. package/dist/src/lib/components/Greeting/Greeting.stories.js.map +0 -1
  165. package/dist/src/lib/components/HamburgerIcon/HamburgerIcon.stories.d.ts +0 -6
  166. package/dist/src/lib/components/HamburgerIcon/HamburgerIcon.stories.js +0 -46
  167. package/dist/src/lib/components/HamburgerIcon/HamburgerIcon.stories.js.map +0 -1
  168. package/dist/src/lib/components/Icon/Icon.stories.d.ts +0 -6
  169. package/dist/src/lib/components/Icon/Icon.stories.js +0 -87
  170. package/dist/src/lib/components/Icon/Icon.stories.js.map +0 -1
  171. package/dist/src/lib/components/Image/Image.stories.d.ts +0 -6
  172. package/dist/src/lib/components/Image/Image.stories.js +0 -73
  173. package/dist/src/lib/components/Image/Image.stories.js.map +0 -1
  174. package/dist/src/lib/components/ImageLink/ImageLink.stories.d.ts +0 -9
  175. package/dist/src/lib/components/ImageLink/ImageLink.stories.js +0 -50
  176. package/dist/src/lib/components/ImageLink/ImageLink.stories.js.map +0 -1
  177. package/dist/src/lib/components/ImageLinkList/ImageLinkList.stories.d.ts +0 -6
  178. package/dist/src/lib/components/ImageLinkList/ImageLinkList.stories.js +0 -27
  179. package/dist/src/lib/components/ImageLinkList/ImageLinkList.stories.js.map +0 -1
  180. package/dist/src/lib/components/InformationIcon/InformationIcon.stories.d.ts +0 -6
  181. package/dist/src/lib/components/InformationIcon/InformationIcon.stories.js +0 -73
  182. package/dist/src/lib/components/InformationIcon/InformationIcon.stories.js.map +0 -1
  183. package/dist/src/lib/components/Input/Input.stories.d.ts +0 -6
  184. package/dist/src/lib/components/Input/Input.stories.js +0 -95
  185. package/dist/src/lib/components/Input/Input.stories.js.map +0 -1
  186. package/dist/src/lib/components/Jumbotron/Jumbotron.stories.d.ts +0 -6
  187. package/dist/src/lib/components/Jumbotron/Jumbotron.stories.js +0 -16
  188. package/dist/src/lib/components/Jumbotron/Jumbotron.stories.js.map +0 -1
  189. package/dist/src/lib/components/Nav/Nav.stories.d.ts +0 -6
  190. package/dist/src/lib/components/Nav/Nav.stories.js +0 -134
  191. package/dist/src/lib/components/Nav/Nav.stories.js.map +0 -1
  192. package/dist/src/lib/components/NavItem/NavItem.stories.d.ts +0 -6
  193. package/dist/src/lib/components/NavItem/NavItem.stories.js +0 -75
  194. package/dist/src/lib/components/NavItem/NavItem.stories.js.map +0 -1
  195. package/dist/src/lib/components/NewsCard/NewsCard.stories.d.ts +0 -6
  196. package/dist/src/lib/components/NewsCard/NewsCard.stories.js +0 -60
  197. package/dist/src/lib/components/NewsCard/NewsCard.stories.js.map +0 -1
  198. package/dist/src/lib/components/Profile/Profile.stories.d.ts +0 -6
  199. package/dist/src/lib/components/Profile/Profile.stories.js +0 -41
  200. package/dist/src/lib/components/Profile/Profile.stories.js.map +0 -1
  201. package/dist/src/lib/components/Row/Row.stories.d.ts +0 -6
  202. package/dist/src/lib/components/Row/Row.stories.js +0 -37
  203. package/dist/src/lib/components/Row/Row.stories.js.map +0 -1
  204. package/dist/src/lib/components/Search/Search.stories.d.ts +0 -6
  205. package/dist/src/lib/components/Search/Search.stories.js +0 -48
  206. package/dist/src/lib/components/Search/Search.stories.js.map +0 -1
  207. package/dist/src/lib/components/SocialBlock/SocialBlock.stories.d.ts +0 -6
  208. package/dist/src/lib/components/SocialBlock/SocialBlock.stories.js +0 -58
  209. package/dist/src/lib/components/SocialBlock/SocialBlock.stories.js.map +0 -1
  210. package/dist/src/lib/components/StarRating/StarRating.stories.d.ts +0 -6
  211. package/dist/src/lib/components/StarRating/StarRating.stories.js +0 -17
  212. package/dist/src/lib/components/StarRating/StarRating.stories.js.map +0 -1
  213. package/dist/src/lib/components/Testimonial/Testimonial.stories.d.ts +0 -6
  214. package/dist/src/lib/components/Testimonial/Testimonial.stories.js +0 -95
  215. package/dist/src/lib/components/Testimonial/Testimonial.stories.js.map +0 -1
  216. package/dist/src/lib/components/TextAndTitle/TextAndTitle.stories.d.ts +0 -6
  217. package/dist/src/lib/components/TextAndTitle/TextAndTitle.stories.js +0 -63
  218. package/dist/src/lib/components/TextAndTitle/TextAndTitle.stories.js.map +0 -1
  219. package/dist/src/lib/components/TextArea/TextArea.stories.d.ts +0 -6
  220. package/dist/src/lib/components/TextArea/TextArea.stories.js +0 -63
  221. package/dist/src/lib/components/TextArea/TextArea.stories.js.map +0 -1
  222. package/dist/src/lib/components/Timeline/Timeline.stories.d.ts +0 -6
  223. package/dist/src/lib/components/Timeline/Timeline.stories.js +0 -87
  224. package/dist/src/lib/components/Timeline/Timeline.stories.js.map +0 -1
  225. package/dist/src/lib/components/Tubestops/Tubestops.stories.d.ts +0 -6
  226. package/dist/src/lib/components/Tubestops/Tubestops.stories.js +0 -62
  227. package/dist/src/lib/components/Tubestops/Tubestops.stories.js.map +0 -1
  228. package/dist/src/lib/components/UserIcon/UserIcon.stories.d.ts +0 -6
  229. package/dist/src/lib/components/UserIcon/UserIcon.stories.js +0 -63
  230. package/dist/src/lib/components/UserIcon/UserIcon.stories.js.map +0 -1
  231. package/dist/src/lib/components/Video/Video.stories.d.ts +0 -6
  232. package/dist/src/lib/components/Video/Video.stories.js +0 -17
  233. package/dist/src/lib/components/Video/Video.stories.js.map +0 -1
  234. package/dist/src/lib/typography/Fonts.stories.d.ts +0 -6
  235. package/dist/src/lib/typography/Fonts.stories.js +0 -12
  236. package/dist/src/lib/typography/Fonts.stories.js.map +0 -1
  237. package/dist/styles/base.css +0 -73
@@ -1,22 +0,0 @@
1
- import React from 'react'
2
- import { idAndClassName } from '@utils/controls'
3
- import Jumbotron from './index'
4
- import { ComponentStory, ComponentMeta } from '@storybook/react'
5
-
6
- const componentMeta: ComponentMeta<typeof Jumbotron> = {
7
- title: 'Trepur Components/Rupert Bennett/Organisms/Jumbotron',
8
- component: Jumbotron,
9
- parameters: {},
10
- argTypes: {
11
- ...idAndClassName
12
- },
13
- args: {
14
- image: 'https://picsum.photos/1500/400'
15
- }
16
- }
17
-
18
- const Template: ComponentStory<typeof Jumbotron> = (args) => <Jumbotron {...args} />
19
-
20
- export const _Jumbotron = Template.bind({})
21
-
22
- export default componentMeta
@@ -1,25 +0,0 @@
1
- import React from 'react'
2
- import classNames from 'classnames'
3
-
4
- export interface Props {
5
- id?: string
6
- className?: string
7
- image?: string
8
- altText?: string
9
- }
10
- const Jumbotron = ({
11
- id,
12
- className,
13
- image,
14
- altText
15
- }: Props): JSX.Element => {
16
- const classList = classNames(className)
17
-
18
- return (
19
- <div id={id} className={classList}>
20
- <img className='w-full object-cover' src={image} alt={altText} />
21
- </div>
22
- )
23
- }
24
-
25
- export default Jumbotron
@@ -1,155 +0,0 @@
1
- import React from 'react'
2
- import Nav from './index'
3
- import { idAndClassName } from '@utils/controls'
4
- import { ComponentStory, ComponentMeta } from '@storybook/react'
5
- import logoDarkTheme from '@assets/images/primary-logo-bold.png'
6
- import logoImage from '@assets/images/secondary-logo-bold.png'
7
-
8
- const navLinks = [
9
- { title: 'Home', href: '/', isActive: true },
10
- { title: 'Resume', href: '/', isActive: false },
11
- { title: 'Contact Me', href: '/', isActive: false }
12
- ]
13
-
14
- const componentMeta: ComponentMeta<typeof Nav> = {
15
- title: 'Trepur Components/Rupert Bennett/Organisms/Nav',
16
- component: Nav,
17
- parameters: {
18
- backgrounds: {
19
- default: 'grey',
20
- values: [
21
- {
22
- name: 'grey',
23
- value: '#f3f3f3'
24
- }
25
- ]
26
- }
27
- },
28
- argTypes: {
29
- ...idAndClassName,
30
- navLinks: {
31
- description: 'An array of nav links to display in the component',
32
- table: {
33
- type: { summary: 'array' }
34
- }
35
- },
36
- asSideBar: {
37
- type: { name: 'boolean', required: false },
38
- description: 'Sets the expanding mechanism to work as a side bar on mobile',
39
- table: {
40
- type: { summary: 'boolean' }
41
- }
42
- },
43
- dropdownNavHeight: {
44
- type: { name: 'string', required: false },
45
- description: 'The distance in which the dropdown should come on mobile',
46
- table: {
47
- type: { summary: 'string' }
48
- }
49
- },
50
- logo: {
51
- type: { name: 'string', required: false },
52
- description: 'The logo to display on the component',
53
- table: {
54
- type: { summary: 'string' }
55
- }
56
- },
57
- logoDarkTheme: {
58
- type: { name: 'string', required: false },
59
- description: 'An optional dark them logo for dark mode',
60
- table: {
61
- type: { summary: 'string' }
62
- }
63
- },
64
- mobileLogo: {
65
- type: { name: 'string', required: false },
66
- description: 'An optional mobile logo for mobile devices',
67
- table: {
68
- type: { summary: 'string' }
69
- }
70
- },
71
- mobileLogoDarkTheme: {
72
- type: { name: 'string', required: false },
73
- description: 'An optional dark them mobile logo for mobile dark mode',
74
- table: {
75
- type: { summary: 'string' }
76
- }
77
- },
78
- logoLink: {
79
- type: { name: 'string', required: false },
80
- description: 'The link to navigate to when clicking on the logo',
81
- table: {
82
- type: { summary: 'string' }
83
- }
84
- },
85
- mobileClasses: {
86
- type: { name: 'string', required: false },
87
- description: '',
88
- table: {
89
- type: { summary: 'string' }
90
- }
91
- },
92
- fixedTop: {
93
- type: { name: 'boolean', required: false },
94
- description: 'Sets the header to fix at the top when true',
95
- table: {
96
- type: { summary: 'boolean' }
97
- }
98
- },
99
- getNavStatus: {
100
- type: { name: 'boolean', required: false },
101
- description: 'Returns the status of the header, opened or closed in mobile',
102
- table: {
103
- type: { summary: 'function' }
104
- }
105
- },
106
- theme: {
107
- type: { name: 'string', required: false },
108
- options: ['dark', 'light'],
109
- description: 'The them to render the component in',
110
- table: {
111
- type: { summary: 'dark' },
112
- defaultValue: { summary: 'dark' }
113
- },
114
- defaultValue: 'dark',
115
- control: { type: 'radio' }
116
- },
117
- text: {
118
- type: { name: 'string', required: false },
119
- description: 'Text to display on the component',
120
- table: {
121
- type: { summary: 'string' }
122
- }
123
- },
124
- textLink: {
125
- type: { name: 'string', required: false },
126
- description: 'A link to navigate to when clicking on the text in the component',
127
- control: 'string',
128
- table: {
129
- category: ''
130
- }
131
- }
132
- },
133
- args: {
134
- logoLink: '/',
135
- navLinks,
136
- asSideBar: true,
137
- dropdownNavHeight: '80',
138
- logo: logoImage,
139
- logoDarkTheme,
140
- mobileLogo: logoImage,
141
- mobileLogoDarkTheme: logoDarkTheme,
142
- fixedTop: true,
143
- theme: 'dark',
144
- text: 'rupertbennett.com',
145
- getNavStatus: (status) => {
146
- console.log(status ? 'open' : 'closed')
147
- }
148
- }
149
- }
150
-
151
- const Template: ComponentStory<typeof Nav> = (args) => <Nav {...args} />
152
-
153
- export const _Nav = Template.bind({})
154
-
155
- export default componentMeta
@@ -1,180 +0,0 @@
1
- import React, { useState } from 'react'
2
- import classNames from 'classnames'
3
- import NavItem, { Props as navItemProps } from '@components/NavItem'
4
- import HamburgerIcon from '@components/HamburgerIcon'
5
-
6
- export interface Props {
7
- id: string
8
- className: string
9
- navLinks: Array<navItemProps>
10
- asSideBar: boolean
11
- dropdownNavHeight: string
12
- logo: string
13
- logoDarkTheme: string
14
- mobileLogo: string
15
- mobileLogoDarkTheme: string
16
- logoLink: string
17
- mobileClasses: string
18
- fixedTop: boolean
19
- getNavStatus: (asSideBar: boolean, open: boolean) => void
20
- theme: 'light' | 'dark'
21
- text?: string
22
- textLink?: string
23
- }
24
-
25
- const Nav = ({
26
- id,
27
- className,
28
- navLinks,
29
- asSideBar,
30
- dropdownNavHeight,
31
- logo,
32
- logoDarkTheme,
33
- mobileLogo,
34
- mobileLogoDarkTheme,
35
- logoLink,
36
- fixedTop,
37
- mobileClasses,
38
- getNavStatus,
39
- theme = 'dark',
40
- text,
41
- textLink
42
- }: Props): JSX.Element => {
43
- const [showSideNav, setShowSideNav] = useState(false)
44
- const [showDropdownNav, setShowDropdownNav] = useState(false)
45
-
46
- const colours = theme === 'dark' ? 'text-white bg-primary' : 'text-primary bg-white'
47
- const textColour = theme === 'dark' ? 'text-white' : 'text-primary'
48
- const navItemsClassList = 'flex justify-center my-auto px-4 lg:px-8'
49
- const logoClassList = 'flex justify-center my-auto pl-16 lg:pl-24'
50
- const emailClassList = 'flex justify-center my-auto pr-24'
51
- const classList = classNames(className, colours, 'h-16')
52
-
53
- const sideNavClasses = classNames({
54
- 'w-0': !showSideNav,
55
- 'w-full sm:w-1/3': showSideNav
56
- }, colours, 'z-50 md:hidden mt-20 fixed overflow-hidden h-full duration-700')
57
-
58
- const dropdownNavClasses = classNames({
59
- 'h-0': !showDropdownNav,
60
- [`h-${dropdownNavHeight}`]: showDropdownNav
61
- }, colours, 'z-50 md:hidden overflow-hidden pt-20')
62
-
63
- const logoImageClassList = 'h-16 w-auto'
64
-
65
- const mobileClassList = classNames({
66
- 'fixed w-full z-50 top-0 mt-0': fixedTop
67
- }, colours, mobileClasses, 'flex items-center md:hidden py-2')
68
-
69
- const desktopClassList = classNames({
70
- 'fixed w-full z-50 top-0 mt-0': fixedTop
71
- }, 'w-full justify-between hidden md:flex items-center justify-between sm:items-stretch text-center flex bg-primary')
72
-
73
- const toggleMenu = (): void => {
74
- getNavStatus?.(asSideBar, true)
75
- if (asSideBar) {
76
- setShowSideNav(!showSideNav)
77
- } else {
78
- setShowDropdownNav(!showDropdownNav)
79
- }
80
- }
81
-
82
- return (
83
- <header id={id} className={classList}>
84
- {/* mobile */}
85
- <div
86
- id='mobile-nav'
87
- className={`${mobileClassList}`}
88
- >
89
- {/* Nav collapse icon */}
90
- <div
91
- id='nav-collapse-btn-wrapper'
92
- className='absolute inset-y-0 left-8 top-5'
93
- >
94
- <HamburgerIcon onClick={toggleMenu} />
95
- </div>
96
- {/* Logo */}
97
- <a id='logo-link' className='mx-auto' href={logoLink}>
98
- <img className={logoImageClassList} src={theme === 'dark' ? mobileLogoDarkTheme : mobileLogo} alt='Logo' />
99
- </a>
100
- </div>
101
-
102
- <div id='destop-nav' className={desktopClassList}>
103
- <div className={logoClassList}>
104
- <a id='logo-link' className='mx-auto' href={logoLink}>
105
- <img className={logoImageClassList} src={theme === 'dark' ? logoDarkTheme : logo} alt='Logo' />
106
- </a>
107
- </div>
108
- <div className={navItemsClassList}>
109
- {navLinks?.map((navLink, i) => {
110
- return (
111
- <NavItem
112
- key={`navItem_${i}`}
113
- {...navLink}
114
- className={i !== 0 ? 'pl-8' : ''}
115
- bordered={false}
116
- rounded={false}
117
- underlineOnHover
118
- variant={theme === 'dark' ? 'secondary' : 'primary'}
119
- />
120
- )
121
- })}
122
- </div>
123
- <div className={emailClassList}>
124
- <a
125
- className={`hidden lg:inline-block ${textColour}`}
126
- href={textLink}
127
- >
128
- {text}
129
- </a>
130
- </div>
131
- </div>
132
-
133
- {/* Mobile Links */}
134
- {/* Side Bar */}
135
- {asSideBar
136
- ? (
137
- <div className={sideNavClasses}>
138
- {navLinks?.map((navLink, i) => {
139
- return (
140
- <NavItem
141
- key={`navItem_${i}`}
142
- {...navLink}
143
- className='pl-8 pt-4'
144
- bordered={false}
145
- rounded={false}
146
- underlineOnHover
147
- variant={theme === 'dark' ? 'secondary' : 'primary'}
148
- />
149
- )
150
- })}
151
- </div>
152
- /* dropdown */
153
- )
154
- : (
155
- <div
156
- className={dropdownNavClasses}
157
- id='mobile-menu'
158
- >
159
- <div className='pt-2 pb-3 space-y-1'>
160
- {navLinks?.map((navLink, i) => {
161
- return (
162
- <NavItem
163
- key={`navItem_${i}`}
164
- {...navLink}
165
- className='pl-8 pt-2'
166
- bordered={false}
167
- rounded={false}
168
- underlineOnHover
169
- variant={theme === 'dark' ? 'secondary' : 'primary'}
170
- />
171
- )
172
- })}
173
- </div>
174
- </div>
175
- )}
176
- </header>
177
- )
178
- }
179
-
180
- export default Nav
@@ -1,89 +0,0 @@
1
- import React from 'react'
2
- import NavItem from './index'
3
- import { action } from '@storybook/addon-actions'
4
- import { ComponentStory, ComponentMeta } from '@storybook/react'
5
- import { idAndClassName } from '@utils/controls'
6
-
7
- const componentMeta: ComponentMeta<typeof NavItem> = {
8
- title: 'Trepur Components/Rupert Bennett/Atoms/Nav Item',
9
- component: NavItem,
10
- parameters: {},
11
- argTypes: {
12
- ...idAndClassName,
13
- title: {
14
- type: { name: 'string', required: false },
15
- description: 'A title for the component',
16
- table: {
17
- type: { summary: 'string' }
18
- }
19
- },
20
- href: {
21
- type: { name: 'string', required: false },
22
- description: 'A href for the component',
23
- table: {
24
- type: { summary: 'string' }
25
- }
26
- },
27
- onClick: {
28
- type: { name: 'function', required: false },
29
- description: 'An on click handle to execute when clicking on the component',
30
- table: {
31
- type: { summary: 'function' }
32
- }
33
- },
34
- bordered: {
35
- type: { name: 'boolean', required: false },
36
- description: 'Enables borders around the component',
37
- table: {
38
- type: { summary: 'boolean' }
39
- },
40
- defaultValue: false
41
- },
42
- rounded: {
43
- type: { name: 'boolean', required: false },
44
- description: 'Roundes the corners of the component',
45
- table: {
46
- type: { summary: 'boolean' }
47
- },
48
- defaultValue: true
49
- },
50
- underlineOnHover: {
51
- type: { name: 'boolean', required: false },
52
- description: 'Underlines the title when hovering over the component',
53
- table: {
54
- type: { summary: 'boolean' }
55
- },
56
- defaultValue: true
57
- },
58
- isActive: {
59
- type: { name: 'boolean', required: false },
60
- description: 'Set the active state to the component',
61
- table: {
62
- type: { summary: 'array' }
63
- },
64
- defaultValue: false
65
- },
66
- variant: {
67
- type: { name: 'string', required: false },
68
- options: ['primary', 'secondary'],
69
- description: 'The varient of the component to render',
70
- table: {
71
- type: { summary: 'string' }
72
- },
73
- defaultValue: 'primary',
74
- control: 'radio'
75
- }
76
- },
77
- args: {
78
- title: 'Home',
79
- href: '/',
80
- underlineOnHover: true,
81
- onClick: action('button-click')
82
- }
83
- }
84
-
85
- const Template: ComponentStory<typeof NavItem> = (args) => <NavItem {...args} />
86
-
87
- export const _NavItem = Template.bind({})
88
-
89
- export default componentMeta
@@ -1,65 +0,0 @@
1
- import React from 'react'
2
- import classNames from 'classnames'
3
-
4
- export interface Props {
5
- id?: string
6
- className?: string
7
- title: string
8
- href?: string
9
- onClick?: React.MouseEventHandler
10
- bordered?: boolean
11
- rounded?: boolean
12
- underlineOnHover?: boolean
13
- isActive?: boolean
14
- variant?: 'primary' | 'secondary'
15
- }
16
-
17
- const NavItem = ({
18
- id,
19
- className,
20
- title,
21
- href,
22
- onClick,
23
- bordered = false,
24
- rounded = true,
25
- underlineOnHover = true,
26
- isActive = false,
27
- variant = 'primary'
28
- }: Props): JSX.Element => {
29
- const linkClassList = classNames({
30
- 'active before:w-full': isActive,
31
- 'border-2 px-2 py-2': bordered,
32
- 'rounded-md': rounded,
33
- 'before:w-full': isActive,
34
- 'before:w-0': !isActive,
35
- 'text-primary before:bg-primary': variant === 'primary',
36
- 'text-white before:bg-white': variant === 'secondary',
37
- 'relative before:absolute before:-bottom-1 before:left-0 hover:before:w-full focus:before:w-full before:h-1 before:transition-all ease-linear': underlineOnHover
38
- }, 'text-center whitespace-nowrap')
39
-
40
- const classList = classNames(className, 'w-auto list-none')
41
-
42
- const anchorClassList = classNames({
43
- 'relative ease-linear': underlineOnHover,
44
- [linkClassList]: true // TODO: remove this once css files are compilable
45
- }, 'focus:outline-none')
46
-
47
- return (
48
- <div
49
- id={id}
50
- className={classList}
51
- >
52
- <a
53
- href={href}
54
- onClick={onClick}
55
- className={anchorClassList}
56
- >
57
- <span className={linkClassList}>
58
- {title}
59
- </span>
60
- </a>
61
- </div>
62
- )
63
- }
64
-
65
- export default NavItem
@@ -1,71 +0,0 @@
1
- import React from 'react'
2
- import { idAndClassName } from '@utils/controls'
3
- import NewsCard from './index'
4
- import { ComponentStory, ComponentMeta } from '@storybook/react'
5
-
6
- const componentMeta: ComponentMeta<typeof NewsCard> = {
7
- title: 'Trepur Components/Other/Organisms/News Card',
8
- component: NewsCard,
9
- parameters: {},
10
- argTypes: {
11
- ...idAndClassName,
12
- title: {
13
- description: '',
14
- control: 'text',
15
- table: {
16
- category: ''
17
- }
18
- },
19
- content: {
20
- description: '',
21
- control: 'text',
22
- table: {
23
- category: ''
24
- }
25
- },
26
- imageProps: {
27
- type: { name: 'other', value: 'object' },
28
- description: 'The props to pass to the image to display on the component',
29
- table: {
30
- type: {
31
- summary: 'object'
32
- },
33
- defaultValue: { summary: 'undefined' }
34
- }
35
- },
36
- buttonProps: {
37
- description: '',
38
- control: 'text',
39
- table: {
40
- category: ''
41
- }
42
- },
43
- rounded: {
44
- description: '',
45
- control: 'text',
46
- table: {
47
- category: ''
48
- }
49
- }
50
- },
51
- args: {
52
- title: 'This is a title',
53
- content: 'This is some content that will only be displayed if the collapsible item is expanded and will dissappear when the collapsible item is collapsed.',
54
- rounded: true,
55
- imageProps: {
56
- image: 'https://picsum.photos/400/200',
57
- rounded: true
58
- },
59
- buttonProps: {
60
- children: 'Button 1',
61
- className: 'w-full',
62
- href: '/'
63
- }
64
- }
65
- }
66
-
67
- const Template: ComponentStory<typeof NewsCard> = (args) => <NewsCard {...args} />
68
-
69
- export const _NewsCard = Template.bind({})
70
-
71
- export default componentMeta
@@ -1,48 +0,0 @@
1
- import React from 'react'
2
- import Button, { Props as buttonProps } from '@components/Button'
3
- import Image, { Props as imageProps } from '@components/Image'
4
- import classNames from 'classnames'
5
-
6
- export interface Props {
7
- id?: string
8
- className?: string
9
- title?: string
10
- content?: string
11
- imageProps?: imageProps
12
- buttonProps?: buttonProps
13
- rounded?: boolean
14
- }
15
-
16
- const NewsCard = ({
17
- id,
18
- className,
19
- title,
20
- content,
21
- imageProps,
22
- buttonProps,
23
- rounded
24
- }: Props): JSX.Element => {
25
- const classList = classNames({
26
- 'rounded-lg': rounded
27
- }, className, 'border flex p-2')
28
-
29
- return (
30
- <div id={id} className={classList}>
31
- <div>
32
- <Image {...imageProps} />
33
- </div>
34
- <div className='flex flex-col justify-between expandable w-auto text-center'>
35
- <p>{title}</p>
36
- <p>{content}</p>
37
- {(buttonProps != null) &&
38
- <div className='px-8'>
39
- <Button {...buttonProps}>
40
- {buttonProps.children}
41
- </Button>
42
- </div>}
43
- </div>
44
- </div>
45
- )
46
- }
47
-
48
- export default NewsCard