@kaspersky/components
Version:
Kaspersky Design System UI Kit
41 lines (40 loc) • 2.4 kB
JavaScript
;
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;