Sha256: 899f34dac7c4aaa87aea3d47a91fcfb70ac6bfd032f534376b40d972df88732e
Contents?: true
Size: 1.59 KB
Versions: 122
Compression:
Stored size: 1.59 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, gap?: 'xs' | 'sm' | 'md' | 'lg' | 'none', } & GlobalProps const Timeline = ({ aria = {}, className, children, data = {}, htmlOptions = {}, id, orientation = 'horizontal', showDate = false, gap = 'none', ...props }: TimelineProps): React.ReactElement => { const ariaProps = buildAriaProps(aria) const dataProps = buildDataProps(data) const htmlProps = buildHtmlProps(htmlOptions) const dateStyle = showDate === true ? '_with_date' : '' const gapStyle = gap === 'none' ? '' : `gap_${gap}` const timelineCss = buildCss('pb_timeline_kit', `${orientation}`, dateStyle, gapStyle) 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
122 entries across 122 versions & 1 rubygems