3.0.5 • Published 2 years ago

@sandro-salzmann/vertical-timeline-component-react v3.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Vertical Timeline Component React

Status

PRs welcome Coverage Status Version Build Status Package Quality

npm install --save vertical-timeline-component-react

This is the wrapper component that creates the vertical timeline.

  • Childrens
Number of childrenRequiredValue Allowed
ManyAt least the first Container component is requiredOnly Container components
  • Props
nameTypeRequiredValues Alloweddefault valuesDescription
themeobjectfalsecolors{ yearColor: "#888888", lineColor: "#c5c5c5", dotColor: "#c5c5c5", borderDotColor: "#ffffff", titleColor: "#cccccc", subtitleColor: "#888888", textColor: "#cccccc" }Set colors in all components
langstringfalseen, es, de, tr or zh_CNenChange the language from and to texts and change the format in the dates
dateFormatstringfalseonly-number, short, with-weekday or fullonly-numberChange the presentation format of dates

dateFormat: Receive only one of four options (The options are same the moment.js using)

only-numbershortwith-weekdayfull
English (en)MM/D/YYYYMMM DD, YYYYddd, MMM DD, YYYYdddd, MMMM DD, YYYY
Spanish (es)D/MM/YYYYDD MMM YYYYddd, DD [de] MMM YYYYdddd, DD [de] MMMM [de] YYYY
German (de)D.MM.YYYYDD.MMM.YYYYddd., DD. MMM. YYYYdddd, DD. MMMM YYYY
Turk (tr)DD.MM.YYYYDD MMM YYYYDD MMM YYYY dddDD MMMM YYYY dddd
Simplified Chinese (zh_CN)YYYY/MM/DYYYY年MM月DD日YYYY年MMM月DD日YYYY年MM月DD日dddd

Each event in the timeline will be represented by the Content component. This component receive only two children's, the first is YearContent and the second is BodyContent. There can be multiple repeating instances of this component inside Timeline wrapper.

  • Childrens
Number of childrenRequiredValue Allowed
2trueYearContent and BodyContent

For each Container you need YearContent (like first children) since with this component you mark the events in the given year.

  • Props
NameTypeRequiredValues Alloweddefault valuesDescription
startDatestringtrueYYYY/MM/DD - YYYY/MM - YYYYdoes not applyThe date of the start of the content or contents
endDatestringfalseYYYY/MM/DD - YYYY/MM - YYYYdoes not applyThe date of the end of the content or contents
currentYearbooleanfalsetrue or falsecurrent yearThe value is the current year, it is recommended to use it in the last Container

For each Container you need ContentBody (like second children). This component will be the container of the one or more Sections.

  • Childrens
Number of childrenRequiredValue Allowed
ManyAt least the first Section component is requiredOnly Section components

This component is the container for one or more Description.

  • Childrens
Number of childrenRequiredValue Allowed
ManyAt least the first Description component is requiredOnly Description components
  • Props
NameTypeRequiredDescription
titlestringtrueIt's the title of any section

This component can be the text of the description or a subtitle

  • Props
NameTypeRequiredValues Alloweddefault valuesDescription
variantstringfalsesubtitle or descriptiondescriptionTransform the format of the text
textstringtrueAny textdoes not applyShow the description of the Section

The following snippet will show you how to use the library:

Using class components:

import {
 Timeline,
 Container,
 YearContent,
 BodyContent,
 Section,
 Description,
} from 'vertical-timeline-component-react';

const customTheme = {
 yearColor: '#405b73',
 lineColor: '#d0cdc4',
 dotColor: '#262626',
 borderDotColor: '#d0cdc4',
 titleColor: '#405b73',
 subtitleColor: '#bf9765',
 textColor: '#262626',
};

class Main extends Component {
 render() {
  return(
   <Timeline theme={customTheme} dateFormat='full'>
    <Container>
     <YearContent startDate='2020/07/01' currentYear />
     <BodyContent>
      <Section title='Title'>
       <Description variant='subtitle' text='Subtitle' />
       <Description text='Description' />
       <Description text='Another description' />
      </Section>

      <Section title='Another title'>
       <Description text='Description' />
       <Description text='Another description' />
      </Section>
     </BodyContent>
    </Container>
   </Timeline>,
  );
 }
}

Using function components:

import {
	Timeline,
	Container,
	YearContent,
	BodyContent,
	Section,
	Description,
} from 'vertical-timeline-component-react';

const Main = () => {
	const customTheme = {
		yearColor: '#405b73',
		lineColor: '#d0cdc4',
		dotColor: '#262626',
		borderDotColor: '#d0cdc4',
		titleColor: '#405b73',
		subtitleColor: '#bf9765',
		textColor: '#262626',
	};

	return (
		<Timeline theme={customTheme} dateFormat='full'>
			<Container>
				<YearContent startDate='2020/07/01' currentYear />
				<BodyContent>
					<Section title='Title'>
						<Description variant='subtitle' text='Subtitle' />
						<Description text='Description' />
						<Description text='Another description' />
					</Section>

					<Section title='Another title'>
						<Description text='Description' />
						<Description text='Another description' />
					</Section>
				</BodyContent>
			</Container>
		</Timeline>
	);
};

MIT