123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _cssinjs = require("@ant-design/cssinjs");
- var _ = require(".");
- var _style = require("../../style");
- var _internal = require("../../theme/internal");
- // ============================== Ribbon ==============================
- const genRibbonStyle = token => {
- const {
- antCls,
- badgeFontHeight,
- marginXS,
- badgeRibbonOffset,
- calc
- } = token;
- const ribbonPrefixCls = `${antCls}-ribbon`;
- const ribbonWrapperPrefixCls = `${antCls}-ribbon-wrapper`;
- const statusRibbonPreset = (0, _internal.genPresetColor)(token, (colorKey, {
- darkColor
- }) => ({
- [`&${ribbonPrefixCls}-color-${colorKey}`]: {
- background: darkColor,
- color: darkColor
- }
- }));
- return {
- [ribbonWrapperPrefixCls]: {
- position: 'relative'
- },
- [ribbonPrefixCls]: Object.assign(Object.assign(Object.assign(Object.assign({}, (0, _style.resetComponent)(token)), {
- position: 'absolute',
- top: marginXS,
- padding: `0 ${(0, _cssinjs.unit)(token.paddingXS)}`,
- color: token.colorPrimary,
- lineHeight: (0, _cssinjs.unit)(badgeFontHeight),
- whiteSpace: 'nowrap',
- backgroundColor: token.colorPrimary,
- borderRadius: token.borderRadiusSM,
- [`${ribbonPrefixCls}-text`]: {
- color: token.badgeTextColor
- },
- [`${ribbonPrefixCls}-corner`]: {
- position: 'absolute',
- top: '100%',
- width: badgeRibbonOffset,
- height: badgeRibbonOffset,
- color: 'currentcolor',
- border: `${(0, _cssinjs.unit)(calc(badgeRibbonOffset).div(2).equal())} solid`,
- transform: token.badgeRibbonCornerTransform,
- transformOrigin: 'top',
- filter: token.badgeRibbonCornerFilter
- }
- }), statusRibbonPreset), {
- [`&${ribbonPrefixCls}-placement-end`]: {
- insetInlineEnd: calc(badgeRibbonOffset).mul(-1).equal(),
- borderEndEndRadius: 0,
- [`${ribbonPrefixCls}-corner`]: {
- insetInlineEnd: 0,
- borderInlineEndColor: 'transparent',
- borderBlockEndColor: 'transparent'
- }
- },
- [`&${ribbonPrefixCls}-placement-start`]: {
- insetInlineStart: calc(badgeRibbonOffset).mul(-1).equal(),
- borderEndStartRadius: 0,
- [`${ribbonPrefixCls}-corner`]: {
- insetInlineStart: 0,
- borderBlockEndColor: 'transparent',
- borderInlineStartColor: 'transparent'
- }
- },
- // ====================== RTL =======================
- '&-rtl': {
- direction: 'rtl'
- }
- })
- };
- };
- // ============================== Export ==============================
- var _default = exports.default = (0, _internal.genStyleHooks)(['Badge', 'Ribbon'], token => {
- const badgeToken = (0, _.prepareToken)(token);
- return genRibbonStyle(badgeToken);
- }, _.prepareComponentToken);
|