{"version":3,"sources":["webpack://VA/./src/components/DropDown/DropDown.js","webpack://VA/./src/components/DropDownItem/DropDownItem.js","webpack://VA/./src/components/Icons/CaretRight.js","webpack://VA/./src/components/Icons/Check.js","webpack://VA/./src/components/LanguageItem/LanguageItem.js","webpack://VA/./src/hooks/useMenuItemRenderer.js","webpack://VA/./src/components/Icons/CaretDown.js","webpack://VA/./src/components/Header/LanguagesMenu.js"],"names":["DropDown","forwardRef","_ref","ref","children","_ref$listProps","listProps","props","_objectWithoutPropertiesLoose","_excluded","React","createElement","Root","_extends","List","propTypes","PropTypes","node","isRequired","shape","styled","div","withConfig","displayName","memo","DropDownItem","ListItem","textColor","hoverTextColor","createSvgIcon","Fragment","d","viewBox","LanguageItem","name","label","isDefault","onClick","isDefaultLanguage","isCurrentLanguage","useTranslation","i18n","language","Button","Content","DefaultText","StyledCheckIcon","fill","string","bool","func","DefaultButton","CheckIcon","span","useMenuItemRenderer","network","useStores","executeFunction","useMenuFunctions","t","disabled","isOffline","isSlowConnection","renderLanguageItem","useCallback","item","idx","key","functionName","functionArgs","hasChildren","length","type","MENU_ITEM_ACTION","StyledCaretRightIcon","MENU_ITEM_LANGUAGE","MENU_ITEM_LINK","Link","href","url","target","rel","MENU_ITEM_SPACER","Line","ButtonBase","CaretRightIcon","a","LanguageName","observer","_ref$items","items","useRef","scrollbarRef","_useConfig","useConfig","_useConfig$header$tit","header","title","color","iconColor","colors","window","scrollbarConfig","scrollBar","_useTranslation","stratedLanguage","find","_React$useState","useState","position","icon","currentLanguage","setCurrentLanguage","_useStores","app","_React$useState2","isOpen","setOpen","renderMenuItem","useOnClickOutside","useEffect","changeLanguage","lang","filter","setIsChangeLanguage","languageName","split","ControlsItem","IconButton","exists","CaretDownIcon","Scrollbar","autoHeight","autoHeightMax","map","main","accent"],"mappings":"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","file":"8.js","sourcesContent":["import PropTypes from 'prop-types';\r\nimport React, { forwardRef, memo } from 'react';\r\nimport styled from 'styled-components';\r\n\r\nimport List from '../List';\r\n\r\nconst DropDown = forwardRef(function DropDown({ children, listProps = {}, ...props }, ref) {\r\n return (\r\n \r\n {children}
\r\n \r\n );\r\n});\r\n\r\nDropDown.propTypes = {\r\n /**\r\n * Dropdown list items.\r\n */\r\n children: PropTypes.node.isRequired,\r\n /**\r\n * Properties applied to the List component.\r\n */\r\n listProps: PropTypes.shape({})\r\n};\r\n\r\nconst Root = styled.div`\r\n position: absolute;\r\n right: 0;\r\n bottom: 0;\r\n width: auto;\r\n padding: 10px 0;\r\n margin: 0;\r\n background-color: #fff;\r\n border-radius: 3px;\r\n box-shadow: 0px 5px 20px 0px rgba(0, 0, 0, 0.1);\r\n transform: translateY(100%);\r\n z-index: 2;\r\n`;\r\n\r\nDropDown.displayName = 'DropDown';\r\n\r\nexport default memo(DropDown);\r\n","import styled from 'styled-components';\r\n\r\nimport ListItem from '../ListItem';\r\n\r\nconst DropDownItem = styled(ListItem)`\r\n list-style-type: none;\r\n line-height: 30px;\r\n white-space: nowrap;\r\n border-bottom: none;\r\n padding: 0;\r\n color: ${props => props.textColor || '#333'};\r\n button:hover,\r\n a:hover {\r\n color: ${props => props.hoverTextColor || '#00416f'};\r\n background-color: #f5f5f5;\r\n }\r\n`;\r\n\r\nexport default DropDownItem;\r\n","import React, { Fragment } from 'react';\r\n\r\nimport createSvgIcon from '../../utilities/createSvgIcon';\r\n\r\nexport default createSvgIcon(\r\n <>\r\n \r\n >,\r\n 'CaretRight',\r\n { viewBox: '0 0 192 512' }\r\n);\r\n","import React, { Fragment } from 'react';\r\n\r\nimport createSvgIcon from '../../utilities/createSvgIcon';\r\n\r\nexport default createSvgIcon(\r\n <>\r\n \r\n >,\r\n 'Check',\r\n { viewBox: '0 0 512 512' }\r\n);\r\n","import PropTypes from 'prop-types';\r\nimport React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport styled from 'styled-components';\r\n\r\nimport DefaultButton from '../Button';\r\nimport CheckIcon from '../Icons/Check';\r\n\r\nexport default function LanguageItem({ name, label, isDefault, onClick, ...props }) {\r\n const { i18n } = useTranslation();\r\n const isDefaultLanguage = isDefault;\r\n const isCurrentLanguage = name === i18n.language;\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nLanguageItem.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n label: PropTypes.string.isRequired,\r\n isDefault: PropTypes.bool.isRequired,\r\n onClick: PropTypes.func.isRequired\r\n};\r\n\r\nconst Button = styled(DefaultButton)`\r\n justify-content: space-between;\r\n width: 100%;\r\n`;\r\n\r\nconst Content = styled.div`\r\n display: flex;\r\n align-items: center;\r\n & > div {\r\n margin-right: 4px !important;\r\n }\r\n`;\r\n\r\nconst StyledCheckIcon = styled(CheckIcon)`\r\n width: 14px;\r\n height: 14px;\r\n margin-left: 4px;\r\n`;\r\n\r\nconst DefaultText = styled.span`\r\n margin-left: 5px;\r\n color: #9a9a9a;\r\n`;\r\n","import React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport styled from 'styled-components';\r\n\r\nimport ButtonBase from '../components/ButtonBase';\r\nimport CaretRightIcon from '../components/Icons/CaretRight';\r\nimport LanguageItem from '../components/LanguageItem';\r\nimport { useStores } from '../stores';\r\nimport {\r\n MENU_ITEM_ACTION,\r\n MENU_ITEM_LANGUAGE,\r\n MENU_ITEM_LINK,\r\n MENU_ITEM_SPACER\r\n} from '../utilities';\r\nimport useMenuFunctions from './useMenuFunctions';\r\n\r\nexport default function useMenuItemRenderer() {\r\n const { network } = useStores();\r\n const { executeFunction } = useMenuFunctions();\r\n const { t } = useTranslation();\r\n const disabled = network.isOffline || network.isSlowConnection;\r\n\r\n const renderLanguageItem = React.useCallback(\r\n (item, idx) => (\r\n executeFunction(item.functionName, item.functionArgs)}\r\n disabled={disabled}\r\n />\r\n ),\r\n [disabled, executeFunction]\r\n );\r\n\r\n const renderer = React.useCallback(\r\n (item, idx) => {\r\n const hasChildren = item.children && item.children.length > 0;\r\n\r\n switch (item.type) {\r\n case MENU_ITEM_ACTION:\r\n return (\r\n \r\n );\r\n case MENU_ITEM_LANGUAGE:\r\n return renderLanguageItem(item, idx);\r\n case MENU_ITEM_LINK:\r\n return (\r\n \r\n {t(item.label)}\r\n \r\n );\r\n case MENU_ITEM_SPACER:\r\n return ;\r\n default:\r\n return null;\r\n }\r\n },\r\n [disabled, executeFunction, renderLanguageItem, t]\r\n );\r\n\r\n return renderer;\r\n}\r\n\r\nconst Button = styled(ButtonBase)`\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n width: 100%;\r\n padding: 0 30px;\r\n margin: 0;\r\n font-family: inherit;\r\n font-size: inherit;\r\n font-weight: inherit;\r\n line-height: inherit;\r\n white-space: inherit;\r\n text-align: left;\r\n color: inherit;\r\n background-color: transparent;\r\n border: none;\r\n cursor: pointer;\r\n transition: color 0.2s cubic-bezier(0.4, 0, 1, 1);\r\n outline: none;\r\n`;\r\n\r\nconst StyledCaretRightIcon = styled(CaretRightIcon)`\r\n width: 6px;\r\n height: 20px;\r\n fill: inherit;\r\n`;\r\n\r\nconst Link = styled.a`\r\n display: block;\r\n width: 100%;\r\n padding: 0 30px;\r\n font-family: inherit;\r\n font-size: inherit;\r\n font-weight: inherit;\r\n line-height: inherit;\r\n text-align: left;\r\n text-decoration: none;\r\n white-space: inherit;\r\n color: inherit;\r\n transition: color 0.2s cubic-bezier(0.4, 0, 1, 1);\r\n`;\r\n\r\nconst Line = styled.div`\r\n position: relative;\r\n height: 21px;\r\n padding: 0 30px;\r\n width: 100%;\r\n\r\n :after {\r\n content: '';\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n display: block;\r\n width: calc(100% - 60px);\r\n border-bottom: 1px solid #c4d1d8;\r\n transform: translate(-50%, 50%);\r\n }\r\n`;\r\n","import React, { Fragment } from 'react';\r\n\r\nimport createSvgIcon from '../../utilities/createSvgIcon';\r\n\r\nexport default createSvgIcon(\r\n <>\r\n \r\n >,\r\n 'CaretDown',\r\n { viewBox: '0 0 320 512' }\r\n);\r\n","import { observer } from 'mobx-react-lite';\r\nimport React from 'react';\r\nimport { useTranslation } from 'react-i18next';\r\nimport styled from 'styled-components';\r\n\r\nimport { useConfig, useMenuItemRenderer, useOnClickOutside } from '../../hooks';\r\nimport { useStores } from '../../stores';\r\nimport DropDown from '../DropDown';\r\nimport DropDownItem from '../DropDownItem';\r\nimport IconButton from '../IconButton';\r\nimport CaretDownIcon from '../Icons/CaretDown';\r\nimport Scrollbar from '../Scrollbar';\r\nimport { ControlsItem } from './Controls';\r\n\r\nconst LanguagesMenu = ({ items = [], ...props }) => {\r\n const ref = React.useRef();\r\n const scrollbarRef = React.useRef(null);\r\n const {\r\n header: {\r\n title: { color, iconColor }\r\n },\r\n window: { colors },\r\n scrollBar: scrollbarConfig\r\n } = useConfig();\r\n const { i18n, t } = useTranslation();\r\n const stratedLanguage = items.find(item => item.default);\r\n const [currentLanguage, setCurrentLanguage] = React.useState({\r\n position: 1,\r\n name: stratedLanguage.name,\r\n label: stratedLanguage.label,\r\n icon: stratedLanguage.icon\r\n });\r\n const { app, network } = useStores();\r\n const [isOpen, setOpen] = React.useState(false);\r\n const renderMenuItem = useMenuItemRenderer();\r\n\r\n useOnClickOutside(ref, () => setOpen(false));\r\n\r\n React.useEffect(() => {\r\n i18n.changeLanguage(currentLanguage.name);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const [lang] = items.filter(item => item.name === i18n.language);\r\n\r\n if (lang) {\r\n app.setIsChangeLanguage(true, i18n.language);\r\n setCurrentLanguage(lang);\r\n }\r\n }, [app, i18n.language, items]);\r\n\r\n const languageName = currentLanguage.name.split('-')[0];\r\n\r\n return (\r\n \r\n setOpen(!isOpen)}\r\n title={i18n.exists('altText.languageMmenu') ? t('altText.languageMmenu') : ''}\r\n >\r\n {languageName}\r\n \r\n \r\n {isOpen && (\r\n \r\n \r\n {items\r\n .map((item, idx) => (\r\n setOpen(false)}\r\n textColor={colors.main}\r\n hoverTextColor={colors.accent}\r\n >\r\n {renderMenuItem(item, idx)}\r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst LanguageName = styled.span`\r\n text-transform: uppercase;\r\n`;\r\n\r\nexport default observer(LanguagesMenu);\r\n"],"sourceRoot":""}