@shinyongjun/react-datepicker
Version:
DatePicker component in React App.
25 lines • 1.47 kB
JavaScript
'use client';
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
import { useMemo } from 'react';
import { NAME_SPACE } from '../../constants/core';
import { setViewDateByType } from '../../utils/datetime';
import { setCenturyPage } from '../../utils/page';
function DatePickerCentury(_a) {
var value = _a.value, viewDate = _a.viewDate, setViewDate = _a.setViewDate, setViewType = _a.setViewType;
var centuryPage = useMemo(function () { return setCenturyPage(viewDate); }, [viewDate]);
var valueYear = value === null || value === void 0 ? void 0 : value.getFullYear();
var handleViewDateType = function (year) {
setViewDate(setViewDateByType(viewDate, year, 'year'));
setViewType('decade');
};
return (_jsx("div", { className: "".concat(NAME_SPACE, "__century-view"), children: Array.apply(0, Array(10)).map(function (x, i) {
var decade = centuryPage * 100 - (10 - i) * 10;
var startYear = String(decade + 1);
var endYear = String(decade + 10);
return (_jsxs("button", { type: "button", className: "".concat(NAME_SPACE, "__datepicker-button"), onClick: function () { return handleViewDateType(startYear); }, "data-active": valueYear &&
valueYear >= Number(startYear) &&
valueYear <= Number(endYear), children: [startYear, " - ", endYear] }, i));
}) }));
}
export default DatePickerCentury;
//# sourceMappingURL=Century.js.map