@material-ui/lab
Version:
Material-UI Lab - Incubator for Material-UI React components.
88 lines (77 loc) • 2.56 kB
JavaScript
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
import * as React from 'react';
import ClockNumber from './ClockNumber';
/**
* @ignore - internal component.
*/
export var getHourNumbers = function getHourNumbers(_ref) {
var ampm = _ref.ampm,
date = _ref.date,
getClockNumberText = _ref.getClockNumberText,
isDisabled = _ref.isDisabled,
onChange = _ref.onChange,
utils = _ref.utils;
var currentHours = date ? utils.getHours(date) : null;
var hourNumbers = [];
var startHour = ampm ? 1 : 0;
var endHour = ampm ? 12 : 23;
var isSelected = function isSelected(hour) {
if (currentHours === null) {
return false;
}
if (ampm) {
if (hour === 12) {
return currentHours === 12 || currentHours === 0;
}
return currentHours === hour || currentHours - 12 === hour;
}
return currentHours === hour;
};
var _loop = function _loop(_hour) {
var label = _hour.toString();
if (_hour === 0) {
label = '00';
}
var isInner = !ampm && (_hour === 0 || _hour > 12);
hourNumbers.push( /*#__PURE__*/React.createElement(ClockNumber, {
key: _hour,
index: _hour,
isInner: isInner,
selected: isSelected(_hour),
disabled: isDisabled(_hour),
label: utils.formatNumber(label),
onSelect: function onSelect() {
return onChange(_hour, 'finish');
},
getClockNumberText: getClockNumberText
}));
};
for (var _hour = startHour; _hour <= endHour; _hour += 1) {
_loop(_hour);
}
return hourNumbers;
};
export var getMinutesNumbers = function getMinutesNumbers(_ref2) {
var utils = _ref2.utils,
value = _ref2.value,
onChange = _ref2.onChange,
isDisabled = _ref2.isDisabled,
getClockNumberText = _ref2.getClockNumberText;
var f = utils.formatNumber;
return [[5, f('05')], [10, f('10')], [15, f('15')], [20, f('20')], [25, f('25')], [30, f('30')], [35, f('35')], [40, f('40')], [45, f('45')], [50, f('50')], [55, f('55')], [0, f('00')]].map(function (_ref3, index) {
var _ref4 = _slicedToArray(_ref3, 2),
numberValue = _ref4[0],
label = _ref4[1];
return /*#__PURE__*/React.createElement(ClockNumber, {
key: numberValue,
label: label,
index: index + 1,
disabled: isDisabled(numberValue),
selected: numberValue === value,
onSelect: function onSelect(isFinish) {
return onChange(numberValue, isFinish);
},
getClockNumberText: getClockNumberText
});
});
};