UNPKG

mt-flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS

31 lines (30 loc) 1.52 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { twMerge } from 'tailwind-merge'; import { useTheme } from '../../'; import { mergeDeep } from '../../helpers/merge-deep'; import { TimelineBody } from './TimelineBody'; import { TimelineContent } from './TimelineContent'; import { TimelineContext } from './TimelineContext'; import { TimelineItem } from './TimelineItem'; import { TimelinePoint } from './TimelinePoint'; import { TimelineTime } from './TimelineTime'; import { TimelineTitle } from './TimelineTitle'; const TimelineComponent = ({ children, className, horizontal, theme: customTheme = {}, ...props }) => { const theme = mergeDeep(useTheme().theme.timeline, customTheme); return (_jsx(TimelineContext.Provider, { value: { horizontal }, children: _jsx("ol", { "data-testid": "timeline-component", className: twMerge(horizontal && theme.root.direction.horizontal, !horizontal && theme.root.direction.vertical, className), ...props, children: children }) })); }; TimelineComponent.displayName = 'Timeline'; TimelineItem.displayName = 'Timeline.Item'; TimelinePoint.displayName = 'Timeline.Point'; TimelineContent.displayName = 'Timeline.Content'; TimelineTime.displayName = 'Timeline.Time'; TimelineTitle.displayName = 'Timeline.Title'; TimelineBody.displayName = 'Timeline.Body'; export const Timeline = Object.assign(TimelineComponent, { Item: TimelineItem, Point: TimelinePoint, Content: TimelineContent, Time: TimelineTime, Title: TimelineTitle, Body: TimelineBody, });