UNPKG

@kaspersky/components

Version:

Kaspersky Design System UI Kit

41 lines (40 loc) 2.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Indicator = void 0; var _react = _interopRequireDefault(require("react")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _useThemedIndicator = require("./useThemedIndicator.js"); var _theme = require("../../design-system/theme/index.js"); var _shouldForwardProp = require("../../helpers/shouldForwardProp.js"); var _useTestAttribute = require("../../helpers/hooks/useTestAttribute.js"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } const Dot = _styledComponents.default.span.withConfig({ shouldForwardProp: _shouldForwardProp.shouldForwardProp }).withConfig({ displayName: "Indicator__Dot", componentId: "sc-1pyzvid-0" })(["width:8px;height:8px;border-radius:50%;box-sizing:content-box;display:inline-block;background:", ";", " flex:none;translate:0 -1px;"], props => props.cssConfig.background, props => props.border && `border: 2px solid ${props.cssConfig.borderColor};`); const WithLabel = _styledComponents.default.div.withConfig({ shouldForwardProp: _shouldForwardProp.shouldForwardProp }).withConfig({ displayName: "Indicator__WithLabel", componentId: "sc-1pyzvid-1" })(["display:flex;gap:", "px;align-items:baseline;"], _theme.SPACES[4]); const IndicatorView = _ref => { let { testAttributes, ...props } = _ref; return props.label ? /*#__PURE__*/_react.default.createElement(WithLabel, testAttributes, /*#__PURE__*/_react.default.createElement(Dot, _extends({}, props, { className: "indicator-dot" })), /*#__PURE__*/_react.default.createElement("span", null, props.label)) : /*#__PURE__*/_react.default.createElement(Dot, _extends({}, testAttributes, props)); }; const Indicator = rawProps => { const themedProps = (0, _useThemedIndicator.useThemedIndicator)(rawProps); const props = (0, _useTestAttribute.useTestAttribute)(themedProps); return /*#__PURE__*/_react.default.createElement(IndicatorView, props); }; exports.Indicator = Indicator;