{"version":3,"file":"Badge.cjs","sources":["../../../../../../packages/components/badge/src/Badge.tsx"],"sourcesContent":["import type { CustomSlotsType } from '@antdv/types';\nimport type { CSSProperties } from 'vue';\nimport {\n  classNames,\n  cloneElement,\n  flattenChildren,\n  getPropsSlot,\n  isNumeric,\n  isPresetColor,\n} from '@antdv/utils';\nimport { getTransitionProps } from '@antdv/vue-components';\nimport { computed, defineComponent, ref, Transition, watch } from 'vue';\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\nimport useStyle from '../style';\nimport { badgeProps } from './props';\nimport ScrollNumber from './ScrollNumber';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'ABadge',\n\n  inheritAttrs: false,\n  props: badgeProps(),\n  slots: Object as CustomSlotsType<{\n    text: any\n    count: any\n    default: any\n  }>,\n  setup(props, { slots, attrs }) {\n    const { prefixCls, direction } = useConfigInject('badge', props);\n    const [wrapSSR, hashId] = useStyle(prefixCls);\n\n    // ================================ Misc ================================\n    const numberedDisplayCount = computed(() => {\n      return (\n        (props.count as number) > (props.overflowCount as number)\n          ? `${props.overflowCount}+`\n          : props.count\n      ) as string | number | null;\n    });\n\n    const isZero = computed(\n      () => numberedDisplayCount.value === '0' || numberedDisplayCount.value === 0,\n    );\n    const ignoreCount = computed(() => props.count === null || (isZero.value && !props.showZero));\n    const hasStatus = computed(\n      () =>\n        ((props.status !== null && props.status !== undefined)\n          || (props.color !== null && props.color !== undefined))\n        && ignoreCount.value,\n    );\n\n    const showAsDot = computed(() => props.dot && !isZero.value);\n\n    const mergedCount = computed(() => (showAsDot.value ? '' : numberedDisplayCount.value));\n\n    const isHidden = computed(() => {\n      const isEmpty\n        = mergedCount.value === null || mergedCount.value === undefined || mergedCount.value === '';\n      return (isEmpty || (isZero.value && !props.showZero)) && !showAsDot.value;\n    });\n\n    // Count should be cache in case hidden change it\n    const livingCount = ref(props.count);\n\n    // We need cache count since remove motion should not change count display\n    const displayCount = ref(mergedCount.value);\n\n    // We will cache the dot status to avoid shaking on leaved motion\n    const isDotRef = ref(showAsDot.value);\n\n    watch(\n      [() => props.count, mergedCount, showAsDot],\n      () => {\n        if (!isHidden.value) {\n          livingCount.value = props.count;\n          displayCount.value = mergedCount.value;\n          isDotRef.value = showAsDot.value;\n        }\n      },\n      { immediate: true },\n    );\n    // InternalColor\n    const isInternalColor = computed(() => isPresetColor(props.color, false));\n    // Shared styles\n    const statusCls = computed(() => ({\n      [`${prefixCls.value}-status-dot`]: hasStatus.value,\n      [`${prefixCls.value}-status-${props.status}`]: !!props.status,\n      [`${prefixCls.value}-color-${props.color}`]: isInternalColor.value,\n    }));\n\n    const statusStyle = computed(() => {\n      if (props.color && !isInternalColor.value)\n        return { background: props.color, color: props.color };\n      else\n        return {};\n    });\n\n    const scrollNumberCls = computed(() => ({\n      [`${prefixCls.value}-dot`]: isDotRef.value,\n      [`${prefixCls.value}-count`]: !isDotRef.value,\n      [`${prefixCls.value}-count-sm`]: props.size === 'small',\n      [`${prefixCls.value}-multiple-words`]:\n        !isDotRef.value && displayCount.value && displayCount.value.toString().length > 1,\n      [`${prefixCls.value}-status-${props.status}`]: !!props.status,\n      [`${prefixCls.value}-color-${props.color}`]: isInternalColor.value,\n    }));\n\n    return () => {\n      const { offset, title, color } = props;\n      const style = attrs.style as CSSProperties;\n      const text = getPropsSlot(slots, props, 'text');\n      const pre = prefixCls.value;\n      const count = livingCount.value;\n      let children = flattenChildren(slots.default?.());\n      children = children.length ? children : null;\n\n      const visible = !!(!isHidden.value || slots.count);\n\n      // =============================== Styles ===============================\n      const mergedStyle = (() => {\n        if (!offset)\n          return { ...style };\n\n        const offsetStyle: CSSProperties = {\n          marginTop: isNumeric(offset[1]) ? `${offset[1]}px` : offset[1],\n        };\n        if (direction.value === 'rtl')\n          offsetStyle.left = `${Number.parseInt(offset[0] as string, 10)}px`;\n        else\n          offsetStyle.right = `${-Number.parseInt(offset[0] as string, 10)}px`;\n\n        return {\n          ...offsetStyle,\n          ...style,\n        };\n      })();\n\n      // =============================== Render ===============================\n      // >>> Title\n      const titleNode\n        = title ?? (typeof count === 'string' || typeof count === 'number' ? count : undefined);\n\n      // >>> Status Text\n      const statusTextNode\n        = visible || !text ? null : <span class={`${pre}-status-text`}>{text}</span>;\n\n      // >>> Display Component\n      const displayNode\n        = typeof count === 'object' || (count === undefined && slots.count)\n          ? cloneElement(\n              count ?? slots.count?.(),\n              {\n                style: mergedStyle,\n              },\n              false,\n            )\n          : null;\n\n      const badgeClassName = classNames(\n        pre,\n        {\n          [`${pre}-status`]: hasStatus.value,\n          [`${pre}-not-a-wrapper`]: !children,\n          [`${pre}-rtl`]: direction.value === 'rtl',\n        },\n        attrs.class,\n        hashId.value,\n      );\n\n      // <Badge status=\"success\" />\n      if (!children && hasStatus.value) {\n        const statusTextColor = mergedStyle.color;\n        return wrapSSR(\n          <span {...attrs} class={badgeClassName} style={mergedStyle}>\n            <span class={statusCls.value} style={statusStyle.value} />\n            <span style={{ color: statusTextColor }} class={`${pre}-status-text`}>\n              {text}\n            </span>\n          </span>,\n        );\n      }\n\n      const transitionProps = getTransitionProps(children ? `${pre}-zoom` : '', {\n        appear: false,\n      });\n      let scrollNumberStyle: CSSProperties = { ...mergedStyle, ...(props.numberStyle as object) };\n      if (color && !isInternalColor.value) {\n        scrollNumberStyle = scrollNumberStyle || {};\n        scrollNumberStyle.background = color;\n      }\n\n      return wrapSSR(\n        <span {...attrs} class={badgeClassName}>\n          {children}\n          <Transition {...transitionProps}>\n            <ScrollNumber\n              v-show={visible}\n              prefixCls={props.scrollNumberPrefixCls}\n              show={visible}\n              class={scrollNumberCls.value}\n              count={displayCount.value}\n              title={titleNode}\n              style={scrollNumberStyle}\n              key=\"scrollNumber\"\n            >\n              {displayNode}\n            </ScrollNumber>\n          </Transition>\n          {statusTextNode}\n        </span>,\n      );\n    };\n  },\n});\n"],"names":["defineComponent","compatConfig","MODE","name","inheritAttrs","props","badgeProps","slots","Object","setup","attrs","prefixCls","direction","useConfigInject","wrapSSR","hashId","useStyle","numberedDisplayCount","computed","count","overflowCount","isZero","value","ignoreCount","showZero","hasStatus","status","undefined","color","showAsDot","dot","mergedCount","isHidden","isEmpty","livingCount","ref","displayCount","isDotRef","watch","immediate","isInternalColor","isPresetColor","statusCls","statusStyle","background","scrollNumberCls","size","toString","length","offset","title","style","text","getPropsSlot","pre","children","flattenChildren","default","visible","mergedStyle","offsetStyle","marginTop","isNumeric","left","Number","parseInt","right","titleNode","statusTextNode","_createVNode","displayNode","cloneElement","badgeClassName","classNames","class","statusTextColor","transitionProps","getTransitionProps","appear","scrollNumberStyle","numberStyle","Transition","_withDirectives","ScrollNumber","scrollNumberPrefixCls","_vShow"],"mappings":"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"}