UNPKG

@heycar-uikit/core

Version:
37 lines (32 loc) 2.55 kB
var React = require('react'); var Typography = require('../../../typography/cssm'); var constants_Header_constants = require('../constants/Header.constants.js'); var utils_headerItemHelpers = require('../utils/headerItemHelpers.js'); var styles = require('../styles/languageList.module.css'); require('../tslib.es6-0efb545c.js'); require('../../../icons/cssm'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography); var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles); var LanguageList = React__default["default"].forwardRef(function (_a, ref) { var dataTestId = _a.dataTestId, heading = _a.heading, itemOnClick = _a.itemOnClick, onFocusEvents = _a.onFocusEvents, onHoverEvents = _a.onHoverEvents, _b = _a.options, options = _b === void 0 ? constants_Header_constants.LANG_OPTIONS : _b, trackingFn = _a.trackingFn; return (React__default["default"].createElement("div", { className: styles__default["default"].languageList, "data-test-id": dataTestId, onMouseOut: function () { return onHoverEvents(false); }, onMouseOver: function () { return onHoverEvents(true); }, ref: ref, role: "menu" }, React__default["default"].createElement(Typography__default["default"], { variant: "subheading1" }, heading), React__default["default"].createElement("ul", null, options.map(function (langItem) { var Icon = utils_headerItemHelpers.getFlagIcon(langItem.langCode); return (React__default["default"].createElement("li", { key: langItem.langCode, role: "menuitem" }, React__default["default"].createElement("a", { "aria-label": langItem.label + " language select", href: langItem.href, onBlur: function () { return onFocusEvents(false); }, onClick: function () { return itemOnClick({ fn: trackingFn, obj: { label: langItem.label + " language select", href: langItem.href, }, }, langItem.onClick); }, onFocus: function () { return onFocusEvents(true); } }, Icon, React__default["default"].createElement(Typography__default["default"], { variant: "button3" }, langItem.label)))); })))); }); module.exports = LanguageList;