UNPKG

cozy-search

Version:

UI components about search bar and IA assistant

112 lines (93 loc) 4.66 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 = _interopRequireDefault(require("react")); var _Chips = _interopRequireDefault(require("cozy-ui/transpiled/react/Chips")); var _Breakpoints = require("cozy-ui/transpiled/react/providers/Breakpoints"); var _AssistantProvider = require("../AssistantProvider"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } var styles = { "source-panel": "styles__source-panel___1r13x", "source-panel-header": "styles__source-panel-header___2i_pd", "source-panel-description": "styles__source-panel-description___JL2br", "source-panel-search": "styles__source-panel-search___2_jsF", "source-panel-content": "styles__source-panel-content___1YU9a", "source-panel-footer": "styles__source-panel-footer___i_u77", "section-header": "styles__section-header___3qiTb", "nested-item": "styles__nested-item___1Guh8", "drive-tree-item": "styles__drive-tree-item___30uL0", "clear-all-button": "styles__clear-all-button___2lTyP", "date-label": "styles__date-label___3gPZY", "mail-preview": "styles__mail-preview___Vm-RW", "chat-header-actions": "styles__chat-header-actions___2nLD5", "header-clear-all": "styles__header-clear-all___3dOMJ", "knowledge-chips-icon": "styles__knowledge-chips-icon___2AIB6" }; var CHIP_CLASSES = { label: 'u-p-0', icon: 'u-m-0' }; var TwakeKnowledgeChip = function TwakeKnowledgeChip(_ref) { var twakeKnowledge = _ref.twakeKnowledge, isLast = _ref.isLast, onSelect = _ref.onSelect; var _useBreakpoints = (0, _Breakpoints.useBreakpoints)(), isMobile = _useBreakpoints.isMobile; var _useAssistant = (0, _AssistantProvider.useAssistant)(), openedKnowledgePanel = _useAssistant.openedKnowledgePanel, selectedTwakeKnowledge = _useAssistant.selectedTwakeKnowledge, setSelectedTwakeKnowledge = _useAssistant.setSelectedTwakeKnowledge; var isPanelOpen = openedKnowledgePanel === twakeKnowledge.id; var hasSelection = selectedTwakeKnowledge[twakeKnowledge.id].length > 0; var isActive = isPanelOpen || hasSelection; var isPill = !isMobile || hasSelection; var handleClear = function handleClear() { setSelectedTwakeKnowledge(function (prev) { return _objectSpread(_objectSpread({}, prev), {}, (0, _defineProperty2.default)({}, twakeKnowledge.id, [])); }); }; return /*#__PURE__*/_react.default.createElement(_Chips.default, { "aria-label": twakeKnowledge.label, icon: /*#__PURE__*/_react.default.createElement("img", { alt: "", "aria-hidden": "true", src: twakeKnowledge.icon, className: styles['knowledge-chips-icon'] }), deleteIcon: hasSelection ? /*#__PURE__*/_react.default.createElement(_twakeIcons.Icon, { icon: _twakeIcons.Cross, size: 16, style: { height: 16, width: 16, marginLeft: 10, marginRight: 0 }, color: "var(--primaryColor)" }) : undefined, onDelete: hasSelection ? handleClear : undefined, label: isMobile ? '' : twakeKnowledge.label, clickable: true, variant: isActive ? 'ghost' : 'default', classes: isMobile ? CHIP_CLASSES : { label: 'u-pl-half u-fz-tiny', icon: 'u-m-0' }, className: (0, _classnames.default)('u-mr-0', { 'u-w-auto u-ph-half': isPill, 'u-mr-half': !isLast }), onClick: function onClick() { return onSelect(twakeKnowledge.id); } }); }; var _default = TwakeKnowledgeChip; exports.default = _default;