{"version":3,"sources":["pages/Locale/Locale.tsx"],"names":["Locale","useTitle","process","locale","setLocale","useLocale","localeObject","locales","find","language","displayName","undefined","history","useHistory","disableFrenchEpic","FeatureFlagValues","disableGermanEpic","onLanguageClick","useCallback","goBack","setTimeout","localStorage","setItem","sessionStorage","React","createElement","Fragment","className","role","aria-level","FormattedMessage","id","defaultMessage","map","index","visible","langCode","isFrenchEpicDisabled","key","Link","ariaLabel","concat","label","title","englishName","onClick","bind","target"],"mappings":"qHAAA,sIAWO,MAAMA,EAAkCA,KAC7CC,YAASC,0DACT,MAAM,OAAEC,EAAM,UAAEC,GAAcC,cACxBC,EAAeC,IAAQC,KAAKF,GAAgBA,EAAaH,SAAWA,GACpEM,EAAWH,EAAeA,EAAaI,iBAAcC,EACrDC,EAAUC,cACVC,EAAoBC,cAAoBD,kBACxCE,EAAoBD,cAAoBC,kBAExCC,EAAkBC,sBACtBf,IACES,EAAQO,SACRC,WAAW,KACTC,aAAaC,QAAQ,aAAcnB,GACnCC,EAAUD,GAAQ,GAClBoB,eAAeD,QAAQ,SAAUnB,IAChC,KAEL,CAACC,EAAWQ,IASd,OACEY,IAAAC,cAACD,IAAME,SAAQ,KACbF,IAAAC,cAAA,OAAKE,UAAU,cACbH,IAAAC,cAAA,OAAKG,KAAK,UAAUD,UAAU,mBAAmBE,aAAY,GAC3DL,IAAAC,cAAA,UACED,IAAAC,cAAA,QAAME,UAAU,yCACdH,IAAAC,cAACK,IAAgB,CAAAC,GAAA,SAACC,eAAc,4CAGpCR,IAAAC,cAAA,OAAKE,UAAU,0CACbH,IAAAC,cAACK,IAAgB,CAAAC,GAAA,SAACC,eAAc,uCAC/B,KACAvB,IAGLe,IAAAC,cAAA,OAAKG,KAAK,SAASD,UAAU,qBAC3BH,IAAAC,cAAA,MAAIE,UAAU,qBACXpB,IAAQ0B,IACP,CAAC3B,EAAc4B,KACb5B,OAAyB,IAAzBA,EAAa6B,UAtBGC,EAuBM9B,EAAaH,SAtBxCa,IAAmC,UAAboB,GAAqC,UAAbA,GAAqC,UAAbA,OAJjDA,IACrBtB,IAAmC,UAAbsB,GAAqC,UAAbA,GAAqC,UAAbA,GA0BhEC,CAAqB/B,EAAaH,SACjCqB,IAAAC,cAAA,MAAIa,IAAKJ,EAAOP,UAAU,cACxBH,IAAAC,cAACc,IAAI,CACHC,UAAS,aAAAC,OAAenC,EAAaI,aACrCgC,MAAOpC,EAAaI,YACpBiC,MAAOrC,EAAasC,YAEpBC,QAAS5B,EAAgB6B,KAAK,KAAMxC,EAAaH,QACjDwB,UAAS,uCAAAc,OACPnC,EAAaH,SAAWA,EAAS,2CAA6C,IAEhF4C,OAAO,YAEPvB,IAAAC,cAAA,QAAME,UAAWrB,EAAaH,SAAWA,EAAS,GAAK,qBAAsBG,EAAaI,eArChF0B,aAiDjBpC","file":"static/js/31.a4f3aef8.chunk.js","sourcesContent":["import React, { useCallback } from 'react';\r\nimport { Link } from '@fluentui/react';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { FormattedMessage } from 'react-intl';\r\n\r\nimport { useTitle } from '../../hooks';\r\nimport { locales } from '../../locales';\r\nimport { useLocale } from '../../components/LocalizationProvider/LocalizationProvider';\r\nimport FeatureFlagValues from '../../utilities/featureFlagValues';\r\nimport './Locale.scss';\r\n\r\nexport const Locale: React.FunctionComponent = () => {\r\n  useTitle(process.env.REACT_APP_SITE_NAME + ': Select your language');\r\n  const { locale, setLocale } = useLocale();\r\n  const localeObject = locales.find(localeObject => localeObject.locale === locale);\r\n  const language = localeObject ? localeObject.displayName : undefined;\r\n  const history = useHistory();\r\n  const disableFrenchEpic = FeatureFlagValues().disableFrenchEpic;\r\n  const disableGermanEpic = FeatureFlagValues().disableGermanEpic;\r\n\r\n  const onLanguageClick = useCallback(\r\n    locale => {\r\n      history.goBack();\r\n      setTimeout(() => {\r\n        localStorage.setItem('initLocale', locale);\r\n        setLocale(locale, true);\r\n        sessionStorage.setItem('locale', locale);\r\n      }, 10);\r\n    },\r\n    [setLocale, history]\r\n  );\r\n\r\n  const isFrenchEpicDisabled = (langCode: string) => {\r\n    return disableFrenchEpic && (langCode === 'fr-FR' || langCode === 'es-ES' || langCode === 'pt-BR');\r\n  };\r\n  const isGermanEpicDisabled = (langCode: string) => {\r\n    return disableGermanEpic && (langCode === 'de-DE' || langCode === 'it-IT' || langCode === 'id-ID');\r\n  };\r\n  return (\r\n    <React.Fragment>\r\n      <div className=\"localePage\">\r\n        <div role=\"heading\" className=\"localePageHeader\" aria-level={1}>\r\n          <h1>\r\n            <span className=\"ms-fontSize-30 ms-fontWeight-semibold\">\r\n              <FormattedMessage defaultMessage=\"Select your language\" />\r\n            </span>\r\n          </h1>\r\n          <div className=\"ms-fontSize-30 ms-fontWeight-semilight\">\r\n            <FormattedMessage defaultMessage=\"Current selection\" />\r\n            {': '}\r\n            {language}\r\n          </div>\r\n        </div>\r\n        <div role=\"region\" className=\"languagesPageGrid\">\r\n          <ul className=\"languagesPageList\">\r\n            {locales.map(\r\n              (localeObject, index: number) =>\r\n                localeObject.visible === true &&\r\n                !isGermanEpicDisabled(localeObject.locale) &&\r\n                !isFrenchEpicDisabled(localeObject.locale) && (\r\n                  <li key={index} className=\"localeItem\">\r\n                    <Link\r\n                      ariaLabel={`Languages ${localeObject.displayName}`}\r\n                      label={localeObject.displayName}\r\n                      title={localeObject.englishName}\r\n                      // eslint-disable-next-line react/jsx-no-bind\r\n                      onClick={onLanguageClick.bind(null, localeObject.locale)}\r\n                      className={`ms-Grid-col ms-sm12 ms-md12 ms-lg12 ${\r\n                        localeObject.locale === locale ? 'localeCurrentItem ms-fontWeight-semibold' : ''\r\n                      }`}\r\n                      target=\"/welcome\"\r\n                    >\r\n                      <span className={localeObject.locale === locale ? '' : 'localeCurrentText'}>{localeObject.displayName}</span>\r\n                    </Link>\r\n                  </li>\r\n                )\r\n            )}\r\n          </ul>\r\n        </div>\r\n      </div>\r\n    </React.Fragment>\r\n  );\r\n};\r\n\r\nexport default Locale;\r\n"],"sourceRoot":""}