UNPKG

tdesign-vue-next

Version:
1 lines 18 kB
{"version":3,"file":"progress.mjs","sources":["../../../components/progress/progress.tsx"],"sourcesContent":["import { defineComponent, VNode, computed, CSSProperties } from 'vue';\nimport {\n CloseCircleFilledIcon as TdCloseCircleFilledIcon,\n CheckCircleFilledIcon as TdCheckCircleFilledIcon,\n ErrorCircleFilledIcon as TdErrorCircleFilledIcon,\n CloseIcon as TdCloseIcon,\n CheckIcon as TdCheckIcon,\n ErrorIcon as TdErrorIcon,\n} from 'tdesign-icons-vue-next';\n\nimport { getBackgroundColor } from '@tdesign/common-js/utils/helper';\nimport { PRO_THEME, CIRCLE_SIZE, CIRCLE_SIZE_PX, STATUS_ICON, CIRCLE_FONT_SIZE_RATIO } from './consts';\nimport props from './props';\nimport { usePrefixClass } from '../hooks/useConfig';\nimport { useGlobalIcon } from '../hooks/useGlobalIcon';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport { isObject } from 'lodash-es';\nimport { isString } from 'lodash-es';\n\nexport default defineComponent({\n name: 'TProgress',\n props,\n setup(props) {\n const renderTNodeJSX = useTNodeJSX();\n const COMPONENT_NAME = usePrefixClass('progress');\n const { CloseCircleFilledIcon, CheckCircleFilledIcon, ErrorCircleFilledIcon, CloseIcon, CheckIcon, ErrorIcon } =\n useGlobalIcon({\n CloseCircleFilledIcon: TdCloseCircleFilledIcon,\n CheckCircleFilledIcon: TdCheckCircleFilledIcon,\n ErrorCircleFilledIcon: TdErrorCircleFilledIcon,\n CloseIcon: TdCloseIcon,\n CheckIcon: TdCheckIcon,\n ErrorIcon: TdErrorIcon,\n });\n\n const statusStyle = computed(() => {\n if (!props.status && props.percentage >= 100) {\n return 'success';\n }\n return props.status || 'default';\n });\n\n const trackBgStyle = computed(() => {\n const style: CSSProperties = {};\n if (props.strokeWidth) {\n const height = isString(props.strokeWidth) ? props.strokeWidth : `${props.strokeWidth}px`;\n style.height = height;\n style.borderRadius = height;\n }\n if (props.trackColor) {\n style.backgroundColor = props.trackColor;\n }\n return style;\n });\n\n const barStyle = computed(() => {\n return {\n width: `${props.percentage}%`,\n background: props.color && getBackgroundColor(props.color),\n };\n });\n\n const circlePathStyle = computed(() => {\n const strokeColor = isObject(props.color) ? '' : props.color;\n return {\n stroke: strokeColor,\n };\n });\n\n const circleOuterStyle = computed(() => {\n const strokeColor = isObject(props.trackColor) ? '' : props.trackColor;\n return {\n stroke: strokeColor,\n };\n });\n\n // theme=circle 获取直径\n const diameter = computed(() => {\n let diameter = CIRCLE_SIZE_PX.MEDIUM;\n if (!props.size) {\n return diameter;\n }\n const { SMALL, LARGE, MEDIUM } = CIRCLE_SIZE;\n switch (props.size) {\n case SMALL:\n diameter = CIRCLE_SIZE_PX.SMALL;\n break;\n case MEDIUM:\n diameter = CIRCLE_SIZE_PX.MEDIUM;\n break;\n case LARGE:\n diameter = CIRCLE_SIZE_PX.LARGE;\n break;\n default:\n diameter = Number(props.size);\n break;\n }\n return diameter;\n });\n\n const rPoints = computed(() => {\n return diameter.value / 2;\n });\n\n const radius = computed(() => {\n return rPoints.value - circleStrokeWidth.value / 2;\n });\n\n const circleStyle = computed(() => {\n if (props.theme !== PRO_THEME.CIRCLE) {\n return {};\n }\n\n let fontSize = diameter.value * CIRCLE_FONT_SIZE_RATIO.MEDIUM;\n if (diameter.value <= CIRCLE_SIZE_PX.SMALL) {\n fontSize = diameter.value * CIRCLE_FONT_SIZE_RATIO.SMALL;\n } else if (diameter.value >= CIRCLE_SIZE_PX.LARGE) {\n fontSize = diameter.value * CIRCLE_FONT_SIZE_RATIO.LARGE;\n }\n\n return {\n width: `${diameter.value}px`,\n height: `${diameter.value}px`,\n fontSize: `${fontSize}px`,\n };\n });\n\n const circleStrokeWidth = computed(() => {\n const defaultWidth = props.size === CIRCLE_SIZE.SMALL ? 4 : 6;\n return props.strokeWidth ? Number(props.strokeWidth) : defaultWidth;\n });\n\n const strokeDashArr = computed(() => {\n const radius = (diameter.value - circleStrokeWidth.value) / 2;\n const perimeter = Math.PI * 2 * radius;\n const percent = props.percentage / 100;\n return `${perimeter * percent} ${perimeter * (1 - percent)}`;\n });\n\n const getIconMap = () => {\n const CIRCLE_ICONS = {\n success: CheckIcon,\n warning: ErrorIcon,\n error: CloseIcon,\n };\n const NORMAL_ICONS = {\n success: CheckCircleFilledIcon,\n warning: ErrorCircleFilledIcon,\n error: CloseCircleFilledIcon,\n };\n return props.theme === PRO_THEME.CIRCLE ? CIRCLE_ICONS : NORMAL_ICONS;\n };\n const getLabelContent = () => {\n let labelContent: string | VNode = `${props.percentage}%`;\n const status = props.status || '';\n if (STATUS_ICON.includes(status) && props.theme !== PRO_THEME.PLUMP) {\n const components = getIconMap();\n const component = components[status as keyof typeof components];\n if (component) {\n labelContent = <component class={[`${COMPONENT_NAME.value}__icon`]}></component>;\n }\n }\n return labelContent;\n };\n\n return () => {\n const labelContent = (\n <div class={`${COMPONENT_NAME.value}__info`}>{renderTNodeJSX('label', getLabelContent())}</div>\n );\n // 进度大于 10 ,进度百分比显示在内部;进度百分比小于 10 进度显示在外部\n const PLUMP_SEPARATE = 10;\n const separateClasses =\n props.percentage > PLUMP_SEPARATE ? `${COMPONENT_NAME.value}--over-ten` : `${COMPONENT_NAME.value}--under-ten`;\n return (\n <div class={COMPONENT_NAME.value}>\n {props.theme === PRO_THEME.LINE && (\n <div class={`${COMPONENT_NAME.value}--thin ${COMPONENT_NAME.value}--status--${statusStyle.value}`}>\n <div class={`${COMPONENT_NAME.value}__bar`} style={trackBgStyle.value}>\n <div class={`${COMPONENT_NAME.value}__inner`} style={barStyle.value}></div>\n </div>\n {labelContent}\n </div>\n )}\n\n {props.theme === PRO_THEME.PLUMP && (\n <div\n class={[\n `${COMPONENT_NAME.value}__bar ${COMPONENT_NAME.value}--plump ${separateClasses}`,\n { [`${COMPONENT_NAME.value}--status--${statusStyle.value}`]: statusStyle.value },\n ]}\n style={trackBgStyle.value}\n >\n <div class={`${COMPONENT_NAME.value}__inner`} style={barStyle.value}>\n {props.percentage > PLUMP_SEPARATE && labelContent}\n </div>\n {props.percentage <= PLUMP_SEPARATE && labelContent}\n </div>\n )}\n\n {props.theme === PRO_THEME.CIRCLE && (\n <div\n class={`${COMPONENT_NAME.value}--circle ${COMPONENT_NAME.value}--status--${statusStyle.value}`}\n style={circleStyle.value}\n >\n {labelContent}\n <svg width={diameter.value} height={diameter.value} viewBox={`0 0 ${diameter.value} ${diameter.value}`}>\n <circle\n cx={rPoints.value}\n cy={rPoints.value}\n r={radius.value}\n stroke-width={circleStrokeWidth.value}\n fill=\"none\"\n class={[`${COMPONENT_NAME.value}__circle-outer`]}\n style={circleOuterStyle.value}\n />\n {props.percentage > 0 && (\n <circle\n cx={rPoints.value}\n cy={rPoints.value}\n r={radius.value}\n stroke-width={circleStrokeWidth.value}\n fill=\"none\"\n stroke-linecap=\"round\"\n class={[`${COMPONENT_NAME.value}__circle-inner`]}\n transform={`matrix(0,-1,1,0,0,${diameter.value})`}\n stroke-dasharray={strokeDashArr.value}\n style={circlePathStyle.value}\n />\n )}\n </svg>\n </div>\n )}\n </div>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","setup","renderTNodeJSX","useTNodeJSX","COMPONENT_NAME","usePrefixClass","_useGlobalIcon","useGlobalIcon","CloseCircleFilledIcon","TdCloseCircleFilledIcon","CheckCircleFilledIcon","TdCheckCircleFilledIcon","ErrorCircleFilledIcon","TdErrorCircleFilledIcon","CloseIcon","TdCloseIcon","CheckIcon","TdCheckIcon","ErrorIcon","TdErrorIcon","statusStyle","computed","status","percentage","trackBgStyle","style","strokeWidth","height","isString","concat","borderRadius","trackColor","backgroundColor","barStyle","width","background","color","getBackgroundColor","circlePathStyle","strokeColor","isObject","stroke","circleOuterStyle","diameter","CIRCLE_SIZE_PX","MEDIUM","size","SMALL","CIRCLE_SIZE","LARGE","Number","rPoints","value","radius","circleStrokeWidth","circleStyle","theme","PRO_THEME","CIRCLE","fontSize","CIRCLE_FONT_SIZE_RATIO","defaultWidth","strokeDashArr","perimeter","Math","PI","percent","getIconMap","CIRCLE_ICONS","success","warning","error","NORMAL_ICONS","getLabelContent","labelContent","STATUS_ICON","includes","PLUMP","components","component","_createVNode","PLUMP_SEPARATE","separateClasses","LINE","_defineProperty"],"mappings":"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"}