wix-style-react
Version:
65 lines (55 loc) • 2 kB
JavaScript
;
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 _MonthDropdownSt = require("./MonthDropdown.st.css");
var _setMonth = _interopRequireDefault(require("date-fns/setMonth"));
var _DatePickerDropdown = _interopRequireDefault(require("../../DatePickerDropdown"));
var optionsOf = function optionsOf(items) {
return items.map(function (item, index) {
return {
value: item,
id: index
};
});
};
var MonthDropdown = function MonthDropdown(_ref) {
var className = _ref.className,
months = _ref.months,
date = _ref.date,
_onChange = _ref.onChange,
ariaLabel = _ref.ariaLabel,
ariaLabelledBy = _ref.ariaLabelledBy;
var options = optionsOf(months);
var selectedMonth = options.find(function (_ref2) {
var id = _ref2.id;
return id === date.getMonth();
});
return /*#__PURE__*/_react["default"].createElement(_DatePickerDropdown["default"], {
dataHook: "datepicker-month-dropdown",
className: (0, _MonthDropdownSt.st)(_MonthDropdownSt.classes.root, className),
caption: selectedMonth.value,
options: options,
selectedId: selectedMonth.id,
onChange: function onChange(_ref3) {
var id = _ref3.id;
return _onChange((0, _setMonth["default"])(date, id));
},
ariaLabel: ariaLabel,
ariaLabelledBy: ariaLabelledBy
});
};
MonthDropdown.propTypes = {
className: _propTypes["default"].string,
months: _propTypes["default"].arrayOf(_propTypes["default"].string).isRequired,
date: _propTypes["default"].object.isRequired,
onChange: _propTypes["default"].func.isRequired,
ariaLabel: _propTypes["default"].string,
ariaLabelledBy: _propTypes["default"].string
};
var _default = MonthDropdown;
exports["default"] = _default;