UNPKG

@opensig/opendesign

Version:

42 lines (41 loc) 1.34 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const vue = require("vue"); const useStops = (props, initData, minValue, maxValue) => { const stops = vue.computed(() => { if (!props.showStops || props.min > props.max) { return []; } if (props.step === 0) { return []; } const stopCount = Math.ceil((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 * stepWidth); if (props.range) { return result.map((step) => { const notReached = step < 100 * (minValue.value - props.min) / (props.max - props.min) || step > 100 * (maxValue.value - props.min) / (props.max - props.min); return { step, reached: !notReached }; }); } else { return result.map((step) => { const notReached = step > 100 * (initData.firstBtnVal - props.min) / (props.max - props.min); return { step, reached: !notReached }; }); } }); const getStopStyle = (position) => { return props.direction === "v" ? { bottom: `${position}%` } : { left: `${position}%` }; }; return { stops, getStopStyle }; }; exports.useStops = useStops;