UNPKG

material-ui-pickers-fork

Version:

React components, that implements material design pickers for material-ui v1

87 lines (70 loc) 1.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.convertToMeridiem = exports.getMinutes = exports.getHours = void 0; var center = { x: 260 / 2, y: 260 / 2 }; var basePoint = { x: center.x, y: 0 }; var cx = basePoint.x - center.x; var cy = basePoint.y - center.y; var rad2deg = function rad2deg(rad) { return rad * 57.29577951308232; }; var getAngleValue = function getAngleValue(step, offsetX, offsetY) { var x = offsetX - center.x; var y = offsetY - center.y; var atan = Math.atan2(cx, cy) - Math.atan2(x, y); var deg = rad2deg(atan); deg = Math.round(deg / step) * step; deg %= 360; var value = Math.floor(deg / step) || 0; // eslint-disable-next-line no-restricted-properties var delta = Math.pow(x, 2) + Math.pow(y, 2); var distance = Math.sqrt(delta); return { value: value, distance: distance }; }; var getHours = function getHours(offsetX, offsetY, ampm) { // eslint-disable-next-line var _getAngleValue = getAngleValue(30, offsetX, offsetY), value = _getAngleValue.value, distance = _getAngleValue.distance; value = value || 12; if (!ampm) { if (distance < 90) { value += 12; value %= 24; } } else { value %= 12; } return value; }; exports.getHours = getHours; var getMinutes = function getMinutes(offsetX, offsetY, step) { if (step === void 0) { step = 6; } var _getAngleValue2 = getAngleValue(step, offsetX, offsetY), value = _getAngleValue2.value; return value; }; exports.getMinutes = getMinutes; var convertToMeridiem = function convertToMeridiem(time, meridiem, ampm, utils) { if (ampm) { var currentMeridiem = utils.getHours(time) >= 12 ? 'pm' : 'am'; if (currentMeridiem !== meridiem) { var hours = meridiem === 'am' ? utils.getHours(time) - 12 : utils.getHours(time) + 12; return utils.setHours(time, hours); } } return time; }; exports.convertToMeridiem = convertToMeridiem;