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.
- package/dist/src/lib/components/Accordion/index.js +3 -1
- package/dist/src/lib/components/Accordion/index.js.map +1 -1
- package/dist/src/lib/components/Accordion/style.module.css +4 -0
- package/dist/src/lib/components/Accordion/style.module.css.map +1 -0
- package/dist/src/lib/components/Carousel/index.d.ts +0 -1
- package/dist/src/lib/components/Carousel/index.js +1 -1
- package/dist/src/lib/components/Carousel/index.js.map +1 -1
- package/dist/src/lib/components/ImageLinkList/index.d.ts +1 -1
- package/dist/src/lib/components/Nav/index.d.ts +1 -1
- package/dist/src/lib/components/Nav/index.js +2 -2
- package/dist/src/lib/components/Nav/index.js.map +1 -1
- package/dist/src/lib/components/SocialBlock/index.js +2 -2
- package/dist/src/lib/components/SocialBlock/index.js.map +1 -1
- package/dist/{components → src/lib/components}/Timeline/index.css +2 -0
- package/dist/src/lib/components/Timeline/index.css.map +1 -0
- package/dist/{components → src/lib/components}/Tubestops/index.css +35 -30
- package/dist/src/lib/components/Tubestops/index.css.map +1 -0
- package/dist/src/lib/typography/index.d.ts +1 -3
- package/dist/src/lib/typography/index.js +1 -1
- package/dist/src/lib/typography/index.js.map +1 -1
- package/package.json +13 -6
- package/dist/components/Accordion/Accordion.stories.tsx +0 -88
- package/dist/components/Accordion/index.tsx +0 -31
- package/dist/components/AlertBar/AlertBar.stories.tsx +0 -105
- package/dist/components/AlertBar/index.tsx +0 -127
- package/dist/components/Breadcrumbs/Breadcrumbs.stories.tsx +0 -60
- package/dist/components/Breadcrumbs/index.tsx +0 -55
- package/dist/components/BreadcrumbsBordered/BreadcrumbsBordered.stories.tsx +0 -52
- package/dist/components/BreadcrumbsBordered/index.tsx +0 -44
- package/dist/components/BreadcrumbsItem/BreadcrumbsItem.stories.tsx +0 -54
- package/dist/components/BreadcrumbsItem/index.tsx +0 -151
- package/dist/components/Button/button.stories.tsx +0 -148
- package/dist/components/Button/index.tsx +0 -91
- package/dist/components/Card/Card.stories.tsx +0 -150
- package/dist/components/Card/index.tsx +0 -162
- package/dist/components/CardWithTopImage/CardWithTopImage.stories.tsx +0 -48
- package/dist/components/CardWithTopImage/index.tsx +0 -40
- package/dist/components/Carousel/Carousel.stories.tsx +0 -369
- package/dist/components/Carousel/index.tsx +0 -267
- package/dist/components/ChevronCard/ChevronCard.stories.tsx +0 -21
- package/dist/components/ChevronCard/index.tsx +0 -39
- package/dist/components/Collapsible/Collapsible.stories.tsx +0 -70
- package/dist/components/Collapsible/index.tsx +0 -124
- package/dist/components/Column/Column.stories.tsx +0 -82
- package/dist/components/Column/index.tsx +0 -114
- package/dist/components/Container/Container.stories.tsx +0 -38
- package/dist/components/Container/index.tsx +0 -30
- package/dist/components/FooterBar/FooterBar.stories.tsx +0 -57
- package/dist/components/FooterBar/index.tsx +0 -44
- package/dist/components/Form/Form.stories.tsx +0 -93
- package/dist/components/Form/index.tsx +0 -58
- package/dist/components/FyreCard/FyreCard.stories.tsx +0 -29
- package/dist/components/FyreCard/index.tsx +0 -46
- package/dist/components/Greeting/Greeting.stories.tsx +0 -42
- package/dist/components/Greeting/index.tsx +0 -46
- package/dist/components/HamburgerIcon/HamburgerIcon.stories.tsx +0 -50
- package/dist/components/HamburgerIcon/index.tsx +0 -65
- package/dist/components/Icon/Icon.stories.tsx +0 -102
- package/dist/components/Icon/index.tsx +0 -112
- package/dist/components/Image/Image.stories.tsx +0 -88
- package/dist/components/Image/index.tsx +0 -113
- package/dist/components/ImageLink/ImageLink.stories.tsx +0 -60
- package/dist/components/ImageLink/index.tsx +0 -62
- package/dist/components/ImageLinkList/ImageLinkList.stories.tsx +0 -34
- package/dist/components/ImageLinkList/index.tsx +0 -33
- package/dist/components/InformationIcon/InformationIcon.stories.tsx +0 -86
- package/dist/components/InformationIcon/index.tsx +0 -84
- package/dist/components/Input/Input.stories.tsx +0 -99
- package/dist/components/Input/index.tsx +0 -126
- package/dist/components/Jumbotron/Jumbotron.stories.tsx +0 -22
- package/dist/components/Jumbotron/index.tsx +0 -25
- package/dist/components/Nav/Nav.stories.tsx +0 -155
- package/dist/components/Nav/index.tsx +0 -180
- package/dist/components/NavItem/NavItem.stories.tsx +0 -89
- package/dist/components/NavItem/index.tsx +0 -65
- package/dist/components/NewsCard/NewsCard.stories.tsx +0 -71
- package/dist/components/NewsCard/index.tsx +0 -48
- package/dist/components/Profile/Profile.stories.tsx +0 -50
- package/dist/components/Profile/index.tsx +0 -87
- package/dist/components/Row/Row.stories.tsx +0 -51
- package/dist/components/Row/index.tsx +0 -24
- package/dist/components/Search/Search.stories.tsx +0 -58
- package/dist/components/Search/index.tsx +0 -58
- package/dist/components/SocialBlock/SocialBlock.stories.tsx +0 -114
- package/dist/components/SocialBlock/index.tsx +0 -161
- package/dist/components/StarRating/StarRating.stories.tsx +0 -23
- package/dist/components/StarRating/index.tsx +0 -71
- package/dist/components/Testimonial/Testimonial.stories.tsx +0 -110
- package/dist/components/Testimonial/index.tsx +0 -50
- package/dist/components/TextAndTitle/TextAndTitle.stories.tsx +0 -65
- package/dist/components/TextAndTitle/index.tsx +0 -257
- package/dist/components/TextArea/TextArea.stories.tsx +0 -67
- package/dist/components/TextArea/index.tsx +0 -97
- package/dist/components/Timeline/Timeline.stories.tsx +0 -100
- package/dist/components/Timeline/index.tsx +0 -315
- package/dist/components/Tubestops/Tubestops.stories.tsx +0 -66
- package/dist/components/Tubestops/index.tsx +0 -77
- package/dist/components/UserIcon/UserIcon.stories.tsx +0 -67
- package/dist/components/UserIcon/index.tsx +0 -42
- package/dist/components/Video/Video.stories.tsx +0 -23
- package/dist/components/Video/index.tsx +0 -49
- package/dist/fonts/Sora/OFL.txt +0 -93
- package/dist/fonts/Sora/README.txt +0 -70
- package/dist/fonts/Sora/Sora-VariableFont_wght.ttf +0 -0
- package/dist/fonts/Sora/static/Sora-Bold.ttf +0 -0
- package/dist/fonts/Sora/static/Sora-ExtraBold.ttf +0 -0
- package/dist/fonts/Sora/static/Sora-ExtraLight.ttf +0 -0
- package/dist/fonts/Sora/static/Sora-Light.ttf +0 -0
- package/dist/fonts/Sora/static/Sora-Medium.ttf +0 -0
- package/dist/fonts/Sora/static/Sora-Regular.ttf +0 -0
- package/dist/fonts/Sora/static/Sora-SemiBold.ttf +0 -0
- package/dist/fonts/Sora/static/Sora-Thin.ttf +0 -0
- package/dist/index.js +0 -272
- package/dist/src/lib/components/Accordion/Accordion.stories.d.ts +0 -6
- package/dist/src/lib/components/Accordion/Accordion.stories.js +0 -80
- package/dist/src/lib/components/Accordion/Accordion.stories.js.map +0 -1
- package/dist/src/lib/components/AlertBar/AlertBar.stories.d.ts +0 -6
- package/dist/src/lib/components/AlertBar/AlertBar.stories.js +0 -91
- package/dist/src/lib/components/AlertBar/AlertBar.stories.js.map +0 -1
- package/dist/src/lib/components/Breadcrumbs/Breadcrumbs.stories.d.ts +0 -6
- package/dist/src/lib/components/Breadcrumbs/Breadcrumbs.stories.js +0 -56
- package/dist/src/lib/components/Breadcrumbs/Breadcrumbs.stories.js.map +0 -1
- package/dist/src/lib/components/BreadcrumbsBordered/BreadcrumbsBordered.stories.d.ts +0 -6
- package/dist/src/lib/components/BreadcrumbsBordered/BreadcrumbsBordered.stories.js +0 -45
- package/dist/src/lib/components/BreadcrumbsBordered/BreadcrumbsBordered.stories.js.map +0 -1
- package/dist/src/lib/components/BreadcrumbsItem/BreadcrumbsItem.stories.d.ts +0 -6
- package/dist/src/lib/components/BreadcrumbsItem/BreadcrumbsItem.stories.js +0 -50
- package/dist/src/lib/components/BreadcrumbsItem/BreadcrumbsItem.stories.js.map +0 -1
- package/dist/src/lib/components/Button/button.stories.d.ts +0 -6
- package/dist/src/lib/components/Button/button.stories.js +0 -132
- package/dist/src/lib/components/Button/button.stories.js.map +0 -1
- package/dist/src/lib/components/Card/Card.stories.d.ts +0 -8
- package/dist/src/lib/components/Card/Card.stories.js +0 -124
- package/dist/src/lib/components/Card/Card.stories.js.map +0 -1
- package/dist/src/lib/components/CardWithTopImage/CardWithTopImage.stories.d.ts +0 -6
- package/dist/src/lib/components/CardWithTopImage/CardWithTopImage.stories.js +0 -40
- package/dist/src/lib/components/CardWithTopImage/CardWithTopImage.stories.js.map +0 -1
- package/dist/src/lib/components/Carousel/Carousel.stories.d.ts +0 -6
- package/dist/src/lib/components/Carousel/Carousel.stories.js +0 -297
- package/dist/src/lib/components/Carousel/Carousel.stories.js.map +0 -1
- package/dist/src/lib/components/ChevronCard/ChevronCard.stories.d.ts +0 -6
- package/dist/src/lib/components/ChevronCard/ChevronCard.stories.js +0 -14
- package/dist/src/lib/components/ChevronCard/ChevronCard.stories.js.map +0 -1
- package/dist/src/lib/components/Collapsible/Collapsible.stories.d.ts +0 -6
- package/dist/src/lib/components/Collapsible/Collapsible.stories.js +0 -66
- package/dist/src/lib/components/Collapsible/Collapsible.stories.js.map +0 -1
- package/dist/src/lib/components/Column/Column.stories.d.ts +0 -6
- package/dist/src/lib/components/Column/Column.stories.js +0 -64
- package/dist/src/lib/components/Column/Column.stories.js.map +0 -1
- package/dist/src/lib/components/Container/Container.stories.d.ts +0 -6
- package/dist/src/lib/components/Container/Container.stories.js +0 -30
- package/dist/src/lib/components/Container/Container.stories.js.map +0 -1
- package/dist/src/lib/components/FooterBar/footerBar.stories.d.ts +0 -6
- package/dist/src/lib/components/FooterBar/footerBar.stories.js +0 -48
- package/dist/src/lib/components/FooterBar/footerBar.stories.js.map +0 -1
- package/dist/src/lib/components/Form/Form.stories.d.ts +0 -6
- package/dist/src/lib/components/Form/Form.stories.js +0 -82
- package/dist/src/lib/components/Form/Form.stories.js.map +0 -1
- package/dist/src/lib/components/FyreCard/FyreCard.stories.d.ts +0 -6
- package/dist/src/lib/components/FyreCard/FyreCard.stories.js +0 -22
- package/dist/src/lib/components/FyreCard/FyreCard.stories.js.map +0 -1
- package/dist/src/lib/components/Greeting/Greeting.stories.d.ts +0 -6
- package/dist/src/lib/components/Greeting/Greeting.stories.js +0 -33
- package/dist/src/lib/components/Greeting/Greeting.stories.js.map +0 -1
- package/dist/src/lib/components/HamburgerIcon/HamburgerIcon.stories.d.ts +0 -6
- package/dist/src/lib/components/HamburgerIcon/HamburgerIcon.stories.js +0 -46
- package/dist/src/lib/components/HamburgerIcon/HamburgerIcon.stories.js.map +0 -1
- package/dist/src/lib/components/Icon/Icon.stories.d.ts +0 -6
- package/dist/src/lib/components/Icon/Icon.stories.js +0 -87
- package/dist/src/lib/components/Icon/Icon.stories.js.map +0 -1
- package/dist/src/lib/components/Image/Image.stories.d.ts +0 -6
- package/dist/src/lib/components/Image/Image.stories.js +0 -73
- package/dist/src/lib/components/Image/Image.stories.js.map +0 -1
- package/dist/src/lib/components/ImageLink/ImageLink.stories.d.ts +0 -9
- package/dist/src/lib/components/ImageLink/ImageLink.stories.js +0 -50
- package/dist/src/lib/components/ImageLink/ImageLink.stories.js.map +0 -1
- package/dist/src/lib/components/ImageLinkList/ImageLinkList.stories.d.ts +0 -6
- package/dist/src/lib/components/ImageLinkList/ImageLinkList.stories.js +0 -27
- package/dist/src/lib/components/ImageLinkList/ImageLinkList.stories.js.map +0 -1
- package/dist/src/lib/components/InformationIcon/InformationIcon.stories.d.ts +0 -6
- package/dist/src/lib/components/InformationIcon/InformationIcon.stories.js +0 -73
- package/dist/src/lib/components/InformationIcon/InformationIcon.stories.js.map +0 -1
- package/dist/src/lib/components/Input/Input.stories.d.ts +0 -6
- package/dist/src/lib/components/Input/Input.stories.js +0 -95
- package/dist/src/lib/components/Input/Input.stories.js.map +0 -1
- package/dist/src/lib/components/Jumbotron/Jumbotron.stories.d.ts +0 -6
- package/dist/src/lib/components/Jumbotron/Jumbotron.stories.js +0 -16
- package/dist/src/lib/components/Jumbotron/Jumbotron.stories.js.map +0 -1
- package/dist/src/lib/components/Nav/Nav.stories.d.ts +0 -6
- package/dist/src/lib/components/Nav/Nav.stories.js +0 -134
- package/dist/src/lib/components/Nav/Nav.stories.js.map +0 -1
- package/dist/src/lib/components/NavItem/NavItem.stories.d.ts +0 -6
- package/dist/src/lib/components/NavItem/NavItem.stories.js +0 -75
- package/dist/src/lib/components/NavItem/NavItem.stories.js.map +0 -1
- package/dist/src/lib/components/NewsCard/NewsCard.stories.d.ts +0 -6
- package/dist/src/lib/components/NewsCard/NewsCard.stories.js +0 -60
- package/dist/src/lib/components/NewsCard/NewsCard.stories.js.map +0 -1
- package/dist/src/lib/components/Profile/Profile.stories.d.ts +0 -6
- package/dist/src/lib/components/Profile/Profile.stories.js +0 -41
- package/dist/src/lib/components/Profile/Profile.stories.js.map +0 -1
- package/dist/src/lib/components/Row/Row.stories.d.ts +0 -6
- package/dist/src/lib/components/Row/Row.stories.js +0 -37
- package/dist/src/lib/components/Row/Row.stories.js.map +0 -1
- package/dist/src/lib/components/Search/Search.stories.d.ts +0 -6
- package/dist/src/lib/components/Search/Search.stories.js +0 -48
- package/dist/src/lib/components/Search/Search.stories.js.map +0 -1
- package/dist/src/lib/components/SocialBlock/SocialBlock.stories.d.ts +0 -6
- package/dist/src/lib/components/SocialBlock/SocialBlock.stories.js +0 -58
- package/dist/src/lib/components/SocialBlock/SocialBlock.stories.js.map +0 -1
- package/dist/src/lib/components/StarRating/StarRating.stories.d.ts +0 -6
- package/dist/src/lib/components/StarRating/StarRating.stories.js +0 -17
- package/dist/src/lib/components/StarRating/StarRating.stories.js.map +0 -1
- package/dist/src/lib/components/Testimonial/Testimonial.stories.d.ts +0 -6
- package/dist/src/lib/components/Testimonial/Testimonial.stories.js +0 -95
- package/dist/src/lib/components/Testimonial/Testimonial.stories.js.map +0 -1
- package/dist/src/lib/components/TextAndTitle/TextAndTitle.stories.d.ts +0 -6
- package/dist/src/lib/components/TextAndTitle/TextAndTitle.stories.js +0 -63
- package/dist/src/lib/components/TextAndTitle/TextAndTitle.stories.js.map +0 -1
- package/dist/src/lib/components/TextArea/TextArea.stories.d.ts +0 -6
- package/dist/src/lib/components/TextArea/TextArea.stories.js +0 -63
- package/dist/src/lib/components/TextArea/TextArea.stories.js.map +0 -1
- package/dist/src/lib/components/Timeline/Timeline.stories.d.ts +0 -6
- package/dist/src/lib/components/Timeline/Timeline.stories.js +0 -87
- package/dist/src/lib/components/Timeline/Timeline.stories.js.map +0 -1
- package/dist/src/lib/components/Tubestops/Tubestops.stories.d.ts +0 -6
- package/dist/src/lib/components/Tubestops/Tubestops.stories.js +0 -62
- package/dist/src/lib/components/Tubestops/Tubestops.stories.js.map +0 -1
- package/dist/src/lib/components/UserIcon/UserIcon.stories.d.ts +0 -6
- package/dist/src/lib/components/UserIcon/UserIcon.stories.js +0 -63
- package/dist/src/lib/components/UserIcon/UserIcon.stories.js.map +0 -1
- package/dist/src/lib/components/Video/Video.stories.d.ts +0 -6
- package/dist/src/lib/components/Video/Video.stories.js +0 -17
- package/dist/src/lib/components/Video/Video.stories.js.map +0 -1
- package/dist/src/lib/typography/Fonts.stories.d.ts +0 -6
- package/dist/src/lib/typography/Fonts.stories.js +0 -12
- package/dist/src/lib/typography/Fonts.stories.js.map +0 -1
- 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
|