UNPKG

alm-search-01

Version:

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

124 lines (100 loc) 4.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem")); var _ClickAwayListener = _interopRequireDefault(require("@material-ui/core/ClickAwayListener")); var _Grow = _interopRequireDefault(require("@material-ui/core/Grow")); var _Paper = _interopRequireDefault(require("@material-ui/core/Paper")); var _Popper = _interopRequireDefault(require("@material-ui/core/Popper")); var _MenuList = _interopRequireDefault(require("@material-ui/core/MenuList")); var _styles = require("@material-ui/core/styles"); var _getHotelsLocale2 = _interopRequireDefault(require("../../utils/getHotelsLocale")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } var useStyles = (0, _styles.makeStyles)({ dropdown: { width: 'calc(100% - 60px)', left: 60, right: 60, zIndex: 2 } }); function DropDown(_ref) { var open = _ref.open, handleClose = _ref.handleClose, setTripClass = _ref.setTripClass, anchorRef = _ref.anchorRef, lang = _ref.lang; var _getHotelsLocale = (0, _getHotelsLocale2.default)(lang), economy_label = _getHotelsLocale.economy_label, premium_economy_label = _getHotelsLocale.premium_economy_label, business_label = _getHotelsLocale.business_label, first_label = _getHotelsLocale.first_label; var classes = useStyles(); var handleChange = function handleChange(event, value, label) { if (anchorRef.current && anchorRef.current.contains(event.target)) { return; } setTripClass({ value: value, label: label }); handleClose(); }; var prevOpen = _react.default.useRef(open); function handleListKeyDown(event) { if (event.key === 'Tab') { event.preventDefault(); handleClose(false); } } _react.default.useEffect(function () { if (prevOpen.current === true && open === false) { anchorRef.current.focus(); } prevOpen.current = open; }, [open, anchorRef]); return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_Popper.default, { className: classes.dropdown, open: open, anchorEl: anchorRef.current, role: undefined, transition: true, disablePortal: true }, function (_ref2) { var TransitionProps = _ref2.TransitionProps, placement = _ref2.placement; return _react.default.createElement(_Grow.default, _extends({}, TransitionProps, { style: { transformOrigin: placement === 'bottom' ? 'left top' : 'left bottom' } }), _react.default.createElement(_Paper.default, null, _react.default.createElement(_ClickAwayListener.default, { onClickAway: handleClose }, _react.default.createElement(_MenuList.default, { autoFocusItem: open, id: "menu-list-grow", onKeyDown: handleListKeyDown }, _react.default.createElement(_MenuItem.default, { onClick: function onClick(event) { return handleChange(event, 'Economy', economy_label); } }, economy_label), _react.default.createElement(_MenuItem.default, { onClick: function onClick(event) { return handleChange(event, 'Premium Economy', premium_economy_label); } }, premium_economy_label), _react.default.createElement(_MenuItem.default, { onClick: function onClick(event) { return handleChange(event, 'Business', business_label); } }, business_label), _react.default.createElement(_MenuItem.default, { onClick: function onClick(event) { return handleChange(event, 'First', first_label); } }, first_label))))); })); } var _default = DropDown; exports.default = _default;