@material-ui/lab
Version:
Laboratory for new Material-UI modules.
100 lines (81 loc) • 3.56 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getMinutesNumbers = exports.getHourNumbers = void 0;
var React = _interopRequireWildcard(require("react"));
var _ClockNumber = _interopRequireDefault(require("./ClockNumber"));
var _jsxRuntime = require("react/jsx-runtime");
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
/**
* @ignore - internal component.
*/
const getHourNumbers = ({
ampm,
date,
getClockNumberText,
isDisabled,
selectedId,
utils
}) => {
const currentHours = date ? utils.getHours(date) : null;
const hourNumbers = [];
const startHour = ampm ? 1 : 0;
const endHour = ampm ? 12 : 23;
const 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;
};
for (let hour = startHour; hour <= endHour; hour += 1) {
let label = hour.toString();
if (hour === 0) {
label = '00';
}
const inner = !ampm && (hour === 0 || hour > 12);
label = utils.formatNumber(label);
const selected = isSelected(hour);
hourNumbers.push( /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClockNumber.default, {
id: selected ? selectedId : undefined,
index: hour,
inner: inner,
selected: selected,
disabled: isDisabled(hour),
label: label,
"aria-label": getClockNumberText(label)
}, hour));
}
return hourNumbers;
};
exports.getHourNumbers = getHourNumbers;
const getMinutesNumbers = ({
utils,
value,
isDisabled,
getClockNumberText,
selectedId
}) => {
const 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(([numberValue, label], index) => {
const selected = numberValue === value;
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ClockNumber.default, {
label: label,
id: selected ? selectedId : undefined,
index: index + 1,
inner: false,
disabled: isDisabled(numberValue),
selected: selected,
"aria-label": getClockNumberText(label)
}, numberValue);
});
};
exports.getMinutesNumbers = getMinutesNumbers;
;