80 lines
No EOL
2.4 KiB
JavaScript
80 lines
No EOL
2.4 KiB
JavaScript
"use strict";
|
|
|
|
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.getMinutesNumbers = exports.getHourNumbers = void 0;
|
|
var React = _interopRequireWildcard(require("react"));
|
|
var _ClockNumber = require("./ClockNumber");
|
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
/**
|
|
* @ignore - internal component.
|
|
*/
|
|
const getHourNumbers = ({
|
|
ampm,
|
|
value,
|
|
getClockNumberText,
|
|
isDisabled,
|
|
selectedId,
|
|
adapter
|
|
}) => {
|
|
const currentHours = value ? adapter.getHours(value) : 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 = adapter.formatNumber(label);
|
|
const selected = isSelected(hour);
|
|
hourNumbers.push(/*#__PURE__*/(0, _jsxRuntime.jsx)(_ClockNumber.ClockNumber, {
|
|
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 = ({
|
|
adapter,
|
|
value,
|
|
isDisabled,
|
|
getClockNumberText,
|
|
selectedId
|
|
}) => {
|
|
const f = adapter.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.ClockNumber, {
|
|
label: label,
|
|
id: selected ? selectedId : undefined,
|
|
index: index + 1,
|
|
inner: false,
|
|
disabled: isDisabled(numberValue),
|
|
selected: selected,
|
|
"aria-label": getClockNumberText(label)
|
|
}, numberValue);
|
|
});
|
|
};
|
|
exports.getMinutesNumbers = getMinutesNumbers; |