@react-awesome-query-builder/fluent
Version:
User-friendly query builder for React. Fluent 8 widgets
38 lines • 1.48 kB
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import React from "react";
import { TextField } from "@fluentui/react";
import { Utils } from "@react-awesome-query-builder/ui";
var _Utils$NumberFormat = Utils.NumberFormat,
NumericFormat = _Utils$NumberFormat.NumericFormat,
getNumberFormatProps = _Utils$NumberFormat.getNumberFormatProps;
var FluentUIPrice = function FluentUIPrice(props) {
var value = props.value,
setValue = props.setValue,
readonly = props.readonly,
placeholder = props.placeholder,
min = props.min,
max = props.max,
customProps = props.customProps,
prefix = props.prefix,
suffix = props.suffix;
var numericFormatProps = getNumberFormatProps(props, ["prefix", "suffix"]);
var formattedValue = value == undefined ? "" : value;
var isValid = value != undefined && (max == undefined || value <= max) && (min == undefined || value >= min);
var handleValueChange = function handleValueChange(values) {
var floatValue = values.floatValue;
setValue(floatValue === undefined ? null : floatValue);
};
return /*#__PURE__*/React.createElement(NumericFormat, _extends({
value: formattedValue,
invalid: value != undefined && !isValid,
readOnly: readonly
//disabled={readonly}
,
placeholder: placeholder,
customInput: TextField,
onValueChange: handleValueChange,
prefix: prefix,
suffix: suffix
}, customProps, numericFormatProps));
};
export default FluentUIPrice;