UNPKG

@atlaskit/profilecard

Version:

A React component to display a card with user information.

39 lines 1.4 kB
import _extends from "@babel/runtime/helpers/extends"; import React, { useCallback, useState } from 'react'; import { useIntl } from 'react-intl-next'; import { IconButton } from '@atlaskit/button/new'; import MoreIcon from '@atlaskit/icon/core/show-more-horizontal'; import { MenuGroup, Section } from '@atlaskit/menu'; import Popup from '@atlaskit/popup'; import { Box } from '@atlaskit/primitives/compiled'; import { messages } from './messages'; export const MoreActions = ({ actions, loading }) => { const { formatMessage } = useIntl(); const [isOpen, setOpen] = useState(false); const onMoreClick = useCallback(shouldBeOpen => { setOpen(shouldBeOpen); }, []); return /*#__PURE__*/React.createElement(Popup, { isOpen: isOpen, onClose: () => setOpen(false), content: () => /*#__PURE__*/React.createElement(MenuGroup, { spacing: "cozy" }, /*#__PURE__*/React.createElement(Section, null, actions.map(action => /*#__PURE__*/React.createElement(Box, { key: action.id }, action.item)))), trigger: triggerProps => /*#__PURE__*/React.createElement(IconButton, _extends({}, triggerProps, { icon: MoreIcon, label: formatMessage(messages.showMoreIconLabel), onClick: () => onMoreClick(!isOpen), isSelected: isOpen, isLoading: loading })), placement: "right-start", shouldRenderToParent: false }); };