@wordpress/components
Version:
UI components for WordPress.
78 lines (66 loc) • 1.75 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@wordpress/element");
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _lodash = require("lodash");
var _rangeControlStyles = require("./styles/range-control-styles");
var _utils = require("./utils");
var _hooks = require("../utils/hooks");
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function InputRange({
describedBy,
isShiftStepEnabled = true,
label,
onHideTooltip = _lodash.noop,
onMouseLeave = _lodash.noop,
step = 1,
onBlur = _lodash.noop,
onChange = _lodash.noop,
onFocus = _lodash.noop,
onMouseMove = _lodash.noop,
onShowTooltip = _lodash.noop,
shiftStep = 10,
value,
...props
}, ref) {
const jumpStep = (0, _hooks.useJumpStep)({
step,
shiftStep,
isShiftStepEnabled
});
const hoverInteractions = (0, _utils.useDebouncedHoverInteraction)({
onHide: onHideTooltip,
onMouseLeave,
onMouseMove,
onShow: onShowTooltip
});
return (0, _element.createElement)(_rangeControlStyles.InputRange, (0, _extends2.default)({}, props, hoverInteractions, {
"aria-describedby": describedBy,
"aria-label": label,
"aria-hidden": false,
onBlur: onBlur,
onChange: onChange,
onFocus: onFocus,
ref: ref,
step: jumpStep,
tabIndex: 0,
type: "range",
value: value
}));
}
const ForwardedComponent = (0, _element.forwardRef)(InputRange);
var _default = ForwardedComponent;
exports.default = _default;
//# sourceMappingURL=input-range.js.map