UNPKG

design-react-kit

Version:

Componenti React per Bootstrap 5

44 lines 1.69 kB
import React from 'react'; import classNames from 'classnames'; const handleDisabledOnClick = (e) => { e.preventDefault(); }; export const LinkListItem = ({ className, active, disabled, header, divider, bold, large, href, tag = 'a', wrapperClassName, testId, children, inDropdown, ...attributes }) => { let Tag = tag; const classes = classNames(className, { active, disabled, header, divider, large: large, medium: bold, 'dropdown-item': inDropdown }, 'list-item'); // Prevent click event when disabled. const handlers = {}; if (disabled) { handlers.onClick = handleDisabledOnClick; } if (header) { Tag = 'h3'; } else if (divider) { Tag = 'span'; } if (inDropdown) { attributes['role'] = 'menuitem'; attributes['tabIndex'] = 0; } if (header && href) { return (React.createElement("li", { className: wrapperClassName, "data-testid": testId }, React.createElement(Tag, null, React.createElement("a", { href: href || '#', ...attributes, className: classes, ...handlers }, children)))); } return (React.createElement("li", { className: wrapperClassName, "data-testid": testId }, React.createElement(Tag, { role: attributes.onClick ? 'button' : undefined, ...attributes, className: classes, href: href, ...handlers }, children))); }; const LinkListTitleIconWrapper = ({ children }) => { return React.createElement("span", { className: 'list-item-title-icon-wrapper' }, children); }; LinkListItem.TitleIconWrapper = LinkListTitleIconWrapper; //# sourceMappingURL=LinkListItem.js.map