Skip to content

Commit

Permalink
Updated: Timeline component updated.
Browse files Browse the repository at this point in the history
  • Loading branch information
Arifulislam5577 committed Apr 17, 2024
1 parent 013f4e0 commit 9eeadd1
Show file tree
Hide file tree
Showing 19 changed files with 207 additions and 826 deletions.
24 changes: 3 additions & 21 deletions app/docs/components/timeline/Timeline.mdx
Original file line number Diff line number Diff line change
@@ -1,51 +1,33 @@
import { DefaultTimeline, DefaultTimelineCode } from './variant/DefaultTimeline'
import { HorizontalTimeline, HorizontalTimelineCode } from './variant/HorizontalTimeline'
import { DashedBorderTimeline, DashedBorderTimelineCode } from './variant/DashedBorderTimeline'
import { TimelineWithImage, TimelineWithImageCode } from './variant/TimelineWithImage'
import { timelineApiData } from './TimelineApi'

import CodePreview from '../../../components/CodePreview'

import ComponentApi from '../../../components/ComponentApi'

## Table of Contents

Timeline Component is a graphical representation used to visualize a sequence of events or activities over time. It presents information in a chronological order, allowing users to track the progression of events, milestones, or changes. Timelines often include markers, labels, and other visual cues to enhance understanding and engagement.

## Default Timeline

The Default Timeline is a fundamental component that visually presents a sequence of events over time. Each event is showcased in chronological order, offering details such as event dates, titles, and descriptions.
The Default Timeline is a fundamental component that visually presents a sequence of events over time.

<CodePreview github="Timeline" code={DefaultTimelineCode}>
<DefaultTimeline />
</CodePreview>

## Horizontal Timeline

The Horizontal Timeline component is designed to display a timeline of events in a horizontal layout. To do that, you need to add `horizontal={true}` props.

<CodePreview github="Timeline" code={HorizontalTimelineCode}>
<HorizontalTimeline />
</CodePreview>

## Dashed Border Timeline

The Dashed Border Timeline component represents a timeline with dashed borders, creating a distinct visual style for the timeline elements. There are two types of bar type variant in our design system. One is `timelineBarType="solid"`,which is set by default and the other is `timelineBarType="dashed"`.
The Dashed Border Timeline component represents a timeline with dashed borders.

<CodePreview github="Timeline" code={DashedBorderTimelineCode}>
<DashedBorderTimeline />
</CodePreview>

## Timeline With Image

The Image Timeline is a dynamic component that showcases a sequence of events along with corresponding images. Each event is presented within a timeline structure, featuring a time indicator, event title, image, and a concise description.
The Image Timeline is a dynamic component that showcases a sequence of events along with corresponding images.

<CodePreview github="Timeline" code={TimelineWithImageCode}>
<TimelineWithImage />
</CodePreview>

## API Reference

Explore the available props for the timeline component

<ComponentApi data={timelineApiData} />
31 changes: 1 addition & 30 deletions app/docs/components/timeline/TimelineApi.ts
Original file line number Diff line number Diff line change
@@ -1,30 +1 @@
export const timelineApiData = [
{
id: 1,
propsName: 'horizontal',
propsType: 'boolean',
propsDescription: 'Arranges the timeline component horizontally if set to true.',
default: 'false',
},
{
id: 2,
propsName: 'gradientPoint',
propsType: 'boolean',
propsDescription: 'Adds a gradient effect to the timeline event markers.',
default: 'false',
},
{
id: 3,
propsName: 'gradientColor',
propsType: 'string',
propsDescription: `Adds a gradient color with class "bg-gradient-{1-31}".`,
default: 'bg-gradient-9',
},
{
id: 4,
propsName: 'timelineBarType',
propsType: ['solid', 'dashed'],
propsDescription: 'Sets the type of bar style in the timeline.',
default: 'solid',
},
]
export const timelineApiData = []
98 changes: 42 additions & 56 deletions app/docs/components/timeline/variant/DashedBorderTimeline.tsx
Original file line number Diff line number Diff line change
@@ -1,43 +1,38 @@
'use client'
import { Button, Timeline } from '../../../../src'
import { ArrowRight, CalendarBlank } from 'phosphor-react'
import { Timeline } from '../../../../src'

const DashedBorderTimeline = () => {
return (
<div className="px-5 py-6">
<Timeline timelineBarType="dashed">
<Timeline className="border-dashed">
<Timeline.Item>
<Timeline.Point icon={<CalendarBlank size={16} />} />
<Timeline.Point />
<Timeline.Content>
<Timeline.Time>February 2023</Timeline.Time>
<Timeline.Title>New Feature Launch</Timeline.Title>
<Timeline.Body>
Introducing a set of exciting new features that enhance user experience and functionality.
</Timeline.Body>
<Button size="sm">
Explore Features
<ArrowRight className="ml-2 h-3 w-3" />
</Button>
<p className="text-body-5 font-normal leading-[1.4] text-metal-400">September 23,2022</p>
<h1 className="text-body-3 font-medium text-metal-900">Step 1 Completed</h1>
<p className="text-body-4 font-normal text-metal-600">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima, incidunt.
</p>
</Timeline.Content>
</Timeline.Item>
<Timeline.Item>
<Timeline.Point icon={<CalendarBlank size={16} />} />
<Timeline.Point />
<Timeline.Content>
<Timeline.Time>March 2023</Timeline.Time>
<Timeline.Title>User Interface Refinement</Timeline.Title>
<Timeline.Body>
Embarking on a user interface refinement phase to improve aesthetics and usability.
</Timeline.Body>
<p className="text-body-5 font-normal leading-[1.4] text-metal-400">September 23,2022</p>
<h1 className="text-body-3 font-medium text-metal-900">Step 2 Completed</h1>
<p className="text-body-4 font-normal text-metal-600">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima, incidunt.
</p>
</Timeline.Content>
</Timeline.Item>
<Timeline.Item>
<Timeline.Point icon={<CalendarBlank size={16} />} />
<Timeline.Point />
<Timeline.Content>
<Timeline.Time>April 2023</Timeline.Time>
<Timeline.Title>Performance Optimization</Timeline.Title>
<Timeline.Body>
Focusing on performance optimization to ensure a seamless and efficient user experience.
</Timeline.Body>
<p className="text-body-5 font-normal leading-[1.4] text-metal-400">September 23,2022</p>
<h1 className="text-body-3 font-medium text-metal-900">Step 3 Completed</h1>
<p className="text-body-4 font-normal text-metal-600">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima, incidunt.
</p>
</Timeline.Content>
</Timeline.Item>
</Timeline>
Expand All @@ -48,53 +43,44 @@ const DashedBorderTimeline = () => {
export default DashedBorderTimeline

const DashedBorderTimelineCode = `
"use client";
import { Button,Timeline } from "keep-react";
import { ArrowRight, CalendarBlank } from "phosphor-react";
'use client'
import { Timeline } from 'keep-react'

export const TimelineComponent = () => {
return (
<Timeline timelineBarType="dashed">
<Timeline className="border-dashed">
<Timeline.Item>
<Timeline.Point icon={<CalendarBlank size={16} />} />
<Timeline.Point />
<Timeline.Content>
<Timeline.Time>February 2023</Timeline.Time>
<Timeline.Title>Application UI code in Tailwind CSS</Timeline.Title>
<Timeline.Body>
Get access to over 20+ pages including a dashboard layout, charts,
kanban board, calendar, and pre-order E-commerce & Marketing pages.
</Timeline.Body>
<Button size="sm">
Learn More
<ArrowRight className="ml-2 h-3 w-3" />
</Button>
<p className="text-body-5 font-normal leading-[1.4] text-metal-400">September 23,2022</p>
<h1 className="text-body-3 font-medium text-metal-900">Step 1 Completed</h1>
<p className="text-body-4 font-normal text-metal-600">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima, incidunt.
</p>
</Timeline.Content>
</Timeline.Item>
<Timeline.Item>
<Timeline.Point icon={<CalendarBlank size={16} />} />
<Timeline.Point />
<Timeline.Content>
<Timeline.Time>March 2023</Timeline.Time>
<Timeline.Title>Marketing UI design in Figma</Timeline.Title>
<Timeline.Body>
All of the pages and components are first designed in Figma and we
keep a parity between the two versions even as we update the
project.
</Timeline.Body>
<p className="text-body-5 font-normal leading-[1.4] text-metal-400">September 23,2022</p>
<h1 className="text-body-3 font-medium text-metal-900">Step 2 Completed</h1>
<p className="text-body-4 font-normal text-metal-600">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima, incidunt.
</p>
</Timeline.Content>
</Timeline.Item>
<Timeline.Item>
<Timeline.Point icon={<CalendarBlank size={16} />} />
<Timeline.Point />
<Timeline.Content>
<Timeline.Time>April 2023</Timeline.Time>
<Timeline.Title>E-Commerce UI code in Tailwind CSS</Timeline.Title>
<Timeline.Body>
Get started with dozens of web components and interactive elements
built on top of Tailwind CSS.
</Timeline.Body>
<p className="text-body-5 font-normal leading-[1.4] text-metal-400">September 23,2022</p>
<h1 className="text-body-3 font-medium text-metal-900">Step 3 Completed</h1>
<p className="text-body-4 font-normal text-metal-600">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima, incidunt.
</p>
</Timeline.Content>
</Timeline.Item>
</Timeline>
);
)
}
`

Expand Down
85 changes: 34 additions & 51 deletions app/docs/components/timeline/variant/DefaultTimeline.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
'use client'
import { ArrowRight } from 'phosphor-react'
import { Button, Timeline } from '../../../../src'
import { Timeline } from '../../../../src'

const DefaultTimeline = () => {
return (
Expand All @@ -9,38 +8,31 @@ const DefaultTimeline = () => {
<Timeline.Item>
<Timeline.Point />
<Timeline.Content>
<Timeline.Time>August 2023</Timeline.Time>
<Timeline.Title>Mobile App Development</Timeline.Title>
<Timeline.Body>
Launching our new mobile app on both iOS and Android platforms, providing users with seamless access to
our services on the go.
</Timeline.Body>
<Button size="sm">
Discover App Features
<ArrowRight className="ml-2 h-3 w-3" />
</Button>
<p className="text-body-5 font-normal leading-[1.4] text-metal-400">September 23,2022</p>
<h1 className="text-body-3 font-medium text-metal-900">Step 1 Completed</h1>
<p className="text-body-4 font-normal text-metal-600">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima, incidunt.
</p>
</Timeline.Content>
</Timeline.Item>
<Timeline.Item>
<Timeline.Point />
<Timeline.Content>
<Timeline.Time>July 2023</Timeline.Time>
<Timeline.Title>Enhanced User Analytics</Timeline.Title>
<Timeline.Body>
Introducing advanced user analytics to gain deeper insights into user behavior and improve overall user
experience.
</Timeline.Body>
<p className="text-body-5 font-normal leading-[1.4] text-metal-400">September 23,2022</p>
<h1 className="text-body-3 font-medium text-metal-900">Step 2 Completed</h1>
<p className="text-body-4 font-normal text-metal-600">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima, incidunt.
</p>
</Timeline.Content>
</Timeline.Item>
<Timeline.Item>
<Timeline.Point />
<Timeline.Content>
<Timeline.Time>June 2023</Timeline.Time>
<Timeline.Title>New Feature Rollout</Timeline.Title>
<Timeline.Body>
Rolling out a set of new features, including real-time chat support, enhanced search functionality, and
personalized content recommendations.
</Timeline.Body>
<p className="text-body-5 font-normal leading-[1.4] text-metal-400">September 23,2022</p>
<h1 className="text-body-3 font-medium text-metal-900">Step 3 Completed</h1>
<p className="text-body-4 font-normal text-metal-600">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima, incidunt.
</p>
</Timeline.Content>
</Timeline.Item>
</Timeline>
Expand All @@ -49,53 +41,44 @@ const DefaultTimeline = () => {
}

const DefaultTimelineCode = `
"use client";
import { Button,Timeline } from "keep-react";
import { ArrowRight } from "phosphor-react";
'use client'
import { Timeline } from 'keep-react'

export const TimelineComponent = () => {
return (
<Timeline>
<Timeline.Item>
<Timeline.Point />
<Timeline.Content>
<Timeline.Time>August 2023</Timeline.Time>
<Timeline.Title>Mobile App Development</Timeline.Title>
<Timeline.Body>
Launching our new mobile app on both iOS and Android platforms,
providing users with seamless access to our services on the go.
</Timeline.Body>
<Button size="sm">
Discover App Features
<ArrowRight className="ml-2 h-3 w-3" />
</Button>
<p className="text-body-5 font-normal leading-[1.4] text-metal-400">September 23,2022</p>
<h1 className="text-body-3 font-medium text-metal-900">Step 1 Completed</h1>
<p className="text-body-4 font-normal text-metal-600">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima, incidunt.
</p>
</Timeline.Content>
</Timeline.Item>
<Timeline.Item>
<Timeline.Point />
<Timeline.Content>
<Timeline.Time>July 2023</Timeline.Time>
<Timeline.Title>Enhanced User Analytics</Timeline.Title>
<Timeline.Body>
Introducing advanced user analytics to gain deeper insights into
user behavior and improve overall user experience.
</Timeline.Body>
<p className="text-body-5 font-normal leading-[1.4] text-metal-400">September 23,2022</p>
<h1 className="text-body-3 font-medium text-metal-900">Step 2 Completed</h1>
<p className="text-body-4 font-normal text-metal-600">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima, incidunt.
</p>
</Timeline.Content>
</Timeline.Item>
<Timeline.Item>
<Timeline.Point />
<Timeline.Content>
<Timeline.Time>June 2023</Timeline.Time>
<Timeline.Title>New Feature Rollout</Timeline.Title>
<Timeline.Body>
Rolling out a set of new features, including real-time chat support,
enhanced search functionality, and personalized content
recommendations.
</Timeline.Body>
<p className="text-body-5 font-normal leading-[1.4] text-metal-400">September 23,2022</p>
<h1 className="text-body-3 font-medium text-metal-900">Step 3 Completed</h1>
<p className="text-body-4 font-normal text-metal-600">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Minima, incidunt.
</p>
</Timeline.Content>
</Timeline.Item>
</Timeline>
);
)
}
`

Expand Down
Loading

0 comments on commit 9eeadd1

Please sign in to comment.