{"version":3,"file":"Statistic.mjs","sources":["../../../../../../packages/components/statistic/src/Statistic.tsx"],"sourcesContent":["import type { CustomSlotsType } from '@antdv/types';\nimport type { Formatter } from './interface';\nimport { initDefaultProps } from '@antdv/utils';\nimport { defineComponent } from 'vue';\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\nimport Skeleton from '../../skeleton';\nimport useStyle from '../style';\nimport StatisticNumber from './Number';\nimport { statisticProps } from './props';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'AStatistic',\n  inheritAttrs: false,\n  props: initDefaultProps(statisticProps(), {\n    decimalSeparator: '.',\n    groupSeparator: ',',\n    loading: false,\n  }),\n  slots: Object as CustomSlotsType<{\n    title?: any\n    prefix?: any\n    suffix?: any\n    formatter?: any\n    default?: any\n  }>,\n  setup(props, { slots, attrs }) {\n    const { prefixCls, direction } = useConfigInject('statistic', props);\n\n    // Style\n    const [wrapSSR, hashId] = useStyle(prefixCls);\n\n    return () => {\n      const { value = 0, valueStyle, valueRender } = props;\n      const pre = prefixCls.value;\n      const title = props.title ?? slots.title?.();\n      const prefix = props.prefix ?? slots.prefix?.();\n      const suffix = props.suffix ?? slots.suffix?.();\n      const formatter = props.formatter ?? (slots.formatter as unknown as Formatter);\n      // data-for-update just for update component\n      // https://github.com/vueComponent/ant-design-vue/pull/3170\n      let valueNode = (\n        <StatisticNumber\n          data-for-update={Date.now()}\n          {...{ ...props, prefixCls: pre, value, formatter }}\n        />\n      );\n      if (valueRender)\n        valueNode = valueRender(valueNode);\n\n      return wrapSSR(\n        <div\n          {...attrs}\n          class={[pre, { [`${pre}-rtl`]: direction.value === 'rtl' }, attrs.class, hashId.value]}\n        >\n          {title && <div class={`${pre}-title`}>{title}</div>}\n          <Skeleton paragraph={false} loading={props.loading}>\n            <div style={valueStyle} class={`${pre}-content`}>\n              {prefix && <span class={`${pre}-content-prefix`}>{prefix}</span>}\n              {valueNode}\n              {suffix && <span class={`${pre}-content-suffix`}>{suffix}</span>}\n            </div>\n          </Skeleton>\n        </div>,\n      );\n    };\n  },\n});\n"],"names":["compatConfig","MODE","name","inheritAttrs","props","initDefaultProps","statisticProps","decimalSeparator","groupSeparator","loading","slots","Object","setup","attrs","prefixCls","direction","useConfigInject","wrapSSR","hashId","useStyle","value","valueStyle","valueRender","pre","title","prefix","suffix","formatter","valueNode","_createVNode","StatisticNumber","Date","now","class","Skeleton","default"],"mappings":"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"}