UNPKG

wix-style-react

Version:
68 lines (57 loc) 2.11 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _YearDropdownSt = require("./YearDropdown.st.css"); var _range = _interopRequireDefault(require("../../../utils/operators/range")); var _setYear = _interopRequireDefault(require("date-fns/setYear")); var _DatePickerDropdown = _interopRequireDefault(require("../../DatePickerDropdown")); var optionsOf = function optionsOf(items) { return items.map(function (item, index) { return { value: item, id: index }; }); }; var YearDropdown = function YearDropdown(_ref) { var className = _ref.className, date = _ref.date, _onChange = _ref.onChange, ariaLabel = _ref.ariaLabel, ariaLabelledBy = _ref.ariaLabelledBy; var year = date.getFullYear(); var lowerLimit = 1899, upperLimit = 2028; var years = optionsOf((0, _range["default"])(year > upperLimit ? year : upperLimit, lowerLimit)); var selectedYear = years.find(function (_ref2) { var value = _ref2.value; return value === year; }); return /*#__PURE__*/_react["default"].createElement(_DatePickerDropdown["default"], { dataHook: "datepicker-year-dropdown", className: (0, _YearDropdownSt.st)(_YearDropdownSt.classes.root, className), caption: selectedYear.value, options: years, selectedId: selectedYear.id, onChange: function onChange(_ref3) { var value = _ref3.value; return _onChange((0, _setYear["default"])(date, value)); }, ariaLabel: ariaLabel, ariaLabelledBy: ariaLabelledBy }); }; YearDropdown.propTypes = { className: _propTypes["default"].string, date: _propTypes["default"].object.isRequired, onChange: _propTypes["default"].func.isRequired, ariaLabel: _propTypes["default"].string, ariaLabelledBy: _propTypes["default"].string }; var _default = YearDropdown; exports["default"] = _default;