UNPKG

@vertisanpro/flowbite-react

Version:

Non-Official React components built for Flowbite and Tailwind CSS

17 lines (16 loc) 1.18 kB
'use client'; import { twMerge } from '@vertisanpro/tailwind-merge'; import React from 'react'; import { mergeDeep } from '../../helpers/merge-deep'; import { useTimelineContext } from './TimelineContext'; import { useTimelineItemContext } from './TimelineItemContext'; export const TimelinePoint = ({ children, className, icon: Icon, theme: customTheme = {}, ...props }) => { const { horizontal } = useTimelineContext(); const { theme: itemTheme } = useTimelineItemContext(); const theme = mergeDeep(itemTheme.point, customTheme); return (React.createElement("div", { "data-testid": "timeline-point", className: twMerge(horizontal && theme.horizontal, !horizontal && theme.vertical, className), ...props }, children, Icon ? (React.createElement("span", { className: twMerge(theme.marker.icon.wrapper) }, React.createElement(Icon, { "aria-hidden": true, className: twMerge(theme.marker.icon.base) }))) : (React.createElement("div", { className: twMerge(horizontal && theme.marker.base.horizontal, !horizontal && theme.marker.base.vertical) })), horizontal && React.createElement("div", { className: twMerge(theme.line) }))); };