UNPKG

fc-react-slider

Version:
43 lines (33 loc) 1.41 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = function (e, props, trackOffset) { var value = props.value, max = props.max, min = props.min, step = props.step, type = props.type, orientation = props.orientation; var relativeOffset = e['page' + (0, _utils.capitalize)(_constants2.default[orientation].coordinate)] - trackOffset[_constants2.default[orientation].direction]; if ((0, _utils.isVertical)(orientation)) relativeOffset = trackOffset.height - relativeOffset; var positionOffset = trackOffset[_constants2.default[orientation].dimension] / (max - min); var nearestIntegerValue = Math.round(relativeOffset / positionOffset); var nearestValue = nearestIntegerValue - nearestIntegerValue % step; if (type === 'range') { var distancesFromValues = [Math.abs(nearestValue - value[0]), Math.abs(nearestValue - value[1])]; return distancesFromValues[0] < distancesFromValues[1] ? { changed: 'lower', value: [nearestValue, value[1]] } : { changed: 'upper', value: [value[0], nearestValue] }; } else { return { value: nearestValue }; } }; var _constants = require('../constants'); var _constants2 = _interopRequireDefault(_constants); var _utils = require('../utils'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }