UNPKG

@vertisanpro/flowbite-react

Version:

Non-Official React components built for Flowbite and Tailwind CSS

17 lines (16 loc) 1.13 kB
import { HiOutlineChevronRight } from '@vertisanpro/react-icons/hi'; import { twMerge } from '@vertisanpro/tailwind-merge'; import React, { forwardRef } from 'react'; import { mergeDeep } from '../../helpers/merge-deep'; import { getTheme } from '../../theme-store'; export const BreadcrumbItem = forwardRef(({ children, className, href, icon: Icon, theme: customTheme = {}, ...props }, ref) => { const isLink = typeof href !== 'undefined'; const Component = isLink ? 'a' : 'span'; const theme = mergeDeep(getTheme().breadcrumb.item, customTheme); return (React.createElement("li", { className: twMerge(theme.base, className), ...props }, React.createElement(HiOutlineChevronRight, { "aria-hidden": true, className: theme.chevron, "data-testid": "flowbite-breadcrumb-separator" }), React.createElement(Component, { ref: ref, className: theme.href[isLink ? 'on' : 'off'], "data-testid": "flowbite-breadcrumb-item", href: href }, Icon && React.createElement(Icon, { "aria-hidden": true, className: theme.icon }), children))); }); BreadcrumbItem.displayName = 'Breadcrumb.Item';