Sha256: 8ca7dab66374e72bcc86ee74ccd41b603f89b54e1319c38e713d810730068c5c
Contents?: true
Size: 1.62 KB
Versions: 15
Compression:
Stored size: 1.62 KB
Contents
import React from 'react' import classnames from 'classnames' import { buildAriaProps, buildCss, buildDataProps, buildHtmlProps } from '../utilities/props' import { GlobalProps, globalProps } from '../utilities/globalProps' import TimelineItem from './_item' import { TimelineStep, TimelineLabel, TimelineDetail, } from './subcomponents' type TimelineProps = { aria?: { [key: string]: string }, children?: React.ReactChild[] | React.ReactChild, className?: string, data?: { [key: string]: string }, htmlOptions?: {[key: string]: string | number | boolean | (() => void)}, id?: string, orientation?: string, showDate?: boolean, itemGap?: 'xs' | 'sm' | 'md' | 'lg' | 'none', } & GlobalProps const Timeline = ({ aria = {}, className, children, data = {}, htmlOptions = {}, id, orientation = 'horizontal', showDate = false, itemGap = 'none', ...props }: TimelineProps): React.ReactElement => { const ariaProps = buildAriaProps(aria) const dataProps = buildDataProps(data) const htmlProps = buildHtmlProps(htmlOptions) const dateStyle = showDate === true ? '_with_date' : '' const itemGapStyle = itemGap === 'none' ? '' : `gap_${itemGap}` const timelineCss = buildCss('pb_timeline_kit', `${orientation}`, dateStyle, itemGapStyle) return ( <div {...ariaProps} {...dataProps} {...htmlProps} className={classnames(timelineCss, globalProps(props), className)} id={id} > {children} </div> ) } Timeline.Item = TimelineItem Timeline.Step = TimelineStep Timeline.Label = TimelineLabel Timeline.Detail = TimelineDetail export default Timeline
Version data entries
15 entries across 15 versions & 1 rubygems