@atlaskit/rovo-agent-components
Version:
This package host public components related to rovo agents, the components here are needed for other public atlaskit packages
146 lines (145 loc) • 7.61 kB
JavaScript
/* index.tsx generated by @compiled/babel-plugin v0.39.1 */
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getConversationStarters = exports.ConversationStarters = exports.AgentConversationStarters = void 0;
require("./index.compiled.css");
var _runtime = require("@compiled/react/runtime");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
var _react = _interopRequireWildcard(require("react"));
var _reactIntl = require("react-intl");
var _new = require("@atlaskit/button/new");
var _retry = _interopRequireDefault(require("@atlaskit/icon/core/retry"));
var _compiled = require("@atlaskit/primitives/compiled");
var _agentChatIcon = require("../../common/ui/agent-chat-icon");
var _chatPill = require("../../common/ui/chat-pill");
var _messages = require("./messages");
var _excluded = ["userDefinedConversationStarters", "isAgentDefault"];
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
var styles = {
conversationStartersList: "_qtt8glyw _ca0qidpf _u5f3idpf _n3tdidpf _19bvidpf _1bsb1osq",
conversationStarterIcon: "_1o9zidpf",
conversationStarterText: "_1reo15vq _18m915vq _1bto1l2s _o5721q9c _1o9zkb7n _1ul9idpf",
button: "_11c8fhey _2rko12b0 _syazazsu _ca0q12x7 _u5f312x7 _n3td12x7 _19bv12x7 _k48p1wq8 _1bto1l2s _o5721q9c _1o9zkb7n _1bsb1osq _bfhksm61 _irr31dpa _1di6fcek"
};
var getConversationStarters = exports.getConversationStarters = function getConversationStarters(_ref) {
var userDefinedConversationStartersParam = _ref.userDefinedConversationStarters,
isAgentDefault = _ref.isAgentDefault;
var type = 'static';
var customAgentConversationStarters = [{
message: _messages.messages.agentEmptyStateSuggestion1,
type: type
}, {
message: _messages.messages.agentEmptyStateSuggestion2,
type: type
}, {
message: _messages.messages.agentEmptyStateSuggestion3,
type: type
}];
var userDefinedConversationStarters = userDefinedConversationStartersParam !== null && userDefinedConversationStartersParam !== void 0 ? userDefinedConversationStartersParam : [];
var defaultAgentConversationStarters = [{
message: _messages.messages.emptyStateSuggestion1,
type: type
}, {
message: _messages.messages.emptyStateSuggestion2,
type: type
}, {
message: _messages.messages.emptyStateSuggestion3,
type: type
}];
var getCombinedConversationStarters = function getCombinedConversationStarters() {
var shouldCombine = !isAgentDefault;
if (shouldCombine) {
// Return user defined suggestions + static fallback suggestions with a max of 3 suggestions (user defined taking precendence over fallback)
return [].concat((0, _toConsumableArray2.default)(userDefinedConversationStarters), customAgentConversationStarters).slice(0, 3);
}
return defaultAgentConversationStarters;
};
return {
userDefinedConversationStarters: userDefinedConversationStarters,
customAgentConversationStarters: customAgentConversationStarters,
defaultAgentConversationStarters: defaultAgentConversationStarters,
combinedConversationStarters: getCombinedConversationStarters()
};
};
var AgentConversationStarters = exports.AgentConversationStarters = function AgentConversationStarters(_ref2) {
var userDefinedConversationStarters = _ref2.userDefinedConversationStarters,
isAgentDefault = _ref2.isAgentDefault,
props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
var _useIntl = (0, _reactIntl.useIntl)(),
formatMessage = _useIntl.formatMessage;
var _useMemo = (0, _react.useMemo)(function () {
return getConversationStarters({
userDefinedConversationStarters: userDefinedConversationStarters,
isAgentDefault: isAgentDefault
});
}, [userDefinedConversationStarters, isAgentDefault]),
combinedConversationStarters = _useMemo.combinedConversationStarters;
var starters = (0, _react.useMemo)(function () {
return combinedConversationStarters.map(function (starter) {
return typeof starter.message === 'string' ? {
message: starter.message,
type: starter.type
} : {
message: formatMessage(starter.message),
type: starter.type
};
});
}, [combinedConversationStarters, formatMessage]);
return /*#__PURE__*/_react.default.createElement(ConversationStarters, (0, _extends2.default)({
starters: starters
}, props));
};
var ConversationStarters = exports.ConversationStarters = function ConversationStarters(_ref3) {
var starters = _ref3.starters,
onConversationStarterClick = _ref3.onConversationStarterClick,
_ref3$showReloadButto = _ref3.showReloadButton,
showReloadButton = _ref3$showReloadButto === void 0 ? false : _ref3$showReloadButto,
_ref3$onReloadButtonC = _ref3.onReloadButtonClick,
onReloadButtonClick = _ref3$onReloadButtonC === void 0 ? function () {} : _ref3$onReloadButtonC,
onBrowseAgentsClick = _ref3.onBrowseAgentsClick;
return /*#__PURE__*/_react.default.createElement(_compiled.Stack, {
as: "ul",
space: "space.050",
xcss: styles.conversationStartersList
}, starters.map(function (starter, index) {
var isLastStarter = index === starters.length - 1;
var chatPill = /*#__PURE__*/_react.default.createElement(_compiled.Box, {
as: "li",
key: starter.message
}, /*#__PURE__*/_react.default.createElement(_compiled.Pressable, {
xcss: styles.button,
onClick: function onClick() {
return onConversationStarterClick(starter);
},
testId: "conversation-starter"
}, /*#__PURE__*/_react.default.createElement(_compiled.Inline, {
space: "space.150",
alignBlock: "center"
}, /*#__PURE__*/_react.default.createElement(_compiled.Box, {
xcss: styles.conversationStarterIcon
}, /*#__PURE__*/_react.default.createElement(_agentChatIcon.AgentChatIcon, null)), /*#__PURE__*/_react.default.createElement(_compiled.Box, {
xcss: styles.conversationStarterText
}, starter.message))));
return isLastStarter && showReloadButton ? /*#__PURE__*/_react.default.createElement(_compiled.Inline, {
space: "space.050",
grow: "fill",
alignInline: "end",
key: starter.message
}, chatPill, /*#__PURE__*/_react.default.createElement(_new.IconButton, {
icon: _retry.default,
onClick: onReloadButtonClick,
appearance: "subtle",
label: ""
})) : chatPill;
}), !!onBrowseAgentsClick && /*#__PURE__*/_react.default.createElement(_compiled.Box, {
as: "li"
}, /*#__PURE__*/_react.default.createElement(_chatPill.BrowseAgentsPill, {
onClick: onBrowseAgentsClick
})));
};