@yandex/ui
Version:
Yandex UI components
30 lines (29 loc) • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TextinputClear = void 0;
var tslib_1 = require("tslib");
var react_1 = tslib_1.__importDefault(require("react"));
var di_1 = require("@bem-react/di");
var core_1 = require("@bem-react/core");
var Icon_1 = require("../../Icon/Icon");
var Icon_type_cross_1 = require("../../Icon/_type/Icon_type_cross");
var Icon_type_cross_websearch_1 = require("../../Icon/_type/Icon_type_cross-websearch");
var Icon_glyph_x_sign_1 = require("../../Icon/_glyph/Icon_glyph_x-sign");
var Textinput_1 = require("../Textinput");
require("./Textinput-Clear.css");
var Icon = core_1.compose(Icon_glyph_x_sign_1.withGlyphXSign, core_1.composeU(Icon_type_cross_1.withTypeCross, Icon_type_cross_websearch_1.withTypeCrossWebsearch))(Icon_1.Icon);
var getIconType = function (theme, view) {
if (view === 'default') {
return { glyph: 'x-sign' };
}
if (theme === 'websearch') {
return { type: 'cross-websearch' };
}
return { type: 'cross' };
};
var TextinputClear = function (_a) {
var visible = _a.visible, className = _a.className, theme = _a.theme, view = _a.view, props = tslib_1.__rest(_a, ["visible", "className", "theme", "view"]);
var IconWrapper = di_1.useComponentRegistry(Textinput_1.cnTextinput()).Icon;
return (react_1.default.createElement(IconWrapper, tslib_1.__assign({}, props, { component: react_1.default.createElement(Icon, tslib_1.__assign({}, getIconType(theme, view), { className: Textinput_1.cnTextinput('Clear', { visible: visible }, [className]) })) })));
};
exports.TextinputClear = TextinputClear;