UNPKG

@react-awesome-query-builder/fluent

Version:
66 lines 2.09 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; var _excluded = ["width"]; import React from "react"; import { Slider, TextField } from "@fluentui/react"; export default (function (props) { var config = props.config, placeholder = props.placeholder, customProps = props.customProps, value = props.value, setValue = props.setValue, min = props.min, max = props.max, step = props.step, marks = props.marks, readonly = props.readonly; var defaultSliderWidth = config.settings.defaultSliderWidth; var _ref = customProps || {}, width = _ref.width, rest = _objectWithoutProperties(_ref, _excluded); var customInputProps = rest.input || {}; var customSliderProps = rest.slider || rest; var onSliderChange = function onSliderChange(newValue) { if (newValue === "" || newValue === null) newValue = undefined;else newValue = Number(newValue); setValue(newValue); }; var onInputChange = function onInputChange(e, newValue) { if (newValue === "" || newValue === null) newValue = undefined;else newValue = Number(newValue); setValue(newValue); }; var InputCmp = /*#__PURE__*/React.createElement(TextField, _extends({ type: "number", style: { width: "auto" }, value: value, min: min, max: max, step: step, placeholder: placeholder, disabled: readonly, onChange: onInputChange }, customInputProps)); var SliderCmp = /*#__PURE__*/React.createElement(Slider, _extends({ min: min, max: max, step: step, value: value, disabled: readonly, marks: marks, showValue: false, onChange: onSliderChange }, customSliderProps)); var stylesWrapper = { display: "flex", flexDirection: "row" }; var stylesSliderWrapper = { width: width || defaultSliderWidth }; return /*#__PURE__*/React.createElement("div", { style: stylesWrapper }, InputCmp, /*#__PURE__*/React.createElement("div", { style: stylesSliderWrapper }, SliderCmp)); });