UNPKG

cozy-search

Version:

UI components about search bar and IA assistant

145 lines (122 loc) 6.8 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _twakeIcons = require("@linagora/twake-icons"); var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireWildcard(require("react")); var _Box = _interopRequireDefault(require("cozy-ui/transpiled/react/Box")); var _IconButton = _interopRequireDefault(require("cozy-ui/transpiled/react/IconButton")); var _TextField = _interopRequireDefault(require("cozy-ui/transpiled/react/TextField")); var _Typography = _interopRequireDefault(require("cozy-ui/transpiled/react/Typography")); var _CozyTheme = require("cozy-ui-plus/dist/providers/CozyTheme"); var _twakeI18n = require("twake-i18n"); var _helpers = require("./helpers"); 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 ApiKeyStep = function ApiKeyStep(_ref) { var formData = _ref.formData, selectedProvider = _ref.selectedProvider, onChange = _ref.onChange; var _useCozyTheme = (0, _CozyTheme.useCozyTheme)(), theme = _useCozyTheme.type; var _useState = (0, _react.useState)(false), _useState2 = (0, _slicedToArray2.default)(_useState, 2), showPassword = _useState2[0], setShowPassword = _useState2[1]; var _useI18n = (0, _twakeI18n.useI18n)(), t = _useI18n.t; var _ref2 = selectedProvider || {}, id = _ref2.id, providerName = _ref2.name; var _ref3 = formData || {}, _ref3$model = _ref3.model, model = _ref3$model === void 0 ? '' : _ref3$model, _ref3$baseUrl = _ref3.baseUrl, baseUrl = _ref3$baseUrl === void 0 ? '' : _ref3$baseUrl, _ref3$apiKey = _ref3.apiKey, apiKey = _ref3$apiKey === void 0 ? '' : _ref3$apiKey, _ref3$encryptedApiKey = _ref3.encryptedApiKey, encryptedApiKey = _ref3$encryptedApiKey === void 0 ? '' : _ref3$encryptedApiKey; var isCustomModel = id === 'custom'; var isModelUnsupported = (0, _helpers.checkIfModelUnsupported)(selectedProvider, model); return /*#__PURE__*/_react.default.createElement("div", { className: "u-flex u-flex-column u-gap-1" }, /*#__PURE__*/_react.default.createElement(_Typography.default, { variant: "body1", className: "u-mb-1 u-c-text-secondary" }, isCustomModel ? t('assistant_create.steps.configuration.custom_provider_description') : t('assistant_create.steps.configuration.description')), isCustomModel && /*#__PURE__*/_react.default.createElement("div", { className: "u-mb-1" }, /*#__PURE__*/_react.default.createElement(_Typography.default, { variant: "h6", className: "u-mb-half" }, t('assistant_create.steps.configuration.url.label')), /*#__PURE__*/_react.default.createElement(_TextField.default, { fullWidth: true, placeholder: t('assistant_create.steps.configuration.url.placeholder'), value: baseUrl, onChange: onChange('baseUrl'), variant: "outlined", type: "text" })), /*#__PURE__*/_react.default.createElement("div", { className: "u-mb-1" }, /*#__PURE__*/_react.default.createElement(_Typography.default, { variant: "h6", className: "u-mb-half" }, t('assistant_create.steps.configuration.model.label')), /*#__PURE__*/_react.default.createElement(_TextField.default, { fullWidth: true, placeholder: t('assistant_create.steps.configuration.model.placeholder'), value: model, onChange: onChange('model'), variant: "outlined", type: "text", error: isModelUnsupported, helperText: isModelUnsupported ? t('assistant_create.steps.configuration.model.unsupported') : undefined })), /*#__PURE__*/_react.default.createElement("div", { className: "u-mb-1" }, /*#__PURE__*/_react.default.createElement(_Typography.default, { variant: "h6", className: "u-mb-half" }, t('assistant_create.steps.configuration.api_key.label')), /*#__PURE__*/_react.default.createElement(_TextField.default, { fullWidth: true, placeholder: encryptedApiKey ? '••••••••••••' : t('assistant_create.steps.configuration.api_key.placeholder'), value: apiKey, onChange: onChange('apiKey'), variant: "outlined", type: showPassword ? 'text' : 'password', InputProps: { endAdornment: /*#__PURE__*/_react.default.createElement(_IconButton.default, { onClick: function onClick() { return setShowPassword(function (prev) { return !prev; }); }, "aria-label": showPassword ? t('assistant.hide') : t('assistant.show') }, /*#__PURE__*/_react.default.createElement(_twakeIcons.Icon, { icon: _twakeIcons.Eye })) } })), /*#__PURE__*/_react.default.createElement(_Box.default, { display: "block", border: 1, borderColor: "var(--dividerColor)", borderRadius: 8, padding: 2, className: (0, _classnames.default)({ 'u-bg-primaryBackgroundLight': theme === 'light', 'u-bg-coolGrey': theme === 'dark' }) }, /*#__PURE__*/_react.default.createElement(_Typography.default, { variant: "h6", className: "u-mb-half" }, t('assistant_create.steps.configuration.no_key')), /*#__PURE__*/_react.default.createElement(_Typography.default, { variant: "body2", color: "textSecondary" }, /*#__PURE__*/_react.default.createElement("span", null, t('assistant_create.steps.configuration.generate', { provider: !isCustomModel ? providerName : t('assistant_create.steps.configuration.custom_provider') }))))); }; var _default = ApiKeyStep; exports.default = _default;