{"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            { [ns.bem('bar', 'inner', 'striped')]: striped },\n            { [ns.bem('bar', 'inner', 'striped-flow')]: stripedFlow },\n          ]\"\n          :style=\"barStyle\"\n        >\n          <div\n            v-if=\"(showText || $slots.default) && textInside\"\n            :class=\"ns.be('bar', 'innerText')\"\n          >\n            <slot :percentage=\"percentage\">\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=\"`var(${ns.cssVarName('fill-color-light')}, #e5e9f2)`\"\n          :stroke-linecap=\"strokeLinecap\"\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          :opacity=\"percentage ? 1 : 0\"\n          :stroke-linecap=\"strokeLinecap\"\n          :stroke-width=\"relativeStrokeWidth\"\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 :percentage=\"percentage\">\n        <span v-if=\"!status\">{{ content }}</span>\n        <el-icon v-else>\n          <component :is=\"statusIcon\" />\n        </el-icon>\n      </slot>\n    </div>\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue'\nimport { ElIcon } from '@hd-front-end/components/icon'\nimport {\n  Check,\n  CircleCheck,\n  CircleClose,\n  Close,\n  WarningFilled,\n} from '@element-plus/icons-vue'\nimport { useNamespace } from '@hd-front-end/hooks'\nimport { isFunction, isString } from '@hd-front-end/utils'\nimport { progressProps } from './progress'\n\nimport type { CSSProperties } from 'vue'\nimport type { ProgressColor } from './progress'\n\ndefineOptions({\n  name: 'ElProgress',\n})\n\nconst STATUS_COLOR_MAP: Record<string, string> = {\n  success: '#13ce66',\n  exception: '#ff4949',\n  warning: '#e6a23c',\n  default: '#20a0ff',\n}\n\nconst props = defineProps(progressProps)\n\nconst ns = useNamespace('progress')\n\nconst barStyle = computed<CSSProperties>(() => {\n  const barStyle: CSSProperties = {\n    width: `${props.percentage}%`,\n    animationDuration: `${props.duration}s`,\n  }\n  const color = getCurrentColor(props.percentage)\n  if (color.includes('gradient')) {\n    barStyle.background = color\n  } else {\n    barStyle.backgroundColor = color\n  }\n  return barStyle\n})\n\nconst relativeStrokeWidth = computed(() =>\n  ((props.strokeWidth / props.width) * 100).toFixed(1)\n)\n\nconst radius = computed(() => {\n  if (['circle', 'dashboard'].includes(props.type)) {\n    return Number.parseInt(\n      `${50 - Number.parseFloat(relativeStrokeWidth.value) / 2}`,\n      10\n    )\n  }\n  return 0\n})\n\nconst 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\nconst perimeter = computed(() => 2 * Math.PI * radius.value)\n\nconst rate = computed(() => (props.type === 'dashboard' ? 0.75 : 1))\n\nconst strokeDashoffset = computed(() => {\n  const offset = (-1 * perimeter.value * (1 - rate.value)) / 2\n  return `${offset}px`\n})\n\nconst trailPathStyle = computed<CSSProperties>(() => ({\n  strokeDasharray: `${perimeter.value * rate.value}px, ${perimeter.value}px`,\n  strokeDashoffset: strokeDashoffset.value,\n}))\n\nconst circlePathStyle = computed<CSSProperties>(() => ({\n  strokeDasharray: `${\n    perimeter.value * rate.value * (props.percentage / 100)\n  }px, ${perimeter.value}px`,\n  strokeDashoffset: strokeDashoffset.value,\n  transition:\n    'stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s',\n}))\n\nconst stroke = computed(() => {\n  let ret: string\n  if (props.color) {\n    ret = getCurrentColor(props.percentage)\n  } else {\n    ret = STATUS_COLOR_MAP[props.status] || STATUS_COLOR_MAP.default\n  }\n  return ret\n})\n\nconst 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\nconst progressTextSize = computed(() => {\n  return props.type === 'line'\n    ? 12 + props.strokeWidth * 0.4\n    : props.width * 0.111111 + 2\n})\n\nconst content = computed(() => props.format(props.percentage))\n\nfunction getColors(color: ProgressColor[]) {\n  const span = 100 / color.length\n  const seriesColors = color.map((seriesColor, index) => {\n    if (isString(seriesColor)) {\n      return {\n        color: seriesColor,\n        percentage: (index + 1) * span,\n      }\n    }\n    return seriesColor\n  })\n  return seriesColors.sort((a, b) => a.percentage - b.percentage)\n}\n\nconst getCurrentColor = (percentage: number) => {\n  const { color } = props\n  if (isFunction(color)) {\n    return color(percentage)\n  } else if (isString(color)) {\n    return color\n  } else {\n    const colors = getColors(color)\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</script>\n"],"names":["barStyle","color","_createElementBlock","_normalizeClass","_unref","type","status","showText","textInside","percentage","_openBlock","_createElementVNode","_normalizeStyle","strokeWidth","indeterminate","striped","stripedFlow","$slots","_renderSlot","_toDisplayString","width","strokeLinecap","_createBlock","_withCtx","_resolveDynamicComponent"],"mappings":"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"}