{"version":3,"file":"progress2.mjs","sources":["../../../../../../packages/components/progress/src/progress.vue"],"sourcesContent":["<template>\n  <div\n    :class=\"[\n      ns.b(),\n      ns.m(type),\n      ns.is(status),\n      {\n        [ns.m('without-text')]: !showText,\n        [ns.m('text-inside')]: textInside,\n      },\n    ]\"\n    role=\"progressbar\"\n    :aria-valuenow=\"percentage\"\n    aria-valuemin=\"0\"\n    aria-valuemax=\"100\"\n  >\n    <div v-if=\"type === 'line'\" :class=\"ns.b('bar')\">\n      <div\n        :class=\"ns.be('bar', 'outer')\"\n        :style=\"{ height: `${strokeWidth}px` }\"\n      >\n        <div\n          :class=\"[\n            ns.be('bar', 'inner'),\n            { [ns.bem('bar', 'inner', 'indeterminate')]: indeterminate },\n          ]\"\n          :style=\"barStyle\"\n        >\n          <div\n            v-if=\"(showText || $slots.default) && textInside\"\n            :class=\"ns.be('bar', 'innerText')\"\n          >\n            <slot v-bind=\"slotData\">\n              <span>{{ content }}</span>\n            </slot>\n          </div>\n        </div>\n      </div>\n    </div>\n    <div\n      v-else\n      :class=\"ns.b('circle')\"\n      :style=\"{ height: `${width}px`, width: `${width}px` }\"\n    >\n      <svg viewBox=\"0 0 100 100\">\n        <path\n          :class=\"ns.be('circle', 'track')\"\n          :d=\"trackPath\"\n          stroke=\"#e5e9f2\"\n          :stroke-width=\"relativeStrokeWidth\"\n          fill=\"none\"\n          :style=\"trailPathStyle\"\n        />\n        <path\n          :class=\"ns.be('circle', 'path')\"\n          :d=\"trackPath\"\n          :stroke=\"stroke\"\n          fill=\"none\"\n          :stroke-linecap=\"strokeLinecap\"\n          :stroke-width=\"percentage ? relativeStrokeWidth : 0\"\n          :style=\"circlePathStyle\"\n        />\n      </svg>\n    </div>\n    <div\n      v-if=\"(showText || $slots.default) && !textInside\"\n      :class=\"ns.e('text')\"\n      :style=\"{ fontSize: `${progressTextSize}px` }\"\n    >\n      <slot v-bind=\"slotData\">\n        <span v-if=\"!status\">{{ content }}</span>\n        <el-icon v-else><component :is=\"statusIcon\" /></el-icon>\n      </slot>\n    </div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent } from 'vue'\nimport { ElIcon } from '@element-plus/components/icon'\nimport {\n  WarningFilled,\n  CircleCheck,\n  CircleClose,\n  Check,\n  Close,\n} from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { progressProps } from './progress'\nimport type { CSSProperties } from 'vue'\n\nexport default defineComponent({\n  name: 'ElProgress',\n  components: {\n    ElIcon,\n    CircleCheck,\n    CircleClose,\n    Check,\n    Close,\n    WarningFilled,\n  },\n  props: progressProps,\n\n  setup(props) {\n    const ns = useNamespace('progress')\n\n    const barStyle = computed(\n      (): CSSProperties => ({\n        width: `${props.percentage}%`,\n        animationDuration: `${props.duration}s`,\n        backgroundColor: getCurrentColor(props.percentage),\n      })\n    )\n\n    const relativeStrokeWidth = computed(() =>\n      ((props.strokeWidth / props.width) * 100).toFixed(1)\n    )\n\n    const radius = computed(() => {\n      if (props.type === 'circle' || props.type === 'dashboard') {\n        return Number.parseInt(\n          `${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`,\n          10\n        )\n      } else {\n        return 0\n      }\n    })\n\n    const trackPath = computed(() => {\n      const r = radius.value\n      const isDashboard = props.type === 'dashboard'\n      return `\n          M 50 50\n          m 0 ${isDashboard ? '' : '-'}${r}\n          a ${r} ${r} 0 1 1 0 ${isDashboard ? '-' : ''}${r * 2}\n          a ${r} ${r} 0 1 1 0 ${isDashboard ? '' : '-'}${r * 2}\n          `\n    })\n\n    const perimeter = computed(() => 2 * Math.PI * radius.value)\n\n    const rate = computed(() => (props.type === 'dashboard' ? 0.75 : 1))\n\n    const strokeDashoffset = computed(() => {\n      const offset = (-1 * perimeter.value * (1 - rate.value)) / 2\n      return `${offset}px`\n    })\n\n    const trailPathStyle = computed(\n      (): CSSProperties => ({\n        strokeDasharray: `${perimeter.value * rate.value}px, ${\n          perimeter.value\n        }px`,\n        strokeDashoffset: strokeDashoffset.value,\n      })\n    )\n\n    const circlePathStyle = computed(\n      (): CSSProperties => ({\n        strokeDasharray: `${\n          perimeter.value * rate.value * (props.percentage / 100)\n        }px, ${perimeter.value}px`,\n        strokeDashoffset: strokeDashoffset.value,\n        transition: 'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease',\n      })\n    )\n\n    const stroke = computed(() => {\n      let ret: string\n      if (props.color) {\n        ret = getCurrentColor(props.percentage)\n      } else {\n        switch (props.status) {\n          case 'success':\n            ret = '#13ce66'\n            break\n          case 'exception':\n            ret = '#ff4949'\n            break\n          case 'warning':\n            ret = '#e6a23c'\n            break\n          default:\n            ret = '#20a0ff'\n        }\n      }\n      return ret\n    })\n\n    const statusIcon = computed(() => {\n      if (props.status === 'warning') {\n        return WarningFilled\n      }\n      if (props.type === 'line') {\n        return props.status === 'success' ? CircleCheck : CircleClose\n      } else {\n        return props.status === 'success' ? Check : Close\n      }\n    })\n\n    const progressTextSize = computed(() => {\n      return props.type === 'line'\n        ? 12 + props.strokeWidth * 0.4\n        : props.width * 0.111111 + 2\n    })\n\n    const content = computed(() => props.format(props.percentage))\n\n    const getCurrentColor = (percentage: number) => {\n      const { color } = props\n      if (typeof color === 'function') {\n        return color(percentage)\n      } else if (typeof color === 'string') {\n        return color\n      } else {\n        const span = 100 / color.length\n        const seriesColors = color.map((seriesColor, index) => {\n          if (typeof seriesColor === 'string') {\n            return {\n              color: seriesColor,\n              percentage: (index + 1) * span,\n            }\n          }\n          return seriesColor\n        })\n        const colors = seriesColors.sort((a, b) => a.percentage - b.percentage)\n\n        for (const color of colors) {\n          if (color.percentage > percentage) return color.color\n        }\n        return colors[colors.length - 1]?.color\n      }\n    }\n\n    const slotData = computed(() => {\n      return {\n        percentage: props.percentage,\n      }\n    })\n\n    return {\n      ns,\n      barStyle,\n      relativeStrokeWidth,\n      radius,\n      trackPath,\n      perimeter,\n      rate,\n      strokeDashoffset,\n      trailPathStyle,\n      circlePathStyle,\n      stroke,\n      statusIcon,\n      progressTextSize,\n      content,\n      slotData,\n    }\n  },\n})\n</script>\n"],"names":["_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_normalizeStyle","_renderSlot","_toDisplayString","_normalizeProps","_guardReactiveProps","_createBlock","_withCtx","_resolveDynamicComponent"],"mappings":"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"}