linkmore-design
Version:
π πlmη»δ»ΆεΊγπ
54 lines (53 loc) β’ 1.73 kB
JavaScript
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _classnames = _interopRequireDefault(require("classnames"));
var React = _interopRequireWildcard(require("react"));
var _configProvider = require("../config-provider");
var _utils = require("./utils");
const Ribbon = function Ribbon({
className,
prefixCls: customizePrefixCls,
style,
color,
children,
text,
placement = 'end'
}) {
const {
getPrefixCls,
direction
} = React.useContext(_configProvider.ConfigContext);
const prefixCls = getPrefixCls('ribbon', customizePrefixCls);
const colorInPreset = (0, _utils.isPresetColor)(color);
const ribbonCls = (0, _classnames.default)(prefixCls, `${prefixCls}-placement-${placement}`, {
[`${prefixCls}-rtl`]: direction === 'rtl',
[`${prefixCls}-color-${color}`]: colorInPreset
}, className);
const colorStyle = {};
const cornerColorStyle = {};
if (color && !colorInPreset) {
colorStyle.background = color;
cornerColorStyle.color = color;
}
return /*#__PURE__*/React.createElement("div", {
className: `${prefixCls}-wrapper`
}, children, /*#__PURE__*/React.createElement("div", {
className: ribbonCls,
style: {
...colorStyle,
...style
}
}, /*#__PURE__*/React.createElement("span", {
className: `${prefixCls}-text`
}, text), /*#__PURE__*/React.createElement("div", {
className: `${prefixCls}-corner`,
style: cornerColorStyle
})));
};
var _default = Ribbon;
exports.default = _default;
;