UNPKG

element-plus

Version:

A Component Library for Vue 3

35 lines (32 loc) 1.22 kB
import { computed } from 'vue'; import '../../../../utils/index.mjs'; import { debugWarn } from '../../../../utils/error.mjs'; const useStops = (props, initData, minValue, maxValue) => { const stops = computed(() => { if (!props.showStops || props.min > props.max) return []; if (props.step === 0) { debugWarn("ElSlider", "step should not be 0."); return []; } const stopCount = (props.max - props.min) / props.step; const stepWidth = 100 * props.step / (props.max - props.min); const result = Array.from({ length: stopCount - 1 }).map((_, index) => (index + 1) * stepWidth); if (props.range) { return result.filter((step) => { return step < 100 * (minValue.value - props.min) / (props.max - props.min) || step > 100 * (maxValue.value - props.min) / (props.max - props.min); }); } else { return result.filter((step) => step > 100 * (initData.firstValue - props.min) / (props.max - props.min)); } }); const getStopStyle = (position) => { return props.vertical ? { bottom: `${position}%` } : { left: `${position}%` }; }; return { stops, getStopStyle }; }; export { useStops }; //# sourceMappingURL=use-stops.mjs.map