@@ -609,30 +609,45 @@ const miniToAbs = (i) => Math.round(props.min + i);
609609
610610const startForInput = computed ({
611611 get () {
612- return useMini .value ? startMini .value : start .value ;
612+ return useMini .value ? startMini .value : Number ( start .value ) ;
613613 },
614614 set (v ) {
615615 if (useMini .value ) {
616- setStartValue (miniToAbs (v));
616+ const n = Math .round (+ v || 0 );
617+ setStartValue (miniToAbs (n));
617618 } else {
618- setStartValue (v);
619+ let proposed = Math .round (+ v || 0 );
620+ const maxAllowed = Number (endValue .value ) - 1 ;
621+ const clamped = Math .min (Math .max (props .min , proposed), maxAllowed);
622+ if (rangeStart .value ) {
623+ rangeStart .value .valueAsNumber = clamped
624+ };
625+ setStartValue (clamped);
619626 }
620627 }
621628});
622629
623630const endForInput = computed ({
624631 get () {
625- return useMini .value ? Math .max (startMini .value , endMini .value - 1 ) : end .value ;
632+ return useMini .value ? Math .max (startMini .value , endMini .value - 1 ) : Number ( end .value ) ;
626633 },
627634 set (v ) {
628635 if (useMini .value ) {
629- setEndValue (miniToAbs (v + 1 ));
636+ const n = Math .round (+ v || 0 );
637+ setEndValue (miniToAbs (n + 1 ));
630638 } else {
631- setEndValue (v);
639+ let proposed = Math .round (+ v || 0 );
640+ const minAllowed = Number (startValue .value ) + 1 ;
641+ const clamped = Math .max (minAllowed, Math .min (proposed, props .max ));
642+ if (rangeEnd .value ) {
643+ rangeEnd .value .valueAsNumber = clamped;
644+ }
645+ setEndValue (clamped);
632646 }
633647 }
634648});
635649
650+
636651function setSelectedTrap (v ) {
637652 selectedTrap .value = absToMiniStart (props .valueStart ) + v;
638653}
0 commit comments