UNPKG

@memori.ai/memori-react

Version:

[![npm version](https://img.shields.io/github/package-json/v/memori-ai/memori-react)](https://www.npmjs.com/package/@memori.ai/memori-react) ![Tests](https://github.com/memori-ai/memori-react/workflows/CI/badge.svg?branch=main) ![TypeScript Support](https

26 lines 2.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const classnames_1 = tslib_1.__importDefault(require("classnames")); const Button_1 = tslib_1.__importDefault(require("../ui/Button")); const Expand_1 = tslib_1.__importDefault(require("../icons/Expand")); const FullscreenExit_1 = tslib_1.__importDefault(require("../icons/FullscreenExit")); const react_i18next_1 = require("react-i18next"); const ChatTextArea = ({ disabled = false, value, onChange, onPressEnter, onFocus, onBlur, }) => { const { t } = (0, react_i18next_1.useTranslation)(); const [expanded, setExpanded] = (0, react_1.useState)(false); return ((0, jsx_runtime_1.jsx)("div", { "data-testid": "chat-textarea", className: (0, classnames_1.default)('memori-chat-textarea', { 'memori-chat-textarea--expanded': expanded, 'memori-chat-textarea--disabled': disabled, }), children: (0, jsx_runtime_1.jsxs)("div", { className: "memori-chat-textarea--inner", children: [(0, jsx_runtime_1.jsx)("textarea", { className: "memori-chat-textarea--input", disabled: disabled, value: value, onChange: e => { onChange(e.target.value); }, onKeyDownCapture: e => { if (e.key === 'Enter' && !e.shiftKey && onPressEnter) { onPressEnter(e); } }, onFocus: onFocus, onBlur: onBlur, maxLength: 100000 }), (0, jsx_runtime_1.jsx)("div", { className: "memori-chat-textarea--expand", children: (0, jsx_runtime_1.jsx)(Button_1.default, { className: (0, classnames_1.default)('memori-chat-textarea--expand-button'), onClick: () => setExpanded(!expanded), padded: false, ghost: true, title: expanded ? t('collapse') || 'Collapse' : t('expand') || 'Expand', icon: expanded ? (0, jsx_runtime_1.jsx)(FullscreenExit_1.default, {}) : (0, jsx_runtime_1.jsx)(Expand_1.default, {}) }) })] }) })); }; exports.default = ChatTextArea; //# sourceMappingURL=ChatTextArea.js.map