UNPKG

@yandex/ui

Version:

Yandex UI components

30 lines (29 loc) 1.63 kB
"use strict"; 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;