cozy-search
Version:
UI components about search bar and IA assistant
112 lines (93 loc) • 4.66 kB
JavaScript
"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;