{"version":3,"file":"index.cjs","sources":["../../../../../../packages/components/badge/style/index.ts"],"sourcesContent":["import type { CSSObject, FullToken, GenerateStyle } from '@antdv/theme';\nimport { genComponentStyleHook, Keyframes, mergeToken, resetComponent } from '@antdv/theme';\nimport { genPresetColor } from '@antdv/theme/style/presetColor';\n\ninterface BadgeToken extends FullToken<'Badge'> {\n  badgeFontHeight: number\n  badgeZIndex: number | string\n  badgeHeight: number\n  badgeHeightSm: number\n  badgeTextColor: string\n  badgeFontWeight: string\n  badgeFontSize: number\n  badgeColor: string\n  badgeColorHover: string\n  badgeDotSize: number\n  badgeFontSizeSm: number\n  badgeStatusSize: number\n  badgeShadowSize: number\n  badgeShadowColor: string\n  badgeProcessingDuration: string\n  badgeRibbonOffset: number\n  badgeRibbonCornerTransform: string\n  badgeRibbonCornerFilter: string\n}\n\nconst antStatusProcessing = new Keyframes('antStatusProcessing', {\n  '0%': { transform: 'scale(0.8)', opacity: 0.5 },\n  '100%': { transform: 'scale(2.4)', opacity: 0 },\n});\n\nconst antZoomBadgeIn = new Keyframes('antZoomBadgeIn', {\n  '0%': { transform: 'scale(0) translate(50%, -50%)', opacity: 0 },\n  '100%': { transform: 'scale(1) translate(50%, -50%)' },\n});\n\nconst antZoomBadgeOut = new Keyframes('antZoomBadgeOut', {\n  '0%': { transform: 'scale(1) translate(50%, -50%)' },\n  '100%': { transform: 'scale(0) translate(50%, -50%)', opacity: 0 },\n});\n\nconst antNoWrapperZoomBadgeIn = new Keyframes('antNoWrapperZoomBadgeIn', {\n  '0%': { transform: 'scale(0)', opacity: 0 },\n  '100%': { transform: 'scale(1)' },\n});\nconst antNoWrapperZoomBadgeOut = new Keyframes('antNoWrapperZoomBadgeOut', {\n  '0%': { transform: 'scale(1)' },\n  '100%': { transform: 'scale(0)', opacity: 0 },\n});\nconst antBadgeLoadingCircle = new Keyframes('antBadgeLoadingCircle', {\n  '0%': { transformOrigin: '50%' },\n  '100%': {\n    transform: 'translate(50%, -50%) rotate(360deg)',\n    transformOrigin: '50%',\n  },\n});\n\nconst genSharedBadgeStyle: GenerateStyle<BadgeToken> = (token: BadgeToken): CSSObject => {\n  const {\n    componentCls,\n    iconCls,\n    antCls,\n    badgeFontHeight,\n    badgeShadowSize,\n    badgeHeightSm,\n    motionDurationSlow,\n    badgeStatusSize,\n    marginXS,\n    badgeRibbonOffset,\n  } = token;\n  const numberPrefixCls = `${antCls}-scroll-number`;\n  const ribbonPrefixCls = `${antCls}-ribbon`;\n  const ribbonWrapperPrefixCls = `${antCls}-ribbon-wrapper`;\n\n  const colorPreset = genPresetColor(token, (colorKey, { darkColor }) => ({\n    [`&${componentCls} ${componentCls}-color-${colorKey}`]: {\n      background: darkColor,\n      [`&:not(${componentCls}-count)`]: {\n        color: darkColor,\n      },\n    },\n  }));\n\n  const statusRibbonPreset = genPresetColor(token, (colorKey, { darkColor }) => ({\n    [`&${ribbonPrefixCls}-color-${colorKey}`]: {\n      background: darkColor,\n      color: darkColor,\n    },\n  }));\n\n  return {\n    [componentCls]: {\n      ...resetComponent(token),\n      'position': 'relative',\n      'display': 'inline-block',\n      'width': 'fit-content',\n      'lineHeight': 1,\n\n      [`${componentCls}-count`]: {\n        'zIndex': token.badgeZIndex,\n        'minWidth': token.badgeHeight,\n        'height': token.badgeHeight,\n        'color': token.badgeTextColor,\n        'fontWeight': token.badgeFontWeight,\n        'fontSize': token.badgeFontSize,\n        'lineHeight': `${token.badgeHeight}px`,\n        'whiteSpace': 'nowrap',\n        'textAlign': 'center',\n        'background': token.badgeColor,\n        'borderRadius': token.badgeHeight / 2,\n        'boxShadow': `0 0 0 ${badgeShadowSize}px ${token.badgeShadowColor}`,\n        'transition': `background ${token.motionDurationMid}`,\n\n        'a': {\n          color: token.badgeTextColor,\n        },\n        'a:hover': {\n          color: token.badgeTextColor,\n        },\n\n        'a:hover &': {\n          background: token.badgeColorHover,\n        },\n      },\n      [`${componentCls}-count-sm`]: {\n        minWidth: badgeHeightSm,\n        height: badgeHeightSm,\n        fontSize: token.badgeFontSizeSm,\n        lineHeight: `${badgeHeightSm}px`,\n        borderRadius: badgeHeightSm / 2,\n      },\n\n      [`${componentCls}-multiple-words`]: {\n        padding: `0 ${token.paddingXS}px`,\n      },\n\n      [`${componentCls}-dot`]: {\n        zIndex: token.badgeZIndex,\n        width: token.badgeDotSize,\n        minWidth: token.badgeDotSize,\n        height: token.badgeDotSize,\n        background: token.badgeColor,\n        borderRadius: '100%',\n        boxShadow: `0 0 0 ${badgeShadowSize}px ${token.badgeShadowColor}`,\n      },\n      [`${componentCls}-dot${numberPrefixCls}`]: {\n        transition: `background ${motionDurationSlow}`,\n      },\n      [`${componentCls}-count, ${componentCls}-dot, ${numberPrefixCls}-custom-component`]: {\n        position: 'absolute',\n        top: 0,\n        insetInlineEnd: 0,\n        transform: 'translate(50%, -50%)',\n        transformOrigin: '100% 0%',\n        [`&${iconCls}-spin`]: {\n          animationName: antBadgeLoadingCircle,\n          animationDuration: '1s',\n          animationIterationCount: 'infinite',\n          animationTimingFunction: 'linear',\n        },\n      },\n      [`&${componentCls}-status`]: {\n        lineHeight: 'inherit',\n        verticalAlign: 'baseline',\n\n        [`${componentCls}-status-dot`]: {\n          position: 'relative',\n          top: -1, // Magic number, but seems better experience\n          display: 'inline-block',\n          width: badgeStatusSize,\n          height: badgeStatusSize,\n          verticalAlign: 'middle',\n          borderRadius: '50%',\n        },\n\n        [`${componentCls}-status-success`]: {\n          backgroundColor: token.colorSuccess,\n        },\n        [`${componentCls}-status-processing`]: {\n          'overflow': 'visible',\n          'color': token.colorPrimary,\n          'backgroundColor': token.colorPrimary,\n\n          '&::after': {\n            position: 'absolute',\n            top: 0,\n            insetInlineStart: 0,\n            width: '100%',\n            height: '100%',\n            borderWidth: badgeShadowSize,\n            borderStyle: 'solid',\n            borderColor: 'inherit',\n            borderRadius: '50%',\n            animationName: antStatusProcessing,\n            animationDuration: token.badgeProcessingDuration,\n            animationIterationCount: 'infinite',\n            animationTimingFunction: 'ease-in-out',\n            content: '\"\"',\n          },\n        },\n        [`${componentCls}-status-default`]: {\n          backgroundColor: token.colorTextPlaceholder,\n        },\n\n        [`${componentCls}-status-error`]: {\n          backgroundColor: token.colorError,\n        },\n\n        [`${componentCls}-status-warning`]: {\n          backgroundColor: token.colorWarning,\n        },\n        [`${componentCls}-status-text`]: {\n          marginInlineStart: marginXS,\n          color: token.colorText,\n          fontSize: token.fontSize,\n        },\n      },\n      ...colorPreset,\n      [`${componentCls}-zoom-appear, ${componentCls}-zoom-enter`]: {\n        animationName: antZoomBadgeIn,\n        animationDuration: token.motionDurationSlow,\n        animationTimingFunction: token.motionEaseOutBack,\n        animationFillMode: 'both',\n      },\n      [`${componentCls}-zoom-leave`]: {\n        animationName: antZoomBadgeOut,\n        animationDuration: token.motionDurationSlow,\n        animationTimingFunction: token.motionEaseOutBack,\n        animationFillMode: 'both',\n      },\n      [`&${componentCls}-not-a-wrapper`]: {\n        [`${componentCls}-zoom-appear, ${componentCls}-zoom-enter`]: {\n          animationName: antNoWrapperZoomBadgeIn,\n          animationDuration: token.motionDurationSlow,\n          animationTimingFunction: token.motionEaseOutBack,\n        },\n\n        [`${componentCls}-zoom-leave`]: {\n          animationName: antNoWrapperZoomBadgeOut,\n          animationDuration: token.motionDurationSlow,\n          animationTimingFunction: token.motionEaseOutBack,\n        },\n        [`&:not(${componentCls}-status)`]: {\n          verticalAlign: 'middle',\n        },\n        [`${numberPrefixCls}-custom-component, ${componentCls}-count`]: {\n          transform: 'none',\n        },\n        [`${numberPrefixCls}-custom-component, ${numberPrefixCls}`]: {\n          position: 'relative',\n          top: 'auto',\n          display: 'block',\n          transformOrigin: '50% 50%',\n        },\n      },\n      [`${numberPrefixCls}`]: {\n        overflow: 'hidden',\n        [`${numberPrefixCls}-only`]: {\n          position: 'relative',\n          display: 'inline-block',\n          height: token.badgeHeight,\n          transition: `all ${token.motionDurationSlow} ${token.motionEaseOutBack}`,\n          WebkitTransformStyle: 'preserve-3d',\n          WebkitBackfaceVisibility: 'hidden',\n          [`> p${numberPrefixCls}-only-unit`]: {\n            height: token.badgeHeight,\n            margin: 0,\n            WebkitTransformStyle: 'preserve-3d',\n            WebkitBackfaceVisibility: 'hidden',\n          },\n        },\n        [`${numberPrefixCls}-symbol`]: { verticalAlign: 'top' },\n      },\n\n      // ====================== RTL =======================\n      '&-rtl': {\n        direction: 'rtl',\n\n        [`${componentCls}-count, ${componentCls}-dot, ${numberPrefixCls}-custom-component`]: {\n          transform: 'translate(-50%, -50%)',\n        },\n      },\n    },\n    [`${ribbonWrapperPrefixCls}`]: { position: 'relative' },\n    [`${ribbonPrefixCls}`]: {\n      ...resetComponent(token),\n      'position': 'absolute',\n      'top': marginXS,\n      'padding': `0 ${token.paddingXS}px`,\n      'color': token.colorPrimary,\n      'lineHeight': `${badgeFontHeight}px`,\n      'whiteSpace': 'nowrap',\n      'backgroundColor': token.colorPrimary,\n      'borderRadius': token.borderRadiusSM,\n      [`${ribbonPrefixCls}-text`]: { color: token.colorTextLightSolid },\n      [`${ribbonPrefixCls}-corner`]: {\n        position: 'absolute',\n        top: '100%',\n        width: badgeRibbonOffset,\n        height: badgeRibbonOffset,\n        color: 'currentcolor',\n        border: `${badgeRibbonOffset / 2}px solid`,\n        transform: token.badgeRibbonCornerTransform,\n        transformOrigin: 'top',\n        filter: token.badgeRibbonCornerFilter,\n      },\n      ...statusRibbonPreset,\n      [`&${ribbonPrefixCls}-placement-end`]: {\n        insetInlineEnd: -badgeRibbonOffset,\n        borderEndEndRadius: 0,\n        [`${ribbonPrefixCls}-corner`]: {\n          insetInlineEnd: 0,\n          borderInlineEndColor: 'transparent',\n          borderBlockEndColor: 'transparent',\n        },\n      },\n      [`&${ribbonPrefixCls}-placement-start`]: {\n        insetInlineStart: -badgeRibbonOffset,\n        borderEndStartRadius: 0,\n        [`${ribbonPrefixCls}-corner`]: {\n          insetInlineStart: 0,\n          borderBlockEndColor: 'transparent',\n          borderInlineStartColor: 'transparent',\n        },\n      },\n\n      // ====================== RTL =======================\n      '&-rtl': {\n        direction: 'rtl',\n      },\n    },\n  };\n};\n\n// ============================== Export ==============================\nexport default genComponentStyleHook('Badge', (token) => {\n  const { fontSize, lineHeight, fontSizeSM, lineWidth, marginXS, colorBorderBg } = token;\n\n  const badgeFontHeight = Math.round(fontSize * lineHeight);\n  const badgeShadowSize = lineWidth;\n  const badgeZIndex = 'auto';\n  const badgeHeight = badgeFontHeight - 2 * badgeShadowSize;\n  const badgeTextColor = token.colorBgContainer;\n  const badgeFontWeight = 'normal';\n  const badgeFontSize = fontSizeSM;\n  const badgeColor = token.colorError;\n  const badgeColorHover = token.colorErrorHover;\n  const badgeHeightSm = fontSize;\n  const badgeDotSize = fontSizeSM / 2;\n  const badgeFontSizeSm = fontSizeSM;\n  const badgeStatusSize = fontSizeSM / 2;\n\n  const badgeToken = mergeToken<BadgeToken>(token, {\n    badgeFontHeight,\n    badgeShadowSize,\n    badgeZIndex,\n    badgeHeight,\n    badgeTextColor,\n    badgeFontWeight,\n    badgeFontSize,\n    badgeColor,\n    badgeColorHover,\n    badgeShadowColor: colorBorderBg,\n    badgeHeightSm,\n    badgeDotSize,\n    badgeFontSizeSm,\n    badgeStatusSize,\n    badgeProcessingDuration: '1.2s',\n    badgeRibbonOffset: marginXS,\n\n    // Follow token just by Design. Not related with token\n    badgeRibbonCornerTransform: 'scaleY(0.75)',\n    badgeRibbonCornerFilter: 'brightness(75%)',\n  });\n\n  return [genSharedBadgeStyle(badgeToken)];\n});\n"],"names":["Keyframes","genPresetColor","resetComponent","genComponentStyleHook","mergeToken"],"mappings":"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"}