UNPKG

@itwin/itwinui-react

Version:

A react component library for iTwinUI

47 lines (46 loc) 1.68 kB
import * as React from 'react'; import cx from 'classnames'; import { polymorphic, Box } from '../../utils/index.js'; import { LinkAction } from '../LinkAction/LinkAction.js'; let ListItemComponent = React.forwardRef((props, ref) => { let { size = 'default', disabled = false, active = false, actionable = false, focused = false, className, ...rest } = props; return React.createElement(Box, { role: 'listitem', className: cx('iui-list-item', className), 'data-iui-active': active ? 'true' : void 0, 'data-iui-disabled': disabled ? 'true' : void 0, 'data-iui-size': 'large' === size ? 'large' : void 0, 'data-iui-actionable': actionable ? 'true' : void 0, 'data-iui-focused': focused ? 'true' : void 0, ref: ref, ...rest, }); }); if ('development' === process.env.NODE_ENV) ListItemComponent.displayName = 'ListItem'; let ListItemIcon = polymorphic.div('iui-list-item-icon'); if ('development' === process.env.NODE_ENV) ListItemIcon.displayName = 'ListItem.Icon'; let ListItemContent = polymorphic.div('iui-list-item-content'); if ('development' === process.env.NODE_ENV) ListItemContent.displayName = 'ListItem.Content'; let ListItemDescription = polymorphic.div('iui-list-item-description'); if ('development' === process.env.NODE_ENV) ListItemDescription.displayName = 'ListItem.Description'; let ListItemAction = LinkAction; if ('development' === process.env.NODE_ENV) ListItemAction.displayName = 'ListItem.Action'; export const ListItem = Object.assign(ListItemComponent, { Icon: ListItemIcon, Content: ListItemContent, Description: ListItemDescription, Action: ListItemAction, });