UNPKG

@atlaskit/profilecard

Version:

A React component to display a card with user information.

51 lines 1.85 kB
import _extends from "@babel/runtime/helpers/extends"; import _slicedToArray from "@babel/runtime/helpers/slicedToArray"; 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 var MoreActions = function MoreActions(_ref) { var actions = _ref.actions, loading = _ref.loading; var _useIntl = useIntl(), formatMessage = _useIntl.formatMessage; var _useState = useState(false), _useState2 = _slicedToArray(_useState, 2), isOpen = _useState2[0], setOpen = _useState2[1]; var onMoreClick = useCallback(function (shouldBeOpen) { setOpen(shouldBeOpen); }, []); return /*#__PURE__*/React.createElement(Popup, { isOpen: isOpen, onClose: function onClose() { return setOpen(false); }, content: function content() { return /*#__PURE__*/React.createElement(MenuGroup, { spacing: "cozy" }, /*#__PURE__*/React.createElement(Section, null, actions.map(function (action) { return /*#__PURE__*/React.createElement(Box, { key: action.id }, action.item); }))); }, trigger: function trigger(triggerProps) { return /*#__PURE__*/React.createElement(IconButton, _extends({}, triggerProps, { icon: MoreIcon, label: formatMessage(messages.showMoreIconLabel), onClick: function onClick() { return onMoreClick(!isOpen); }, isSelected: isOpen, isLoading: loading })); }, placement: "right-start", shouldRenderToParent: false }); };