UNPKG

cozy-search

Version:

UI components about search bar and IA assistant

124 lines (100 loc) 6.23 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = require("@assistant-ui/react"); var _classnames = _interopRequireDefault(require("classnames")); var _react2 = _interopRequireWildcard(require("react")); var _SearchBar = _interopRequireDefault(require("cozy-ui/transpiled/react/SearchBar")); var _useEventListener = _interopRequireDefault(require("cozy-ui/transpiled/react/hooks/useEventListener")); var _Breakpoints = require("cozy-ui/transpiled/react/providers/Breakpoints"); var _twakeI18n = require("twake-i18n"); var _excluded = ["value", "isEmpty", "onKeyDown"]; 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 = { "composerContainer": "styles__composerContainer___3bNfY", "composerActions": "styles__composerActions___2xQEH", "conversationBar": "styles__conversationBar___2J-Us", "conversationBar--mobile": "styles__conversationBar--mobile___1jdg8", "conversationViewport": "styles__conversationViewport___24jYX", "conversationBar-input": "styles__conversationBar-input___2DfdZ", "chatConversation": "styles__chatConversation___2EmkA", "conversationHeaderBar": "styles__conversationHeaderBar___C8tlD", "conversationList": "styles__conversationList___2GCzV", "conversationList--container": "styles__conversationList--container___2xRAG", "conversationList--hidden": "styles__conversationList--hidden___20BsT", "conversationListItem--selected": "styles__conversationListItem--selected___2jCyB", "menuToggler": "styles__menuToggler___39GfB", "menuToggler--disabled": "styles__menuToggler--disabled___15vd4", "conversationChips-container": "styles__conversationChips-container___327dE", "conversationChips-startIcon": "styles__conversationChips-startIcon___1yOVn", "conversationChips-chipIcon": "styles__conversationChips-chipIcon___1wmF-", "conversationChips-deleteIcon": "styles__conversationChips-deleteIcon___s9C40", "is-warning": "styles__is-warning___3sa0v", "conversationChips-chip": "styles__conversationChips-chip___2PqQv", "cozyThread-messageContent": "styles__cozyThread-messageContent___2HjdB", "conversation-list-item": "styles__conversation-list-item___rQapI", "conversation-list-item-action": "styles__conversation-list-item-action___qiuKm", "conversation-list-item--selected--light": "styles__conversation-list-item--selected--light___3WvIn", "conversation-list-item--selected--dark": "styles__conversation-list-item--selected--dark___JDQlY", "conversation-list-item--wider": "styles__conversation-list-item--wider___2Tl2c", "conversation-list-item-divider": "styles__conversation-list-item-divider___2LOP1", "conversation-list-item-text": "styles__conversation-list-item-text___31VBM", "conversation-list-item-title": "styles__conversation-list-item-title___3je_6", "conversation-list-item-meta": "styles__conversation-list-item-meta___3Zk-r", "conversation-list-item-subtitle": "styles__conversation-list-item-subtitle___3e_h0" }; var ConversationBar = function ConversationBar(_ref) { var value = _ref.value, isEmpty = _ref.isEmpty, onKeyDown = _ref.onKeyDown, props = (0, _objectWithoutProperties2.default)(_ref, _excluded); var _useI18n = (0, _twakeI18n.useI18n)(), t = _useI18n.t; var _useBreakpoints = (0, _Breakpoints.useBreakpoints)(), isMobile = _useBreakpoints.isMobile; var inputRef = (0, _react2.useRef)(); // to adjust input height for multiline when typing in it // eslint-disable-next-line react-hooks/refs (0, _useEventListener.default)(inputRef.current, 'input', function () { if (inputRef.current) { inputRef.current.style.height = 'auto'; inputRef.current.style.height = "".concat(inputRef.current.scrollHeight, "px"); } }); var handleKeyDown = function handleKeyDown(e) { if (isEmpty) return; onKeyDown(e); }; return /*#__PURE__*/_react2.default.createElement(_SearchBar.default, (0, _extends2.default)({}, props, { elevation: 0, className: (0, _classnames.default)(styles['conversationBar'], (0, _defineProperty2.default)({}, styles['conversationBar--mobile'], isMobile)), icon: null, size: "auto", placeholder: t('assistant.search.placeholder'), value: value, disabledClear: true, disabledHover: true, componentsProps: { inputBase: { inputRef: inputRef, className: 'u-pv-0 u-pl-0', rows: 1, multiline: true, inputProps: { className: styles['conversationBar-input'] }, autoFocus: !isMobile, inputComponent: _react.ComposerPrimitive.Input, onKeyDown: handleKeyDown } } })); }; var _default = ConversationBar; exports.default = _default;