import React, { useState } from "react";
import PropTypes from "prop-types";
import FormFieldSlider from "../../form/FormFieldSlider";
import OptionPreamble from "../OptionPreamble";
const PatternOptionPctDegCount = props => {
const [value, setValue] = useState(props.dflt);
const [previousValue, setPreviousValue] = useState(props.dflt);
const [expanded, setExpanded] = useState(false);
const round = val => Math.round(val * 10) / 10;
const update = (name, newValue, evt) => {
newValue = round(newValue);
// Sometimes, when sliding, the rapid succession of updates
// causes a weird timing issue to result in a value that is NaN.
// If that's the case, just ignore this update and keep the
// previous one instead
if (!isNaN(newValue)) {
setValue(newValue);
if (evt.type !== "mousemove") props.updateValue(props.name, newValue);
} else {
if (evt.type !== "mousemove") props.updateValue(props.name, value);
}
};
const reset = () => {
setValue(props.dflt);
props.updateValue(props.name, props.dflt);
};
const toggleExpanded = () => setExpanded(!expanded);
let unit = "";
if (props.type === "pct") unit = "%";
if (props.type === "deg") unit = "°";
let option = (