@vertisanpro/flowbite-react
Version:
Non-Official React components built for Flowbite and Tailwind CSS
14 lines (13 loc) • 808 B
JavaScript
import { twMerge } from '@vertisanpro/tailwind-merge';
import React from 'react';
import { mergeDeep } from '../../helpers/merge-deep';
import { getTheme } from '../../theme-store';
import { ListItem } from './ListItem';
const ListComponent = ({ children, className, unstyled, nested, ordered, theme: customTheme = {}, ...props }) => {
const theme = mergeDeep(getTheme().list, customTheme);
const Component = ordered ? 'ol' : 'ul';
return (React.createElement(Component, { className: twMerge(theme.root.ordered[ordered ? 'on' : 'off'], unstyled && theme.root.unstyled, nested && theme.root.nested, theme.root.base, className), ...props }, children));
};
ListComponent.displayName = 'List';
ListItem.displayName = 'List.Item';
export const List = Object.assign(ListComponent, { Item: ListItem });