UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 14.4 kB
{"version":3,"file":"progress.vue2.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 '@element-plus/components/icon'\nimport {\n Check,\n CircleCheck,\n CircleClose,\n Close,\n WarningFilled,\n} from '@element-plus/icons-vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { isFunction, isString } from '@element-plus/utils'\n\nimport type { CSSProperties } from 'vue'\nimport type { ProgressColor, ProgressProps } 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 = withDefaults(defineProps<ProgressProps>(), {\n type: 'line',\n percentage: 0,\n status: '',\n duration: 3,\n strokeWidth: 6,\n strokeLinecap: 'round',\n width: 126,\n showText: true,\n color: '',\n format: (percentage: number): string => `${percentage}%`,\n})\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","_createElementVNode","$slots","_renderSlot","_normalizeStyle","_openBlock","_createBlock","_resolveDynamicComponent"],"mappings":"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"}