{"version":3,"file":"Line.mjs","sources":["../../../../../../packages/components/progress/src/Line.tsx"],"sourcesContent":["import type { CSSProperties } from 'vue';\nimport type { ProgressSize } from './interface';\nimport { devWarning } from '@antdv/utils';\nimport { computed, defineComponent } from 'vue';\nimport { progressLineProps } from './props';\nimport { getSize, getSuccessPercent, handleGradient, validProgress } from './utils';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'ProgressLine',\n  inheritAttrs: false,\n  props: progressLineProps(),\n  setup(props, { slots, attrs }) {\n    const backgroundProps = computed<CSSProperties>(() => {\n      const { strokeColor, direction } = props;\n      return strokeColor && typeof strokeColor !== 'string'\n        ? handleGradient(strokeColor, direction)\n        : {\n            backgroundColor: strokeColor as string,\n          };\n    });\n    const borderRadius = computed(() =>\n      props.strokeLinecap === 'square' || props.strokeLinecap === 'butt' ? 0 : undefined,\n    );\n\n    const trailStyle = computed<CSSProperties>(() =>\n      props.trailColor\n        ? {\n            backgroundColor: props.trailColor,\n          }\n        : undefined,\n    );\n\n    const mergedSize = computed(\n      () => props.size ?? [-1, props.strokeWidth || (props.size === 'small' ? 6 : 8)],\n    );\n\n    const sizeRef = computed(() =>\n      getSize(mergedSize.value as ProgressSize, 'line', { strokeWidth: props.strokeWidth }),\n    );\n\n    if (process.env.NODE_ENV !== 'production') {\n      devWarning(\n        'strokeWidth' in props,\n        'Progress',\n        '`strokeWidth` is deprecated. Please use `size` instead.',\n      );\n    }\n\n    const percentStyle = computed<CSSProperties>(() => {\n      const { percent } = props;\n      return {\n        width: `${validProgress(percent)}%`,\n        height: `${sizeRef.value.height}px`,\n        borderRadius: borderRadius.value,\n        ...backgroundProps.value,\n      };\n    });\n\n    const successPercent = computed(() => {\n      return getSuccessPercent(props);\n    });\n    const successPercentStyle = computed<CSSProperties>(() => {\n      const { success } = props;\n      return {\n        width: `${validProgress(successPercent.value)}%`,\n        height: `${sizeRef.value.height}px`,\n        borderRadius: borderRadius.value,\n        backgroundColor: success?.strokeColor,\n      };\n    });\n\n    const outerStyle: CSSProperties = {\n      width: sizeRef.value.width < 0 ? '100%' : sizeRef.value.width,\n      height: `${sizeRef.value.height}px`,\n    };\n\n    return () => (\n      <>\n        <div\n          {...attrs}\n          class={[`${props.prefixCls}-outer`, attrs.class]}\n          style={[attrs.style as CSSProperties, outerStyle]}\n        >\n          <div class={`${props.prefixCls}-inner`} style={trailStyle.value}>\n            <div class={`${props.prefixCls}-bg`} style={percentStyle.value} />\n            {successPercent.value !== undefined\n              ? (\n                  <div class={`${props.prefixCls}-success-bg`} style={successPercentStyle.value} />\n                )\n              : null}\n          </div>\n        </div>\n        {slots.default?.()}\n      </>\n    );\n  },\n});\n"],"names":["compatConfig","MODE","name","inheritAttrs","props","progressLineProps","setup","slots","attrs","backgroundProps","computed","strokeColor","direction","handleGradient","backgroundColor","borderRadius","strokeLinecap","undefined","trailStyle","trailColor","mergedSize","size","strokeWidth","sizeRef","getSize","value","process","env","NODE_ENV","devWarning","percentStyle","percent","width","validProgress","height","successPercent","getSuccessPercent","successPercentStyle","success","outerStyle","_createVNode","_Fragment","prefixCls","class","style","default"],"mappings":"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"}