UNPKG

cozy-search

Version:

UI components about search bar and IA assistant

143 lines (119 loc) 6.9 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _twakeIcons = require("@linagora/twake-icons"); var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireWildcard(require("react")); var _ActionsMenuItem = _interopRequireDefault(require("cozy-ui/transpiled/react/ActionsMenu/ActionsMenuItem")); var _Badge = _interopRequireDefault(require("cozy-ui/transpiled/react/Badge")); var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton")); var _Typography = _interopRequireDefault(require("cozy-ui/transpiled/react/Typography")); var _Breakpoints = require("cozy-ui/transpiled/react/providers/Breakpoints"); var _AssistantAvatar = _interopRequireDefault(require("../Assistant/AssistantAvatar")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } var styles = { "assistant-container": "styles__assistant-container___2WDzp", "knowledge-panel--light": "styles__knowledge-panel--light___1dZvc", "knowledge-panel--dark": "styles__knowledge-panel--dark___3IGQc", "trigger-button": "styles__trigger-button___yyIz8", "assistant-icon": "styles__assistant-icon___1VM6i", "assistant-icon--small": "styles__assistant-icon--small___3D9po", "assistant-icon--composer": "styles__assistant-icon--composer___1i3dU", "menu-item": "styles__menu-item___1jvWN", "create-item": "styles__create-item___3ZARq", "menu-item-icon-button": "styles__menu-item-icon-button___2q_ct", "menu-item-actions": "styles__menu-item-actions___1ykUi", "chip": "styles__chip___16BPR", "selected-item--mobile": "styles__selected-item--mobile___gxVpw" }; var AssistantSelectionItem = function AssistantSelectionItem(_ref) { var _cx, _cx2; var assistant = _ref.assistant, onClose = _ref.onClose, onSelect = _ref.onSelect, selectedAssistant = _ref.selectedAssistant, setAssistantIdInAction = _ref.setAssistantIdInAction, setIsOpenDeleteAssistant = _ref.setIsOpenDeleteAssistant, setIsOpenEditAssistant = _ref.setIsOpenEditAssistant, _ref$disableActions = _ref.disableActions, disableActions = _ref$disableActions === void 0 ? false : _ref$disableActions; var _useBreakpoints = (0, _Breakpoints.useBreakpoints)(), isMobile = _useBreakpoints.isMobile; var handleSelect = function handleSelect(assistant) { onSelect(assistant); onClose(); }; var assistantId = assistant._id || assistant.id; var handleDelete = function handleDelete(e) { setAssistantIdInAction(assistantId); setIsOpenDeleteAssistant(true); onClose(); e.stopPropagation(); }; var handleEdit = function handleEdit(e) { setAssistantIdInAction(assistantId); setIsOpenEditAssistant(true); onClose(); e.stopPropagation(); }; var isSelected = (0, _react.useMemo)(function () { return (selectedAssistant === null || selectedAssistant === void 0 ? void 0 : selectedAssistant._id) === assistantId; }, [selectedAssistant === null || selectedAssistant === void 0 ? void 0 : selectedAssistant._id, assistantId]); return /*#__PURE__*/_react.default.createElement(_ActionsMenuItem.default, { onClick: function onClick() { return handleSelect(assistant); }, className: styles['menu-item'] }, /*#__PURE__*/_react.default.createElement("div", { className: "u-flex u-flex-items-center" }, isMobile && isSelected ? /*#__PURE__*/_react.default.createElement(_Badge.default, { badgeContent: /*#__PURE__*/_react.default.createElement(_twakeIcons.Icon, { icon: _twakeIcons.Check, size: 10, className: styles['selected-item--mobile'] }), variant: "standard", size: "small", anchorOrigin: { vertical: 'bottom', horizontal: 'right' }, overlap: "circular" }, /*#__PURE__*/_react.default.createElement(_AssistantAvatar.default, { assistant: assistant })) : /*#__PURE__*/_react.default.createElement(_AssistantAvatar.default, { assistant: assistant }), /*#__PURE__*/_react.default.createElement(_Typography.default, { variant: "body1" }, assistant.name)), /*#__PURE__*/_react.default.createElement("div", { className: "u-flex u-flex-items-center u-flex-justify-between" }, isSelected && !isMobile && /*#__PURE__*/_react.default.createElement(_twakeIcons.Icon, { icon: _twakeIcons.Check, className: "u-success" }), !disableActions && /*#__PURE__*/_react.default.createElement("div", { className: styles['menu-item-actions'] }, /*#__PURE__*/_react.default.createElement(_IconButton.default, { "aria-label": "Edit assistant", size: "small", className: (0, _classnames.default)((_cx = {}, (0, _defineProperty2.default)(_cx, styles['menu-item-icon-button'], !isMobile || !isSelected && isMobile), (0, _defineProperty2.default)(_cx, 'u-db', isSelected && isMobile), _cx)), onClick: handleEdit }, /*#__PURE__*/_react.default.createElement(_twakeIcons.Icon, { icon: _twakeIcons.Pen, color: "var(--primaryColor)" })), /*#__PURE__*/_react.default.createElement(_IconButton.default, { "aria-label": "Delete assistant", size: "small", className: (0, _classnames.default)((_cx2 = {}, (0, _defineProperty2.default)(_cx2, styles['menu-item-icon-button'], !isMobile || !isSelected && isMobile), (0, _defineProperty2.default)(_cx2, 'u-db', isSelected && isMobile), _cx2)), onClick: handleDelete }, /*#__PURE__*/_react.default.createElement(_twakeIcons.Icon, { icon: _twakeIcons.Trash, className: "u-error" }))))); }; var _default = AssistantSelectionItem; exports.default = _default;