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

146 lines (145 loc) 7.61 kB
/* 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 }))); };