UNPKG

@atlaskit/rovo-agent-components

Version:

This package host public components related to rovo agents, the components here are needed for other public atlaskit packages

192 lines (191 loc) 7.24 kB
/* index.tsx generated by @compiled/babel-plugin v0.39.1 */ import "./index.compiled.css"; import { ax, ix } from "@compiled/react/runtime"; import React from 'react'; import { useIntl } from 'react-intl'; import Heading from '@atlaskit/heading'; import Link from '@atlaskit/link'; import { AtlassianIcon, RovoIcon } from '@atlaskit/logo'; import { fg } from '@atlaskit/platform-feature-flags'; import { Box, Inline, Stack } from '@atlaskit/primitives/compiled'; import Skeleton from '@atlaskit/skeleton'; import Tooltip from '@atlaskit/tooltip'; import { HiddenIcon } from '../../common/ui/hidden-icon'; import { StarIconButton } from '../../common/ui/star-icon-button'; import { isForgeAgentByCreatorType } from '../../common/utils/is-forge-agent'; import { messages } from './messages'; var styles = { clickableItem: "_zulp1b66 _1e0c1txw _4cvr1h6o", rovoIconWrapper: "_1e0c1txw", name: "_1bah1yb4 _4cvr1y6m", description: "_1mouze3t _1i4qfg65 _1nmz1hna", headingWrapper: "_kqswh2mm", hiddenIconWrapper: "_19pkv77o" }; export var getAgentCreator = function getAgentCreator(_ref) { var creatorType = _ref.creatorType, authoringTeam = _ref.authoringTeam, userCreator = _ref.userCreator, forgeCreator = _ref.forgeCreator; if (creatorType === 'SYSTEM') { return { type: 'SYSTEM' }; } if (fg('rovo_agent_support_a2a_avatar') ? isForgeAgentByCreatorType(creatorType) : creatorType === 'FORGE' || creatorType === 'THIRD_PARTY' // THIRD_PARTY is deprecated in convo-ai, use FORGE instead ) { return { // @todo: remove cast in rovo_agent_support_a2a_avatar cleanup type: fg('jira_improve_agent_profile_for_a2a') ? creatorType : 'FORGE', name: forgeCreator !== null && forgeCreator !== void 0 ? forgeCreator : '' }; } if (creatorType === 'OOTB') { return { type: 'OOTB' }; } if (creatorType === 'CUSTOMER') { if (authoringTeam) { var _authoringTeam$profil; return { type: 'CUSTOMER', name: authoringTeam.displayName, profileLink: (_authoringTeam$profil = authoringTeam.profileLink) !== null && _authoringTeam$profil !== void 0 ? _authoringTeam$profil : '' }; } if (!(userCreator !== null && userCreator !== void 0 && userCreator.profileLink)) { return undefined; } return { type: 'CUSTOMER', name: userCreator.name, profileLink: userCreator.profileLink, status: userCreator.status }; } return; }; export var AgentProfileCreator = function AgentProfileCreator(_ref2) { var creator = _ref2.creator, onCreatorLinkClick = _ref2.onCreatorLinkClick, isLoading = _ref2.isLoading; var _useIntl = useIntl(), formatMessage = _useIntl.formatMessage; var getCreatorRender = function getCreatorRender() { if (isLoading) { return formatMessage(messages.agentCreatedBy, { creatorNameWithLink: /*#__PURE__*/React.createElement(Skeleton, { testId: "agent-profile-creator-skeleton", isShimmering: true, height: 18, width: 100 }) }); } if (!creator) { return null; } if (creator.type === 'SYSTEM' || creator.type === 'OOTB') { return formatMessage(messages.agentCreatedBy, { creatorNameWithLink: /*#__PURE__*/React.createElement(Inline, { alignBlock: "center", testId: "atlassian-icon" }, /*#__PURE__*/React.createElement(AtlassianIcon, { label: "", size: "small", appearance: "brand" }), /*#__PURE__*/React.createElement(Box, null, "Atlassian")) }); } if (creator.type === 'CUSTOMER') { return formatMessage(messages.agentCreatedBy, { creatorNameWithLink: /*#__PURE__*/React.createElement(Link, { href: creator.profileLink, onClick: function onClick() { return onCreatorLinkClick(); }, target: "_blank" }, creator.name, ' ', creator.status === 'inactive' && formatMessage(messages.agentDeactivated)) }); } if (creator.type === 'REMOTE_A2A') { return formatMessage(messages.remoteAgentCreatedBy, { creatorNameWithLink: creator.name }); } // THIRD_PARTY is deprecated in convo-ai, use FORGE instead if (creator.type === 'THIRD_PARTY' || creator.type === 'FORGE') { return formatMessage(messages.agentCreatedBy, { creatorNameWithLink: creator.name }); } return null; }; var creatorRender = getCreatorRender(); if (fg('jira_improve_agent_profile_for_a2a')) { var showRovoIcon = (creator === null || creator === void 0 ? void 0 : creator.type) !== 'REMOTE_A2A'; return creatorRender ? /*#__PURE__*/React.createElement(Box, { xcss: styles.clickableItem }, showRovoIcon ? /*#__PURE__*/React.createElement(Box, { xcss: styles.rovoIconWrapper, testId: "rovo-icon-wrapper", "aria-hidden": "true" }, /*#__PURE__*/React.createElement(RovoIcon, { appearance: "brand", size: "small" })) : null, creatorRender) : null; } return creatorRender ? /*#__PURE__*/React.createElement(Box, { xcss: styles.clickableItem }, /*#__PURE__*/React.createElement(Box, { xcss: styles.rovoIconWrapper, testId: "rovo-icon-wrapper", "aria-hidden": "true" }, /*#__PURE__*/React.createElement(RovoIcon, { appearance: "brand", size: "small" })), creatorRender) : null; }; export var AgentProfileInfo = function AgentProfileInfo(_ref3) { var agentName = _ref3.agentName, agentDescription = _ref3.agentDescription, creatorRender = _ref3.creatorRender, starCountRender = _ref3.starCountRender, headingRender = _ref3.headingRender, isStarred = _ref3.isStarred, isHidden = _ref3.isHidden, onStarToggle = _ref3.onStarToggle, _ref3$showStarButton = _ref3.showStarButton, showStarButton = _ref3$showStarButton === void 0 ? true : _ref3$showStarButton, renderAdditionalContent = _ref3.renderAdditionalContent; var _useIntl2 = useIntl(), formatMessage = _useIntl2.formatMessage; return /*#__PURE__*/React.createElement(Stack, { space: "space.100" }, /*#__PURE__*/React.createElement(Inline, { xcss: styles.name, space: "space.100", alignBlock: "center" }, /*#__PURE__*/React.createElement(Inline, { space: "space.075", xcss: styles.headingWrapper }, /*#__PURE__*/React.createElement(Heading, { as: "h2", size: "medium" }, agentName), headingRender, isHidden && /*#__PURE__*/React.createElement(Box, { xcss: styles.hiddenIconWrapper }, /*#__PURE__*/React.createElement(Tooltip, { content: formatMessage(messages.hiddenTooltip), position: "top" }, /*#__PURE__*/React.createElement(HiddenIcon, { label: formatMessage(messages.hiddenIcon) })))), showStarButton && /*#__PURE__*/React.createElement(StarIconButton, { isStarred: isStarred, handleToggle: onStarToggle, agentName: agentName })), creatorRender, !!agentDescription && /*#__PURE__*/React.createElement(Box, { xcss: styles.description, as: "p" }, agentDescription), starCountRender, !!renderAdditionalContent && fg('jira_browse_agents_modal') && renderAdditionalContent()); };