{"version":3,"sources":["temp/config.js","common/Icon/Icon.js","common/Button/Button.js","components/aw_common_awards/index.js","components/aw_common_awards_inset/index.js","components/aw_common_big_image/index.js","common/TextField/TextField.js","common/TextArea/TextArea.js","common/SubmitButton/SubmitButton.js","common/Spinner/Spinner.js","common/FileInput/FileInput.js","common/Select/Select.js","common/Form/Form.js","components/aw_common_career_form/index.js","components/aw_common_career_positions/CareerPosition.js","components/aw_common_career_positions/index.js","components/aw_common_career_recruiter/index.js","components/aw_common_contact_us/index.js","components/aw_common_contact_us_form/index.js","components/aw_common_contact_us_inset/index.js","components/aw_common_events_inset/index.js","components/aw_common_events_normal/index.js","components/aw_common_events_registration_form/index.js","components/aw_common_events_wide/index.js","components/aw_common_faq/index.js","common/Collapse/Collapse.js","components/aw_common_faq_inset/index.js","components/aw_common_gallery/Gallery.js","components/aw_common_gallery/index.js","components/aw_common_gallery_inset/index.js","components/aw_common_grid_info_3col/index.js","components/aw_common_grid_info_4col/index.js","components/aw_common_grid_info_5col/index.js","components/aw_common_grid_info_inset_image/index.js","components/aw_common_grid_info_inset_text/index.js","components/aw_common_headquarters/index.js","components/aw_common_hero_banner/index.js","components/aw_common_inpage_navigation/index.js","components/aw_common_insights_inset/index.js","components/aw_common_insights_normal/index.js","components/aw_common_insights_wide/index.js","components/aw_common_video_modal/index.js","components/aw_common_modal_provider/index.js","components/aw_common_offices/index.js","components/aw_common_offices_inset/index.js","components/aw_common_page_intro_image/index.js","components/aw_common_page_intro_text/index.js","components/aw_common_partners/index.js","common/Link/Link.js","components/aw_common_partners_inset/index.js","components/aw_common_plainhtml/index.js","components/aw_common_promo/index.js","components/aw_common_richtext/index.js","components/aw_common_teaserbox_events/index.js","components/aw_common_teaserbox_images_bottom/index.js","components/aw_common_teaserbox_images_left/index.js","components/aw_common_teaserbox_images_right/index.js","components/aw_common_teaserbox_image_inset/index.js","components/aw_common_teaserbox_image_left/index.js","components/aw_common_teaserbox_image_right/index.js","components/aw_common_teaserbox_text/index.js","components/aw_common_testimonials/Container.js","components/aw_common_testimonials/index.js","components/aw_common_testimonials_inset_image/index.js","components/aw_common_testimonials_inset_text/index.js","components/aw_content_slim/index.js","components/aw_navigation_footer/FooterCollapse.js","components/aw_navigation_footer/index.js","components/aw_navigation_links/index.js","components/aw_navigation_main/LevelMenu.js","components/aw_navigation_main/Menu.js","common/LanguageSwitcher/LanguageSwitcher.js","components/aw_navigation_main/Navigation.js","components/aw_navigation_main/index.js","temp/componentFactory.js","dataFetcher.js","svg/sprite.svg","Layout.js","NotFound.js","RouteHandler.js","AppRoot.js","index.js","i18n.js","lib/GraphQLClientFactory.js","util.js"],"names":["module","exports","Icon","name","size","width","height","className","color","rotate","rest","classNames","icon","Boolean","preserveAspectRatio","focusable","aria-hidden","fill","xlinkHref","Button","disabled","field","svg","variant","text","label","value","classes","href","withSitecoreContext","withTranslation","props","id","rendering","uid","data-navigation-label","params","InPageNavigationLabel","fields","Headline","tag","Subheadline","CtaButton","Image","loading","Title","imgWidth","Width","Caption","tracker","errors","onChange","type","t","length","model","cssClass","e","newValue","target","valid","errorMessages","required","push","title","valueField","onFocus","onFocusField","onBlur","onBlurField","maxLength","placeholder","htmlFor","labelCssClass","SubmitButton","Spinner","SpinnerOverlay","children","fileInputRef","useRef","useEffect","current","handleChange","useCallback","ev","files","Array","from","maxFileCount","maxFileSize","fileSizeUnit","forEach","file","handleFocus","handleBlur","multiple","isMultiple","aria-describedby","undefined","accept","allowedContentTypes","autoComplete","ref","map","error","idx","key","items","useState","active","_setActive","optionIndex","_setOptionIndex","selectRef","React","listId","useMemo","itemIdPrefix","showEmptyItem","selected","setOptionIndex","optionIndexRef","setActive","data","activeRef","handleClick","isMobileDevice","contains","classList","validateChangedValue","handleKeyDown","preventDefault","isClient","document","addEventListener","removeEventListener","handleDisplayChange","handleOptionClick","option","index","toString","getAttribute","findIndex","item","hidden","onClick","role","aria-expanded","aria-controls","aria-activedescendant","data-name","data-id","aria-selected","defaultFieldFactory","createDefaultFieldFactory","ErrorComponent","Form","captureForm","setLoading","formFetcher","formData","endpoint","fetch","body","toMultipartFormData","method","credentials","then","res","ok","window","dataLayer","event","formType","htmlPrefix","form","querySelector","MsCrmMkt","MsCrmFormLoader","sendFormCaptureToCrm","json","catch","success","finally","errorComponent","fieldFactory","setComponent","FieldTypes","SingleLineText","Email","Telephone","MultipleLineText","FileUpload","DropdownList","sitecoreApiHost","sitecoreApiKey","onRedirect","url","history","CareerPosition","company","displayName","posted","project","unit","aria-label","formatDate","Selected","PageTitle","Company","Posted","Project","Unit","sitecoreContext","isEditing","pageEditing","Photo","loadin","RecruiterName","RecruiterPosition","Phone","IsDynamicsForm","Language","Name","DateFrom","render","DateTo","targetUrl","Collapse","isOpen","isTransitioning","setTransitioning","containerRef","expandContainer","container","scrollHeight","style","transitionEndListener","collapseContainer","requestAnimationFrame","useLayoutEffect","collapse","FaqCollapse","setOpen","prev","aria-labelledby","Content","Gallery","images","imgSources","image","src","alt","toggler","slide","lightboxController","setLightboxController","showFullscreen","number","sources","disableThumbs","placeholders","FurtherImages","Heading","SubImageText","Address","Plane","Car","Train","Tram","Subway","Map","MapLink","videoId","Video","Perex","hasHref","CtaLink","openModalEvent","CustomEvent","detail","dispatchEvent","InpageNavigation","navLinks","setNavLinks","domNavLinks","querySelectorAll","elementsWithId","element","dataset","navigationLabel","link","Text","videoPlayerRef","closeModalEvent","tabIndex","frameBorder","allow","allowFullScreen","initialModalConfig","action","open","modalConfig","setModalConfig","renderContent","Location","Link","breadcrumbs","breadcrumb_navigation","Subline","route","PageIntro","PageImage","DisplayBreadcrumb","getBacklinkData","isValidLink","dangerouslySetInnerHTML","__html","HtmlCode","DisplayBackground","viewBox","BackgroundSVG","openVideoModal","withPlaceholder","insets","setIndex","TopChar","FooterCollapse","roots","topFooterLinks","find","child","template","socialItems","offices","subFooterLinks","Logo","query","matches","editable","toLowerCase","childItem","LevelMenu","isVisible","activeTopLink","activeItem","onMouseLeave","onMouseEnter","button","parentLiRef","setActiveItem","parentDivElement","indexOfAnchor","dropdownLinks","parrentLink","focus","toggleByMouseOver","enter","childIdx","Menu","setActiveTopLink","menuItems","filter","topLevelLiRefs","createRef","onKeyDown","FALLBACK_LANGUAGE","languages","currentLanguageCode","visible","setVisible","switcherRef","buttonRef","languageLinks","activeLinkIndex","currLanguage","l","handleClickOutside","Navigation","mobileMenuVisibility","setMobileMenuVisibility","toggleBtn","language_switcher","currentLanguage","language","logoHref","homepage_url","closeMenu","data-bs-toggle","data-bs-target","defaultMatches","show","components","componentFactory","componentName","get","set","aw_common_awards","aw_common_awards_inset","aw_common_big_image","aw_common_career_form","aw_common_career_positions","aw_common_career_recruiter","aw_common_contact_us","aw_common_contact_us_form","aw_common_contact_us_inset","aw_common_events_inset","aw_common_events_normal","aw_common_events_registration_form","aw_common_events_wide","aw_common_faq","aw_common_faq_inset","aw_common_gallery","aw_common_gallery_inset","aw_common_grid_info_3col","aw_common_grid_info_4col","aw_common_grid_info_5col","aw_common_grid_info_inset_image","aw_common_grid_info_inset_text","aw_common_headquarters","aw_common_hero_banner","aw_common_inpage_navigation","aw_common_insights_inset","aw_common_insights_normal","aw_common_insights_wide","aw_common_modal_provider","aw_common_offices","aw_common_offices_inset","aw_common_page_intro_image","aw_common_page_intro_text","aw_common_partners","aw_common_partners_inset","aw_common_plainhtml","aw_common_promo","aw_common_richtext","aw_common_teaserbox_events","aw_common_teaserbox_images_bottom","aw_common_teaserbox_images_left","aw_common_teaserbox_images_right","aw_common_teaserbox_image_inset","aw_common_teaserbox_image_left","aw_common_teaserbox_image_right","aw_common_teaserbox_text","aw_common_testimonials","aw_common_testimonials_inset_image","aw_common_testimonials_inset_text","aw_common_video_modal","aw_content_slim","aw_navigation_footer","aw_navigation_links","aw_navigation_main","dataFetcher","axios","withCredentials","_extends","Object","assign","i","arguments","source","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_ref2","createElement","d","_ref3","_ref4","_ref5","points","_ref6","_ref7","_ref8","_ref9","_ref10","_ref11","_ref12","_ref13","strokeWidth","fillRule","x1","y1","x2","y2","strokeLinecap","strokeLinejoin","_ref14","_ref15","_ref16","_ref17","stroke","x","y","_ref18","_ref19","_ref20","_ref21","_ref22","_ref23","SvgSprite","_ref","svgRef","ForwardRef","forwardRef","customMetaQuery","Attributes","customMetaEntries","URLSearchParams","entries","content","MetaDescription","MetaKeywords","rel","cannonical_url","entry","getScripts","scripts_head","script","external","MetaTitle","scripts_body_top","scripts_body_bottom","NotFound","context","site","Fragment","RouteHandler","Component","constructor","super","extractRouteData","sitecore","state","notFound","defaultLanguage","config","routeData","updateLanguage","componentDidMount","ssrRenderComplete","updateRouteData","sitecoreRoutePath","match","sitecoreRoute","startsWith","fetchOptions","layoutServiceConfig","host","getHostname","querystringParams","sc_lang","sc_apikey","fetcher","dataApi","fetchRouteData","response","status","console","getRouteData","lang","updateSitecoreContext","itemId","setState","newLanguage","i18n","changeLanguage","componentDidUpdate","previousProps","existingRoute","newRoute","isExperienceEditorActive","location","updatable","routePatterns","AppRoot","setSsrRenderComplete","ssrState","path","Router","graphQLClient","client","routePattern","renderFunction","ReactDOM","initLanguage","__JSS_STATE__","ssrRawJson","getElementById","JSON","parse","innerHTML","hydrate","dictionary","initialGraphQLState","APOLLO_STATE","ssr","initialCacheState","createPersistedQueryLink","concat","BatchHttpLink","uri","headers","connection","cache","InMemoryCache","fragmentMatcher","IntrospectionFragmentMatcher","introspectionQueryResultData","ApolloClient","ssrMode","ssrForceFetchDelay","restore","GraphQLClientFactory","graphQLEndpoint","Promise","resolve","reject","options","debug","lng","fallbackLng","load","useCookie","interpolation","escapeValue","isInitialized","addResourceBundle","use","initReactI18next","init","dictionaryServicePath","jssAppName","backend","loadPath","parsedData","phrases","fetchBackend","rootElement","pathname","BrowserRouter","require","isDisconnected","test","origin","inputDate","outputFormat","date","Date","day","getDate","month","realMonth","getMonth","formatMonth","year","getFullYear","matchSrc","matchContent","navigator","userAgent","linkArray","jssLinkField"],"mappings":"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","file":"static/js/main.8568ebe9.chunk.js","sourcesContent":["/* eslint-disable */\n// Do not edit this file, it is auto-generated at build time!\n// See scripts/bootstrap.js to modify the generation of this file.\nmodule.exports = {\n  \"sitecoreApiKey\": \"E6E4AC32-C8A1-48A0-BD7C-BB133F9DE619\",\n  \"sitecoreApiHost\": \"\",\n  \"jssAppName\": \"ActumDigital\",\n  \"defaultLanguage\": \"en\",\n  \"graphQLEndpointPath\": \"/api/ActumDigital\",\n  \"graphQLEndpoint\": \"/api/ActumDigital?sc_apikey=E6E4AC32-C8A1-48A0-BD7C-BB133F9DE619\"\n};","import React from 'react'\r\nimport classNames from 'classnames'\r\n\r\nimport './Icon.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {string} props.name\r\n * @param {number} props.size\r\n * @param {number} props.width\r\n * @param {number} props.height\r\n * @param {string} props.className\r\n * @param {string} props.color\r\n * @param {0 | 90 | 180 | 270} props.rotate\r\n *\r\n * @returns SVGSVGElement\r\n */\r\nexport const Icon = ({\r\n  name,\r\n  size,\r\n  width,\r\n  height,\r\n  className,\r\n  color = '#000000',\r\n  rotate = 0,\r\n  ...rest\r\n}) => {\r\n  return (\r\n    <svg\r\n      width={size || width}\r\n      height={size || height}\r\n      className={classNames({\r\n        icon: true,\r\n        [`icon--rotate-${rotate}`]: Boolean(rotate),\r\n        [className]: Boolean(className),\r\n      })}\r\n      preserveAspectRatio=\"none\"\r\n      focusable={false}\r\n      aria-hidden=\"true\"\r\n      fill={color}\r\n      {...rest}\r\n    >\r\n      <use xlinkHref={`#${name}`} />\r\n    </svg>\r\n  )\r\n}\r\n","import React from 'react'\r\nimport classNames from 'classnames'\r\n\r\nimport { Icon } from '../Icon'\r\nimport './Button.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {boolean} props.disabled\r\n * @param {string} props.className\r\n * @param {Object} props.field\r\n * @param {Object} props.field.value\r\n * @param {string} props.field.value.text\r\n * @param {string} props.field.value.icon\r\n * @param {string} props.field.value.href\r\n * @param {string} props.svg\r\n * @param {\"primary\" | \"secondary\" | \"tertiary\" | \"unique\" } props.variant\r\n * @param {string} props.text - Used when field.value.text is empty\r\n */\r\nexport function Button({ disabled, field, svg, variant, className, text, ...rest }) {\r\n  const label = field.value?.text ? field.value.text : text\r\n\r\n  const icon = (\r\n    <Icon\r\n      name={field.value.icon ? field.value.icon : svg ? svg : 'arrow'}\r\n      size={field.value.icon ? 48 : 18}\r\n      className=\"btn__icon\"\r\n    />\r\n  )\r\n\r\n  const classes = classNames('btn', {\r\n    'btn--icon': field.value.icon,\r\n    [`btn--${variant}`]: !field.value.icon,\r\n    'btn--disabled': disabled,\r\n    [className]: Boolean(className),\r\n  })\r\n\r\n  if (field.value && field.value.href) {\r\n    return (\r\n      <a href={field.value.href} className={classes} {...rest}>\r\n        {label}\r\n        {icon}\r\n      </a>\r\n    )\r\n  } else if (field.value) {\r\n    return (\r\n      <button field={field.value} className={classes} {...rest}>\r\n        {label}\r\n        {icon}\r\n      </button>\r\n    )\r\n  }\r\n\r\n  return null\r\n}\r\n","import React from 'react'\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { Button } from '../../common/Button'\r\n\r\nimport '../aw_common_awards_inset/AwardsInset.scss'\r\n\r\nconst aw_common_awards = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div className=\"component\" data-navigation-label={props.params.InPageNavigationLabel} id={id}>\r\n      <div className=\"container\">\r\n        <div className=\"row align-items-center awards\">\r\n          <div className=\"col-md-6 col-sm-12\">\r\n            {props.fields?.Headline && (\r\n              <Text className=\"awards-headline h4\" field={props.fields?.Headline} tag=\"h2\" />\r\n            )}\r\n            {props.fields?.Subheadline && (\r\n              <Text className=\"awards-headline__sub h2\" field={props.fields?.Subheadline} tag=\"p\" />\r\n            )}\r\n            <div className=\"d-none d-md-inline-block\">\r\n              {props.fields?.CtaButton && props.fields?.CtaButton.href && (\r\n                <Button field={props.fields?.CtaButton} variant=\"secondary\" />\r\n              )}\r\n            </div>\r\n          </div>\r\n          <div className=\"col-md-6 col-sm-12\">\r\n            <Placeholder name=\"ph-aw-common-awards-insets\" rendering={props.rendering} />\r\n            <div className=\"d-inline-block d-md-none mt-3\">\r\n              {props.fields?.CtaButton && props.fields?.CtaButton.href && (\r\n                <Button field={props.fields?.CtaButton} variant=\"secondary\" />\r\n              )}\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_awards))\r\n","import React from 'react'\r\nimport { Image, Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport './AwardsInset.scss'\r\n\r\nconst aw_common_awards_inset = (props) => (\r\n  <div className=\"align-items-center\">\r\n    <div className=\"col-12 awards-inset\">\r\n      <div className=\"row align-items-center\">\r\n        {props.fields?.Image && (\r\n          <div className=\"col-lg-3 col-md-4 col-6 px-3 mb-3 mb-md-0\">\r\n            <Image className=\"awards-inset__img\" field={props.fields?.Image} loading=\"lazy\" />\r\n          </div>\r\n        )}\r\n        {props.fields?.Title && (\r\n          <div className=\"col-lg-9 col-md-8 col-12 px-3\">\r\n            <Text className=\"awards-inset__text\" field={props.fields?.Title} />\r\n          </div>\r\n        )}\r\n      </div>\r\n    </div>\r\n  </div>\r\n)\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_awards_inset))\r\n","import React from 'react'\r\nimport { Image, Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport './BigImage.scss'\r\nimport classNames from 'classnames'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n *\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Caption\r\n * @param {string} props.fields.Caption.value\r\n * @param {Object} props.fields.Image\r\n * @param {Object} props.fields.Image.value\r\n * @param {string} props.fields.Image.value.alt\r\n * @param {string} props.fields.Image.value.height\r\n * @param {string} props.fields.Image.value.width\r\n * @param {string} props.fields.Image.value.src\r\n *\r\n * @param {Object} props.rendering\r\n * @param {string} props.rendering.uid\r\n * @param {Object} props.rendering.params\r\n * @param {\"normal\" | \"overflow\" | \"wide\"} props.rendering.params.Width\r\n */\r\n\r\nconst aw_common_big_image = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  /**\r\n   * @value \"normal\" image is same width as container\r\n   * @value \"overflow\" image overflows container\r\n   * @value \"wide\" image is same width as screen width\r\n   */\r\n  const imgWidth = props.rendering?.params.Width\r\n\r\n  const classes = classNames('component', 'container', 'big-image', {\r\n    'img__overflow': imgWidth === 'overflow',\r\n    'img__full_width': imgWidth === 'wide',\r\n  })\r\n\r\n  return (\r\n    <div className={classes} data-navigation-label={props.params.InPageNavigationLabel} id={id}>\r\n      <figure className=\"mb-0\">\r\n        {props.fields?.Image && (\r\n          <Image className=\"big-image__img\" field={props.fields?.Image} loading=\"lazy\" />\r\n        )}\r\n        {props.fields?.Caption && (\r\n          <Text className=\"big-image__text\" field={props.fields?.Caption} tag=\"figcaption\" />\r\n        )}\r\n      </figure>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_big_image))\r\n","import React from 'react'\r\n\r\nimport './TextField.scss'\r\n\r\nimport classNames from 'classnames'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\n/**\r\n * @callback onChange\r\n * @param {string} key\r\n * @param {string} value\r\n * @param {boolean} isValid\r\n * @param {Array<string>} errors\r\n */\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.tracker\r\n * @param {Object} props.field\r\n * @param {Object} props.field.model\r\n * @param {string} props.field.model.title\r\n * @param {string} props.field.model.placeholderText\r\n * @param {string} props.field.model.name\r\n * @param {number} props.field.model.maxLength\r\n * @param {string} props.field.model.cssClass\r\n * @param {string} props.field.model.labelCssClass\r\n * @param {boolean} props.field.model.required\r\n * @param {Object} props.field.valueField\r\n * @param {string} props.field.valueField.id\r\n * @param {Array<string>} props.errors\r\n * @param {onChange} props.onChange\r\n * @param {string} props.value\r\n * @param {string} props.type\r\n * @param {function(string): string} props.t\r\n */\r\nconst TextField = ({ tracker, field, errors, onChange, value, type, t }) => {\r\n  const handleChange = (e) => {\r\n    const newValue = e.target.value\r\n\r\n    let valid = true\r\n    let errorMessages = []\r\n\r\n    if (field.model.required && !newValue) {\r\n      valid = false\r\n      errorMessages.push(`${field.model.title} ${t('aw_common_form_field_required')}`)\r\n    }\r\n\r\n    onChange(field.valueField.name, newValue, valid, errorMessages)\r\n  }\r\n\r\n  const onFocus = (e) => {\r\n    tracker.onFocusField(field, e.target.value)\r\n  }\r\n\r\n  const onBlur = (e) => {\r\n    tracker.onBlurField(field, e.target.value, errors)\r\n  }\r\n\r\n  const classes = classNames('text-field', { 'text-field--error': errors.length })\r\n\r\n  return (\r\n    <div className={classes}>\r\n      <input\r\n        type={type}\r\n        className={classNames(field.model.cssClass)}\r\n        onChange={handleChange}\r\n        onFocus={onFocus}\r\n        onBlur={onBlur}\r\n        maxLength={field.model.maxLength}\r\n        id={field.valueField.id}\r\n        name={field.model.name}\r\n        value={value}\r\n        required={field.model.required}\r\n        // placeholder value can't be used at all since label is styled as the placeholder\r\n        placeholder={field.model.title}\r\n      />\r\n      <label htmlFor={field.valueField.id} className={classNames(field.model.labelCssClass)}>\r\n        {field.model.title}\r\n      </label>\r\n      {errors && errors.length > 0 && <div className=\"text-field__error\">{errors[0]}</div>}\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withTranslation()(TextField)\r\n","import React from 'react'\r\n\r\nimport './TextArea.scss'\r\n\r\nimport classNames from 'classnames'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\n/**\r\n * @callback onChange\r\n * @param {string} key\r\n * @param {string} value\r\n * @param {boolean} isValid\r\n * @param {Array<string>} errors\r\n */\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.tracker\r\n * @param {Object} props.field\r\n * @param {Object} props.field.model\r\n * @param {string} props.field.model.title\r\n * @param {string} props.field.model.cssClass\r\n * @param {string} props.field.model.labelCssClass\r\n * @param {string} props.field.model.name\r\n * @param {number} props.field.model.maxLength\r\n * @param {Object} props.field.valueField\r\n * @param {string} props.field.valueField.id\r\n * @param {Array<string>} props.errors\r\n * @param {onChange} props.onChange\r\n * @param {string} props.value\r\n * @param {function(string): string} props.t\r\n */\r\nconst TextArea = ({ tracker, field, errors, onChange, value, t }) => {\r\n  const handleChange = (e) => {\r\n    const newValue = e.target.value\r\n\r\n    let valid = true\r\n    let errorMessages = []\r\n\r\n    if (field.model.required && !newValue) {\r\n      valid = false\r\n      errorMessages.push(`${field.model.title} ${t('aw_common_form_field_required')}`)\r\n    }\r\n    onChange(field.valueField.name, newValue, valid, errorMessages)\r\n  }\r\n\r\n  const onFocus = (e) => {\r\n    tracker.onFocusField(field, e.target.value)\r\n  }\r\n\r\n  const onBlur = (e) => {\r\n    tracker.onBlurField(field, e.target.value, errors)\r\n  }\r\n\r\n  const classes = classNames('text-area', { 'text-area--error': errors.length })\r\n\r\n  return (\r\n    <div className={classes}>\r\n      <textarea\r\n        className={field.model.cssClass}\r\n        onChange={handleChange}\r\n        onFocus={onFocus}\r\n        onBlur={onBlur}\r\n        maxLength={field.model.maxLength}\r\n        id={field.valueField.id}\r\n        name={field.model.name}\r\n        placeholder={field.model.title}\r\n        value={value}\r\n      ></textarea>\r\n      <label htmlFor={field.valueField.id} className={classNames(field.model.labelCssClass)}>\r\n        {field.model.title}\r\n      </label>\r\n      {errors && errors.length > 0 && <div className=\"text-area__error\">{errors[0]}</div>}\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withTranslation()(TextArea)\r\n","import React from 'react'\r\nimport classNames from 'classnames'\r\nimport { Button } from '../Button'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.field\r\n * @param {Object} props.field.model\r\n * @param {string} props.field.model.title\r\n * @param {string} props.field.model.cssClass\r\n * @param {string} props.field.model.name\r\n */\r\nexport function SubmitButton({ field }) {\r\n  return (\r\n    <Button\r\n      field={{ value: { text: field.model.title } }}\r\n      name={field.model.name}\r\n      variant=\"unique\"\r\n      className={classNames(field.model.cssClass)}\r\n    />\r\n  )\r\n}\r\n","import React from 'react'\r\n\r\nimport './Spinner.scss'\r\n\r\nexport const Spinner = () => (\r\n  <div className=\"spinner\" aria-hidden=\"true\">\r\n    <div></div>\r\n    <div></div>\r\n    <div></div>\r\n    <div></div>\r\n  </div>\r\n)\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {boolean} props.loading\r\n * @param {JSX.Element | ReactNode} props.children\r\n */\r\nexport const SpinnerOverlay = ({ loading, children }) => {\r\n  return (\r\n    <div className=\"spinner-overlay\">\r\n      {children}\r\n      {loading && (\r\n        <>\r\n          <div className=\"spinner__backdrop\" />\r\n          <Spinner />\r\n        </>\r\n      )}\r\n    </div>\r\n  )\r\n}\r\n","import React, { useCallback, useEffect, useRef, Fragment } from 'react'\r\nimport classNames from 'classnames'\r\n\r\nimport './FileInput.scss'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\n/**\r\n * @callback FieldChangeCallback\r\n * @param {string} key\r\n * @param {string | string[] | File[]} value\r\n * @param {boolean} isValid\r\n * @param {string[]} errors\r\n */\r\n\r\n/**\r\n *\r\n * @param {Object} props\r\n * @param {string[]} props.errors\r\n * @param {Object} props.tracker\r\n * @param {boolean} props.isValid\r\n * @param {Object} props.field\r\n * @param {Object} props.field.model\r\n * @param {string} props.field.model.title\r\n * @param {string} props.field.model.cssClass\r\n * @param {string} props.field.model.labelCssClass\r\n * @param {boolean} props.field.model.isMultiple\r\n * @param {boolean} props.field.model.required\r\n * @param {number} props.field.model.fileSizeUnit\r\n * @param {number} props.field.model.maxFileSize\r\n * @param {number} props.field.model.maxFileCount\r\n * @param {string} props.field.model.name\r\n * @param {string} props.field.model.allowedContentTypes\r\n * @param {Object} props.field.valueField\r\n * @param {string} props.field.valueField.id\r\n * @param {string} props.field.valueField.name\r\n * @param {FieldChangeCallback} props.onChange\r\n * @param {string | File[]} props.value\r\n * @param {function(string): string} props.t\r\n */\r\nconst FileInput = (props) => {\r\n  const { field, errors, onChange, tracker, value, t } = props\r\n  const fileInputRef = useRef(null)\r\n\r\n  // clear file input value\r\n  useEffect(() => {\r\n    if (!value && fileInputRef.current) {\r\n      fileInputRef.current.value = ''\r\n    }\r\n  }, [value])\r\n\r\n  const handleChange = useCallback(\r\n    (ev) => {\r\n      // convert FileList to a plain array\r\n      const files = Array.from(ev.target.files ?? [])\r\n\r\n      let valid = true\r\n      let errorMessages = []\r\n\r\n      // empty input validation\r\n      if (field.model.required && !files.length) {\r\n        valid = false\r\n        errorMessages.push(`${field.model.title} ${t('aw_common_form_field_required')}`)\r\n      }\r\n\r\n      // file count validation\r\n      if (files.length > field.model.maxFileCount && field.model.maxFileCount > 0) {\r\n        valid = false\r\n        errorMessages.push(t('aw_common_form_files_count_exceeded'))\r\n      }\r\n\r\n      // file size validation\r\n      if (files.length && field.model.maxFileSize) {\r\n        const maxFileSize = field.model.maxFileSize * field.model.fileSizeUnit\r\n        files.forEach((file) => {\r\n          if (file.size > maxFileSize) {\r\n            valid = false\r\n            errorMessages.push(`${file.name} ${t('aw_common_form_file_too_large')}`)\r\n          }\r\n        })\r\n      }\r\n\r\n      onChange(field.valueField.name, files, valid, errorMessages)\r\n    },\r\n    [\r\n      field.model.required,\r\n      field.valueField.name,\r\n      field.model.title,\r\n      onChange,\r\n      field.model.maxFileSize,\r\n      field.model.fileSizeUnit,\r\n      field.model.maxFileCount,\r\n      t,\r\n    ],\r\n  )\r\n\r\n  const handleFocus = useCallback(\r\n    (ev) => {\r\n      tracker.onFocusField(field, ev.target.value)\r\n    },\r\n    [field, tracker],\r\n  )\r\n\r\n  const handleBlur = useCallback(\r\n    (ev) => {\r\n      tracker.onBlurField(field, ev.target.value, errors)\r\n    },\r\n    [field, tracker, errors],\r\n  )\r\n\r\n  return (\r\n    <div className=\"file-input\">\r\n      <label\r\n        htmlFor={field.valueField.id}\r\n        className={classNames('file-input__label', field.model.labelCssClass)}\r\n      >\r\n        {field.model.title}\r\n      </label>\r\n      <input\r\n        type=\"file\"\r\n        id={field.valueField.id}\r\n        name={field.model.name}\r\n        className={classNames('file-input__input', field.model.cssClass)}\r\n        multiple={field.model.isMultiple}\r\n        aria-describedby={errors?.length > 0 ? `${field.valueField.id}_errorText` : undefined}\r\n        accept={field.model.allowedContentTypes ? field.model.allowedContentTypes : undefined}\r\n        required={field.model.required}\r\n        onChange={handleChange}\r\n        onFocus={handleFocus}\r\n        onBlur={handleBlur}\r\n        autoComplete=\"off\"\r\n        ref={fileInputRef}\r\n      />\r\n      {errors && errors.length > 0 && (\r\n        <div id={`${field.valueField.id}_errorText`} className=\"file-input__error\">\r\n          {errors.map((error, idx) => (\r\n            <Fragment key={idx}>\r\n              {error}\r\n              <br />\r\n            </Fragment>\r\n          ))}\r\n        </div>\r\n      )}\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withTranslation()(FileInput)\r\n","import React, { useCallback, useEffect, useMemo, useState } from 'react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport classNames from 'classnames'\r\n\r\nimport './Select.scss'\r\nimport { isClient, isMobileDevice } from '../../util'\r\nimport { Icon } from '../Icon'\r\n\r\n/**\r\n * @callback FieldChangeCallback\r\n * @param {string} key\r\n * @param {string | string[] | File[]} value\r\n * @param {boolean} isValid\r\n * @param {string[]} errors\r\n */\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.tracker\r\n * @param {Array.<string>} props.errors\r\n * @param {boolean} props.disabled\r\n * @param {Object} props.field\r\n * @param {Object} props.field.model\r\n * @param {string} props.field.model.title\r\n * @param {string} props.field.model.cssClass\r\n * @param {string} props.field.model.labelCssClass\r\n * @param {string} props.field.model.name\r\n * @param {boolean} props.field.model.required\r\n * @param {boolean} props.field.model.showEmptyItem\r\n * @param {Array.<{text: string, value: string, selected: boolean, itemId: string}>} props.field.model.items\r\n * @param {Object} props.field.valueField\r\n * @param {string} props.field.valueField.id\r\n * @param {FieldChangeCallback} props.onChange\r\n * @param {string[]} props.value\r\n * @param {function(string): string} props.t\r\n */\r\nfunction Select(props) {\r\n  const { errors, disabled, field, onChange, tracker, t, value } = props\r\n  let { items } = field.model\r\n\r\n  const [active, _setActive] = useState(false)\r\n  const [optionIndex, _setOptionIndex] = useState(0)\r\n  const selectRef = React.useRef(null)\r\n  const listId = useMemo(() => `selectList_${field.valueField.id}`, [field.valueField.id])\r\n  const itemIdPrefix = useMemo(() => `${field.valueField.id}_item_`, [field.valueField.id])\r\n\r\n  // add an empty item\r\n  if (field.model.showEmptyItem) {\r\n    items = [{ value: '', text: '', selected: false }, ...items]\r\n  }\r\n\r\n  /**\r\n   * Set a selected option index.\r\n   * @param {number} idx\r\n   */\r\n  const setOptionIndex = (idx) => {\r\n    optionIndexRef.current = idx\r\n    _setOptionIndex(idx)\r\n  }\r\n\r\n  const setActive = (data) => {\r\n    activeRef.current = data\r\n    _setActive(data)\r\n  }\r\n\r\n  const optionIndexRef = React.useRef(optionIndex)\r\n  const activeRef = React.useRef(active)\r\n\r\n  const handleClick = useCallback((e) => {\r\n    if (isMobileDevice()) return\r\n\r\n    if (!(selectRef?.current?.contains(e.target) || e.target.classList.contains('select__option'))) {\r\n      setActive(false)\r\n    }\r\n  }, [])\r\n\r\n  const validateChangedValue = useCallback(\r\n    (newValue) => {\r\n      let valid = true\r\n      let errorMessages = []\r\n\r\n      if (field.model.required && !newValue) {\r\n        valid = false\r\n        errorMessages.push(`${field.model.title} ${t('aw_common_form_field_required')}`)\r\n      }\r\n\r\n      onChange(field.valueField.name, newValue, valid, errorMessages)\r\n    },\r\n    [field.model.required, field.model.title, field.valueField.name, onChange, t],\r\n  )\r\n\r\n  const handleKeyDown = useCallback(\r\n    (e) => {\r\n      if (!activeRef.current) {\r\n        return\r\n      }\r\n      e.preventDefault()\r\n\r\n      const optionIndex = optionIndexRef.current\r\n\r\n      switch (e.key) {\r\n        case 'Escape':\r\n        case 'Enter':\r\n        case 'Tab':\r\n          setActive(false)\r\n          validateChangedValue(items[optionIndex].value)\r\n          break\r\n        case 'Up':\r\n        case 'ArrowUp':\r\n          if (optionIndex > 0) {\r\n            setOptionIndex(optionIndexRef.current - 1)\r\n          }\r\n          break\r\n        case 'Down':\r\n        case 'ArrowDown':\r\n          if (optionIndex < items.length - 1) {\r\n            setOptionIndex(optionIndexRef.current + 1)\r\n          }\r\n          break\r\n        default:\r\n          break\r\n      }\r\n    },\r\n    [items, validateChangedValue],\r\n  )\r\n\r\n  const handleFocus = useCallback(\r\n    (ev) => {\r\n      tracker.onFocusField(field, ev.target.value)\r\n    },\r\n    [field, tracker],\r\n  )\r\n\r\n  const handleBlur = useCallback(\r\n    (ev) => {\r\n      tracker.onBlurField(field, ev.target.value, errors)\r\n    },\r\n    [field, tracker, errors],\r\n  )\r\n\r\n  useEffect(() => {\r\n    if (!isClient()) {\r\n      return\r\n    }\r\n\r\n    /* document events for correct behavior */\r\n    document.addEventListener('click', handleClick)\r\n    document.addEventListener('keydown', handleKeyDown)\r\n\r\n    // component will unmount\r\n    return () => {\r\n      document.removeEventListener('click', handleClick)\r\n      document.removeEventListener('keydown', handleKeyDown)\r\n    }\r\n  }, [handleClick, handleKeyDown])\r\n\r\n  const handleDisplayChange = useCallback(() => {\r\n    if (disabled) return\r\n\r\n    setActive(!active)\r\n  }, [active, disabled])\r\n\r\n  const handleOptionClick = useCallback(\r\n    (e) => {\r\n      items.forEach((option, index) => {\r\n        if (option.value.toString() === e.target.getAttribute('data-id')) {\r\n          setOptionIndex(index)\r\n          validateChangedValue(items[index].value)\r\n        }\r\n      })\r\n\r\n      handleDisplayChange()\r\n    },\r\n    [items, handleDisplayChange, validateChangedValue],\r\n  )\r\n\r\n  const handleChange = useCallback(\r\n    (e) => {\r\n      items.forEach((option, index) => {\r\n        if (option.value.toString() === e.target.value) {\r\n          setOptionIndex(index)\r\n        }\r\n      })\r\n\r\n      validateChangedValue(e.target.value)\r\n    },\r\n    [items, validateChangedValue],\r\n  )\r\n\r\n  // set a default value when component mounts\r\n  // or clear the selected value when form is submitted\r\n  useEffect(() => {\r\n    if (value.length) {\r\n      const index = items.findIndex((item) => item.value === value[0])\r\n\r\n      if (index !== -1) {\r\n        setOptionIndex(index)\r\n      }\r\n    } else {\r\n      setOptionIndex(0)\r\n    }\r\n    // eslint-disable-next-line react-hooks/exhaustive-deps\r\n  }, [value])\r\n\r\n  const classes = classNames('selected-text', {\r\n    'selected-text--active': active,\r\n    'selected-text--value': items[optionIndex],\r\n    'selected-text--error': errors && errors.length,\r\n    'selected-text--disabled': disabled,\r\n  })\r\n\r\n  return (\r\n    <div className=\"select\">\r\n      <label\r\n        htmlFor={field.valueField.id}\r\n        className={classNames('visually-hidden', field.model.labelCssClass)}\r\n      >\r\n        {field.model.title}\r\n      </label>\r\n\r\n      {isMobileDevice() ? (\r\n        <div className=\"select--mobile\">\r\n          <select\r\n            value={items[optionIndex].value}\r\n            disabled={disabled}\r\n            onBlur={handleBlur}\r\n            onFocus={handleFocus}\r\n            onChange={handleChange}\r\n            id={field.valueField.id}\r\n            className={classNames(field.model.cssClass)}\r\n            required={field.model.required}\r\n          >\r\n            {items.map((option, index) => (\r\n              <option value={option.value} key={index}>\r\n                {option.text}\r\n              </option>\r\n            ))}\r\n          </select>\r\n          <span className=\"label\" aria-hidden=\"true\">{field.model.title}</span>\r\n        </div>\r\n      ) : (\r\n        <>\r\n          {/**\r\n           * On desktop render a hidden <select> that is being synchronized, so the component can be used\r\n           * inside a <form> and value of selected item/option is available via form's GET/POST.\r\n           */}\r\n          <select\r\n            className={classNames('select--hidden', field.model.cssClass)}\r\n            value={items[optionIndex].value}\r\n            disabled={disabled}\r\n            onBlur={handleBlur}\r\n            onFocus={handleFocus}\r\n            onChange={handleChange}\r\n            id={field.valueField.id}\r\n            required={field.model.required}\r\n            hidden\r\n          >\r\n            {items.map((option, index) => (\r\n              <option value={option.value} key={index}>\r\n                {option.text}\r\n              </option>\r\n            ))}\r\n          </select>\r\n          {/**\r\n           * Custom select input\r\n           */}\r\n          <button\r\n            type=\"button\"\r\n            className={classes}\r\n            onClick={handleDisplayChange}\r\n            role=\"combobox\"\r\n            aria-expanded={active}\r\n            disabled={disabled}\r\n            ref={selectRef}\r\n            aria-controls={listId}\r\n            aria-activedescendant={\r\n              active && optionIndex !== null ? `${itemIdPrefix}${optionIndex}` : undefined\r\n            }\r\n          >\r\n            <span className=\"label\">{field.model.title}</span>\r\n            <span className=\"value\">{items[optionIndex].text}</span>\r\n            <Icon name=\"arrow\" size={20} className=\"select__icon\" />\r\n          </button>\r\n          {active && (\r\n            <ul className=\"select__options\" role=\"listbox\" id={listId}>\r\n              {items.map((option, index) => {\r\n                return (\r\n                  // eslint-disable-next-line jsx-a11y/click-events-have-key-events\r\n                  <li\r\n                    role=\"option\"\r\n                    className={classNames('select__option', {\r\n                      'select__option--selected': items[optionIndex].value === option.value,\r\n                    })}\r\n                    data-name={option.text}\r\n                    data-id={option.value}\r\n                    key={index}\r\n                    id={`${itemIdPrefix}${index}`}\r\n                    onClick={handleOptionClick}\r\n                    aria-selected={items[optionIndex].value === option.value}\r\n                  >\r\n                    {option.text}\r\n                  </li>\r\n                )\r\n              })}\r\n            </ul>\r\n          )}\r\n        </>\r\n      )}\r\n      {errors && errors.length > 0 && <div className=\"select__error\">{errors[0]}</div>}\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withTranslation()(Select)\r\n","import React, { useState, useCallback } from 'react'\r\nimport {\r\n  createDefaultFieldFactory,\r\n  FieldTypes,\r\n  Form as JssForm,\r\n} from '@sitecore-jss/sitecore-jss-react-forms'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { TextField } from '../TextField'\r\nimport { TextArea } from '../TextArea'\r\nimport { SubmitButton } from '../SubmitButton'\r\nimport { SpinnerOverlay } from '../Spinner'\r\nimport { FileInput } from '../FileInput'\r\nimport { Select } from '../Select'\r\nimport { isClient } from '../../util'\r\n\r\nconst defaultFieldFactory = createDefaultFieldFactory()\r\n\r\nconst ErrorComponent = () => {\r\n  return <div></div>\r\n}\r\n\r\ndefaultFieldFactory.setComponent(FieldTypes.SingleLineText, (props) => (\r\n  <TextField {...props} type=\"text\" />\r\n))\r\ndefaultFieldFactory.setComponent(FieldTypes.Email, (props) => <TextField {...props} type=\"email\" />)\r\ndefaultFieldFactory.setComponent(FieldTypes.Telephone, (props) => (\r\n  <TextField {...props} type=\"tel\" />\r\n))\r\ndefaultFieldFactory.setComponent(FieldTypes.MultipleLineText, (props) => <TextArea {...props} />)\r\ndefaultFieldFactory.setComponent(FieldTypes.Button, (props) => <SubmitButton {...props} />)\r\ndefaultFieldFactory.setComponent(FieldTypes.FileUpload, (props) => <FileInput {...props} />)\r\ndefaultFieldFactory.setComponent(FieldTypes.DropdownList, (props) => <Select {...props} />)\r\n\r\n/**\r\n * @callback onRedirect\r\n * @param {string} url\r\n */\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.form\r\n * @param {string} props.form.htmlPrefix\r\n * @param {string} props.sitecoreApiHost\r\n * @param {string} props.sitecoreApiKey\r\n * @param {onRedirect} props.onRedirect\r\n */\r\nexport function Form({ captureForm, ...rest }) {\r\n  const [loading, setLoading] = useState(false)\r\n\r\n  // customize the behavior of the default FormFetcher\r\n  // add a custom dataLayer form tracking\r\n  // https://jss.sitecore.com/docs/techniques/forms#customizing-form-fetcher\r\n  const formFetcher = useCallback((formData, endpoint) => {\r\n    setLoading(true)\r\n\r\n    return fetch(endpoint, {\r\n      body: formData.toMultipartFormData(),\r\n      method: 'post',\r\n      // IMPORTANT: Sitecore forms relies on cookies for some state management, so credentials must be included.\r\n      credentials: 'include',\r\n    })\r\n      .then((res) => {\r\n        if (res.ok) {\r\n          window.dataLayer.push({\r\n            event: 'form',\r\n            formType: 'contact',\r\n          })\r\n          if (captureForm && isClient) {\r\n            const htmlPrefix = { ...rest }.form.htmlPrefix\r\n            const form = document.querySelector(`form[action*=\"${htmlPrefix}\"]`)\r\n\r\n            // Hydrated from external Dynamics script.\r\n            window.MsCrmMkt && window.MsCrmMkt.MsCrmFormLoader.sendFormCaptureToCrm(form)\r\n          }\r\n        }\r\n        return res.json()\r\n      })\r\n      .catch(() => {\r\n        return {\r\n          success: false,\r\n          errors: 'Something went wrong. Error was thrown when submit form',\r\n        }\r\n      })\r\n      .finally(() => {\r\n        setLoading(false)\r\n      })\r\n  }, [])\r\n\r\n  return (\r\n    <SpinnerOverlay loading={loading}>\r\n      <JssForm\r\n        errorComponent={ErrorComponent}\r\n        fieldFactory={defaultFieldFactory}\r\n        formFetcher={formFetcher}\r\n        {...rest}\r\n      />\r\n    </SpinnerOverlay>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(Form))\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { Form } from '../../common/Form'\r\nimport { sitecoreApiHost, sitecoreApiKey } from '../../temp/config'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Object} props.history\r\n */\r\n\r\nconst aw_common_career_form = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div\r\n      className=\"form form-career container component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      <Form\r\n        form={props.fields}\r\n        sitecoreApiHost={sitecoreApiHost}\r\n        sitecoreApiKey={sitecoreApiKey}\r\n        onRedirect={(url) => props.history.push(url)}\r\n      />\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_career_form))\r\n","import React from 'react'\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react'\r\n\r\nimport { formatDate } from '../../util'\r\n\r\nimport { Icon } from '../../common/Icon'\r\nimport './CareerPosition.scss'\r\n\r\nexport default function CareerPosition({ company, displayName, posted, project, unit, url, t }) {\r\n  return (\r\n    <div className=\"career-positions-item\">\r\n      <h3 className=\"career-positions-item__name h2\">{displayName}</h3>\r\n      <div className=\"row\">\r\n        <div className=\"col col-12 col-lg-4 mb-3 mb-lg-0\">\r\n          {company && company.value && (\r\n            <>\r\n              <p className=\"career-positions-item__title h4\">\r\n                {t('aw_common_career_positions_company')}\r\n              </p>\r\n              <Text className=\"career-positions-item__title body\" field={company} tag=\"p\" />\r\n            </>\r\n          )}\r\n        </div>\r\n        <div className=\"col col-12 col-lg-4 mb-3 mb-lg-0\">\r\n          {unit && unit.value && (\r\n            <>\r\n              <p className=\"career-positions-item__title h4\">\r\n                {t('aw_common_career_positions_unit')}\r\n              </p>\r\n              <Text className=\"career-positions-item__title body\" field={unit} tag=\"p\" />\r\n            </>\r\n          )}\r\n        </div>\r\n        <div className=\"col col-12 col-lg-4 mb-3 mb-lg-0\">\r\n          {project && project.value && (\r\n            <>\r\n              <p className=\"career-positions-item__title h4\" field={project}>\r\n                {t('aw_common_career_positions_project')}\r\n              </p>\r\n              <Text className=\"career-positions-item__title body\" field={project} tag=\"p\" />\r\n            </>\r\n          )}\r\n        </div>\r\n      </div>\r\n      <hr />\r\n      <div className=\"row align-items-center\">\r\n        <div className=\"col col-12 col-lg-6 mb-3 mb-lg-0 career-positions-item__learn-more\">\r\n          {url && (\r\n            <a\r\n              className=\"btn btn--tertiary\"\r\n              href={url}\r\n              aria-label={`${t('aw_common_career_positions_learn_more')} \r\n              ${t('aw_common_about')} ${displayName}')}`}\r\n            >\r\n              {t('aw_common_career_positions_learn_more')}\r\n              <Icon name=\"arrow\" size={18} />\r\n            </a>\r\n          )}\r\n        </div>\r\n        <div className=\"col col-12 col-lg-6 mb-3 mb-lg-0 career-positions-item__posted\">\r\n          {posted && posted.value && (\r\n            <div className=\"row\">\r\n              <p className=\"caption\">\r\n                {t('aw_common_career_positions_posted')} {formatDate(posted.value)}\r\n              </p>\r\n            </div>\r\n          )}\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react'\r\n\r\nimport CareerPosition from './CareerPosition'\r\nimport './CareerPosition.scss'\r\n\r\nconst aw_common_career_positions = (props) => {\r\n  const items = props.fields?.Selected\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div\r\n      className=\"career-positions container component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      {props.fields?.Headline && (\r\n        <Text field={props.fields?.Headline} tag=\"h2\" className=\"career-positions__heading h3\" />\r\n      )}\r\n      <div className=\"row row-cols-sm-2 row-cols-1\">\r\n        {items &&\r\n          items.map((item) => (\r\n            <div key={item.id} className=\"col\">\r\n              <CareerPosition\r\n                displayName={item.fields.PageTitle.value}\r\n                url={item.url}\r\n                company={item.fields.Company}\r\n                posted={item.fields.Posted}\r\n                project={item.fields.Project}\r\n                unit={item.fields.Unit}\r\n                t={props.t}\r\n                {...props}\r\n              />\r\n            </div>\r\n          ))}\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_career_positions))\r\n","import React from 'react'\r\nimport { Image, Text, Link } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { Icon } from '../../common/Icon'\r\nimport './CareerRecruiter.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} params\r\n * @param {string} params.InPageNavigationLabel\r\n * @param {string} params.InPageNavigationVisible\r\n * @property {Object} sitecoreContext\r\n * @property {boolean} sitecoreContext.pageEditing\r\n * @param {Object} fields\r\n * @param {string} fields.Subheadline\r\n * @param {string} fields.Photo\r\n * @param {string} fields.Email\r\n * @param {string} fields.Phone\r\n * @param {string} fields.RecruiterName\r\n * @param {string} fields.RecruiterPosition\r\n */\r\n\r\nconst aw_common_career_recruiter = (props) => {\r\n  const { fields, params, sitecoreContext } = props\r\n  const isEditing = sitecoreContext && sitecoreContext.pageEditing\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <>\r\n      <div\r\n        className=\"container component\"\r\n        data-navigation-label={params.InPageNavigationLabel}\r\n        id={id}\r\n      >\r\n        <div className=\"career-recruiter\">\r\n          <div className=\"career-recruiter-info col-12 col-md-6 col-lg-auto\">\r\n            {fields?.Subheadline && (\r\n              <Text field={fields.Subheadline} tag=\"h4\" className=\"mb-6 mb-md-8\" />\r\n            )}\r\n            <div className=\"row align-items-center\">\r\n              <div className=\"col-12 col-md-auto career-recruiter-info__image mb-4 mb-md-0\">\r\n                {fields.Photo && (\r\n                  <div className=\"career-recruiter-info__image-border\">\r\n                    <Image field={fields.Photo} loadin=\"lazy\" />\r\n                  </div>\r\n                )}\r\n              </div>\r\n              <div className=\"col-12 col-md-auto career-recruiter-info__name flex-column\">\r\n                {fields.RecruiterName && (\r\n                  <Text field={fields.RecruiterName} tag=\"h4\" className=\"h2\" />\r\n                )}\r\n                {fields.RecruiterPosition && (\r\n                  <Text field={fields.RecruiterPosition} tag=\"p\" className=\"caption\" />\r\n                )}\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <hr />\r\n          <div className=\"career-recruiter-contacts row\">\r\n            <div className=\"col-12 col-md-auto my-2 mx-md-0\">\r\n              <Icon name=\"mail-fill\" size={24} />\r\n              <Link className=\"career-recruiter-contacts__email\" field={fields.Email} />\r\n            </div>\r\n            <div className=\"col-12 col-md-auto my-2 mx-md-0\">\r\n              <Icon name=\"phone-fill\" size={24} />\r\n              <a className=\"career-recruiter-contacts__phone\" href={`tel:${fields.Phone.value}`}>\r\n                {isEditing ? <Text field={fields.Phone} /> : fields.Phone.value}\r\n              </a>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_career_recruiter))\r\n","import React from 'react'\r\nimport { Link, Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { Icon } from '../../common/Icon'\r\nimport './ContactUs.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n * @param {Object} props.fields\r\n * @param {string} props.fields.Email\r\n * @param {string} props.fields.Phone\r\n * @property {boolean} props.rendering\r\n * @property {Object} props.sitecoreContext\r\n * @property {boolean} props.sitecoreContext.pageEditing\r\n */\r\n\r\nconst aw_common_contact_us = (props) => {\r\n  const isEditing = props.sitecoreContext && props.sitecoreContext.pageEditing\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div\r\n      className=\"contact-us container component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      <div className=\"row contact-us-row\">\r\n        {props.fields?.Email && (\r\n          <div className=\"col-12 col-md-6 col-lg-8 contact-us-row-data contact-us-row-data--mail\">\r\n            <Icon name=\"mail-fill\" size={24} />\r\n            <Link className=\"h2\" field={props.fields?.Email} />\r\n          </div>\r\n        )}\r\n        {props.fields?.Phone && (\r\n          <div className=\"col-12 col-md-6 col-lg-4 contact-us-row-data contact-us-row-data--phone\">\r\n            <Icon name=\"phone-fill\" size={24} />\r\n            <a className=\"h2\" href={`tel:${props.fields?.Phone.value}`}>\r\n              {isEditing ? <Text field={props.fields?.Phone} /> : props.fields?.Phone.value}\r\n            </a>\r\n          </div>\r\n        )}\r\n      </div>\r\n      <hr />\r\n      <div className=\"row\">\r\n        <Placeholder name=\"ph-aw-common-contact-us-insets\" rendering={props.rendering} />\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_contact_us))\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { Form } from '../../common/Form'\r\nimport { sitecoreApiHost, sitecoreApiKey } from '../../temp/config'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {\"1\"} props.params.IsDynamicsForm If the form is to be submitted to Dynamics, the value is \"1\". If not, the property is not defined.\r\n * @param {Object} props.fields\r\n * @param {Object} props.history\r\n */\r\n\r\nconst aw_common_contact_us_form = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div\r\n      className=\"form form-contact container component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      <Form\r\n        form={props.fields}\r\n        sitecoreApiHost={sitecoreApiHost}\r\n        sitecoreApiKey={sitecoreApiKey}\r\n        captureForm={Boolean(props.params.IsDynamicsForm)}\r\n        // onRedirect={(url) => props.history.push(url)}\r\n      />\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_contact_us_form))\r\n","import React from 'react'\r\nimport { Text, Link } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { Icon } from '../../common/Icon'\r\nimport '../aw_common_contact_us/ContactUs.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.fields\r\n * @param {string} props.fields.Language\r\n * @param {string} props.fields.Name\r\n * @param {string} props.fields.Email\r\n * @param {string} props.fields.Phone\r\n * @property {Object} props.sitecoreContext\r\n * @property {boolean} props.sitecoreContext.pageEditing\r\n */\r\n\r\nconst aw_common_contact_us_inset = (props) => {\r\n  const isEditing = props.sitecoreContext && props.sitecoreContext.pageEditing\r\n\r\n  return (\r\n    <div className=\"col-12 col-md-6 col-lg-4\">\r\n      <div className=\"contact-us-item\">\r\n        <div className=\"contact-us-item-lang\">\r\n          <Icon name=\"translate\" size={24} />\r\n          <Text className=\"h3\" field={props.fields?.Language} tag=\"h4\" />\r\n        </div>\r\n        <div className=\"contact-us-item-contact-data\">\r\n          <Text\r\n            className=\"h4 contact-us-item-contact-data__name\"\r\n            field={props.fields?.Name}\r\n            tag=\"p\"\r\n          />\r\n          <div className=\"contact-us-item-contact-data__row\">\r\n            <span className=\"fw-bold me-4\" aria-hidden=\"true\">\r\n              {props.t('aw_navigation_footer_email_short_label')}:\r\n            </span>\r\n            <span className=\"visually-hidden\">{props.t('aw_navigation_footer_email_label')}</span>\r\n            <Link className=\"body\" field={props.fields?.Email} tag=\"p\" />\r\n          </div>\r\n          <div className=\"contact-us-item-contact-data__row\">\r\n            <span className=\"fw-bold me-4\" aria-hidden=\"true\">\r\n              {props.t('aw_navigation_footer_phone_short_label')}:\r\n            </span>\r\n            <span className=\"visually-hidden\">{props.t('aw_navigation_footer_phone_label')}</span>\r\n            <a className=\"body\" href={`tel:${props.fields?.Phone.value}`}>\r\n              {isEditing ? <Text field={props.fields?.Phone} /> : props.fields?.Phone.value}\r\n            </a>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_contact_us_inset))\r\n","import React from 'react'\r\nimport { Image, Text, DateField } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { formatDate } from '../../util'\r\n\r\nimport { Icon } from '../../common/Icon'\r\nimport '../aw_common_events_normal/EventsList.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.fields\r\n * @param {string} props.fields.Image\r\n * @param {Object} props.fields.DateFrom\r\n * @param {Object} props.fields.DateTo\r\n * @param {string} props.fields.Name\r\n * @param {string} props.fields.targetUrl\r\n */\r\n\r\nconst aw_common_events_inset = (props) => (\r\n  <div className=\"col\">\r\n    <div className=\"events-list-item\">\r\n      <div className=\"events-list-item__image\">\r\n        <Image field={props.fields?.Image} />\r\n      </div>\r\n      <div className=\"events-list-item__info\">\r\n        <div className=\"events-list-item__info-dates\">\r\n          <span className=\"body\">\r\n            {props.fields?.DateFrom && (\r\n              <DateField\r\n                field={props.fields?.DateFrom}\r\n                render={() => formatDate(props.fields?.DateFrom.value, 'dayMonth')}\r\n              />\r\n            )}\r\n            {props.fields?.DateFrom && props.fields?.DateTo && ' – '}\r\n            {props.fields?.DateTo && (\r\n              <DateField\r\n                field={props.fields?.DateTo}\r\n                render={() => formatDate(props.fields?.DateTo.value)}\r\n              />\r\n            )}\r\n          </span>\r\n        </div>\r\n        <Text className=\"events-list-item__info-title\" field={props.fields?.Name} tag=\"h3\" />\r\n        {props.fields.targetUrl && (\r\n          <a className=\"btn btn--tertiary\" href={props.fields.targetUrl}>\r\n            {props.t('aw_common_events_show_event')}\r\n            <Icon name=\"arrow\" size={18} />\r\n          </a>\r\n        )}\r\n      </div>\r\n    </div>\r\n  </div>\r\n)\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_events_inset))\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n * @property {boolean} props.rendering\r\n */\r\n\r\nconst aw_common_events_normal = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div\r\n      className=\"events-list container component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      <h2 className=\"events-list__heading\">{props.t('aw_common_events_label_top')}</h2>\r\n      <div className=\"row row-cols-1 row-cols-md-2 row-cols-lg-4\">\r\n        <Placeholder\r\n          className=\"col-12 col-md-6 col-lg-3\"\r\n          name=\"ph-aw-common-events-insets\"\r\n          rendering={props.rendering}\r\n        />\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_events_normal))\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { Form } from '../../common/Form'\r\nimport { sitecoreApiHost, sitecoreApiKey } from '../../temp/config'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {\"1\"} props.params.IsDynamicsForm If the form is to be submitted to Dynamics, the value is \"1\". If not, the property is not defined.\r\n * @param {Object} props.fields\r\n * @param {Object} props.history\r\n */\r\n\r\nconst aw_common_events_registration_form = (props) => {\r\n  const id = props.rendering?.uid\r\n  return (\r\n    <div\r\n      className=\"form form-register container component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      <Form\r\n        form={props.fields}\r\n        sitecoreApiHost={sitecoreApiHost}\r\n        sitecoreApiKey={sitecoreApiKey}\r\n        captureForm={Boolean(props.params.IsDynamicsForm)}\r\n        // onRedirect={(url) => props.history.push(url)}\r\n      />\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_events_registration_form))\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport '../aw_common_events_normal/EventsList.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n * @param {boolean} props.rendering\r\n */\r\n\r\nconst aw_common_events_wide = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div\r\n      className=\"events-list events-list--wide container component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      <h2 className=\"events-list__heading\">{props.t('aw_common_events_label_top')}</h2>\r\n      <div className=\"row row-cols-1 row-cols-md-2 row-cols-lg-2\">\r\n        <Placeholder\r\n          className=\"col-12 col-md-6 col-lg-6\"\r\n          name=\"ph-aw-common-events-insets\"\r\n          rendering={props.rendering}\r\n        />\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_events_wide))\r\n","import React from 'react'\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Headline\r\n * @param {Object} props.fields.Subheadline\r\n * @property {boolean} props.rendering\r\n */\r\n\r\nconst aw_common_faq = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div\r\n      className=\"faq container component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      {props.fields?.Subheadline && (\r\n        <Text className=\"h4 mb-6\" field={props.fields?.Subheadline} tag=\"p\" />\r\n      )}\r\n      <div className=\"row\">\r\n        {props.fields?.Headline && (\r\n          <div className=\"col-12 col-md-6 mb-6\">\r\n            <Text field={props.fields?.Headline} tag=\"h2\" />\r\n          </div>\r\n        )}\r\n        <div className=\"col-12 col-md-6\">\r\n          <Placeholder name=\"ph-aw-common-faq-insets\" rendering={props.rendering} />\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_faq))\r\n","import React, { useState, useRef, useLayoutEffect, useCallback } from 'react'\r\nimport classNames from 'classnames'\r\nimport { isClient } from '../../util'\r\n\r\nimport './Collapse.scss'\r\n\r\n// inspired by https://css-tricks.com/using-css-transitions-auto-dimensions/\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {boolean} props.isOpen\r\n */\r\nexport const Collapse = ({ isOpen, children, className, ...rest }) => {\r\n  const [isTransitioning, setTransitioning] = useState(false)\r\n  const containerRef = useRef(null)\r\n\r\n  const expandContainer = useCallback((container) => {\r\n    setTransitioning(true)\r\n    const height = container.scrollHeight\r\n\r\n    container.style.height = `${height}px`\r\n    container.addEventListener('transitionend', function transitionEndListener() {\r\n      container.removeEventListener('transitionend', transitionEndListener)\r\n      container.style.height = 'auto'\r\n      setTransitioning(false)\r\n    })\r\n  }, [])\r\n\r\n  const collapseContainer = useCallback((container) => {\r\n    setTransitioning(true)\r\n    const height = container.scrollHeight\r\n\r\n    container.addEventListener('transitionend', function transitionEndListener() {\r\n      container.removeEventListener('transitionend', transitionEndListener)\r\n      container.style.height = '0px'\r\n      setTransitioning(false)\r\n    })\r\n\r\n    requestAnimationFrame(() => {\r\n      container.style.height = `${height}px`\r\n\r\n      requestAnimationFrame(() => {\r\n        container.style.height = '0px'\r\n      })\r\n    })\r\n  }, [])\r\n\r\n  useLayoutEffect(() => {\r\n    if (!isClient) return\r\n\r\n    if (isOpen) {\r\n      expandContainer(containerRef.current)\r\n    } else {\r\n      collapseContainer(containerRef.current)\r\n    }\r\n  }, [isOpen, expandContainer, collapseContainer])\r\n\r\n  return (\r\n    <div\r\n      className={classNames({\r\n        collapse: !isTransitioning,\r\n        'collapse--transitioning': isTransitioning,\r\n        'collapse--visible': isOpen && !isTransitioning,\r\n        [className]: Boolean(className),\r\n      })}\r\n      ref={containerRef}\r\n      aria-hidden={!isOpen ? true : undefined}\r\n      {...rest}\r\n    >\r\n      {children}\r\n    </div>\r\n  )\r\n}\r\n","import React, { useState } from 'react'\r\nimport classNames from 'classnames'\r\nimport { RichText, Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { Icon } from '../../common/Icon'\r\nimport { Collapse } from '../../common/Collapse'\r\n\r\nimport '../aw_common_faq/Faq.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Caption\r\n * @param {Object} props.fields.Content\r\n */\r\n\r\nexport const FaqCollapse = ({ props }) => {\r\n  const [isOpen, setOpen] = useState(false)\r\n\r\n  const id = props.rendering.uid\r\n\r\n  return (\r\n    <div className=\"faq__collapse\">\r\n      <button\r\n        type=\"button\"\r\n        className=\"faq__collapse-btn\"\r\n        onClick={() => setOpen((prev) => !prev)}\r\n        id={`faqCollapseBtn_${id}`}\r\n        aria-expanded={isOpen}\r\n        aria-controls={`faqCollapseContent_${id}`}\r\n      >\r\n        {props.fields?.Caption && (\r\n          <Text field={props.fields?.Caption} tag=\"span\" className=\"h3 d-block\" />\r\n        )}\r\n        <Icon\r\n          name=\"plus\"\r\n          rotate={isOpen ? 270 : 90}\r\n          size={24}\r\n          className={classNames({\r\n            'faq__collapse-icon': true,\r\n            'faq__collapse-icon--hidden': isOpen,\r\n          })}\r\n        />\r\n        <Icon\r\n          name=\"minus\"\r\n          rotate={isOpen ? 180 : 0}\r\n          size={24}\r\n          className={classNames({\r\n            'faq__collapse-icon': true,\r\n            'faq__collapse-icon--hidden': !isOpen,\r\n            'faq__collapse-icon--open': isOpen,\r\n          })}\r\n        />\r\n      </button>\r\n      <Collapse\r\n        isOpen={isOpen}\r\n        id={`faqCollapseContent_${id}`}\r\n        aria-labelledby={`faqCollapseBtn_${id}`}\r\n      >\r\n        <div className=\"faq__collapse-inner\">\r\n          {props.fields?.Content && <RichText className=\"body\" field={props.fields?.Content} />}\r\n        </div>\r\n      </Collapse>\r\n    </div>\r\n  )\r\n}\r\n\r\nconst aw_common_faq_inset = (props) => <FaqCollapse props={props} />\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_faq_inset))\r\n","import React, { useState, useMemo } from 'react'\r\nimport FsLightbox from 'fslightbox-react'\r\nimport { Image } from '@sitecore-jss/sitecore-jss-react'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.images\r\n * @param {Object} props.images.image\r\n * @param {Object} props.images.Image\r\n * @param {Object} props.images.Image.value\r\n * @param {string} props.images.Image.value.src\r\n */\r\nexport const Gallery = ({ images, t }) => {\r\n  const imgSources = useMemo(() => {\r\n    return images.map((image, idx) => (\r\n      <img key={idx} src={image.fields.Image.value.src} alt={image.alt} />\r\n    ))\r\n  }, [images])\r\n\r\n  const [lightboxController, setLightboxController] = useState({\r\n    toggler: false,\r\n    slide: 1,\r\n  })\r\n\r\n  const showFullscreen = (number) => {\r\n    setLightboxController({\r\n      toggler: !lightboxController.toggler,\r\n      slide: number + 1,\r\n    })\r\n  }\r\n\r\n  return (\r\n    <div className=\"row pb-6 pb-sm-10\">\r\n      <div className=\"col col-md-12 col-lg-7 gallery__image--big\">\r\n        <a href={images[0].fields.Image.value.src}>\r\n          <Image\r\n            field={images[0].fields.Image}\r\n            onClick={(e) => {\r\n              e.preventDefault()\r\n              showFullscreen(0)\r\n            }}\r\n          />\r\n        </a>\r\n        <button\r\n          className=\"gallery__image-count__number--mobile\"\r\n          onClick={(e) => {\r\n            e.preventDefault()\r\n            showFullscreen(1)\r\n          }}\r\n        >\r\n          {images.length > 1 && (\r\n            <span>\r\n              {' + ' + (images.length - 1)}{' '}\r\n              <span className=\"visually-hidden\">{t('aw_common_gallery_more_images')}</span>\r\n            </span>\r\n          )}\r\n        </button>\r\n      </div>\r\n\r\n      <FsLightbox\r\n        toggler={lightboxController.toggler}\r\n        sources={imgSources}\r\n        disableThumbs={true}\r\n        slide={lightboxController.slide}\r\n      />\r\n\r\n      <div className=\"col col-md-12 col-lg-5 pl-5 gallery__images-container\">\r\n        <div className=\"row\">\r\n          {images.map((image, index) => {\r\n            if (index === 0 || (index > 3 && images.length !== 5)) return null\r\n            return (\r\n              <a\r\n                href={\r\n                  image &&\r\n                  image.fields &&\r\n                  image.fields.Image &&\r\n                  image.fields.Image.value &&\r\n                  image.fields.Image.value.src\r\n                    ? image.fields.Image.value.src\r\n                    : '#'\r\n                }\r\n                className=\"col-md-3 col-lg-6 px-lg-2 pt-0 gallery__image--small\"\r\n                key={`image-${index}`}\r\n                onClick={(e) => {\r\n                  e.preventDefault()\r\n                  showFullscreen(index)\r\n                }}\r\n              >\r\n                <Image field={image.fields.Image} />\r\n              </a>\r\n            )\r\n          })}\r\n          {images.length > 4 && (\r\n            <div className=\"col-sm-0 col-md-3 col-lg-6 pt-0 px-2 gallery__image--small\">\r\n              <button\r\n                className=\"gallery__image-count\"\r\n                onClick={(e) => {\r\n                  e.preventDefault()\r\n                  showFullscreen(4)\r\n                }}\r\n              >\r\n                <span className=\"gallery__image-count__number\">\r\n                  {' + ' + (images.length - 4)}\r\n                  <span className=\"visually-hidden\">{t('aw_common_gallery_more_images')}</span>\r\n                </span>\r\n              </button>\r\n            </div>\r\n          )}\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { Button } from '../../common/Button'\r\n\r\nimport './Gallery.scss'\r\n\r\nimport { Gallery } from './Gallery'\r\n\r\n/**\r\n * @typedef {Object} GalleryInset\r\n * @property {Object} fields\r\n * @property {Object} fields.Image\r\n *\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.FurtherImages\r\n * @param {Object} props.fields.FurtherImages.value\r\n * @param {Object} props.fileds.Headline\r\n * @param {Object} props.rendering\r\n * @param {Object} props.rendering.placeholders\r\n * @param {Array<GalleryInset>} props.rendering.placeholders.ph-aw-common-gallery-insets\r\n */\r\n\r\nconst aw_common_gallery = (props) => {\r\n  const images = props.rendering.placeholders['ph-aw-common-gallery-insets']\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div data-navigation-label={props.params.InPageNavigationLabel} id={id}>\r\n      <div className=\"container gallery\">\r\n        <div className=\"row pb-6 pb-sm-10\">\r\n          <div className=\"col col-md-12 col-lg-11 gallery__rect\">\r\n            <span></span>\r\n          </div>\r\n        </div>\r\n        <Gallery images={images} t={props.t} />\r\n        <Button field={props.fields?.FurtherImages} variant=\"secondary\" svg=\"external-link\" />\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_gallery))\r\n","import React from 'react'\r\nimport { Image } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nconst aw_common_gallery_inset = (props) => <Image field={props.fields?.Image} />\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_gallery_inset))\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport './GridInfo.scss'\r\nimport classNames from 'classnames'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n * @param { \"h2\" | \"h3\" |\"h4\" } props.params.Heading\r\n *\r\n * @param {Object} props.rendering\r\n * @param {string} props.rendering.uid\r\n */\r\n\r\nconst aw_common_grid_info_3col = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  const classes = classNames('grid-info grid-info-3 container component', {\r\n    'caption_h2': props.params.Heading === 'h2',\r\n    'caption_h3': props.params.Heading === 'h3',\r\n    'caption_h4': props.params.Heading === 'h4',\r\n  })\r\n\r\n  return (\r\n    <div className={classes} id={id}>\r\n      <div className=\"row\" data-navigation-label={props.params.InPageNavigationLabel}>\r\n        <div className=\"col-12 col-md-4 mb-8 mb-md-5\">\r\n          <Placeholder name=\"ph-aw-common-grid-info-col1\" rendering={props.rendering} />\r\n        </div>\r\n        <div className=\"col-12 col-md-4 mb-8 mb-md-5\">\r\n          <Placeholder name=\"ph-aw-common-grid-info-col2\" rendering={props.rendering} />\r\n        </div>\r\n        <div className=\"col-12 col-md-4 mb-8 mb-md-5\">\r\n          <Placeholder name=\"ph-aw-common-grid-info-col3\" rendering={props.rendering} />\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_grid_info_3col))\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport '../aw_common_grid_info_3col/GridInfo.scss'\r\n\r\nimport classNames from 'classnames'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {\"h2\" | \"h3\" |\"h4\" } props.params.Heading\r\n * @param {string} props.params.InPageNavigationLabel\r\n *\r\n * @param {Object} props.rendering\r\n * @param {string} props.rendering.uid\r\n */\r\n\r\nconst aw_common_grid_info_4col = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  const classes = classNames('grid-info grid-info-4 container component', {\r\n    'caption_h2': props.params.Heading === 'h2',\r\n    'caption_h3': props.params.Heading === 'h3',\r\n    'caption_h4': props.params.Heading === 'h4',\r\n  })\r\n\r\n  return (\r\n    <div className={classes} id={id}>\r\n      <div className=\"row\" data-navigation-label={props.params.InPageNavigationLabel}>\r\n        <div className=\"col-12 col-md-4 col-lg-3 mb-8 mb-md-5\">\r\n          <Placeholder name=\"ph-aw-common-grid-info-col1\" rendering={props.rendering} />\r\n        </div>\r\n        <div className=\"col-12 col-md-4 col-lg-3 mb-8 mb-md-5\">\r\n          <Placeholder name=\"ph-aw-common-grid-info-col2\" rendering={props.rendering} />\r\n        </div>\r\n        <div className=\"col-12 col-md-4 col-lg-3 mb-8 mb-md-5\">\r\n          <Placeholder name=\"ph-aw-common-grid-info-col3\" rendering={props.rendering} />\r\n        </div>\r\n        <div className=\"col-12 col-md-4 col-lg-3 mb-8 mb-md-5\">\r\n          <Placeholder name=\"ph-aw-common-grid-info-col4\" rendering={props.rendering} />\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_grid_info_4col))\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport '../aw_common_grid_info_3col/GridInfo.scss'\r\n\r\nimport classNames from 'classnames'\r\nimport './Grid5Col.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param { \"h2\" | \"h3\"| \"h4\"  } props.params.Heading\r\n * @param {string} props.params.InPageNavigationLabel\r\n *\r\n * @param {Object} props.rendering\r\n * @param {string} props.rendering.uid\r\n */\r\n\r\nconst aw_common_grid_info_5col = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  const classes = classNames('grid-info grid-info-5 container component', {\r\n    'caption_h2': props.params.Heading === 'h2',\r\n    'caption_h3': props.params.Heading === 'h3',\r\n    'caption_h4': props.params.Heading === 'h4',\r\n  })\r\n\r\n  return (\r\n    <div className={classes} id={id}>\r\n      <div className=\"grid-5\" data-navigation-label={props.params.InPageNavigationLabel}>\r\n        <div className=\"grid-5__column col-xxl-3\">\r\n          <Placeholder name=\"ph-aw-common-grid-info-col1\" rendering={props.rendering} />\r\n        </div>\r\n        <div className=\"grid-5__column col-xxl-3\">\r\n          <Placeholder name=\"ph-aw-common-grid-info-col2\" rendering={props.rendering} />\r\n        </div>\r\n        <div className=\"grid-5__column col-xxl-2\">\r\n          <Placeholder name=\"ph-aw-common-grid-info-col3\" rendering={props.rendering} />\r\n        </div>\r\n        <div className=\"grid-5__column col-xxl-2\">\r\n          <Placeholder name=\"ph-aw-common-grid-info-col4\" rendering={props.rendering} />\r\n        </div>\r\n        <div className=\"grid-5__column col-xxl-2\">\r\n          <Placeholder name=\"ph-aw-common-grid-info-col5\" rendering={props.rendering} />\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_grid_info_5col))\r\n","import React from 'react'\r\nimport { Image, Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport './GridInfoImage.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Caption\r\n * @param {Object} props.fields.SubImageText\r\n */\r\n\r\nconst aw_common_grid_info_inset_image = (props) => (\r\n  <>\r\n    {props.fields?.Caption && (\r\n      <Text className=\"mb-4 grid_caption\" field={props.fields?.Caption} tag=\"h4\" />\r\n    )}\r\n    {props.fields?.Image && <Image field={props.fields?.Image} loading=\"lazy\" />}\r\n    {props.fields?.SubImageText && (\r\n      <Text className=\"body\" field={props.fields?.SubImageText} tag=\"p\" />\r\n    )}\r\n  </>\r\n)\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_grid_info_inset_image))\r\n","import React from 'react'\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Caption\r\n * @param {Object} props.fields.Content\r\n */\r\n\r\nconst aw_common_grid_info_inset_text = (props) => (\r\n  <>\r\n    {props.fields?.Caption && (\r\n      <Text className=\"mb-4 grid_caption\" field={props.fields?.Caption} tag=\"h3\" />\r\n    )}\r\n    {props.fields?.Content && <RichText field={props.fields?.Content} />}\r\n  </>\r\n)\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_grid_info_inset_text))\r\n","import React from 'react'\r\nimport { Text, Link, Image } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { Icon } from '../../common/Icon'\r\nimport './Headquarters.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n * @param {Object} props.t\r\n * @param {Object} props.fields\r\n * @param {string} props.fields.Address\r\n * @param {string} props.fields.Plane\r\n * @param {string} props.fields.Car\r\n * @param {string} props.fields.Train\r\n * @param {string} props.fields.Tram\r\n * @param {string} props.fields.Subway\r\n * @param {string} props.fields.Map\r\n * @param {string} props.fields.MapLink\r\n */\r\n\r\nconst aw_common_headquarters = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div\r\n      className=\"headquarters container component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      {props.fields ? (\r\n        <>\r\n          <h2 className=\"mb-2 mb-lg-6 headquarters-label h4\">\r\n            {props.t('aw_common_headquarters_label_top')}\r\n          </h2>\r\n          <div className=\"mb-8 mb-md-12 row justify-content-between\">\r\n            <div className=\"mb-6 mb-md-4 col-12 col-lg-4\">\r\n              {props.fields.Address && <Text className=\"h2\" field={props.fields.Address} tag=\"p\" />}\r\n            </div>\r\n            <div className=\"col-12 col-md-6 col-lg-3\">\r\n              {props.fields.Plane?.value && (\r\n                <div className=\"headquarters-direction\">\r\n                  <div>\r\n                    <Icon name=\"plane-line\" size={24} />\r\n                    <h3 className=\"headquarters-direction__name h4\">\r\n                      {props.t('aw_common_headquarters_label_byplane')}\r\n                    </h3>\r\n                  </div>\r\n                  <Text\r\n                    className=\"headquarters-direction__desc body\"\r\n                    field={props.fields.Plane}\r\n                    tag=\"p\"\r\n                  />\r\n                </div>\r\n              )}\r\n              {props.fields.Car?.value && (\r\n                <div className=\"headquarters-direction\">\r\n                  <div>\r\n                    <Icon name=\"car-fill\" size={24} />\r\n                    <h3 className=\"headquarters-direction__name h4\">\r\n                      {props.t('aw_common_headquarters_label_bycar')}\r\n                    </h3>\r\n                  </div>\r\n                  <Text\r\n                    className=\"headquarters-direction__desc body\"\r\n                    field={props.fields.Car}\r\n                    tag=\"p\"\r\n                  />\r\n                </div>\r\n              )}\r\n            </div>\r\n            <div className=\"col-12 col-md-6 col-lg-3\">\r\n              {props.fields.Train?.value && (\r\n                <div className=\"headquarters-direction\">\r\n                  <div>\r\n                    <Icon name=\"train-fill\" size={24} />\r\n                    <h3 className=\"headquarters-direction__name h4\">\r\n                      {props.t('aw_common_headquarters_label_bytrain')}\r\n                    </h3>\r\n                  </div>\r\n                  <Text\r\n                    className=\"headquarters-direction__desc body\"\r\n                    field={props.fields.Train}\r\n                    tag=\"p\"\r\n                  />\r\n                </div>\r\n              )}\r\n              {props.fields.Tram?.value && (\r\n                <div className=\"headquarters-direction\">\r\n                  <div>\r\n                    <Icon name=\"tram-fill\" size={24} />\r\n                    <h3 className=\"headquarters-direction__name h4\">\r\n                      {props.t('aw_common_headquarters_label_bytram')}\r\n                    </h3>\r\n                  </div>\r\n                  <Text\r\n                    className=\"headquarters-direction__desc body\"\r\n                    field={props.fields.Tram}\r\n                    tag=\"p\"\r\n                  />\r\n                </div>\r\n              )}\r\n              {props.fields.Subway?.value && (\r\n                <div className=\"headquarters-direction\">\r\n                  <div>\r\n                    <Icon name=\"subway-fill\" size={24} />\r\n                    <h3 className=\"headquarters-direction__name h4\">\r\n                      {props.t('aw_common_headquarters_label_bysubway')}\r\n                    </h3>\r\n                  </div>\r\n                  <Text\r\n                    className=\"headquarters-direction__desc body\"\r\n                    field={props.fields.Subway}\r\n                    tag=\"p\"\r\n                  />\r\n                </div>\r\n              )}\r\n            </div>\r\n          </div>\r\n          {props.fields?.Map?.value && props.fields.MapLink?.value?.href && (\r\n            <div className=\"row\">\r\n              <div className=\"headquarters-map\">\r\n                <Link field={props.fields.MapLink}>\r\n                  <Image\r\n                    field={props.fields.Map}\r\n                    className=\"headquarters-map__image\"\r\n                    loading=\"lazy\"\r\n                  />\r\n                </Link>\r\n              </div>\r\n            </div>\r\n          )}\r\n        </>\r\n      ) : (\r\n        props.sitecoreContext?.pageEditing && <p>Missing datasource</p>\r\n      )}\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_headquarters))\r\n","import React from 'react'\r\nimport { Image, Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { Icon } from '../../common/Icon'\r\n\r\nimport { Button } from '../../common/Button'\r\nimport { hasHref } from '../../util'\r\n\r\nimport { isClient } from '../../util'\r\nimport './HeroBanner.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.CtaButton\r\n * @param {Object} props.fields.CtaButton.value\r\n * @param {Object} props.fields.CtaLink\r\n * @param {Object} props.fields.CtaLink.value\r\n * @param {Object} props.fields.Headline\r\n * @param {string} props.fields.Headline.value\r\n * @param {Object} props.fields.Image\r\n * @param {Object} props.fields.Image.value\r\n * @param {Object} props.fields.Perex\r\n * @param {string} props.fields.Perex.value\r\n * @param {Object} props.fields.Video\r\n * @param {String} props.fields.Video.value\r\n */\r\nconst aw_common_hero_banner = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  const videoId = props.fields.Video?.value\r\n\r\n  const openVideoModal = () => {\r\n    if (!isClient()) return\r\n    const openModalEvent = new CustomEvent('openModal', {\r\n      detail: { type: 'videoModal', videoId },\r\n    })\r\n    window.dispatchEvent(openModalEvent)\r\n  }\r\n\r\n  return (\r\n    <div\r\n      className=\"hero-banner component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      <div className=\"container\">\r\n        <div className=\"row align-items-center\">\r\n          <div className=\"hero-banner__content col-12 col-sm-12 col-md-6 col-lg-6\">\r\n            {props.fields?.Headline && <Text field={props.fields?.Headline} tag=\"h1\" />}\r\n            {props.fields?.Perex && <Text field={props.fields?.Perex} tag=\"p\" />}\r\n            {hasHref(props.fields?.CtaButton) && (\r\n              <Button field={props.fields?.CtaButton} variant=\"primary\" />\r\n            )}\r\n            {hasHref(props.fields?.CtaLink) && (\r\n              <Button field={props.fields?.CtaLink} variant=\"tertiary\" />\r\n            )}\r\n          </div>\r\n          {props.fields?.Image && (\r\n            <div className=\"hero-banner__asset-wrapper col-12 col-sm-12 col-md-6 col-lg-6\">\r\n              <Image className=\"hero-banner__img\" field={props.fields?.Image} />\r\n              {videoId && (\r\n                <button\r\n                  onClick={openVideoModal}\r\n                  aria-label={props.t('aw_common_play_video')}\r\n                  className=\"hero-banner__play-button\"\r\n                >\r\n                  <Icon name=\"play\" size={64} />\r\n                </button>\r\n              )}\r\n            </div>\r\n          )}\r\n        </div>\r\n        <div className=\"hero-banner__rect mx-3\"></div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_hero_banner))\r\n","import React, { useState, useEffect } from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { isClient } from '../../util'\r\nimport './InpageNav.scss'\r\n\r\nconst InpageNavigation = (props) => {\r\n  const { t } = props\r\n  const [navLinks, setNavLinks] = useState([])\r\n\r\n  useEffect(() => {\r\n    if (!isClient()) {\r\n      return\r\n    }\r\n\r\n    const domNavLinks = Array.from(document.querySelectorAll('[data-navigation-label]'))\r\n    const elementsWithId = []\r\n\r\n    domNavLinks.forEach((element) => {\r\n      if (element.id) {\r\n        elementsWithId.push({ id: element.id, label: element.dataset?.navigationLabel })\r\n        return\r\n      }\r\n\r\n      const ids = element.querySelectorAll('[id]')\r\n\r\n      ids.forEach((e) => {\r\n        elementsWithId.push({ id: e.id, label: element.dataset?.navigationLabel })\r\n      })\r\n    })\r\n\r\n    setNavLinks(elementsWithId)\r\n  }, [])\r\n\r\n  if (navLinks.length === 0) {\r\n    if (props.sitecoreContext?.pageEditing ?? false) {\r\n      return (\r\n        <div className=\"container inpage-nav component\">\r\n          <ul className=\"inpage-nav-list\">\r\n            <li className=\"inpage-nav-list__link\">\r\n              InPage navigation. Content cannot be generated in edit mode.\r\n            </li>\r\n          </ul>\r\n        </div>\r\n      )\r\n    }\r\n\r\n    return <></>\r\n  }\r\n\r\n  return (\r\n    <div className=\"container inpage-nav component\">\r\n      <nav aria-label={t('aw_common_inpage_navigation')}>\r\n        <ul className=\"inpage-nav-list\">\r\n          {navLinks.map((link) => (\r\n            <li className=\"inpage-nav-list__link\" key={link.id}>\r\n              <a className=\"h4 btn btn--tertiary\" href={'#' + link.id}>\r\n                {link.label}\r\n              </a>\r\n            </li>\r\n          ))}\r\n        </ul>\r\n      </nav>\r\n    </div>\r\n  )\r\n}\r\n\r\nconst aw_common_inpage_navigation = (props) => <InpageNavigation {...props} />\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_inpage_navigation))\r\n","import React from 'react'\r\nimport { Text, Image, RichText } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { Button } from '../../common/Button'\r\n\r\nimport './InsightsInset.scss'\r\nimport { hasHref } from '../../util'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.CtaLink\r\n * @param {Object} props.fields.Headline\r\n * @param {Object} props.fields.Image\r\n * @param {Object} props.fields.Text\r\n * @param { \"normal\" | \"wide\" } props.variant\r\n */\r\nconst aw_common_insights_inset = (props) => {\r\n  return (\r\n    <>\r\n      {props.variant === 'normal' && (\r\n        <div className=\"insights-inset col-12 col-lg-4 col-md-6 mb-4\">\r\n          <div className=\"insights-inset--normal\">\r\n            <div className=\"insights-inset__img-wrapper\">\r\n              {props.fields?.Image && <Image field={props.fields.Image} loading=\"lazy\" />}\r\n            </div>\r\n            <div className=\"insights-inset--normal__content px-8\">\r\n              <Text field={props.fields?.Headline} tag=\"h3\" className=\"h2\" />\r\n              <RichText field={props.fields?.Text} tag=\"p\" />\r\n              {hasHref(props.fields?.CtaLink) && (\r\n                <Button\r\n                  field={props.fields.CtaLink}\r\n                  variant=\"tertiary\"\r\n                  aria-label={`${props.t(props.fields.CtaLink.value.text)} ${props.t(\r\n                    'aw_common_about',\r\n                  )} ${props.fields?.Headline.value}`}\r\n                />\r\n              )}\r\n            </div>\r\n          </div>\r\n        </div>\r\n      )}\r\n\r\n      {props.variant === 'wide' && (\r\n        <div className=\"insights-inset col-12 col-md-12 col-lg-6 mb-4\">\r\n          <div className=\"insights-inset--wide\">\r\n            <div className=\"container\">\r\n              <div className=\"row g-0\">\r\n                {props.fields?.Image && (\r\n                  <Image field={props.fields?.Image} className=\"col-12 col-md-6\" loading=\"lazy\" />\r\n                )}\r\n                <div className=\"insights-inset--wide__content px-8 col-12 col-md-6\">\r\n                  <Text field={props.fields?.Headline} tag=\"h3\" className=\"h2\" />\r\n                  <RichText field={props.fields?.Text} tag=\"p\" />\r\n                  {hasHref(props.fields?.CtaLink) && (\r\n                    <Button\r\n                      field={props.fields.CtaLink}\r\n                      variant=\"tertiary\"\r\n                      aria-label={`${props.t(props.fields.CtaLink.value.text)} ${props.t(\r\n                        'aw_common_about',\r\n                      )} ${props.fields?.Headline.value}`}\r\n                    />\r\n                  )}\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      )}\r\n    </>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_insights_inset))\r\n","import React from 'react'\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { Button } from '../../common/Button'\r\n\r\nimport './InsightsNormal.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {boolean} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Headline\r\n * @param {Object} props.fields.CtaButton\r\n */\r\nconst aw_common_insights_normal = (props) => {\r\n  const id = props.rendering?.uid\r\n  return (\r\n    <div\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      className=\"insights-normal container component\"\r\n      id={id}\r\n    >\r\n      {props.fields?.Headline && <Text field={props.fields?.Headline} tag=\"h2\" />}\r\n      <div className=\"row\">\r\n        <Placeholder\r\n          name=\"ph-aw-common-insights-insets\"\r\n          rendering={props.rendering}\r\n          variant=\"normal\"\r\n        />\r\n      </div>\r\n      {props.fields?.CtaButton && props.fields?.CtaButton.href && (\r\n        <Button field={props.fields?.CtaButton} variant=\"secondary\" />\r\n      )}\r\n    </div>\r\n  )\r\n}\r\nexport default withSitecoreContext()(withTranslation()(aw_common_insights_normal))\r\n","import React from 'react'\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { Button } from '../../common/Button'\r\n\r\nimport './InsightsWide.scss'\r\nimport { hasHref } from '../../util'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {boolean} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Headline\r\n * @param {Object} props.fields.CtaButton\r\n */\r\nconst aw_common_insights_wide = (props) => {\r\n  const id = props.rendering?.uid\r\n  return (\r\n    <div\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      className=\"insights-wide container component\"\r\n      id={id}\r\n    >\r\n      {props.fields?.Headline && <Text field={props.fields?.Headline} tag=\"h2\" />}\r\n      <div className=\"row\">\r\n        <Placeholder\r\n          name=\"ph-aw-common-insights-insets\"\r\n          rendering={props.rendering}\r\n          variant=\"wide\"\r\n        />\r\n      </div>\r\n      {hasHref(props.fields?.CtaButton) && (\r\n        <Button field={props.fields?.CtaButton} variant=\"secondary\" />\r\n      )}\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_insights_wide))\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport FocusTrap from 'focus-trap-react'\r\nimport { isClient } from '../../util'\r\n\r\nimport './videoModal.scss'\r\nimport { Icon } from '../../common/Icon'\r\n\r\nconst VideoModal = ({ videoId, t }) => {\r\n  const videoPlayerRef = React.useRef()\r\n\r\n  const closeModal = () => {\r\n    if (!isClient()) return\r\n    const closeModalEvent = new CustomEvent('closeModal')\r\n    window.dispatchEvent(closeModalEvent)\r\n  }\r\n\r\n  return (\r\n    <FocusTrap>\r\n      <div className=\"video-modal\">\r\n        <div className=\"video-modal__header\">\r\n          <button\r\n            className=\"video-modal__close-button\"\r\n            aria-label={t('aw_navigation_main_close')}\r\n            onClick={closeModal}\r\n          >\r\n            <Icon name=\"close\" color=\"#fff\" size={48} />\r\n          </button>\r\n        </div>\r\n        <div className=\"video-modal__wrapper\">\r\n          <iframe\r\n            ref={videoPlayerRef}\r\n            // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\r\n            tabIndex={0}\r\n            className=\"video-modal__video\"\r\n            src={`https://www.youtube.com/embed/${videoId}?autoplay=1`}\r\n            title=\"YouTube video player\"\r\n            frameBorder=\"0\"\r\n            allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\"\r\n            allowFullScreen\r\n          ></iframe>\r\n        </div>\r\n        <div className=\"video-modal__backdrop\"> </div>\r\n      </div>\r\n    </FocusTrap>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(VideoModal))\r\n","import React, { useState } from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport VideoModal from '../aw_common_video_modal'\r\nimport { isClient } from '../../util'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n */\r\nconst ModalProvider = () => {\r\n  const initialModalConfig = {\r\n    type: '',\r\n    videoId: '',\r\n    action: '',\r\n    open: false,\r\n  }\r\n\r\n  const [modalConfig, setModalConfig] = useState(initialModalConfig)\r\n\r\n  if (isClient()) {\r\n    window.addEventListener('openModal', ({ detail }) => {\r\n      setModalConfig({ ...modalConfig, ...detail, open: true })\r\n    })\r\n\r\n    window.addEventListener('closeModal', () => {\r\n      setModalConfig(initialModalConfig)\r\n    })\r\n\r\n    window.addEventListener('keyup', (e) => {\r\n      if (modalConfig.open && e.key === 'Escape') {\r\n        setModalConfig(initialModalConfig)\r\n      }\r\n    })\r\n  }\r\n\r\n  const renderContent = () => {\r\n    switch (modalConfig.type) {\r\n      case 'videoModal': {\r\n        return <VideoModal videoId={modalConfig.videoId} />\r\n      }\r\n      default:\r\n        break\r\n    }\r\n  }\r\n\r\n  return <div className=\"modal-provider\">{renderContent()}</div>\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(ModalProvider))\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n */\r\nconst aw_common_offices = (props) => {\r\n  const id = props.rendering?.uid\r\n  return (\r\n    <div className=\"component\" data-navigation-label={props.params.InPageNavigationLabel} id={id}>\r\n      <div className=\"container\">\r\n        <div className=\"row\">\r\n          <Placeholder name=\"ph-aw-common-offices-insets\" rendering={props.rendering} />\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_offices))\r\n","import React from 'react'\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { Button } from '../../common/Button'\r\n\r\nimport './OfficeInset.scss'\r\nimport { Icon } from '../../common/Icon'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Address\r\n * @param {string} props.fields.Address.value\r\n * @param {Object} props.fields.Location\r\n * @param {string} props.fields.Location.value\r\n * @param {Object} props.fields.Link\r\n */\r\n\r\nconst aw_common_offices_inset = (props) => (\r\n  <div className=\"offices col-md-6 p-3\">\r\n    <div className=\"offices-inset p-5 pt-10\">\r\n      <Icon name=\"map-pin-fill\" size={24} fill=\"#d93c31\" />\r\n      {props.fields?.Address && <RichText field={props.fields?.Address} className=\"address\" />}\r\n      {props.fields?.Location && <Text field={props.fields?.Location} tag=\"h3\" className=\"h2\" />}\r\n      {props.fields?.Link && <Button field={props.fields?.Link} variant=\"tertiary\" />}\r\n    </div>\r\n  </div>\r\n)\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_offices_inset))\r\n","import React from 'react'\r\nimport { Text, Link, Image, RichText } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { getBacklinkData } from '../../util'\r\nimport { Icon } from '../../common/Icon'\r\nimport '../aw_common_page_intro_text/PageIntro.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {boolean} props.params.DisplayBreadcrumb\r\n * @param {Object} props.fields\r\n * @param {string} props.fields.Headline\r\n * @param {string} props.fields.Subline\r\n * @param {Object} props.sitecoreContext\r\n * @param {Array} props.sitecoreContext.breadcrumb_navigation\r\n * @param {Object} props.sitecoreContext.route\r\n * @param {Object} props.sitecoreContext.route.fields\r\n * @param {string} props.sitecoreContext.route.fields.PageTitle\r\n * @param {string} props.sitecoreContext.route.fields.PageIntro\r\n * @param {string} props.sitecoreContext.route.fields.PageImage\r\n */\r\n\r\nconst aw_common_page_intro_image = (props) => {\r\n  const breadcrumbs = props.sitecoreContext.breadcrumb_navigation\r\n  const id = props.rendering?.uid\r\n  let title\r\n  let text\r\n  let image\r\n\r\n  if (props.fields) {\r\n    title = props.fields.Headline\r\n    text = props.fields.Subline\r\n    image = props.fields.Image\r\n  } else {\r\n    title = props.sitecoreContext?.route?.fields?.PageTitle\r\n    text = props.sitecoreContext?.route?.fields?.PageIntro\r\n    image = props.sitecoreContext?.route?.fields?.PageImage\r\n  }\r\n\r\n  return (\r\n    <div\r\n      className=\"page-intro container component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      {props.params.DisplayBreadcrumb === '1' && (\r\n        <div className=\"page-intro-breadcrumbs\">\r\n          <a className=\"h4 btn btn--tertiary\" href={getBacklinkData(breadcrumbs).link}>\r\n            <Icon name=\"arrow\" rotate={180} size={16} />\r\n            {getBacklinkData(breadcrumbs).label}\r\n          </a>\r\n          {breadcrumbs && breadcrumbs.length > 1 && (\r\n            <nav aria-label={props.t('aw_common_breadcrumb_label')}>\r\n              <ol className=\"breadcrumb\">\r\n                {breadcrumbs.map((link, index) => (\r\n                  <li key={link.link} className=\"breadcrumb-item\">\r\n                    {index > 0 && ' / '}\r\n                    <Link field={{ value: { href: link.link, text: link.label } }} />\r\n                  </li>\r\n                ))}\r\n              </ol>\r\n            </nav>\r\n          )}\r\n        </div>\r\n      )}\r\n      <div className=\"col-12 col-md-8 col-lg-6\">\r\n        {title && <Text field={title} tag=\"h1\" />}\r\n        {text && <RichText field={text} />}\r\n      </div>\r\n      {image && (\r\n        <div className=\"col-12\">\r\n          <Image field={image} loading=\"lazy\" />\r\n        </div>\r\n      )}\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_page_intro_image))\r\n","import React from 'react'\r\nimport { Text, Link, RichText } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { getBacklinkData } from '../../util'\r\nimport { Icon } from '../../common/Icon'\r\nimport './PageIntro.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {boolean} props.params.DisplayBreadcrumb\r\n * @param {Object} props.fields\r\n * @param {string} props.fields.Headline\r\n * @param {string} props.fields.Subline\r\n * @param {Object} props.sitecoreContext\r\n * @param {Array} props.sitecoreContext.breadcrumb_navigation\r\n * @param {Object} props.sitecoreContext.route\r\n * @param {Object} props.sitecoreContext.route.fields\r\n * @param {string} props.sitecoreContext.route.fields.PageTitle\r\n * @param {string} props.sitecoreContext.route.fields.PageIntro\r\n */\r\n\r\nconst aw_common_page_intro_text = (props) => {\r\n  const breadcrumbs = props.sitecoreContext.breadcrumb_navigation\r\n  const id = props.rendering?.uid\r\n\r\n  let title\r\n  let text\r\n\r\n  if (props.fields) {\r\n    title = props.fields.Headline\r\n    text = props.fields.Subline\r\n  } else {\r\n    title = props.sitecoreContext?.route?.fields?.PageTitle\r\n    text = props.sitecoreContext?.route?.fields?.PageIntro\r\n  }\r\n\r\n  return (\r\n    <div\r\n      className=\"page-intro container component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      {props.params.DisplayBreadcrumb === '1' && (\r\n        <div className=\"page-intro-breadcrumbs\">\r\n          <a className=\"h4 btn btn--tertiary\" href={getBacklinkData(breadcrumbs).link}>\r\n            <Icon name=\"arrow\" rotate={180} size={16} />\r\n            {getBacklinkData(breadcrumbs).label}\r\n          </a>\r\n          {breadcrumbs && breadcrumbs.length > 1 && (\r\n            <nav aria-label={props.t('aw_common_breadcrumb_label')}>\r\n              <ol className=\"breadcrumb\">\r\n                {breadcrumbs.map((link, index) => (\r\n                  <li key={link.link} className=\"breadcrumb-item\">\r\n                    {index > 0 && (\r\n                      <span className=\"page-intro-breadcrumbs__slash\" aria-hidden=\"true\">\r\n                        /\r\n                      </span>\r\n                    )}\r\n                    <Link field={{ value: { href: link.link, text: link.label } }} />\r\n                  </li>\r\n                ))}\r\n              </ol>\r\n            </nav>\r\n          )}\r\n        </div>\r\n      )}\r\n      <div className=\"col-12 col-md-8 col-lg-6\">\r\n        {title && <Text field={title} tag=\"h1\" />}\r\n        {text && <RichText field={text} />}\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_page_intro_text))\r\n","import React from 'react'\r\nimport { Text, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { Button } from '../../common/Button'\r\n\r\nimport './Partners.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.CtaButton\r\n * @param {Object} props.fields.Headline\r\n */\r\nconst aw_common_partners = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div className=\"component\" data-navigation-label={props.params.InPageNavigationLabel} id={id}>\r\n      <div className=\"container\">\r\n        {props.fields?.Headline && (\r\n          <Text field={props.fields?.Headline} tag=\"h2\" className=\"mb-8\" />\r\n        )}\r\n        <ul className=\"row partners mb-8\">\r\n          <Placeholder name=\"ph-aw-common-partners-insets\" rendering={props.rendering} />\r\n        </ul>\r\n        {props.fields?.CtaButton && props.fields?.CtaButton.href && (\r\n          <div className=\"mt-6 text-center\">\r\n            <Button field={props.fields?.CtaButton} variant=\"secondary\" />\r\n          </div>\r\n        )}\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_partners))\r\n","import React from 'react'\r\nimport { Link as JssLink } from '@sitecore-jss/sitecore-jss-react'\r\nimport classNames from 'classnames'\r\n\r\nimport { Icon } from '../Icon'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.field\r\n * @param {\"h3\" | \"body\" | \"caption\" | \"underlined\" } props.variant\r\n * @param {boolean} props.disabled\r\n */\r\nexport function Link({ field, variant, disabled }) {\r\n  const classes = classNames({\r\n    body: variant === undefined,\r\n    [`${variant}`]: variant && variant !== 'h3',\r\n    disabled: disabled,\r\n    'h3-link': variant === 'h3',\r\n  })\r\n\r\n  if (variant === 'h3') {\r\n    return (\r\n      <h3 className={classes}>\r\n        <JssLink field={field} />\r\n        <Icon className=\"display-hover\" name=\"arrow\" size={24} />\r\n      </h3>\r\n    )\r\n  } else {\r\n    return <JssLink field={field} className={classes} />\r\n  }\r\n}\r\n","import React from 'react'\r\nimport { Image } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport classNames from 'classnames'\r\nimport { hasHref } from '../../util'\r\n\r\nimport './PartnersInset.scss'\r\nimport { Link } from '../../common/Link/Link'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Image\r\n * @param {Object} props.fields.Link\r\n * @param {Object} props.fields.Title\r\n */\r\nconst aw_common_partners_inset = (props) => {\r\n  const isValidLink = hasHref(props.fields?.Link)\r\n\r\n  return (\r\n    <>\r\n      <li className=\"partner col-xl-2 col-md-3 col-6 p-2\">\r\n        <div\r\n          className={classNames('partner-inset', {\r\n            'partner-inset--clickable': isValidLink,\r\n          })}\r\n        >\r\n          {props.fields?.Image && (\r\n            <Image\r\n              className=\"partner-inset__img\"\r\n              field={props.fields?.Image}\r\n              aria-hidden=\"true\"\r\n              loading=\"lazy\"\r\n            />\r\n          )}\r\n          {props.fields?.Link && (\r\n            <Link field={props.fields?.Link} variant=\"body\" disabled={!isValidLink} />\r\n          )}\r\n        </div>\r\n      </li>\r\n    </>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_partners_inset))\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.HtmlCode\r\n * @property {Object} sitecoreContext\r\n * @property {boolean} sitecoreContext.pageEditing\r\n */\r\n\r\nconst aw_common_plainhtml = (props) => {\r\n  const id = props.rendering?.uid\r\n  const isEditing = props.sitecoreContext && props.sitecoreContext.pageEditing\r\n\r\n  return (\r\n    isEditing ? \r\n    <div\r\n      className=\"plain-html container component mb-0\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}>[Edit Plain HTML here]</div> : \r\n    <div\r\n      className=\"plain-html container component mb-0\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n      dangerouslySetInnerHTML={ { __html: props.fields?.HtmlCode?.value } }\r\n    >\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_plainhtml))\r\n","import React from 'react'\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { Button } from '../../common/Button'\r\n\r\nimport './Promo.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields.DisplayBackground\r\n * @param {string} props.fields.DisplayBackground.value\r\n * @param {Object} props.fields.BackgroundSVG\r\n * @param {string} props.fields.BackgroundSVG.value\r\n * @param {Object} props.sitecoreContext\r\n * @param {boolean} props.sitecoreContext.pageEditing\r\n */\r\nconst aw_common_promo = (props) => {\r\n  const { t } = props\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div className=\"container component\">\r\n      <div data-navigation-label={props.params.InPageNavigationLabel} className=\"promo\" id={id}>\r\n        {props.fields?.DisplayBackground.value && (\r\n          <svg\r\n            height=\"100%\"\r\n            viewBox=\"0 0 49 20\"\r\n            focusable={false}\r\n            aria-hidden=\"true\"\r\n            className=\"background\"\r\n            dangerouslySetInnerHTML={{ __html: props.fields?.BackgroundSVG.value }}\r\n          />\r\n        )}\r\n\r\n        <Text field={props.fields?.Headline} tag=\"h2\" />\r\n\r\n        <div className=\"promo__controls\">\r\n          {props.fields?.CtaButton?.value?.text && (\r\n            <Button field={props.fields?.CtaButton} variant=\"unique\" />\r\n          )}\r\n          {props.fields?.CtaButton?.value?.text && props.fields?.CtaLink?.value?.text && (\r\n            <span>{t('aw_common_promo_or')}</span>\r\n          )}\r\n          {props.fields?.CtaLink?.value?.text && (\r\n            <Button field={props.fields?.CtaLink} variant=\"tertiary\" />\r\n          )}\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_promo))\r\n","import React from 'react'\r\nimport { RichText } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport './RichText.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Text\r\n */\r\n\r\nconst aw_common_richtext = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div\r\n      className=\"richtext container component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      <RichText field={props.fields?.Text} />\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_richtext))\r\n","import React from 'react'\r\nimport { RichText, Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { Button } from '../../common/Button'\r\nimport '../aw_common_teaserbox_text/TeaserBox.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Subheadline\r\n * @param {Object} props.fields.Headline\r\n * @param {Object} props.fields.CtaButton\r\n * @param {Object} props.fields.CtaLink\r\n * @param {Object} props.fields.Text\r\n * @property {boolean} props.rendering\r\n */\r\n\r\nconst aw_common_teaserbox_events = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div className=\"teaserbox container component\" id={id}>\r\n      <div className=\"row\" data-navigation-label={props.params.InPageNavigationLabel}>\r\n        <Text className=\"mb-4 mb-md-6\" field={props.fields?.Subheadline} tag=\"h4\" />\r\n        <div className=\"col-12 col-md-6 col-lg-4\">\r\n          <Text field={props.fields?.Headline} tag=\"h2\" />\r\n          {((props.fields?.CtaButton && props.fields?.CtaButton.href) ||\r\n            (props.fields?.CtaLink && props.fields?.CtaLink.href)) && (\r\n            <div className=\"d-flex flex-wrap justify-content-start mt-4 mt-md-6\">\r\n              {props.fields?.CtaButton.href && (\r\n                <Button field={props.fields?.CtaButton} variant=\"secondary\" className=\"mb-2 me-4\" />\r\n              )}\r\n              {props.fields?.CtaLink.href && (\r\n                <Button field={props.fields?.CtaLink} variant=\"tertiary\" />\r\n              )}\r\n            </div>\r\n          )}\r\n        </div>\r\n        {props.fields?.Text && (\r\n          <div className=\"col-12 col-md-6 col-lg-6 offset-lg-1\">\r\n            <RichText field={props.fields?.Text} />\r\n          </div>\r\n        )}\r\n      </div>\r\n      <div className=\"row row-cols-1 row-cols-md-2 row-cols-lg-4 mt-8 mt-lg-12\">\r\n        <Placeholder name=\"ph-aw-common-teaserbox-events\" rendering={props.rendering} />\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_teaserbox_events))\r\n","import React from 'react'\r\nimport { RichText, Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { Button } from '../../common/Button'\r\nimport '../aw_common_teaserbox_text/TeaserBox.scss'\r\nimport { hasHref } from '../../util'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Subheadline\r\n * @param {Object} props.fields.Headline\r\n * @param {Object} props.fields.CtaButton\r\n * @param {Object} props.fields.CtaLink\r\n * @param {Object} props.fields.Text\r\n * @property {boolean} props.rendering\r\n */\r\n\r\nconst aw_common_teaserbox_images_bottom = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div className=\"teaserbox container component\">\r\n      <div className=\"row\" data-navigation-label={props.params.InPageNavigationLabel} id={id}>\r\n        {props.fields?.Subheadline && (\r\n          <Text className=\"mb-4 mb-md-6 h4\" field={props.fields?.Subheadline} tag=\"p\" />\r\n        )}\r\n        <div className=\"col-12 col-md-6 col-lg-4\">\r\n          {props.fields?.Headline && <Text field={props.fields?.Headline} tag=\"h2\" />}\r\n          {(hasHref(props.fields?.CtaButton) || hasHref(props.fields?.CtaLink)) && (\r\n            <div className=\"d-flex flex-wrap justify-content-start mt-4 mt-md-6\">\r\n              {hasHref(props.fields?.CtaButton) && (\r\n                <Button field={props.fields?.CtaButton} variant=\"secondary\" className=\"mb-2 me-4\" />\r\n              )}\r\n              {hasHref(props.fields?.CtaLink) && (\r\n                <Button field={props.fields?.CtaLink} variant=\"tertiary\" />\r\n              )}\r\n            </div>\r\n          )}\r\n        </div>\r\n        {props.fields?.Text && (\r\n          <div className=\"col-12 col-md-6 col-lg-6 offset-lg-1 mt-8 mt-md-0\">\r\n            <RichText field={props.fields?.Text} />\r\n          </div>\r\n        )}\r\n      </div>\r\n      <div className=\"row row-cols-2 row-cols-md-4 row-cols-lg-auto mt-8 mt-lg-12 small\">\r\n        <Placeholder name=\"ph-aw-common-teaserbox-images\" rendering={props.rendering} />\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_teaserbox_images_bottom))\r\n","import React from 'react'\r\nimport { RichText, Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { Button } from '../../common/Button'\r\nimport '../aw_common_teaserbox_text/TeaserBox.scss'\r\nimport { hasHref } from '../../util'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Subheadline\r\n * @param {Object} props.fields.Headline\r\n * @param {Object} props.fields.CtaButton\r\n * @param {Object} props.fields.CtaLink\r\n * @param {Object} props.fields.Text\r\n * @property {boolean} props.rendering\r\n */\r\n\r\nconst aw_common_teaserbox_images_left = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div className=\"teaserbox container component\">\r\n      <div\r\n        className=\"row align-items-center\"\r\n        data-navigation-label={props.params.InPageNavigationLabel}\r\n        id={id}\r\n      >\r\n        <div className=\"col-12 col-md-6 col-lg-7\">\r\n          <div className=\"row row-cols-2 row-cols-md-2 row-cols-lg-auto mb-8 mb-md-0 small\">\r\n            <Placeholder name=\"ph-aw-common-teaserbox-images\" rendering={props.rendering} />\r\n          </div>\r\n        </div>\r\n        <div className=\"col-12 col-md-6 col-lg-4 offset-lg-1 d-flex flex-column justify-content-center\">\r\n          <Text className=\"mb-4 mb-md-6 h4\" field={props.fields?.Subheadline} tag=\"p\" />\r\n          <Text field={props.fields?.Headline} tag=\"h2\" />\r\n          <RichText className=\"mt-4 mt-md-6\" field={props.fields.Text} />\r\n          {(hasHref(props.fields?.CtaButton) || hasHref(props.fields?.CtaLink)) && (\r\n            <div className=\"d-flex flex-wrap justify-content-start mt-4 mt-md-6\">\r\n              {hasHref(props.fields?.CtaButton) && (\r\n                <Button field={props.fields?.CtaButton} variant=\"secondary\" className=\"mb-2 me-4\" />\r\n              )}\r\n              {hasHref(props.fields?.CtaLink) && (\r\n                <Button field={props.fields?.CtaLink} variant=\"tertiary\" />\r\n              )}\r\n            </div>\r\n          )}\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_teaserbox_images_left))\r\n","import React from 'react'\r\nimport { RichText, Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { Button } from '../../common/Button'\r\nimport '../aw_common_teaserbox_text/TeaserBox.scss'\r\nimport { hasHref } from '../../util'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Subheadline\r\n * @param {Object} props.fields.Headline\r\n * @param {Object} props.fields.CtaButton\r\n * @param {Object} props.fields.CtaLink\r\n * @param {Object} props.fields.Text\r\n * @property {boolean} props.rendering\r\n */\r\n\r\nconst aw_common_teaserbox_images_right = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div className=\"teaserbox container component\">\r\n      <div\r\n        className=\"row align-items-center\"\r\n        data-navigation-label={props.params.InPageNavigationLabel}\r\n        id={id}\r\n      >\r\n        <div className=\"col-12 col-md-6 col-lg-4 d-flex flex-column justify-content-center\">\r\n          <Text className=\"mb-4 mb-md-6 h4\" field={props.fields?.Subheadline} tag=\"p\" />\r\n          <Text field={props.fields?.Headline} tag=\"h2\" />\r\n          <RichText className=\"mt-4 mt-md-6\" field={props.fields.Text} />\r\n          {(hasHref(props.fields?.CtaButton) || hasHref(props.fields?.CtaLink)) && (\r\n            <div className=\"d-flex flex-wrap justify-content-start mt-4 mt-md-6\">\r\n              {hasHref(props.fields?.CtaButton) && (\r\n                <Button field={props.fields?.CtaButton} variant=\"secondary\" className=\"mb-2 me-4\" />\r\n              )}\r\n              {hasHref(props.fields?.CtaLink) && (\r\n                <Button field={props.fields?.CtaLink} variant=\"tertiary\" />\r\n              )}\r\n            </div>\r\n          )}\r\n        </div>\r\n        <div className=\"col-12 col-md-6 col-lg-7 offset-lg-1\">\r\n          <div className=\"row row-cols-2 row-cols-md-2 row-cols-lg-auto mt-8 mt-md-0 small\">\r\n            <Placeholder name=\"ph-aw-common-teaserbox-images\" rendering={props.rendering} />\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_teaserbox_images_right))\r\n","import React from 'react'\r\nimport { Image } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport '../aw_common_teaserbox_text/TeaserBox.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Image\r\n */\r\n\r\nconst aw_common_teaserbox_image_inset = (props) => (\r\n  <div className=\"col\">\r\n    {props.fields?.Image && <Image field={props.fields?.Image} loading=\"lazy\" />}\r\n  </div>\r\n)\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_teaserbox_image_inset))\r\n","import React from 'react'\r\nimport { Text, Image, RichText } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { Icon } from '../../common/Icon'\r\n\r\nimport { Button } from '../../common/Button'\r\nimport '../aw_common_teaserbox_text/TeaserBox.scss'\r\nimport { hasHref } from '../../util'\r\nimport { isClient } from '../../util'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Subheadline\r\n * @param {Object} props.fields.Headline\r\n * @param {Object} props.fields.CtaButton\r\n * @param {Object} props.fields.CtaLink\r\n * @param {Object} props.fields.Text\r\n * @param {Object} props.fields.Video\r\n * @param {String} props.fields.Video.value\r\n */\r\n\r\nconst aw_common_teaserbox_image_left = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  const videoId = props.fields.Video?.value\r\n\r\n  const openVideoModal = () => {\r\n    if (!isClient()) return\r\n    const openModalEvent = new CustomEvent('openModal', {\r\n      detail: { type: 'videoModal', videoId },\r\n    })\r\n    window.dispatchEvent(openModalEvent)\r\n  }\r\n\r\n  return (\r\n    <div className=\"teaserbox container component\">\r\n      <div\r\n        className=\"row align-items-center\"\r\n        data-navigation-label={props.params.InPageNavigationLabel}\r\n        id={id}\r\n      >\r\n        <div className=\"teaserbox__asset-wrapper col-12 col-md-6 col-lg-7 mb-8 mb-md-0 d-none d-md-block\">\r\n          <Image field={props.fields?.Image} loading=\"lazy\" />\r\n          {videoId && (\r\n            <button\r\n              onClick={openVideoModal}\r\n              aria-label={props.t('aw_common_play_video')}\r\n              className=\"teaserbox__play-button\"\r\n            >\r\n              <Icon name=\"play\" size={64} />\r\n            </button>\r\n          )}\r\n        </div>\r\n        <div className=\"col-12 col-md-6 col-lg-4 offset-lg-1 d-flex flex-column justify-content-center\">\r\n          <Text className=\"mb-4 mb-md-6 h4\" field={props.fields?.Subheadline} tag=\"p\" />\r\n          <Text field={props.fields?.Headline} tag=\"h2\" />\r\n          <div className=\"teaserbox__asset-wrapper col-12 col-md-6 col-lg-7 offset-lg-1 mt-8 mt-md-0 d-sm-block d-md-none\">\r\n            <Image field={props.fields?.Image} loading=\"lazy\" />\r\n            {videoId && (\r\n              <button\r\n                onClick={openVideoModal}\r\n                aria-label={props.t('aw_common_play_video')}\r\n                className=\"teaserbox__play-button\"\r\n              >\r\n                <Icon name=\"play\" size={64} />\r\n              </button>\r\n            )}\r\n          </div>\r\n          <RichText className=\"mt-4 mt-md-6\" field={props.fields?.Text} />\r\n          {(hasHref(props.fields?.CtaButton) || hasHref(props.fields?.CtaLink)) && (\r\n            <div className=\"d-flex flex-wrap justify-content-start mt-4 mt-md-6\">\r\n              {hasHref(props.fields?.CtaButton) && (\r\n                <Button field={props.fields?.CtaButton} variant=\"secondary\" className=\"mb-2 me-4\" />\r\n              )}\r\n              {hasHref(props.fields?.CtaLink) && (\r\n                <Button field={props.fields?.CtaLink} variant=\"tertiary\" />\r\n              )}\r\n            </div>\r\n          )}\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_teaserbox_image_left))\r\n","import React from 'react'\r\nimport { Text, Image, RichText } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { Button } from '../../common/Button'\r\nimport { Icon } from '../../common/Icon'\r\nimport '../aw_common_teaserbox_text/TeaserBox.scss'\r\nimport { hasHref, isClient } from '../../util'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Subheadline\r\n * @param {Object} props.fields.Headline\r\n * @param {Object} props.fields.CtaButton\r\n * @param {Object} props.fields.CtaLink\r\n * @param {Object} props.fields.Text\r\n * @param {Object} props.fields.Image\r\n * * @param {Object} props.fields.Video\r\n * @param {String} props.fields.Video.value\r\n */\r\n\r\nconst aw_common_teaserbox_image_right = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  const videoId = props.fields.Video?.value\r\n\r\n  const openVideoModal = () => {\r\n    if (!isClient()) return\r\n    const openModalEvent = new CustomEvent('openModal', {\r\n      detail: { type: 'videoModal', videoId },\r\n    })\r\n    window.dispatchEvent(openModalEvent)\r\n  }\r\n\r\n  return (\r\n    <div\r\n      className=\"teaserbox container component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      <div className=\"row align-items-center\">\r\n        <div className=\"col-12 col-md-6 col-lg-4 d-flex flex-column justify-content-center\">\r\n          <Text className=\"mb-4 mb-md-6 h4\" field={props.fields?.Subheadline} tag=\"p\" />\r\n          <Text field={props.fields?.Headline} tag=\"h2\" />\r\n          <div className=\"teaserbox__asset-wrapper col-12 col-md-6 col-lg-7 offset-lg-1 mt-8 mt-md-0 d-sm-block d-md-none\">\r\n            <Image field={props.fields?.Image} loading=\"lazy\" />{' '}\r\n            {videoId && (\r\n              <button\r\n                onClick={openVideoModal}\r\n                aria-label={props.t('aw_common_play_video')}\r\n                className=\"teaserbox__play-button\"\r\n              >\r\n                <Icon name=\"play\" size={64} />\r\n              </button>\r\n            )}\r\n          </div>\r\n          <RichText className=\"mt-4 mt-md-6\" field={props.fields?.Text} />\r\n          {(hasHref(props.fields?.CtaButton) || hasHref(props.fields?.CtaLink)) && (\r\n            <div className=\"d-flex flex-wrap justify-content-start mt-4 mt-md-6\">\r\n              {hasHref(props.fields?.CtaButton) && (\r\n                <Button field={props.fields?.CtaButton} variant=\"secondary\" className=\"mb-2 me-4\" />\r\n              )}\r\n              {hasHref(props.fields?.CtaLink) && (\r\n                <Button field={props.fields?.CtaLink} variant=\"tertiary\" />\r\n              )}\r\n            </div>\r\n          )}\r\n        </div>\r\n        <div className=\"teaserbox__asset-wrapper col-12 col-md-6 col-lg-7 offset-lg-1 mt-8 mt-md-0 d-none d-md-block\">\r\n          <Image field={props.fields?.Image} loading=\"lazy\" />\r\n          {videoId && (\r\n            <button\r\n              onClick={openVideoModal}\r\n              aria-label={props.t('aw_common_play_video')}\r\n              className=\"teaserbox__play-button\"\r\n            >\r\n              <Icon name=\"play\" size={64} />\r\n            </button>\r\n          )}\r\n        </div>\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_teaserbox_image_right))\r\n","import React from 'react'\r\nimport { RichText, Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { Button } from '../../common/Button'\r\nimport './TeaserBox.scss'\r\nimport { hasHref } from '../../util'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.Subheadline\r\n * @param {Object} props.fields.Headline\r\n * @param {Object} props.fields.CtaButton\r\n * @param {Object} props.fields.CtaLink\r\n * @param {Object} props.fields.Text\r\n */\r\n\r\nconst aw_common_teaserbox_text = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div className=\"teaserbox container component\">\r\n      <div className=\"row\" data-navigation-label={props.params.InPageNavigationLabel}>\r\n        <Text className=\"mb-4 mb-md-6 h4\" field={props.fields?.Subheadline} tag=\"p\" id={id} />\r\n        <div className=\"col-12 col-md-6 col-lg-4\">\r\n          <Text field={props.fields.Headline} tag=\"h2\" />\r\n          {(hasHref(props.fields?.CtaButton) || hasHref(props.fields?.CtaLink)) && (\r\n            <div className=\"d-flex flex-wrap justify-content-start mt-4 mt-md-6\">\r\n              {hasHref(props.fields?.CtaButton) && (\r\n                <Button field={props.fields?.CtaButton} variant=\"secondary\" className=\"mb-2 me-4\" />\r\n              )}\r\n              {hasHref(props.fields?.CtaButton) && (\r\n                <Button field={props.fields.CtaLink} variant=\"tertiary\" />\r\n              )}\r\n            </div>\r\n          )}\r\n        </div>\r\n        {props.fields.Text && (\r\n          <div className=\"col-12 col-md-6 col-lg-6 offset-lg-1 mt-8 mt-md-0\">\r\n            <RichText field={props.fields?.Text} />\r\n          </div>\r\n        )}\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_teaserbox_text))\r\n","import React, { useState } from 'react'\r\nimport { withPlaceholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Icon } from '../../common/Icon'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {string} props.name\r\n * @param {Array} props.ph-aw-common-testimonials-insets\r\n * @param {function(string): string} t\r\n */\r\nconst Container = (props) => {\r\n  const insets = props['ph-aw-common-testimonials-insets']\r\n  const [index, setIndex] = useState(0)\r\n  const { t } = props\r\n\r\n  const forward = () => {\r\n    if (index + 1 < insets.length) {\r\n      setIndex(index + 1)\r\n    } else {\r\n      setIndex(0)\r\n    }\r\n  }\r\n\r\n  const backward = () => {\r\n    if (index - 1 >= 0) {\r\n      setIndex(index - 1)\r\n    } else {\r\n      setIndex(insets.length - 1)\r\n    }\r\n  }\r\n\r\n  return (\r\n    <div className=\"testimonials-inset\">\r\n      {insets && insets.length > 1 && (\r\n        <button\r\n          className=\"testimonials__left-arrow\"\r\n          onClick={backward}\r\n          aria-label={t('aw_common_testimonials_prev_label')}\r\n        >\r\n          <Icon name=\"arrow\" size={32} rotate={180} />\r\n        </button>\r\n      )}\r\n      {insets && insets.length > 1 && (\r\n        <button\r\n          className=\"testimonials__right-arrow\"\r\n          onClick={forward}\r\n          aria-label={t('aw_common_testimonials_next_label')}\r\n        >\r\n          <Icon name=\"arrow\" size={32} />\r\n        </button>\r\n      )}\r\n      {insets && insets.length > 0 && insets[index]}\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withPlaceholder('ph-aw-common-testimonials-insets')(Container)\r\n","import React from 'react'\r\nimport { withSitecoreContext, Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport './Testimonials.scss'\r\nimport Container from './Container'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationLabel\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.rendering\r\n * @param {Object} props.rendering.placeholders\r\n * @param {Array} props.rendering.placeholders.ph-aw-common-testimonials-insets\r\n * @param {function(string): string} t\r\n */\r\nconst aw_common_testimonials = (props) => {\r\n  const id = props.rendering?.uid\r\n  const isEditing = props.sitecoreContext && props.sitecoreContext.pageEditing\r\n\r\n  return (\r\n    <div\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      className=\"testimonials container component\"\r\n      id={id}\r\n    >\r\n      {!isEditing && (\r\n        <Container\r\n          name=\"ph-aw-common-testimonials-insets\"\r\n          rendering={props.rendering}\r\n          t={props.t}\r\n        />\r\n      )}\r\n      {isEditing && (\r\n        <Placeholder name=\"ph-aw-common-testimonials-insets\" rendering={props.rendering} />\r\n      )}\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_testimonials))\r\n","import React from 'react'\r\nimport { Text, RichText, Image } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { Button } from '../../common/Button'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.CtaButton\r\n * @param {Object} props.fields.Headline\r\n * @param {Object} props.fields.Image\r\n * @param {Object} props.fields.Subline\r\n * @param {Object} props.fields.TopChar\r\n */\r\nconst aw_common_testimonials_inset_image = (props) => (\r\n  <>\r\n    <div className=\"testimonials-inset__img-container\">\r\n      {props.fields?.Image && (\r\n        <div className=\"testimonials-inset__img\">\r\n          <Image field={props.fields?.Image} loading=\"lazy\" />\r\n        </div>\r\n      )}\r\n    </div>\r\n    {props.fields?.Headline && (\r\n      <Text\r\n        field={props.fields?.Headline}\r\n        tag=\"blockquote\"\r\n        className=\"h2 testimonials-inset__quote\"\r\n      />\r\n    )}\r\n    {props.fields?.Subline && <RichText field={props.fields?.Subline} />}\r\n    {props.fields?.CtaButton && props.fields?.CtaButton.href && (\r\n      <Button field={props.fields?.CtaButton} variant=\"secondary\" />\r\n    )}\r\n  </>\r\n)\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_testimonials_inset_image))\r\n","import React from 'react'\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport { Button } from '../../common/Button'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.fields\r\n * @param {Object} props.fields.CtaButton\r\n * @param {Object} props.fields.Headline\r\n * @param {Object} props.fields.Image\r\n * @param {Object} props.fields.Subline\r\n * @param {Object} props.fields.TopChar\r\n */\r\n\r\nconst aw_common_testimonials_inset_text = (props) => {\r\n  const { t, fields } = props\r\n  return (\r\n    <figure aria-label={t('aw_common_testimonials_label')}>\r\n      {fields?.TopChar && (\r\n        <Text\r\n          field={fields?.TopChar}\r\n          tag=\"span\"\r\n          className=\"testimonials-inset__top-char\"\r\n          aria-hidden=\"true\"\r\n        />\r\n      )}\r\n      {fields?.Headline && (\r\n        <Text field={fields?.Headline} tag=\"blockquote\" className=\"h2 testimonials-inset__quote\" />\r\n      )}\r\n      <figcaption aria-label={t('aw_common_testimonials_author_label')}>\r\n        {fields?.Subline && <RichText field={fields?.Subline} />}\r\n      </figcaption>\r\n      {fields?.CtaButton && fields?.CtaButton.href && (\r\n        <Button field={fields?.CtaButton} variant=\"secondary\" />\r\n      )}\r\n    </figure>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_common_testimonials_inset_text))\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport './SlimContent.scss'\r\n\r\nconst aw_content_slim = (props) => {\r\n  return (\r\n    <div className=\"slim_content__container\">\r\n      <Placeholder name=\"ph-aw-content-slim\" rendering={props.rendering} />\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_content_slim))\r\n","import React, { useState } from 'react'\r\nimport classNames from 'classnames'\r\nimport { Icon } from '../../common/Icon'\r\nimport { Collapse } from '../../common/Collapse'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {string | number} props.id\r\n * @param {string} props.label\r\n */\r\nexport const FooterCollapse = ({ id, label, children }) => {\r\n  const [isOpen, setOpen] = useState(false)\r\n\r\n  return (\r\n    <>\r\n      <button\r\n        type=\"button\"\r\n        className=\"footer__collapse-btn h4\"\r\n        onClick={() => setOpen((prev) => !prev)}\r\n        id={`footerCollapseBtn_${id}`}\r\n        aria-expanded={isOpen}\r\n        aria-controls={`footerCollapseContent_${id}`}\r\n      >\r\n        <span className=\"me-2\">{label}</span>\r\n        <Icon\r\n          name=\"arrow\"\r\n          rotate={isOpen ? 270 : 90}\r\n          size={24}\r\n          className={classNames({\r\n            'footer__collapse-icon': true,\r\n            'footer__collapse-icon--open': isOpen,\r\n          })}\r\n        />\r\n      </button>\r\n      <Collapse\r\n        isOpen={isOpen}\r\n        id={`footerCollapseContent_${id}`}\r\n        aria-labelledby={`footerCollapseBtn_${id}`}\r\n      >\r\n        <div className=\"footer__collapse-inner\">{children}</div>\r\n      </Collapse>\r\n    </>\r\n  )\r\n}\r\n","import React from 'react'\r\nimport { Link, Text, RichText } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport Media from 'react-media'\r\nimport { Icon } from '../../common/Icon'\r\nimport { FooterCollapse } from './FooterCollapse'\r\n\r\nimport './Footer.scss'\r\n\r\n/**\r\n * @typedef {Object} JSSTextField\r\n * @property {string} value\r\n *\r\n * @typedef {Object} JSSLinkField\r\n * @property {Object} value\r\n * @property {string} value.href\r\n * @property {string} value.text\r\n * @property {string} value.url\r\n * @property {string} value.target\r\n * @property {string} value.title\r\n *\r\n * @typedef {Object} Props\r\n * @property {Object} sitecoreContext\r\n * @property {boolean} sitecoreContext.pageEditing\r\n * @property {Fields} fields\r\n * @property {function(string): string} t\r\n *\r\n * @typedef {Object} Fields\r\n * @property {RootFields[]} items\r\n *\r\n * @typedef {Object} RootFields\r\n * @property {Object} fields\r\n * @property {JSSTextField} fields.Logo\r\n * @property {JSSTextField} fields.Address\r\n * @property {JSSTextField} fields.Phone\r\n * @property {JSSLinkField} fields.Email\r\n * @property {JSSTextField} fields.Caption\r\n * @property {Child[]} roots\r\n *\r\n * @typedef {Object} Child\r\n * @property {string} id\r\n * @property {string} name\r\n * @property {string} displayName\r\n * @property {'aw_navigation_footer_datasource_items_container' | 'aw_navigation_footer_datasource_toplevel_item' | 'aw_navigation_footer_datasource_offices_container' | 'aw_navigation_footer_datasource_offices_item' | 'aw_navigation_footer_datasource_social_container' | 'aw_navigation_footer_datasource_social_item' | 'aw_navigation_footer_datasource_subfooter_container' | 'aw_navigation_footer_datasource_subfooter_item'} template\r\n * @property {Array} items\r\n *\r\n * @typedef {Object} SocialItemFields\r\n * @property {Object} fields\r\n * @property {JSSTextField} fields.Icon\r\n * @property {JSSLinkField} fields.Link\r\n *\r\n * @typedef {SocialItemFields & Child} SocialItem\r\n *\r\n * @typedef {Object} OfficeFields\r\n * @property {Object} fields\r\n * @property {JSSTextField} fields.Address\r\n * @property {JSSTextField} fields.Location\r\n *\r\n * @typedef {OfficeFields & Child} Office\r\n *\r\n * @typedef {Object} SubFooterLinkFields\r\n * @property {Object} fields\r\n * @property {JSSLinkField} fields.Link\r\n *\r\n * @typedef {SubFooterLinkFields & Child} SubFooterLink\r\n *\r\n * @typedef {Object} TopFooterLinkFields\r\n * @property {Object} fields\r\n * @property {JSSLinkField} fields.Link\r\n *\r\n * @typedef {TopFooterLinkFields & Child} TopFooterLink\r\n *\r\n * @param {Props} props\r\n */\r\nconst aw_navigation_footer = (props) => {\r\n  const { sitecoreContext, t } = props\r\n  const isEditing = sitecoreContext && sitecoreContext.pageEditing\r\n  const { fields } = props\r\n  const roots = props.fields.items\r\n\r\n  /**\r\n   * @type {TopFooterLink[]}\r\n   */\r\n  const topFooterLinks =\r\n    roots.find((child) => child.template === 'aw_navigation_footer_datasource_items_container')\r\n      ?.items ?? []\r\n\r\n  /**\r\n   * @type {SocialItem[]}\r\n   */\r\n  const socialItems =\r\n    roots.find((child) => child.template === 'aw_navigation_footer_datasource_social_container')\r\n      ?.items ?? []\r\n\r\n  /**\r\n   * @type {Office[]}\r\n   */\r\n  const offices =\r\n    roots.find((child) => child.template === 'aw_navigation_footer_datasource_offices_container')\r\n      ?.items ?? []\r\n\r\n  /**\r\n   * @type {SubFooterLink[]}\r\n   */\r\n  const subFooterLinks =\r\n    roots.find((child) => child.template === 'aw_navigation_footer_datasource_subfooter_container')\r\n      ?.items ?? []\r\n\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <footer className=\"footer\" id={id}>\r\n      <div className=\"container\">\r\n        <div className=\"row\">\r\n          <div className=\"col-12 col-md-6 col-lg-4\">\r\n            <div className=\"mb-10 mb-lg-15\">\r\n              <Icon name={fields.Logo.value} width={130} height={20} className=\"footer__logo\" />\r\n            </div>\r\n            <div>\r\n              <span className=\"fw-bold me-4\" aria-hidden=\"true\">\r\n                {t('aw_navigation_footer_email_short_label')}:\r\n              </span>\r\n              <span className=\"visually-hidden\">{t('aw_navigation_footer_email_label')}</span>\r\n              <Link field={fields.Email} />\r\n            </div>\r\n            <div className=\"mb-16\">\r\n              <span className=\"fw-bold me-4\" aria-hidden=\"true\">\r\n                {t('aw_navigation_footer_phone_short_label')}:\r\n              </span>\r\n              <span className=\"visually-hidden\">{t('aw_navigation_footer_phone_label')}</span>\r\n              <a href={`tel:${fields.Phone.value}`}>\r\n                {isEditing ? <Text field={fields.Phone} /> : fields.Phone.value}\r\n              </a>\r\n            </div>\r\n            <RichText field={fields.Address} className=\"footer__address mb-10\" />\r\n          </div>\r\n\r\n          {/* top links */}\r\n          <div className=\"col-12 col-md-6 col-lg-8 mb-8 mb-lg-0\">\r\n            {topFooterLinks.length > 0 && (\r\n              <div className=\"row\">\r\n                {topFooterLinks.map(({ fields, items }, idx) => (\r\n                  <div key={idx} className=\"col-12 col-lg-6 col-xl-4 col-xxl-3 mb-lg-8\">\r\n                    <Media query=\"(max-width: 991px)\">\r\n                      {(matches) => {\r\n                        // mobile markup\r\n                        if (matches) {\r\n                          return (\r\n                            <FooterCollapse id={idx} label={fields.Link.value.text}>\r\n                              {items.length > 0 && (\r\n                                <ul className=\"footer__list-toplinks\">\r\n                                  {items.map(({ fields }, idx) => (\r\n                                    <li key={idx} className=\"footer__list-toplinks__item\">\r\n                                      <Link field={fields.Link} editable={false}>\r\n                                        {fields.Title.value}\r\n                                      </Link>\r\n                                    </li>\r\n                                  ))}\r\n                                </ul>\r\n                              )}\r\n                            </FooterCollapse>\r\n                          )\r\n                        }\r\n\r\n                        // desktop markup\r\n                        return (\r\n                          <>\r\n                            <h2 className=\"h4 mb-4 mb-lg-15\">\r\n                              <Link field={fields.Link} editable={false}>\r\n                                {fields.Title.value}\r\n                              </Link>\r\n                            </h2>\r\n                            {items.length > 0 && (\r\n                              <ul className=\"footer__list-toplinks\">\r\n                                {items.map(({ fields }, idx) => (\r\n                                  <li key={idx} className=\"footer__list-toplinks__item\">\r\n                                    <Link field={fields.Link} editable={false}>\r\n                                      {fields.Title.value}\r\n                                    </Link>\r\n                                  </li>\r\n                                ))}\r\n                              </ul>\r\n                            )}\r\n                          </>\r\n                        )\r\n                      }}\r\n                    </Media>\r\n                  </div>\r\n                ))}\r\n              </div>\r\n            )}\r\n          </div>\r\n          {/* /top links */}\r\n        </div>\r\n\r\n        <Text field={fields.Caption} tag=\"h2\" className=\"h2 mb-8\" />\r\n\r\n        {/* offices */}\r\n        <div className=\"row\">\r\n          {offices.length > 0 &&\r\n            offices.map(({ fields }, idx) => (\r\n              <div key={idx} className=\"col-12 col-md-6 col-lg-4 col-xl-3 mb-4\">\r\n                <div className=\"footer__office\">\r\n                  <Text field={fields.Location} tag=\"h3\" className=\"h4 mb-8\" />\r\n                  <RichText field={fields.Address} tag=\"div\" className=\"footer__office__address\" />\r\n                </div>\r\n              </div>\r\n            ))}\r\n        </div>\r\n        {/* /offices */}\r\n\r\n        <div className=\"row align-items-center\">\r\n          {/* social medias */}\r\n          <div className=\"col-12 col-lg-6 mb-4 mb-lg-0\">\r\n            {socialItems.length > 0 && (\r\n              <ul\r\n                aria-label={t('aw_navigation_footer_social_media_label')}\r\n                className=\"footer__list-social\"\r\n              >\r\n                {socialItems.map(({ name, fields }, idx) => (\r\n                  <li key={idx} className=\"footer__list-social__item\">\r\n                    <Link field={fields.Link} aria-label={name}>\r\n                      <Icon name={fields.Icon.value.toLowerCase()} size={24} />\r\n                    </Link>\r\n                  </li>\r\n                ))}\r\n              </ul>\r\n            )}\r\n          </div>\r\n          {/* /social medias */}\r\n\r\n          {/* sub links */}\r\n          <div className=\"col-12 col-lg-6\">\r\n            {subFooterLinks.length > 0 && (\r\n              <nav aria-label={t('aw_navigation_footer_navigation_label')}>\r\n                <ul className=\"footer__list-sublinks\">\r\n                  {subFooterLinks.map(({ fields }, idx) => (\r\n                    <li key={idx} className=\"footer__list-sublinks__item\">\r\n                      <Link field={fields.Link} editable={false}>\r\n                        {fields.Title.value}\r\n                      </Link>\r\n                    </li>\r\n                  ))}\r\n                </ul>\r\n              </nav>\r\n            )}\r\n          </div>\r\n          {/* /sub links */}\r\n        </div>\r\n      </div>\r\n    </footer>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_navigation_footer))\r\n","import React from 'react'\r\nimport { Link, Text } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport { Button } from '../../common/Button'\r\nimport './Links.scss'\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Object} props.params\r\n * @param {string} props.params.InPageNavigationVisible\r\n * @param {Object} props.fields\r\n * @param {Array} props.fields.items\r\n */\r\n\r\nconst aw_navigation_links = (props) => {\r\n  const id = props.rendering?.uid\r\n\r\n  return (\r\n    <div\r\n      className=\"links container component\"\r\n      data-navigation-label={props.params.InPageNavigationLabel}\r\n      id={id}\r\n    >\r\n      <div className=\"row\">\r\n        <div className=\"col-12 col-lg-3 links-heading\">\r\n          {props.fields?.Caption && <Text field={props.fields?.Caption} tag=\"h3\" className=\"h2\" />}\r\n        </div>\r\n        {props.fields?.items &&\r\n          props.fields.items.map((item, idx) => (\r\n            <div key={idx} className=\"col-12 col-md-6 col-lg-3\">\r\n              {item.items && item.items.length > 0 && (\r\n                <ul>\r\n                  {item.items.map((childItem) => (\r\n                    <li key={childItem.id}>\r\n                      <Link field={childItem.fields?.Link} />\r\n                    </li>\r\n                  ))}\r\n                </ul>\r\n              )}\r\n            </div>\r\n          ))}\r\n      </div>\r\n      {props.fields?.CtaButton && props.fields?.CtaButton.value?.href && (\r\n        <Button field={props.fields?.CtaButton} variant=\"secondary\" />\r\n      )}\r\n    </div>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_navigation_links))\r\n","import { Link } from '@sitecore-jss/sitecore-jss-react'\r\nimport React, { useRef, useEffect } from 'react'\r\nimport { Button } from '../../common/Button'\r\nimport { Icon } from '../../common/Icon'\r\n\r\nimport { isClient } from '../../util'\r\n\r\nimport './Navigation.scss'\r\nimport classNames from 'classnames'\r\n\r\n/**\r\n * @typedef {Object} Item\r\n * @property {Array<Item>} childs\r\n * @property {string} displayName\r\n * @property {Object} fields\r\n * @property {string} id\r\n * @property {string} name\r\n * @property {string} template\r\n *\r\n * @param {Object} props\r\n * @param {Array<Item>} props.items\r\n * @param {function(): void} props.onMouseLeave\r\n * @param {function(): void} props.onMouseEnter\r\n * @param {function(string): string} props.t\r\n * @param {\"mobile\" | \"desktop\"} props.type\r\n * @param {Item} button\r\n */\r\nexport const LevelMenu = ({\r\n  isVisible,\r\n  items,\r\n  activeTopLink,\r\n  activeItem,\r\n  onMouseLeave,\r\n  onMouseEnter,\r\n  type,\r\n  button,\r\n  t,\r\n  parentLiRef,\r\n  setActiveItem,\r\n}) => {\r\n  const parentDivElement = useRef()\r\n\r\n  useEffect(() => {\r\n    if (!isVisible || !isClient()) return\r\n    let indexOfAnchor = null\r\n    const dropdownLinks = Array.from(parentDivElement.current.querySelectorAll('a'))\r\n    const parrentLink = type !== 'mobile' ? parentLiRef.current.querySelector('a') : null\r\n\r\n    const handleKeyDown = (e) => {\r\n      switch (e.key) {\r\n        default: {\r\n          return\r\n        }\r\n        case 'ArrowDown': {\r\n          e.preventDefault()\r\n          if (indexOfAnchor === dropdownLinks.length - 1 || indexOfAnchor === null) {\r\n            indexOfAnchor = 0\r\n          } else {\r\n            indexOfAnchor++\r\n          }\r\n          dropdownLinks[indexOfAnchor].focus()\r\n          return\r\n        }\r\n\r\n        case 'ArrowUp': {\r\n          e.preventDefault()\r\n          if (indexOfAnchor === 0 || indexOfAnchor === null) {\r\n            indexOfAnchor = dropdownLinks.length - 1\r\n          } else {\r\n            indexOfAnchor--\r\n          }\r\n          dropdownLinks[indexOfAnchor].focus()\r\n          return\r\n        }\r\n        case 'Home': {\r\n          e.preventDefault()\r\n          indexOfAnchor = 0\r\n          dropdownLinks[indexOfAnchor].focus()\r\n          return\r\n        }\r\n        case 'End': {\r\n          e.preventDefault()\r\n          indexOfAnchor = dropdownLinks.length - 1\r\n          dropdownLinks[indexOfAnchor].focus()\r\n          return\r\n        }\r\n        case 'Escape': {\r\n          if (parrentLink === null) return\r\n          indexOfAnchor = null\r\n          parrentLink.focus()\r\n          return\r\n        }\r\n      }\r\n    }\r\n\r\n    window.addEventListener('keydown', handleKeyDown)\r\n\r\n    return () => {\r\n      window.removeEventListener('keydown', handleKeyDown)\r\n    }\r\n    // eslint-disable-next-line react-hooks/exhaustive-deps\r\n  }, [isVisible])\r\n\r\n  const toggleByMouseOver = (enter) => {\r\n    if (type === 'mobile') return\r\n\r\n    if (enter) {\r\n      onMouseEnter()\r\n    } else {\r\n      onMouseLeave()\r\n    }\r\n  }\r\n\r\n  const backToMainMenu = () => {\r\n    const isSecondLevelMenu = activeTopLink === activeItem\r\n\r\n    if (type === 'mobile') {\r\n      isSecondLevelMenu ? onMouseLeave() : setActiveItem(activeTopLink)\r\n    }\r\n  }\r\n\r\n  return (\r\n    <div\r\n      className={classNames('navigation__submenu', {\r\n        'navigation__submenu_active': isVisible,\r\n      })}\r\n      onMouseLeave={() => {\r\n        toggleByMouseOver(false)\r\n      }}\r\n      onMouseEnter={() => {\r\n        toggleByMouseOver(true)\r\n      }}\r\n    >\r\n      <div className=\"container\">\r\n        {type === 'mobile' && (\r\n          <button className=\"navigation__submenu__back-button\" onClick={backToMainMenu}>\r\n            <Icon name=\"arrow\" rotate={180} size={20} />\r\n            <span>{t('aw_navigation_main_back')}</span>\r\n          </button>\r\n        )}\r\n        <div\r\n          className={classNames('navigation__submenu__lists', {\r\n            'has_submenu': items[0].items.length,\r\n          })}\r\n          ref={parentDivElement}\r\n        >\r\n          {items.map((item, idx) => {\r\n            return (\r\n              <ul key={idx}>\r\n                <li>\r\n                  <Link\r\n                    field={item.fields?.Link}\r\n                    editable={false}\r\n                    tabIndex={type === 'mobile' ? 0 : -1}\r\n                    onClick={(e) => {\r\n                      if (type === 'mobile' && item.items?.length) {\r\n                        e.preventDefault()\r\n                      }\r\n\r\n                      setActiveItem(item)\r\n                    }}\r\n                  >\r\n                    {item.fields?.Title?.value}\r\n                    {type === 'mobile' && item.items?.length > 0 && (\r\n                      <Icon name=\"arrow\" rotate={type === 'mobile' ? 0 : 90} size={20} />\r\n                    )}\r\n                  </Link>\r\n                </li>\r\n                {type !== 'mobile' &&\r\n                  item.items.map((childItem, childIdx) => {\r\n                    return (\r\n                      <li key={childIdx}>\r\n                        <Link field={childItem.fields?.Link} tabIndex={type === 'mobile' ? 0 : -1}>\r\n                          {childItem.fields?.Title?.value}\r\n                        </Link>\r\n                      </li>\r\n                    )\r\n                  })}\r\n              </ul>\r\n            )\r\n          })}\r\n        </div>\r\n        {type === 'mobile' && (\r\n          <ul>\r\n            <li className=\"navigation__menu__button\">\r\n              <Button\r\n                field={{\r\n                  value: {\r\n                    text: button?.displayName,\r\n                  },\r\n                }}\r\n                variant=\"primary\"\r\n              />\r\n            </li>\r\n          </ul>\r\n        )}\r\n      </div>\r\n    </div>\r\n  )\r\n}\r\n","import React, { useState, createRef } from 'react'\r\nimport { Icon } from '../../common/Icon'\r\nimport { Button } from '../../common/Button'\r\n\r\nimport './Navigation.scss'\r\nimport { LevelMenu } from './LevelMenu'\r\nimport classNames from 'classnames'\r\nimport { Link } from '@sitecore-jss/sitecore-jss-react'\r\n\r\n/**\r\n * @typedef {Object} Item\r\n * @property {Array<Item>} childs\r\n * @property {string} displayName\r\n * @property {Object} fields\r\n * @property {string} id\r\n * @property {string} name\r\n * @property {string} template\r\n *\r\n * @param {Object} props\r\n * @param {Array<Item>} props.items\r\n * @param {\"mobile\" | \"desktop\"} props.type\r\n * @param {function(string): string} props.t\r\n */\r\nexport const Menu = ({ items, type, t }) => {\r\n  const [activeItem, setActiveItem] = useState(null)\r\n  const [activeTopLink, setActiveTopLink] = useState(null)\r\n\r\n  const menuItems = items.filter(\r\n    (item) => item.template === 'aw_navigation_main_datasource_toplevel_item',\r\n  )\r\n\r\n  const topLevelLiRefs = menuItems.map(() => createRef())\r\n\r\n  return (\r\n    <nav aria-label={t('aw_navigation_primary')}>\r\n      {(activeItem === null || type !== 'mobile') && (\r\n        <ul className=\"navbar-nav nav navigation__menu\">\r\n          {menuItems.map((item, idx) => (\r\n            <li\r\n              ref={topLevelLiRefs[idx]}\r\n              className={classNames('nav-item', {\r\n                'nav-item--active': item === activeItem,\r\n                'dropdown': item.items?.length,\r\n              })}\r\n              key={idx}\r\n              onMouseEnter={() => {\r\n                if (type !== 'mobile') setActiveItem(item)\r\n              }}\r\n              onMouseLeave={() => {\r\n                if (type !== 'mobile') setActiveItem(null)\r\n              }}\r\n            >\r\n              <Link\r\n                field={item.fields?.Link}\r\n                editable={false}\r\n                onClick={(e) => {\r\n                  if (type === 'mobile' && item.items?.length) {\r\n                    e.preventDefault()\r\n                  }\r\n\r\n                  setActiveItem(item)\r\n                  setActiveTopLink(item)\r\n                }}\r\n                onFocus={() => {\r\n                  if (type !== 'mobile') setActiveItem(item)\r\n                }}\r\n                onKeyDown={({ key }) => {\r\n                  if (key === 'Tab') {\r\n                    setActiveItem(null)\r\n                  }\r\n                }}\r\n                className=\"nav-link\"\r\n              >\r\n                <span>{item.fields?.Title?.value}</span>\r\n                {item.items?.length > 0 && (\r\n                  <Icon name=\"arrow\" rotate={type === 'mobile' ? 0 : 90} size={20} />\r\n                )}\r\n              </Link>\r\n              {item.items?.length > 0 && (\r\n                <LevelMenu\r\n                  parentLiRef={topLevelLiRefs[idx]}\r\n                  isVisible={activeItem === item ? true : false}\r\n                  items={item.items}\r\n                  type={type}\r\n                  t={t}\r\n                  button={items[items.length - 1]}\r\n                  onMouseLeave={() => setActiveItem(null)}\r\n                  onMouseEnter={() => setActiveItem(activeItem)}\r\n                />\r\n              )}\r\n            </li>\r\n          ))}\r\n          <li className=\"navigation__menu__button\">\r\n            <Button field={items[items.length - 1].fields?.Link} variant=\"primary\" />\r\n          </li>\r\n        </ul>\r\n      )}\r\n      {type === 'mobile' && activeItem?.items?.length > 0 && (\r\n        <LevelMenu\r\n          isVisible={activeItem ? true : false}\r\n          items={activeItem.items}\r\n          activeTopLink={activeTopLink}\r\n          activeItem={activeItem}\r\n          type={type}\r\n          t={t}\r\n          button={items[items.length - 1]}\r\n          onMouseLeave={() => setActiveItem(null)}\r\n          onMouseEnter={() => setActiveItem(activeItem)}\r\n          setActiveItem={setActiveItem}\r\n        />\r\n      )}\r\n    </nav>\r\n  )\r\n}\r\n","import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport classNames from 'classnames'\r\nimport { Icon } from '../Icon'\r\n\r\nimport './LanguageSwitcher.scss'\r\nimport { isClient } from '../../util'\r\n\r\n/**\r\n * @typedef {Object} Language\r\n * @property {string} label\r\n * @property {string} url\r\n * @property {string} value\r\n * @property {string} title\r\n *\r\n */\r\n\r\n/**\r\n * @type {Language}\r\n */\r\nconst FALLBACK_LANGUAGE = {\r\n  label: 'EN',\r\n  url: '/',\r\n  value: 'en',\r\n  title: 'English',\r\n}\r\n\r\n/**\r\n * @param {Object} props\r\n * @param {Array<Language>} props.languages\r\n * @param {string} props.currentLanguageCode\r\n * @param {\"dropdown\" | \"inline\"} props.type\r\n * @param {function(string): string} props.t\r\n */\r\nconst LanguageSwitcher = ({ languages, currentLanguageCode, t, type = 'dropdown' }) => {\r\n  const [visible, setVisible] = useState(false)\r\n  const switcherRef = useRef(null)\r\n  const buttonRef = useRef(null)\r\n  /**\r\n   * @type {HTMLAnchorElement[]}\r\n   */\r\n  const languageLinks = Array.from(switcherRef?.current?.querySelectorAll('.dropdown-item') ?? [])\r\n  const activeLinkIndex = useRef(null)\r\n  const currLanguage = useMemo(\r\n    () =>\r\n      languages.find((l) => l.value.toLowerCase() === currentLanguageCode.toLowerCase()) ??\r\n      FALLBACK_LANGUAGE,\r\n    [languages, currentLanguageCode],\r\n  )\r\n\r\n  const handleKeyDown = useCallback(\r\n    (ev) => {\r\n      if (!languageLinks.length) return\r\n\r\n      switch (ev.key) {\r\n        case 'Escape':\r\n          setVisible(false)\r\n          buttonRef.current && buttonRef.current.focus()\r\n          break\r\n\r\n        case 'ArrowDown':\r\n          ev.preventDefault()\r\n\r\n          if (activeLinkIndex.current === null) {\r\n            activeLinkIndex.current = 0\r\n          } else if (activeLinkIndex.current < languageLinks.length - 1) {\r\n            activeLinkIndex.current++\r\n          }\r\n\r\n          languageLinks[activeLinkIndex.current].focus()\r\n          break\r\n\r\n        case 'ArrowUp':\r\n          ev.preventDefault()\r\n\r\n          if (activeLinkIndex.current === null) {\r\n            activeLinkIndex.current = languageLinks.length - 1\r\n          } else if (activeLinkIndex.current > 0) {\r\n            activeLinkIndex.current--\r\n          }\r\n\r\n          languageLinks[activeLinkIndex.current].focus()\r\n          break\r\n\r\n        case 'Tab':\r\n          if (activeLinkIndex.current === languageLinks.length - 1) {\r\n            setVisible(false)\r\n          }\r\n          break\r\n\r\n        default:\r\n          break\r\n      }\r\n    },\r\n    [languageLinks],\r\n  )\r\n\r\n  const handleClickOutside = useCallback((ev) => {\r\n    if (!switcherRef?.current?.contains(ev.target)) {\r\n      setVisible(false)\r\n    }\r\n  }, [])\r\n\r\n  useEffect(() => {\r\n    if (!isClient() || !visible || type === 'inline') return\r\n\r\n    document.addEventListener('keydown', handleKeyDown)\r\n    document.addEventListener('click', handleClickOutside)\r\n\r\n    return () => {\r\n      document.removeEventListener('keydown', handleKeyDown)\r\n      document.removeEventListener('click', handleClickOutside)\r\n    }\r\n  }, [visible, type, handleKeyDown, handleClickOutside])\r\n\r\n  // when dropdown menu is closed => reset the current index\r\n  useEffect(() => {\r\n    if (!visible) {\r\n      activeLinkIndex.current = null\r\n    }\r\n  }, [visible])\r\n\r\n  if (type === 'dropdown') {\r\n    return (\r\n      <div className=\"language-switcher language-switcher--dropdown ms-3\" ref={switcherRef}>\r\n        <button\r\n          className={classNames('btn language-switcher__toggle', {\r\n            'language-switcher__toggle--open': visible,\r\n          })}\r\n          type=\"button\"\r\n          id=\"dropdownLanguage\"\r\n          aria-expanded={visible}\r\n          aria-label={t('aw_navigation_change_language')}\r\n          onClick={() => setVisible(!visible)}\r\n          ref={buttonRef}\r\n        >\r\n          <span className=\"me-1\">{currLanguage.label}</span>\r\n          <Icon name=\"arrow\" size={18} rotate={90} />\r\n        </button>\r\n        <ul\r\n          className={classNames('dropdown-menu', { 'show': visible })}\r\n          aria-labelledby=\"dropdownLanguage\"\r\n        >\r\n          {languages\r\n            .filter((l) => l.value !== currentLanguageCode)\r\n            .map(({ label, url, title }, idx) => (\r\n              <li key={idx}>\r\n                <a\r\n                  className=\"dropdown-item\"\r\n                  href={url}\r\n                  onFocus={() => (activeLinkIndex.current = idx)}\r\n                  aria-label={title}\r\n                  title={title}\r\n                >\r\n                  {label}\r\n                </a>\r\n              </li>\r\n            ))}\r\n        </ul>\r\n      </div>\r\n    )\r\n  }\r\n\r\n  if (type === 'inline') {\r\n    return (\r\n      <div className=\"language-switcher language-switcher--inline\">\r\n        <ul className=\"language-switcher__list\" aria-label={t('aw_navigation_change_language')}>\r\n          {languages.map(({ label, url, title, value }, idx) => (\r\n            <li key={idx}>\r\n              <a\r\n                href={url}\r\n                aria-label={title}\r\n                className={classNames('language-switcher__language', {\r\n                  'language-switcher__language--active':\r\n                    value.toLowerCase() === currLanguage.value.toLowerCase(),\r\n                })}\r\n              >\r\n                {label}\r\n              </a>\r\n            </li>\r\n          ))}\r\n        </ul>\r\n      </div>\r\n    )\r\n  }\r\n}\r\n\r\nexport default withTranslation()(LanguageSwitcher)\r\n","import React, { useState, useEffect, useRef } from 'react'\r\nimport FocusTrap from 'focus-trap-react'\r\nimport { Button } from '../../common/Button'\r\n\r\nimport './Navigation.scss'\r\nimport { Icon } from '../../common/Icon'\r\nimport { Menu } from './Menu'\r\nimport classNames from 'classnames'\r\nimport Media from 'react-media'\r\n\r\nimport { isClient } from '../../util'\r\nimport LanguageSwitcher from '../../common/LanguageSwitcher/LanguageSwitcher'\r\n\r\n/**\r\n * @typedef {Object} Item\r\n * @property {Array<Item>} childs\r\n * @property {string} displayName\r\n * @property {Object} fields\r\n * @property {string} id\r\n * @property {string} name\r\n * @property {string} template\r\n *\r\n * @typedef {Object} Language\r\n * @property {string} label\r\n * @property {string} url\r\n * @property {string} value\r\n * @property {string} title\r\n *\r\n * @param {Object} props\r\n * @param {Object} props.fields\r\n * @param {Array<Item>} props.fields.items\r\n * @param {function(string): string} props.t\r\n * @param {Object} props.sitecoreContext\r\n * @param {Array<Language>} props.sitecoreContext.language_switcher\r\n * @param {string} props.sitecoreContext.language\r\n * @param {string} props.sitecoreContext.homepage_url\r\n */\r\nexport const Navigation = ({ ...props }) => {\r\n  const [mobileMenuVisibility, setMobileMenuVisibility] = useState(false)\r\n  const t = props.t\r\n  const id = props.rendering?.uid\r\n  const toggleBtn = useRef(null)\r\n  const languages = props.sitecoreContext?.language_switcher ?? []\r\n  const currentLanguage = props.sitecoreContext.language ?? 'en'\r\n\r\n  const logoHref = props.sitecoreContext?.homepage_url ?? '/'\r\n\r\n  useEffect(() => {\r\n    if (!isClient()) return\r\n\r\n    const closeMenu = ({ key }) => {\r\n      if (key === 'Escape' && mobileMenuVisibility) {\r\n        setMobileMenuVisibility(false)\r\n        toggleBtn.current.focus()\r\n      }\r\n    }\r\n\r\n    if (mobileMenuVisibility) {\r\n      window.addEventListener('keydown', closeMenu)\r\n    }\r\n    return () => {\r\n      window.removeEventListener('keydown', closeMenu)\r\n    }\r\n  }, [mobileMenuVisibility])\r\n\r\n  return (\r\n    <div className=\"navigation navbar navbar-expand-xxl\" id={id}>\r\n      <FocusTrap active={mobileMenuVisibility}>\r\n        <div className=\"container navigation__container\">\r\n          <a className=\"navbar-brand\" href={logoHref} aria-label=\"ACTUM Digital\">\r\n            <Icon width={170} height={25} name=\"actum-logo\" />\r\n          </a>\r\n\r\n          <button\r\n            ref={toggleBtn}\r\n            className=\"navigation__toggle-button\"\r\n            type=\"button\"\r\n            data-bs-toggle=\"collapse\"\r\n            data-bs-target=\"#navbarSupportedContent\"\r\n            aria-controls=\"navbarSupportedContent\"\r\n            aria-expanded={mobileMenuVisibility}\r\n            onClick={() => setMobileMenuVisibility(!mobileMenuVisibility)}\r\n          >\r\n            <span>\r\n              {!mobileMenuVisibility ? t('aw_navigation_main_menu') : t('aw_navigation_main_close')}\r\n            </span>\r\n            {!mobileMenuVisibility ? (\r\n              <Icon size={25} name=\"menu\" />\r\n            ) : (\r\n              <Icon size={25} name=\"close\" />\r\n            )}\r\n          </button>\r\n\r\n          <Media query=\"(max-width: 1399px)\" defaultMatches={false}>\r\n            {(matches) => {\r\n              // mobile markup\r\n              if (matches) {\r\n                return (\r\n                  <div\r\n                    className={classNames('navbar-collapse', 'collapse', {\r\n                      show: mobileMenuVisibility,\r\n                    })}\r\n                    id=\"navbarSupportedContent\"\r\n                  >\r\n                    <Menu items={props.fields.items} type=\"mobile\" t={t} />\r\n                    {languages.length > 0 && (\r\n                      <LanguageSwitcher\r\n                        languages={languages}\r\n                        currentLanguageCode={currentLanguage}\r\n                        type=\"inline\"\r\n                      />\r\n                    )}\r\n                  </div>\r\n                )\r\n              }\r\n\r\n              // desktop markup\r\n              return (\r\n                <div className=\"navbar-collapse collapse\" id=\"navbarSupportedContent\">\r\n                  <Menu items={props.fields.items} t={t} />\r\n                  <div className=\"navigation__inputs\">\r\n                    <Button\r\n                      field={props.fields.items[props.fields?.items?.length - 1].fields?.Link}\r\n                      variant=\"primary\"\r\n                      text={\r\n                        props.fields.items[props.fields?.items?.length - 1].fields?.Title?.value\r\n                      }\r\n                    />\r\n                    {languages.length > 0 && (\r\n                      <LanguageSwitcher\r\n                        languages={languages}\r\n                        currentLanguageCode={currentLanguage}\r\n                      />\r\n                    )}\r\n                  </div>\r\n                </div>\r\n              )\r\n            }}\r\n          </Media>\r\n        </div>\r\n      </FocusTrap>\r\n    </div>\r\n  )\r\n}\r\n","import React from 'react'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\n\r\nimport './Navigation.scss'\r\nimport { Navigation } from './Navigation'\r\n\r\n/**\r\n * @typedef {Object} Item\r\n * @property {Array<Item>} childs\r\n * @property {string} displayName\r\n * @property {Object} fields\r\n * @property {string} id\r\n * @property {string} name\r\n * @property {string} template\r\n *\r\n * @param {Object} props\r\n * @param {Object} props.fields\r\n * @param {Array<Object>} props.fields.items\r\n * @param {function(string): string} props.t\r\n */\r\nconst aw_navigation_main = (props) => {\r\n  return <Navigation {...props} />\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(aw_navigation_main))\r\n","/* eslint-disable */\n// Do not edit this file, it is auto-generated at build time!\n// See scripts/generate-component-factory.js to modify the generation of this file.\nimport aw_common_awards from '../components/aw_common_awards';\nimport aw_common_awards_inset from '../components/aw_common_awards_inset';\nimport aw_common_big_image from '../components/aw_common_big_image';\nimport aw_common_career_form from '../components/aw_common_career_form';\nimport aw_common_career_positions from '../components/aw_common_career_positions';\nimport aw_common_career_recruiter from '../components/aw_common_career_recruiter';\nimport aw_common_contact_us from '../components/aw_common_contact_us';\nimport aw_common_contact_us_form from '../components/aw_common_contact_us_form';\nimport aw_common_contact_us_inset from '../components/aw_common_contact_us_inset';\nimport aw_common_events_inset from '../components/aw_common_events_inset';\nimport aw_common_events_normal from '../components/aw_common_events_normal';\nimport aw_common_events_registration_form from '../components/aw_common_events_registration_form';\nimport aw_common_events_wide from '../components/aw_common_events_wide';\nimport aw_common_faq from '../components/aw_common_faq';\nimport aw_common_faq_inset from '../components/aw_common_faq_inset';\nimport aw_common_gallery from '../components/aw_common_gallery';\nimport aw_common_gallery_inset from '../components/aw_common_gallery_inset';\nimport aw_common_grid_info_3col from '../components/aw_common_grid_info_3col';\nimport aw_common_grid_info_4col from '../components/aw_common_grid_info_4col';\nimport aw_common_grid_info_5col from '../components/aw_common_grid_info_5col';\nimport aw_common_grid_info_inset_image from '../components/aw_common_grid_info_inset_image';\nimport aw_common_grid_info_inset_text from '../components/aw_common_grid_info_inset_text';\nimport aw_common_headquarters from '../components/aw_common_headquarters';\nimport aw_common_hero_banner from '../components/aw_common_hero_banner';\nimport aw_common_inpage_navigation from '../components/aw_common_inpage_navigation';\nimport aw_common_insights_inset from '../components/aw_common_insights_inset';\nimport aw_common_insights_normal from '../components/aw_common_insights_normal';\nimport aw_common_insights_wide from '../components/aw_common_insights_wide';\nimport aw_common_modal_provider from '../components/aw_common_modal_provider';\nimport aw_common_offices from '../components/aw_common_offices';\nimport aw_common_offices_inset from '../components/aw_common_offices_inset';\nimport aw_common_page_intro_image from '../components/aw_common_page_intro_image';\nimport aw_common_page_intro_text from '../components/aw_common_page_intro_text';\nimport aw_common_partners from '../components/aw_common_partners';\nimport aw_common_partners_inset from '../components/aw_common_partners_inset';\nimport aw_common_plainhtml from '../components/aw_common_plainhtml';\nimport aw_common_promo from '../components/aw_common_promo';\nimport aw_common_richtext from '../components/aw_common_richtext';\nimport aw_common_teaserbox_events from '../components/aw_common_teaserbox_events';\nimport aw_common_teaserbox_images_bottom from '../components/aw_common_teaserbox_images_bottom';\nimport aw_common_teaserbox_images_left from '../components/aw_common_teaserbox_images_left';\nimport aw_common_teaserbox_images_right from '../components/aw_common_teaserbox_images_right';\nimport aw_common_teaserbox_image_inset from '../components/aw_common_teaserbox_image_inset';\nimport aw_common_teaserbox_image_left from '../components/aw_common_teaserbox_image_left';\nimport aw_common_teaserbox_image_right from '../components/aw_common_teaserbox_image_right';\nimport aw_common_teaserbox_text from '../components/aw_common_teaserbox_text';\nimport aw_common_testimonials from '../components/aw_common_testimonials';\nimport aw_common_testimonials_inset_image from '../components/aw_common_testimonials_inset_image';\nimport aw_common_testimonials_inset_text from '../components/aw_common_testimonials_inset_text';\nimport aw_common_video_modal from '../components/aw_common_video_modal';\nimport aw_content_slim from '../components/aw_content_slim';\nimport aw_navigation_footer from '../components/aw_navigation_footer';\nimport aw_navigation_links from '../components/aw_navigation_links';\nimport aw_navigation_main from '../components/aw_navigation_main';\n\nconst components = new Map();\ncomponents.set('aw_common_awards', aw_common_awards);\ncomponents.set('aw_common_awards_inset', aw_common_awards_inset);\ncomponents.set('aw_common_big_image', aw_common_big_image);\ncomponents.set('aw_common_career_form', aw_common_career_form);\ncomponents.set('aw_common_career_positions', aw_common_career_positions);\ncomponents.set('aw_common_career_recruiter', aw_common_career_recruiter);\ncomponents.set('aw_common_contact_us', aw_common_contact_us);\ncomponents.set('aw_common_contact_us_form', aw_common_contact_us_form);\ncomponents.set('aw_common_contact_us_inset', aw_common_contact_us_inset);\ncomponents.set('aw_common_events_inset', aw_common_events_inset);\ncomponents.set('aw_common_events_normal', aw_common_events_normal);\ncomponents.set('aw_common_events_registration_form', aw_common_events_registration_form);\ncomponents.set('aw_common_events_wide', aw_common_events_wide);\ncomponents.set('aw_common_faq', aw_common_faq);\ncomponents.set('aw_common_faq_inset', aw_common_faq_inset);\ncomponents.set('aw_common_gallery', aw_common_gallery);\ncomponents.set('aw_common_gallery_inset', aw_common_gallery_inset);\ncomponents.set('aw_common_grid_info_3col', aw_common_grid_info_3col);\ncomponents.set('aw_common_grid_info_4col', aw_common_grid_info_4col);\ncomponents.set('aw_common_grid_info_5col', aw_common_grid_info_5col);\ncomponents.set('aw_common_grid_info_inset_image', aw_common_grid_info_inset_image);\ncomponents.set('aw_common_grid_info_inset_text', aw_common_grid_info_inset_text);\ncomponents.set('aw_common_headquarters', aw_common_headquarters);\ncomponents.set('aw_common_hero_banner', aw_common_hero_banner);\ncomponents.set('aw_common_inpage_navigation', aw_common_inpage_navigation);\ncomponents.set('aw_common_insights_inset', aw_common_insights_inset);\ncomponents.set('aw_common_insights_normal', aw_common_insights_normal);\ncomponents.set('aw_common_insights_wide', aw_common_insights_wide);\ncomponents.set('aw_common_modal_provider', aw_common_modal_provider);\ncomponents.set('aw_common_offices', aw_common_offices);\ncomponents.set('aw_common_offices_inset', aw_common_offices_inset);\ncomponents.set('aw_common_page_intro_image', aw_common_page_intro_image);\ncomponents.set('aw_common_page_intro_text', aw_common_page_intro_text);\ncomponents.set('aw_common_partners', aw_common_partners);\ncomponents.set('aw_common_partners_inset', aw_common_partners_inset);\ncomponents.set('aw_common_plainhtml', aw_common_plainhtml);\ncomponents.set('aw_common_promo', aw_common_promo);\ncomponents.set('aw_common_richtext', aw_common_richtext);\ncomponents.set('aw_common_teaserbox_events', aw_common_teaserbox_events);\ncomponents.set('aw_common_teaserbox_images_bottom', aw_common_teaserbox_images_bottom);\ncomponents.set('aw_common_teaserbox_images_left', aw_common_teaserbox_images_left);\ncomponents.set('aw_common_teaserbox_images_right', aw_common_teaserbox_images_right);\ncomponents.set('aw_common_teaserbox_image_inset', aw_common_teaserbox_image_inset);\ncomponents.set('aw_common_teaserbox_image_left', aw_common_teaserbox_image_left);\ncomponents.set('aw_common_teaserbox_image_right', aw_common_teaserbox_image_right);\ncomponents.set('aw_common_teaserbox_text', aw_common_teaserbox_text);\ncomponents.set('aw_common_testimonials', aw_common_testimonials);\ncomponents.set('aw_common_testimonials_inset_image', aw_common_testimonials_inset_image);\ncomponents.set('aw_common_testimonials_inset_text', aw_common_testimonials_inset_text);\ncomponents.set('aw_common_video_modal', aw_common_video_modal);\ncomponents.set('aw_content_slim', aw_content_slim);\ncomponents.set('aw_navigation_footer', aw_navigation_footer);\ncomponents.set('aw_navigation_links', aw_navigation_links);\ncomponents.set('aw_navigation_main', aw_navigation_main);\n\nexport default function componentFactory(componentName) {\n  return components.get(componentName);\n};\n","import axios from 'axios'\r\n\r\n/**\r\n * Implements a data fetcher using Axios - replace with your favorite\r\n * SSR-capable HTTP or fetch library if you like. See HttpJsonFetcher<T> type\r\n * in sitecore-jss library for implementation details/notes.\r\n * @param {string} url The URL to request; may include query string\r\n * @param {any} data Optional data to POST with the request.\r\n */\r\nexport function dataFetcher(url, data) {\r\n  return axios({\r\n    url,\r\n    method: data ? 'POST' : 'GET',\r\n    data,\r\n    // note: axios needs to use `withCredentials: true` in order for Sitecore cookies to be included in CORS requests\r\n    // which is necessary for analytics and such\r\n    withCredentials: true,\r\n  })\r\n}\r\n","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); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"actum-logo\",\n  viewBox: \"0 0 156.35294 33.899999\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"m -20.773527,15.4 h 4.5 l -2.3,-7.5 z m 89.7,-1.1 5.1,-14.1 h 12 v 25.9 h -7.9 V 9.8 l -5.9,16.4 h -6.7 l -5.6,-15.4 v 6.9 c 0,3.3 -1.1,5.7 -3.2,7.1 -2.1,1.4 -5.1,2.2 -8.5,2.2 -3.6,0 -6.2,-0.7 -8.3,-2.1 -2.2,-1.4 -3.2,-3.7 -3.2,-6.8 V 8.7 h -6.2 v 17.4 h -8.1 V 8.7 h -12.1 C 9.2264732,6.8 7.4264732,6.4 5.2264732,6.4 c -4.1,0 -6.19999996,3.2 -6.19999996,7.1 0,3.9 2.19999996,7.1 6.19999996,7.1 1.9,0 3.8,-0.6 5.0999998,-2.4 h 8.3 c -0.9,5.6 -6.5,8.8 -13.4999998,8.8 -4.49999996,0 -8.5,-1.9 -11.1,-5 l 1.4,4.1 h -8.7000002 l -1.5,-5.1 h -7.5 l -1.7,5.1 h -8.6 l 8.6,-25.8 h 10.7 l 4.2000002,12.3 c 0.5,-7 6.7,-12.6 14.3,-12.6 4.7,0 8.5999998,1.4 10.8999998,3.9 V 0.3 h 29 v 16.2 c 0,2.5 1.9,3.1 3.2,3.1 1.3,0 3.4,-0.6 3.4,-3.1 V 0.3 h 12.1 z m 25.1,-14.1 h 10.799997 c 2,0 3.7,0.3 5.2,1 1.5,0.7 2.7,1.6 3.6,2.8 0.9,1.2 1.6,2.6 2.1,4.2 0.5,1.6 0.7,3.3 0.7,5.1 0,1.8 -0.2,3.5 -0.7,5.1 -0.5,1.6 -1.1,3 -2.1,4.1 -0.9,1.2 -2.1,2.1 -3.6,2.8 -1.5,0.7 -3.2,1 -5.2,1 H 94.026473 Z m 4.6,22.4 h 4.499997 c 1.8,0 3.2,-0.2 4.4,-0.7 1.1,-0.5 2,-1.1 2.7,-2 0.6,-0.8 1.1,-1.8 1.3,-3 0.2,-1.1 0.3,-2.4 0.3,-3.7 0,-1.3 -0.1,-2.5 -0.3,-3.7 -0.2,-1.1 -0.7,-2.1 -1.3,-3 -0.6,-0.8 -1.5,-1.5 -2.7,-2 -1.2,-0.5 -2.6,-0.5 -4.4,-0.5 H 98.626473 Z M 118.22647,4.2 v -4 h 4.2 v 3.9 h -4.2 z m 0,22.2 V 7.5 h 4.2 v 18.9 z m 24.7,-1 c 0,2.9 -0.8,5 -2.4,6.4 -1.6,1.4 -3.9,2.1 -6.9,2.1 -1,0 -1.9,-0.1 -2.9,-0.3 -1,-0.2 -1.8,-0.5 -2.6,-1 -0.8,-0.5 -1.5,-1.1 -2,-1.8 -0.5,-0.8 -0.9,-1.7 -1,-2.8 h 4.2 c 0.1,0.6 0.3,1.1 0.6,1.4 0.3,0.4 0.6,0.7 1,0.9 0.4,0.2 0.8,0.3 1.3,0.4 0.5,0.1 1,0.1 1.5,0.1 1.7,0 2.9,-0.4 3.7,-1.2 0.8,-0.8 1.2,-2 1.2,-3.6 v -3 h -0.1 c -0.6,1 -1.4,1.9 -2.4,2.4 -1,0.6 -2.1,0.9 -3.3,0.9 -1.5,0 -2.8,-0.3 -3.9,-0.8 -1.1,-0.5 -1.9,-1.2 -2.6,-2.2 -0.7,-0.9 -1.2,-2 -1.5,-3.2 -0.3,-1.2 -0.5,-2.5 -0.5,-3.8 0,-1.3 0.2,-2.5 0.6,-3.6 0.4,-1.1 0.9,-2.2 1.7,-3 0.7,-0.9 1.6,-1.6 2.7,-2.1 1.1,-0.5 2.3,-0.8 3.6,-0.8 1.2,0 2.3,0.3 3.3,0.8 1,0.5 1.8,1.3 2.3,2.4 h 0.1 V 7.5 h 4.2 v 17.9 z m -9.3,-2.3 c 0.9,0 1.7,-0.2 2.4,-0.6 0.6,-0.4 1.2,-0.9 1.6,-1.5 0.4,-0.6 0.7,-1.3 0.9,-2.1 0.2,-0.8 0.3,-1.6 0.3,-2.4 0,-0.8 -0.1,-1.6 -0.3,-2.3 -0.2,-0.8 -0.5,-1.4 -0.9,-2 -0.4,-0.6 -0.9,-1 -1.6,-1.4 -0.6,-0.3 -1.4,-0.5 -2.3,-0.5 -0.9,0 -1.7,0.2 -2.3,0.6 -0.6,0.4 -1.1,0.9 -1.5,1.5 -0.4,0.6 -0.7,1.3 -0.8,2.1 -0.2,0.8 -0.3,1.6 -0.3,2.4 0,0.8 0.1,1.5 0.3,2.3 0.2,0.7 0.5,1.4 0.9,2 0.4,0.6 0.9,1.1 1.5,1.4 0.5,0.3 1.2,0.5 2.1,0.5 z m 11.8,-18.9 v -4 h 4.2 v 3.9 h -4.2 z m 0,22.2 V 7.5 h 4.2 v 18.9 z m 6.2,-18.9 h 3.1 V 1.8 h 4.2 v 5.7 h 3.8 v 3.1 h -3.8 v 10.1 c 0,0.4 0,0.8 0.1,1.1 0,0.3 0.1,0.6 0.3,0.8 0.1,0.2 0.3,0.4 0.6,0.5 0.3,0.1 0.6,0.2 1.1,0.2 0.3,0 0.6,0 0.9,0 0.3,0 0.6,-0.1 0.9,-0.1 v 3.2 c -0.5,0 -0.9,0.1 -1.4,0.1 -0.4,0 -0.9,0.1 -1.4,0.1 -1.1,0 -2,-0.1 -2.6,-0.3 -0.7,-0.2 -1.2,-0.5 -1.6,-0.9 -0.4,-0.4 -0.6,-0.9 -0.8,-1.5 -0.1,-0.6 -0.2,-1.3 -0.2,-2.1 V 10.6 h -3.1 V 7.5 Z m 29.2,14.6 c 0,0.5 0.1,0.9 0.2,1.1 0.1,0.2 0.4,0.3 0.8,0.3 h 0.4 c 0.2,0 0.4,0 0.6,-0.1 v 2.9 c -0.1,0 -0.3,0.1 -0.6,0.2 -0.2,0.1 -0.5,0.1 -0.7,0.2 -0.2,0 -0.5,0.1 -0.7,0.1 -0.2,0 -0.5,0 -0.6,0 -0.9,0 -1.6,-0.2 -2.1,-0.5 -0.6,-0.3 -0.9,-0.9 -1.1,-1.8 -0.8,0.8 -1.8,1.4 -3.1,1.8 -1.2,0.4 -2.4,0.5 -3.5,0.5 -0.9,0 -1.7,-0.1 -2.4,-0.3 -0.8,-0.2 -1.5,-0.6 -2.1,-1 -0.6,-0.4 -1.1,-1 -1.4,-1.7 -0.4,-0.7 -0.5,-1.5 -0.5,-2.4 0,-1.2 0.2,-2.1 0.6,-2.9 0.4,-0.7 1,-1.3 1.7,-1.7 0.7,-0.4 1.5,-0.7 2.3,-0.9 0.9,-0.2 1.7,-0.3 2.6,-0.4 0.8,-0.1 1.5,-0.3 2.2,-0.3 0.7,-0.1 1.3,-0.2 1.8,-0.3 0.5,-0.1 0.9,-0.4 1.2,-0.7 0.3,-0.3 0.5,-0.8 0.5,-1.4 0,-0.5 -0.1,-1 -0.4,-1.3 -0.3,-0.3 -0.6,-0.6 -1,-0.8 -0.4,-0.2 -0.8,-0.3 -1.3,-0.4 -0.5,-0.1 -0.9,-0.1 -1.3,-0.1 -1.2,0 -2.1,0.2 -2.9,0.7 -0.8,0.5 -1.2,1.2 -1.3,2.3 h -4.2 c 0.1,-1.2 0.4,-2.2 0.9,-3 0.5,-0.8 1.2,-1.4 2,-1.9 0.8,-0.5 1.7,-0.8 2.7,-1 1,-0.2 2,-0.3 3.1,-0.3 0.9,0 1.8,0.1 2.7,0.3 0.9,0.2 1.7,0.5 2.4,0.9 0.7,0.4 1.3,1 1.7,1.7 0.4,0.7 0.7,1.5 0.7,2.5 v 9.7 z m -4.2,-5.2 c -0.6,0.4 -1.4,0.7 -2.3,0.7 -0.9,0.1 -1.9,0.2 -2.8,0.4 -0.4,0.1 -0.9,0.2 -1.3,0.3 -0.4,0.1 -0.8,0.3 -1.1,0.5 -0.3,0.2 -0.6,0.5 -0.7,0.9 -0.2,0.4 -0.3,0.8 -0.3,1.4 0,0.5 0.1,0.9 0.4,1.2 0.3,0.3 0.6,0.6 1,0.8 0.4,0.2 0.8,0.3 1.2,0.4 0.4,0.1 0.9,0.1 1.2,0.1 0.5,0 1,-0.1 1.5,-0.2 0.5,-0.1 1,-0.3 1.5,-0.6 0.5,-0.3 0.9,-0.7 1.2,-1.1 0.3,-0.5 0.5,-1 0.5,-1.7 z m 8.1,9.5 V 0.2 h 4.2 v 26.1 h -4.2 z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"arrow\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M13.172 12l-4.95-4.95 1.414-1.414L16 12l-6.364 6.364-1.414-1.414z\"\n}));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"car-fill\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M19,20 L5,20 L5,21 C5,21.5522847 4.55228475,22 4,22 L3,22 C2.44771525,22 2,21.5522847 2,21 L2,12 L4.513,5.298 C4.80569073,4.51717827 5.55212326,3.99999998 6.386,3.99999998 L17.614,3.99999998 C18.4478767,3.99999998 19.1943093,4.51717827 19.487,5.298 L22,12 L22,21 C22,21.5522847 21.5522847,22 21,22 L20,22 C19.4477153,22 19,21.5522847 19,21 L19,20 Z M4.136,12 L19.864,12 L17.614,6 L6.386,6 L4.136,12 Z M6.5,17 C7.32842712,17 8,16.3284271 8,15.5 C8,14.6715729 7.32842712,14 6.5,14 C5.67157288,14 5,14.6715729 5,15.5 C5,16.3284271 5.67157288,17 6.5,17 Z M17.5,17 C18.3284271,17 19,16.3284271 19,15.5 C19,14.6715729 18.3284271,14 17.5,14 C16.6715729,14 16,14.6715729 16,15.5 C16,16.3284271 16.6715729,17 17.5,17 Z\"\n}));\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"close\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"polygon\", {\n  points: \"12 10.586 16.95 5.636 18.364 7.05 13.414 12 18.364 16.95 16.95 18.364 12 13.414 7.05 18.364 5.636 16.95 10.586 12 5.636 7.05 7.05 5.636\"\n}));\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"external-link\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M10,6 L10,8 L5,8 L5,19 L16,19 L16,14 L18,14 L18,20 C18,20.5522847 17.5522847,21 17,21 L4,21 C3.44771525,21 3,20.5522847 3,20 L3,7 C3,6.44771525 3.44771525,6 4,6 L10,6 Z M21,3 L21,11 L19,11 L19,6.413 L11.207,14.207 L9.793,12.793 L17.585,5 L13,5 L13,3 L21,3 Z\"\n}));\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"facebook\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"m 15.402,20.999999 v -6.966 h 2.333 l 0.349,-2.708 H 15.402 V 9.5980001 c 0,-0.784 0.218,-1.319 1.342,-1.319 h 1.434 v -2.422 c -0.694202,-0.07366 -1.391906,-0.109375 -2.09,-0.107 -2.067,0 -3.482,1.262 -3.482,3.58 v 1.9959989 h -2.338 v 2.708 h 2.338 v 6.966 H 4.0000004 c -0.552285,0 -1,-0.447715 -1,-1 V 4.0000001 c 0,-0.552285 0.447715,-1 1,-1 H 20 c 0.552285,0 1,0.447715 1,1 V 19.999999 c 0,0.552285 -0.447715,1 -1,1 z\"\n}));\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"instagram\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M12,2 C14.717,2 15.056,2.01 16.122,2.06 C17.187,2.11 17.912,2.277 18.55,2.525 C19.21,2.779 19.766,3.123 20.322,3.678 C20.8304937,4.17789596 21.2239536,4.78258896 21.475,5.45 C21.722,6.087 21.89,6.813 21.94,7.878 C21.987,8.944 22,9.283 22,12 C22,14.717 21.99,15.056 21.94,16.122 C21.89,17.187 21.722,17.912 21.475,18.55 C21.2246766,19.2177765 20.8311207,19.822617 20.322,20.322 C19.8219615,20.8303192 19.2173093,21.2237526 18.55,21.475 C17.913,21.722 17.187,21.89 16.122,21.94 C15.056,21.987 14.717,22 12,22 C9.283,22 8.944,21.99 7.878,21.94 C6.813,21.89 6.088,21.722 5.45,21.475 C4.78232618,21.2244734 4.17752722,20.8309445 3.678,20.322 C3.16940644,19.8221857 2.77593123,19.2174693 2.525,18.55 C2.277,17.913 2.11,17.187 2.06,16.122 C2.013,15.056 2,14.717 2,12 C2,9.283 2.01,8.944 2.06,7.878 C2.11,6.812 2.277,6.088 2.525,5.45 C2.7752361,4.7821794 3.16880364,4.17732106 3.678,3.678 C4.17767098,3.16923123 4.78242858,2.77572924 5.45,2.525 C6.088,2.277 6.812,2.11 7.878,2.06 C8.944,2.013 9.283,2 12,2 Z M12,7 C9.23857625,7 7,9.23857625 7,12 C7,14.7614237 9.23857625,17 12,17 C14.7614237,17 17,14.7614237 17,12 C17,9.23857625 14.7614237,7 12,7 L12,7 Z M18.5,6.75 C18.5,6.05964406 17.9403559,5.5 17.25,5.5 C16.5596441,5.5 16,6.05964406 16,6.75 C16,7.44035594 16.5596441,8 17.25,8 C17.9403559,8 18.5,7.44035594 18.5,6.75 Z M12,9 C13.6568542,9 15,10.3431458 15,12 C15,13.6568542 13.6568542,15 12,15 C10.3431458,15 9,13.6568542 9,12 C9,10.3431458 10.3431458,9 12,9 Z\"\n}));\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"linkedin\",\n  viewBox: \"0 0 36 36\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M29.4487 4H6.94614C5.87317 4 5 4.8717 5 5.94705V29.0516C5 30.127 5.87317 31 6.94614 31H29.4487C30.5249 31 31.4019 30.127 31.4019 29.0516V5.94705C31.4026 4.8717 30.5249 4 29.4487 4ZM12.8319 27.0071H8.91173V14.122H12.8319V27.0071ZM10.8728 12.3587C10.4237 12.3587 9.98475 12.2225 9.61137 11.9674C9.23799 11.7123 8.94698 11.3497 8.77513 10.9254C8.60328 10.5011 8.55832 10.0343 8.64592 9.58388C8.73353 9.13348 8.94978 8.71977 9.26731 8.39505C9.58484 8.07033 9.98941 7.84919 10.4298 7.7596C10.8703 7.67001 11.3268 7.71599 11.7417 7.89173C12.1565 8.06747 12.5111 8.36507 12.7606 8.74689C13.0101 9.12872 13.1433 9.57763 13.1433 10.0369C13.1433 10.6527 12.9041 11.2432 12.4783 11.6787C12.0525 12.1141 11.475 12.3587 10.8728 12.3587ZM27.4986 27.0071H23.583V20.7413C23.583 19.2467 23.5577 17.3249 21.548 17.3249C19.5104 17.3249 19.1997 18.9535 19.1997 20.6339V27.0071H15.2886V14.122H19.042V15.8833H19.0959C19.6181 14.8703 20.8954 13.8023 22.8007 13.8023C26.7656 13.8023 27.4986 16.4704 27.4986 19.9406V27.0071Z\"\n}));\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"mail-fill\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M3,3 L21,3 C21.5522847,3 22,3.44771525 22,4 L22,20 C22,20.5522847 21.5522847,21 21,21 L3,21 C2.44771525,21 2,20.5522847 2,20 L2,4 C2,3.44771525 2.44771525,3 3,3 Z M12.06,11.683 L5.648,6.238 L4.353,7.762 L12.073,14.317 L19.654,7.757 L18.346,6.244 L12.061,11.683 L12.06,11.683 Z\"\n}));\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"map-pin-fill\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M18.364,17.364 L12,23.728 L5.636,17.364 C2.12131304,13.84927 2.12133631,8.15080522 5.63605196,4.63610392 C9.15076761,1.12140261 14.8492324,1.12140261 18.363948,4.63610392 C21.8786637,8.15080522 21.878687,13.84927 18.364,17.364 L18.364,17.364 Z M12,15 C14.209139,15 16,13.209139 16,11 C16,8.790861 14.209139,7 12,7 C9.790861,7 8,8.790861 8,11 C8,13.209139 9.790861,15 12,15 Z M12,13 C10.8954305,13 10,12.1045695 10,11 C10,9.8954305 10.8954305,9 12,9 C13.1045695,9 14,9.8954305 14,11 C14,12.1045695 13.1045695,13 12,13 Z\"\n}));\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"menu\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M3,4 L21,4 L21,6 L3,6 L3,4 Z M9,11 L21,11 L21,13 L9,13 L9,11 Z M3,18 L21,18 L21,20 L3,20 L3,18 Z\"\n}));\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"minus\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n  strokeWidth: 1,\n  fill: \"none\",\n  fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"line\", {\n  x1: 5,\n  y1: 12,\n  x2: 19,\n  y2: 12,\n  strokeWidth: 2,\n  strokeLinecap: \"round\",\n  strokeLinejoin: \"round\"\n})));\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"phone-fill\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M21,16.42 L21,19.956 C21.000238,20.4812944 20.5940059,20.9172294 20.07,20.954 C19.633,20.984 19.276,20.9999997 19,20.9999997 C10.163,20.9999997 3,13.837 3,4.99999974 C3,4.724 3.015,4.367 3.046,3.93 C3.08277056,3.40599411 3.51870562,2.99976204 4.044,2.99999974 L7.58,2.99999974 C7.83697403,2.99973981 8.05230272,3.19431392 8.078,3.45 C8.101,3.68 8.122,3.863 8.142,4.002 C8.34073424,5.3889232 8.74800281,6.73783177 9.35,8.003 C9.445,8.203 9.383,8.442 9.203,8.57 L7.045,10.112 C8.36445334,13.1864514 10.8145486,15.6365467 13.889,16.956 L15.429,14.802 C15.5589005,14.6203957 15.800089,14.5576782 16.002,14.653 C17.2670215,15.2538656 18.6155795,15.6601187 20.002,15.858 C20.141,15.878 20.324,15.9 20.552,15.922 C20.8072899,15.9481759 21.0013119,16.1633719 21.0010004,16.42 L21,16.42 Z\",\n  id: \"Path\"\n}));\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"plane-line\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M14,8.947 L22,14 L22,16 L14,13.474 L14,18.834 L17,20.5 L17,22 L12.5,21 L8,22 L8,20.5 L11,18.833 L11,13.473 L3,16 L3,14 L11,8.947 L11,3.50000004 C11,2.67157289 11.6715729,2.00000004 12.5,2.00000004 C13.3284271,2.00000004 14,2.67157289 14,3.50000004 L14,8.947 Z\"\n}));\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"play\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M9,8.482 L9,15.518 L15.03,12 L9,8.482 Z M7.752,5.44 L18.26,11.57 C18.4132325,11.659703 18.507398,11.823942 18.507398,12.0015 C18.507398,12.179058 18.4132325,12.343297 18.26,12.433 L7.752,18.563 C7.5968708,18.6535279 7.40510445,18.653894 7.24963074,18.563959 C7.09415703,18.4740241 6.99886702,18.3076081 6.99999001,18.128 L6.99999001,5.871 C6.99999001,5.69192758 7.09566305,5.5264994 7.25093775,5.43729904 C7.40621244,5.34809868 7.59733449,5.34874749 7.752,5.439 L7.752,5.44 Z\"\n}));\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"plus\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n  stroke: \"none\",\n  strokeWidth: 1,\n  fill: \"none\",\n  fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n  x: 0,\n  y: 0,\n  width: 24,\n  height: 24\n}), /*#__PURE__*/React.createElement(\"line\", {\n  x1: 12,\n  y1: 5,\n  x2: 12,\n  y2: 19,\n  stroke: \"#000000\",\n  strokeWidth: 2,\n  strokeLinecap: \"round\",\n  strokeLinejoin: \"round\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n  x1: 5,\n  y1: 12,\n  x2: 19,\n  y2: 12,\n  stroke: \"#000000\",\n  strokeWidth: 2,\n  strokeLinecap: \"round\",\n  strokeLinejoin: \"round\"\n})));\n\nvar _ref18 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"subway-fill\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M17.2,20 L19,21.5 L19,22 L5,22 L5,21.5 L6.8,20 L5,20 C3.8954305,20 3,19.1045695 3,18 L3,7 C3,4.790861 4.790861,3 7,3 L17,3 C19.209139,3 21,4.790861 21,7 L21,18 C21,19.1045695 20.1045695,20 19,20 L17.2,20 Z M11,12 L11,5 L7,5 C5.8954305,5 5,5.8954305 5,7 L5,12 L11,12 Z M13,12 L19,12 L19,7 C19,5.8954305 18.1045695,5 17,5 L13,5 L13,12 Z M7.5,18 C8.32842712,18 9,17.3284271 9,16.5 C9,15.6715729 8.32842712,15 7.5,15 C6.67157288,15 6,15.6715729 6,16.5 C6,17.3284271 6.67157288,18 7.5,18 Z M16.5,18 C17.3284271,18 18,17.3284271 18,16.5 C18,15.6715729 17.3284271,15 16.5,15 C15.6715729,15 15,15.6715729 15,16.5 C15,17.3284271 15.6715729,18 16.5,18 Z\"\n}));\n\nvar _ref19 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"train-fill\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M17.2,20 L19,21.5 L19,22 L5,22 L5,21.5 L6.8,20 L5,20 C3.8954305,20 3,19.1045695 3,18 L3,7 C3,4.790861 4.790861,3 7,3 L17,3 C19.209139,3 21,4.790861 21,7 L21,18 C21,19.1045695 20.1045695,20 19,20 L17.2,20 Z M5,7 L5,11 L19,11 L19,7 L5,7 Z M12,18 C13.1045695,18 14,17.1045695 14,16 C14,14.8954305 13.1045695,14 12,14 C10.8954305,14 10,14.8954305 10,16 C10,17.1045695 10.8954305,18 12,18 Z\"\n}));\n\nvar _ref20 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"tram-fill\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M16.2,20 L18,21.5 L18,22 L6,22 L6,21.5 L7.8,20 L6,20 C4.9,20 4,19.1 4,18 L4,7 C4,4.8 5.8,3 8,3 L16,3 C18.2,3 20,4.8 20,7 L20,18 C20,19.1 19.1,20 18,20 L16.2,20 Z M6,5 L6,11 L18,11 L18,5 L6,5 Z M12,18 C13.1,18 14,17.1 14,16 C14,14.9 13.1,14 12,14 C10.9,14 10,14.9 10,16 C10,17.1 10.9,18 12,18 Z\"\n}));\n\nvar _ref21 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"translate\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M18.5,10 L22.9,21 L20.745,21 L19.544,18 L15.454,18 L14.255,21 L12.101,21 L16.5,10 L18.5,10 Z M10,2 L10,4 L16,4 L16,6 L14.032,6 C13.2606209,8.32207738 12.029477,10.465016 10.412,12.301 C11.1333054,12.9446088 11.9156773,13.5163164 12.748,14.008 L11.997,15.886 C10.9225187,15.2765916 9.91759525,14.5519871 9,13.725 C7.21358317,15.3417473 5.09804056,16.5521884 2.799,17.273 L2.263,15.344 C4.23283587,14.7159035 6.04802017,13.6793368 7.59,12.302 C6.4486901,11.0099387 5.49806308,9.56126794 4.767,8 L7.007,8 C7.56435126,9.02885766 8.23266591,9.9936049 9,10.877 C10.250106,9.43610061 11.2353027,7.78530365 11.91,6.001 L2,6 L2,4 L8,4 L8,2 L10,2 Z M17.5,12.885 L16.253,16 L18.745,16 L17.5,12.885 Z\"\n}));\n\nvar _ref22 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"twitter\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M22.162,5.656 C21.398557,5.99369373 20.5889601,6.21547339 19.76,6.314 C20.6337508,5.79143332 21.2877055,4.96901423 21.6,4 C20.78,4.488 19.881,4.83 18.944,5.015 C17.6498495,3.63031951 15.5862776,3.28908903 13.9152663,4.18345292 C12.244255,5.07781681 11.3836288,6.98414575 11.818,8.829 C8.45502254,8.66044327 5.32174389,7.07199458 3.198,4.459 C2.82629012,5.09745032 2.63095514,5.82322672 2.632,6.562 C2.632,8.012 3.37,9.293 4.492,10.043 C3.82800881,10.0220962 3.1786324,9.84278055 2.598,9.52 L2.598,9.572 C2.59841319,11.5630358 4.00151442,13.2781232 5.953,13.673 C5.33661503,13.8400369 4.69030669,13.8646582 4.063,13.745 C4.61012698,15.4491831 6.18045142,16.6167778 7.97,16.65 C6.21794158,18.0260194 3.99074,18.6491034 1.779,18.382 C3.69069779,19.6114328 5.91609682,20.2641239 8.189,20.2620052 C15.882,20.2620052 20.089,13.889 20.089,8.362 C20.089,8.182 20.084,8 20.076,7.822 C20.8948641,7.23016766 21.6015987,6.49701939 22.163,5.657 L22.162,5.656 Z\"\n}));\n\nvar _ref23 = /*#__PURE__*/React.createElement(\"symbol\", {\n  id: \"youtube\",\n  viewBox: \"0 0 24 24\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n  d: \"M21.543,6.498 C22,8.28 22,12 22,12 C22,12 22,15.72 21.543,17.502 C21.289,18.487 20.546,19.262 19.605,19.524 C17.896,20 12,20 12,20 C12,20 6.107,20 4.395,19.524 C3.45,19.258 2.708,18.484 2.457,17.502 C2,15.72 2,12 2,12 C2,12 2,8.28 2.457,6.498 C2.711,5.513 3.454,4.738 4.395,4.476 C6.107,4 12,4 12,4 C12,4 17.896,4 19.605,4.476 C20.55,4.742 21.292,5.516 21.543,6.498 Z M10,15.5 L16,12 L10,8.5 L10,15.5 Z\"\n}));\n\nvar SvgSprite = (_ref) => {\n  var svgRef = _ref.svgRef,\n      title = _ref.title,\n      props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    ref: svgRef\n  }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SvgSprite, _extends({\n  svgRef: ref\n}, props)));\nexport default __webpack_public_path__ + \"static/media/sprite.f16e6f56.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useMemo } from 'react'\r\nimport { Placeholder, VisitorIdentification } from '@sitecore-jss/sitecore-jss-react'\r\nimport Helmet from 'react-helmet'\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { withTranslation } from 'react-i18next'\r\nimport '../src/scss/main.scss'\r\nimport { getScripts, isClient } from './util'\r\nimport { ReactComponent as SVGSprite } from './svg/sprite.svg'\r\nimport { Icon } from './common/Icon'\r\nimport ModalProvider from './components/aw_common_modal_provider'\r\n// Using bootstrap is completely optional. It's used here to provide a clean layout for samples,\r\n// without needing extra CSS in the sample app. Remove it in package.json as well if it's removed here.\r\n// import \"./assets/app.css\";\r\n\r\n/*\r\n  APP LAYOUT\r\n  This is where the app's HTML structure and root placeholders should be defined.\r\n\r\n  All routes share this root layout by default (this could be customized in RouteHandler),\r\n  but components added to inner placeholders are route-specific.\r\n*/\r\n\r\nconst Layout = ({ sitecoreContext, route, t }) => {\r\n  // eg. robots=noindex&googlebot=noindex\r\n  const customMetaQuery = route.fields.Attributes?.value ?? ''\r\n  const customMetaEntries = useMemo(() => {\r\n    const params = new URLSearchParams(customMetaQuery)\r\n    return Array.from(params.entries())\r\n  }, [customMetaQuery])\r\n\r\n  return (\r\n    <>\r\n      <Helmet>\r\n        <meta name=\"description\" content={route.fields.MetaDescription?.value ?? ''} />\r\n        <meta name=\"keywords\" content={route.fields.MetaKeywords?.value ?? ''} />\r\n        <link rel=\"canonical\" href={sitecoreContext.cannonical_url} />\r\n        {customMetaEntries.map((entry, idx) => (\r\n          <meta key={idx} name={entry[0]} content={entry[1]} />\r\n        ))}\r\n        {isClient() && <script>window.dataLayer = window.dataLayer || [];</script>}\r\n        {getScripts(sitecoreContext.scripts_head).map((script, idx) => {\r\n          if (script.external) {\r\n            return <script key={idx} src={script.value} />\r\n          } else {\r\n            return <script key={idx}>{script.value}</script>\r\n          }\r\n        })}\r\n        <title>{route.fields.MetaTitle?.value ?? route.fields.PageTitle?.value}</title>\r\n      </Helmet>\r\n\r\n      <div dangerouslySetInnerHTML={{ __html: sitecoreContext.scripts_body_top }} />\r\n      <VisitorIdentification />\r\n\r\n      <div className=\"d-none\">{isClient() && <SVGSprite />}</div>\r\n\r\n      <header>\r\n        <a href=\"#main_content\" id=\"skip-link\" className=\"btn btn--unique\">\r\n          {t('aw_navigation_skip_to_content')}\r\n          <Icon name=\"arrow\" size={18} />\r\n        </a>\r\n        <Placeholder name=\"ph-aw-header\" rendering={route} />\r\n      </header>\r\n      <main id=\"main_content\" tabIndex=\"-1\">\r\n        <ModalProvider />\r\n        <Placeholder name=\"ph-aw-main\" rendering={route} />\r\n      </main>\r\n      <Placeholder name=\"ph-aw-footer\" rendering={route} />\r\n      <div dangerouslySetInnerHTML={{ __html: sitecoreContext.scripts_body_bottom }} />\r\n    </>\r\n  )\r\n}\r\n\r\nexport default withSitecoreContext()(withTranslation()(Layout))\r\n","import React from 'react'\r\n\r\n// Renders a route-not-found message when no route is available from Sitecore\r\n// The JSS equivalent of a 404 Not Found page.\r\n\r\n// This is invoked from RouteHandler when Sitecore returns no valid route data.\r\n// The NotFound component receives the Layout Service Context data, but no route data.\r\n// This can be used to power parts of your site, such as navigation, from LS context additions\r\n// without losing the ability to render them on your 404 pages :)\r\n\r\nconst NotFound = ({ context = { site: { name: '' }, language: '' } }) => (\r\n  <React.Fragment>\r\n    <h1>Page not found</h1>\r\n    <p>This page does not exist.</p>\r\n    <p>\r\n      Site: {context.site && context.site.name}\r\n      <br />\r\n      Language: {context.language}\r\n    </p>\r\n  </React.Fragment>\r\n)\r\n\r\nexport default NotFound\r\n","import React from 'react'\r\nimport i18n from 'i18next'\r\nimport Helmet from 'react-helmet'\r\nimport {\r\n  isExperienceEditorActive,\r\n  dataApi,\r\n  withSitecoreContext,\r\n} from '@sitecore-jss/sitecore-jss-react'\r\nimport { dataFetcher } from './dataFetcher'\r\nimport { getHostname } from './util'\r\nimport config from './temp/config'\r\nimport Layout from './Layout'\r\nimport NotFound from './NotFound'\r\n\r\n/* eslint-disable no-console */\r\n\r\n// Dynamic route handler for Sitecore items.\r\n// Because JSS app routes are defined in Sitecore, traditional static React routing isn't enough -\r\n// we need to be able to load dynamic route data from Sitecore after the client side route changes.\r\n// So react-router delegates all route rendering to this handler, which attempts to get the right\r\n// route data from Sitecore - and if none exists, renders the not found component.\r\n\r\nclass RouteHandler extends React.Component {\r\n  constructor(props) {\r\n    super(props)\r\n\r\n    this.state = {\r\n      notFound: true,\r\n      defaultLanguage: config.defaultLanguage,\r\n    }\r\n\r\n    const routeData = this.extractRouteData()\r\n\r\n    // route data from react-router - if route was resolved, it's not a 404\r\n    if (props.route !== null) {\r\n      this.state.notFound = false\r\n    }\r\n\r\n    // if we have an initial SSR state, and that state doesn't have a valid route data,\r\n    // then this is a 404 route.\r\n    if (routeData && (!routeData.sitecore || !routeData.sitecore.route)) {\r\n      this.state.notFound = true\r\n    }\r\n\r\n    // if we have an SSR state, and that state has language data, set the current language\r\n    // (this makes the language of content follow the Sitecore context language cookie)\r\n    // note that a route-based language (i.e. /de-DE) will override this default; this is for home.\r\n    if (\r\n      routeData &&\r\n      routeData.sitecore &&\r\n      routeData.sitecore.context &&\r\n      routeData.sitecore.context.language\r\n    ) {\r\n      this.state.defaultLanguage = routeData.sitecore.context.language\r\n    }\r\n\r\n    // tell i18next to sync its current language with the route language\r\n    this.updateLanguage()\r\n  }\r\n\r\n  componentDidMount() {\r\n    const routeData = this.extractRouteData()\r\n\r\n    // if no existing routeData is present (from SSR), get Layout Service fetching the route data or ssr render complete\r\n    if (!routeData || this.props.ssrRenderComplete) {\r\n      this.updateRouteData()\r\n    }\r\n  }\r\n\r\n  extractRouteData = () => {\r\n    if (!this.props.sitecoreContext) return null\r\n\r\n    const { route, ...context } = this.props.sitecoreContext\r\n\r\n    return {\r\n      sitecore: {\r\n        route,\r\n        context,\r\n      },\r\n    }\r\n  }\r\n\r\n  /**\r\n   * Loads route data from Sitecore Layout Service into state.routeData\r\n   */\r\n  updateRouteData() {\r\n    let sitecoreRoutePath = this.props.route.match.params.sitecoreRoute || '/'\r\n    if (!sitecoreRoutePath.startsWith('/')) {\r\n      sitecoreRoutePath = `/${sitecoreRoutePath}`\r\n    }\r\n\r\n    const language = this.props.route.match.params.lang || this.state.defaultLanguage\r\n\r\n    // get the route data for the new route\r\n    getRouteData(sitecoreRoutePath, language).then((routeData) => {\r\n      if (routeData !== null && routeData.sitecore && routeData.sitecore.route) {\r\n        // set the sitecore context data and push the new route\r\n        this.props.updateSitecoreContext({\r\n          route: routeData.sitecore.route,\r\n          itemId: routeData.sitecore.route.itemId,\r\n          ...routeData.sitecore.context,\r\n        })\r\n        this.setState({ notFound: false })\r\n      } else {\r\n        this.setState({ notFound: true }, () =>\r\n          this.props.updateSitecoreContext(routeData.sitecore.context),\r\n        )\r\n      }\r\n    })\r\n  }\r\n\r\n  /**\r\n   * Updates the current app language to match the route data.\r\n   */\r\n  updateLanguage() {\r\n    const newLanguage = this.props.route.match.params.lang || this.state.defaultLanguage\r\n\r\n    if (i18n.language !== newLanguage) {\r\n      i18n.changeLanguage(newLanguage)\r\n    }\r\n  }\r\n\r\n  componentDidUpdate(previousProps) {\r\n    const existingRoute = previousProps.route.match.url\r\n    const newRoute = this.props.route.match.url\r\n\r\n    // don't change state (refetch route data) if the route has not changed\r\n    if (existingRoute === newRoute) {\r\n      return\r\n    }\r\n\r\n    // if in experience editor - force reload instead of route data update\r\n    // avoids confusing Sitecore's editing JS\r\n    if (isExperienceEditorActive()) {\r\n      window.location.assign(newRoute)\r\n      return\r\n    }\r\n\r\n    this.updateLanguage()\r\n    this.updateRouteData()\r\n  }\r\n\r\n  render() {\r\n    const { notFound } = this.state\r\n    const routeData = this.extractRouteData()\r\n\r\n    // no route data for the current route in Sitecore - show not found component.\r\n    // Note: this is client-side only 404 handling. Server-side 404 handling is the responsibility\r\n    // of the server being used (i.e. node-headless-ssr-proxy and Sitecore intergrated rendering know how to send 404 status codes).\r\n    if (notFound && routeData) {\r\n      return (\r\n        <div>\r\n          <Helmet>\r\n            <title>{i18n.t('Page not found')}</title>\r\n          </Helmet>\r\n          <NotFound context={routeData.sitecore && routeData.sitecore.context} />\r\n        </div>\r\n      )\r\n    }\r\n\r\n    // Don't render anything if the route data or dictionary data is not fully loaded yet.\r\n    // This is a good place for a \"Loading\" component, if one is needed.\r\n    if (!routeData) {\r\n      return null\r\n    }\r\n\r\n    // Render the app's root structural layout\r\n    return <Layout route={routeData.sitecore.route} />\r\n  }\r\n}\r\n\r\n/**\r\n * Gets route data from Sitecore. This data is used to construct the component layout for a JSS route.\r\n * @param {string} route Route path to get data for (e.g. /about)\r\n * @param {string} language Language to get route data in (content language, e.g. 'en')\r\n */\r\nfunction getRouteData(route, language) {\r\n  const fetchOptions = {\r\n    layoutServiceConfig: { host: getHostname() },\r\n    querystringParams: { sc_lang: language, sc_apikey: config.sitecoreApiKey },\r\n    fetcher: dataFetcher,\r\n  }\r\n\r\n  return dataApi.fetchRouteData(route, fetchOptions).catch((error) => {\r\n    if (error.response && error.response.status === 404 && error.response.data) {\r\n      return error.response.data\r\n    }\r\n\r\n    console.error('Route data fetch error', error, error.response)\r\n\r\n    return null\r\n  })\r\n}\r\n\r\nexport default withSitecoreContext({ updatable: true })(RouteHandler)\r\n","import React from 'react'\r\nimport { SitecoreContext } from '@sitecore-jss/sitecore-jss-react'\r\nimport { Route, Switch } from 'react-router-dom'\r\nimport { ApolloProvider } from 'react-apollo'\r\nimport componentFactory from './temp/componentFactory'\r\nimport RouteHandler from './RouteHandler'\r\n\r\n// This is the main JSX entry point of the app invoked by the renderer (server or client rendering).\r\n// By default the app's normal rendering is delegated to <RouteHandler> that handles the loading of JSS route data.\r\n\r\n// support languages in the URL prefix\r\n// e.g. /da-DK/path, or /en/path, or /path\r\nexport const routePatterns = [\r\n  '/:lang([a-z]{2}-[A-Z]{2})/:sitecoreRoute*',\r\n  '/:lang([a-z]{2})/:sitecoreRoute*',\r\n  '/:sitecoreRoute*',\r\n]\r\n\r\n// wrap the app with:\r\n// ApolloProvider: provides an instance of Apollo GraphQL client to the app to make Connected GraphQL queries.\r\n//    Not needed if not using connected GraphQL.\r\n// SitecoreContext: provides component resolution and context services via withSitecoreContext\r\n// Router: provides a basic routing setup that will resolve Sitecore item routes and allow for language URL prefixes.\r\nclass AppRoot extends React.Component {\r\n  constructor(props) {\r\n    super(props)\r\n\r\n    this.state = {\r\n      ssrRenderComplete: false,\r\n    }\r\n\r\n    if (props.ssrState) {\r\n      this.sitecoreContext =\r\n        props.ssrState.sitecore && props.ssrState.sitecore.route\r\n          ? {\r\n              route: props.ssrState.sitecore.route,\r\n              itemId: props.ssrState.sitecore.route.itemId,\r\n              ...props.ssrState.sitecore.context,\r\n            }\r\n          : props.ssrState.sitecore.context\r\n    } else {\r\n      this.sitecoreContext = null\r\n    }\r\n  }\r\n\r\n  setSsrRenderComplete = (ssrRenderComplete) =>\r\n    this.setState({\r\n      ssrRenderComplete,\r\n    })\r\n\r\n  componentDidMount() {\r\n    this.setSsrRenderComplete(true)\r\n  }\r\n\r\n  render() {\r\n    const { path, Router, graphQLClient } = this.props\r\n\r\n    return (\r\n      <ApolloProvider client={graphQLClient}>\r\n        <SitecoreContext componentFactory={componentFactory} context={this.sitecoreContext}>\r\n          <Router location={path} context={{}}>\r\n            <Switch>\r\n              {routePatterns.map((routePattern) => (\r\n                <Route\r\n                  key={routePattern}\r\n                  path={routePattern}\r\n                  render={(props) => (\r\n                    <RouteHandler route={props} ssrRenderComplete={this.state.ssrRenderComplete} />\r\n                  )}\r\n                />\r\n              ))}\r\n            </Switch>\r\n          </Router>\r\n        </SitecoreContext>\r\n      </ApolloProvider>\r\n    )\r\n  }\r\n}\r\n\r\nexport default AppRoot\r\n","import 'react-app-polyfill/ie11'\r\nimport 'react-app-polyfill/stable'\r\n\r\nimport React from 'react'\r\nimport ReactDOM from 'react-dom'\r\nimport { BrowserRouter } from 'react-router-dom'\r\nimport AppRoot from './AppRoot'\r\nimport GraphQLClientFactory from './lib/GraphQLClientFactory'\r\nimport config from './temp/config'\r\nimport i18ninit from './i18n'\r\n\r\n/* eslint-disable no-underscore-dangle */\r\n\r\nlet renderFunction = ReactDOM.render\r\n\r\nlet initLanguage = config.defaultLanguage\r\n\r\n/*\r\n  SSR Data\r\n  If we're running in a server-side rendering scenario,\r\n  the server will provide JSON in the #__JSS_STATE__ element\r\n  for us to acquire the initial state to run with on the client.\r\n\r\n  This enables us to skip a network request to load up the layout data.\r\n  We are emitting a quiescent script with JSON so that we can take advantage\r\n  of JSON.parse()'s speed advantage over parsing full JS, and enable\r\n  working without needing `unsafe-inline` in Content Security Policies.\r\n\r\n  SSR is initiated from /server/server.js.\r\n*/\r\nlet __JSS_STATE__ = null\r\nconst ssrRawJson = document.getElementById('__JSS_STATE__')\r\nif (ssrRawJson) {\r\n  __JSS_STATE__ = JSON.parse(ssrRawJson.innerHTML)\r\n}\r\nif (__JSS_STATE__) {\r\n  // when React initializes from a SSR-based initial state, you need to render with `hydrate` instead of `render`\r\n  renderFunction = ReactDOM.hydrate\r\n\r\n  // set i18n language SSR state language instead of static config default language\r\n  initLanguage = __JSS_STATE__.sitecore.context.language\r\n}\r\n\r\n/*\r\n  GraphQL Data\r\n  The Apollo Client needs to be initialized to make GraphQL available to the JSS app.\r\n  Not using GraphQL? Remove this, and the ApolloContext from `AppRoot`.\r\n*/\r\n// Apollo supports SSR of GraphQL queries, so like JSS SSR, it has an object we can pre-hydrate the client cache from\r\n// to avoid needing to re-run GraphQL queries after the SSR page loads\r\nconst initialGraphQLState =\r\n  __JSS_STATE__ && __JSS_STATE__.APOLLO_STATE ? __JSS_STATE__.APOLLO_STATE : null\r\n\r\nconst graphQLClient = GraphQLClientFactory(config.graphQLEndpoint, false, initialGraphQLState)\r\n\r\n/*\r\n  App Rendering\r\n*/\r\n// initialize the dictionary, then render the app\r\n// note: if not making a multlingual app, the dictionary init can be removed.\r\ni18ninit(initLanguage).then(() => {\r\n  // HTML element to place the app into\r\n  const rootElement = document.getElementById('root')\r\n\r\n  renderFunction(\r\n    <AppRoot\r\n      path={window.location.pathname}\r\n      Router={BrowserRouter}\r\n      graphQLClient={graphQLClient}\r\n      ssrState={__JSS_STATE__}\r\n    />,\r\n    rootElement,\r\n  )\r\n})\r\n","import i18n from 'i18next'\r\nimport fetchBackend from 'i18next-fetch-backend'\r\nimport { initReactI18next } from 'react-i18next'\r\nimport config from './temp/config'\r\nimport { getHostname } from './util'\r\n\r\n/**\r\n * Initializes the i18next library to provide a translation dictionary to the app.\r\n * If your app is not multilingual, this file and references to it can be removed.\r\n * Elsewhere in the app to use the dictionary `import { t } from 'i18next'; ... t('key')`\r\n * @param {string} language Optional, the initial language. Only used for SSR; otherwise language set in RouteHandler.\r\n * @param {*} dictionary Optional, the dictionary to load. Only used for SSR; otherwise, the dictionary is loaded via JSS dictionary service.\r\n */\r\nexport default function i18nInit(language, dictionary) {\r\n  return new Promise((resolve, reject) => {\r\n    const options = {\r\n      debug: false,\r\n      lng: language,\r\n      fallbackLng: false, // fallback to keys\r\n      load: 'currentOnly', // e.g. don't load 'es' when requesting 'es-MX' -- Sitecore config should handle this\r\n      useCookie: false, // using URLs and Sitecore to store language context, don't need a cookie\r\n\r\n      interpolation: {\r\n        escapeValue: false, // not needed for react\r\n      },\r\n    }\r\n\r\n    if (dictionary) {\r\n      // if we got dictionary passed, that means we're in a SSR context with a server-provided dictionary\r\n      // so we do not want a backend, because we already know all possible keys\r\n\r\n      if (!i18n.isInitialized) {\r\n        i18n.use(initReactI18next).init(options, (error) => {\r\n          if (error) reject(error)\r\n\r\n          i18n.addResourceBundle(language, 'translation', dictionary, true, true)\r\n\r\n          resolve()\r\n        })\r\n      } else {\r\n        i18n.changeLanguage(language).then(() => {\r\n          i18n.addResourceBundle(language, 'translation', dictionary, true, true)\r\n\r\n          resolve()\r\n        })\r\n      }\r\n    } else {\r\n      // We're running client-side, so we get translation data from the Sitecore dictionary API using fetch backend\r\n      // For higher performance (but less simplicity), consider adding the i18n chained backend to a local cache option like the local storage backend.\r\n\r\n      // eslint-disable-next-line\r\n      const dictionaryServicePath = `${getHostname()}/sitecore/api/jss/dictionary/${\r\n        config.jssAppName\r\n      }/{{lng}}?sc_apikey=${config.sitecoreApiKey}`\r\n\r\n      options.backend = {\r\n        loadPath: dictionaryServicePath,\r\n        parse: (data) => {\r\n          const parsedData = JSON.parse(data)\r\n          if (parsedData.phrases) {\r\n            return parsedData.phrases\r\n          }\r\n          return parsedData\r\n        },\r\n      }\r\n\r\n      i18n\r\n        .use(fetchBackend)\r\n        .use(initReactI18next)\r\n        .init(options, (error) => {\r\n          if (error) reject(error)\r\n\r\n          resolve()\r\n        })\r\n    }\r\n  })\r\n}\r\n","/* eslint-disable import/first */\r\n\r\nimport 'cross-fetch/polyfill'\r\nimport { ApolloClient } from 'apollo-client'\r\nimport { InMemoryCache, IntrospectionFragmentMatcher } from 'apollo-cache-inmemory'\r\n\r\n/* eslint-disable import/order */\r\n\r\n/*\r\n  INTROSPECTION DATA\r\n  See https://www.apollographql.com/docs/react/recipes/fragment-matching.html\r\n  This enables the Apollo cache to process fragments on interface types correctly.\r\n  If this file does not exist, you may need to run the `jss graphql:update` script.\r\n*/\r\nimport introspectionQueryResultData from '../temp/GraphQLFragmentTypes.json'\r\n\r\n/*\r\n  QUERY LINK SELECTION\r\n  A link is transport which GraphQL queries are pushed across.\r\n  You have many choices.\r\n  See the apollo-link documentation for more details.\r\n\r\n  NOTE: to use Sitecore Experience Editor it is essential that your\r\n  link passes cookies along with requests (credentials: 'include').\r\n*/\r\n\r\n// choose between a basic HTTP link to run queries...\r\n// import { createHttpLink } from 'apollo-link-http';\r\n// const link = createHttpLink({ uri: endpoint, credentials: 'include' });\r\n\r\n// ...or a batched link (multiple queries within 10ms all go in one HTTP request)\r\nimport { BatchHttpLink } from 'apollo-link-batch-http'\r\n\r\n// ...and an automatic persisted query link, which reduces bandwidth by using query hashes to alias content\r\n// the APQ link is _chained_ behind another link that performs the actual HTTP calls, so you can choose\r\n// APQ + batched, or APQ + http links for example.\r\nimport { createPersistedQueryLink } from 'apollo-link-persisted-queries'\r\n\r\nexport default function (endpoint, ssr, initialCacheState) {\r\n  /* HTTP link selection: default to batched + APQ */\r\n  const link = createPersistedQueryLink().concat(\r\n    new BatchHttpLink({\r\n      uri: endpoint,\r\n      credentials: 'include',\r\n      headers: {\r\n        connection: 'keep-alive',\r\n      },\r\n    }),\r\n  )\r\n\r\n  const cache = new InMemoryCache({\r\n    fragmentMatcher: new IntrospectionFragmentMatcher({\r\n      introspectionQueryResultData,\r\n    }),\r\n  })\r\n\r\n  return new ApolloClient({\r\n    ssrMode: ssr,\r\n    ssrForceFetchDelay: 100,\r\n    link,\r\n    cache: cache.restore(initialCacheState),\r\n  })\r\n}\r\n","const config = require('./temp/config')\r\n\r\n/**\r\n * Check is disconnected mode started\r\n * @returns {boolean}\r\n */\r\nconst isDisconnected = () => /localhost/i.test(config.sitecoreApiHost)\r\n\r\nmodule.exports.isDisconnected = isDisconnected\r\n\r\n/**\r\n * Get hostname which used to access application, in disconnected mode it can be localhost or ip address\r\n * @returns {string} hostname\r\n */\r\nmodule.exports.getHostname = () =>\r\n  isDisconnected() ? window.location.origin : config.sitecoreApiHost\r\n\r\n/**\r\n * Transform UTC date into human readable date in DD.MM. or DD.MM.YYYY format\r\n * @returns {string}\r\n */\r\nmodule.exports.formatDate = (inputDate, outputFormat) => {\r\n  const date = new Date(inputDate)\r\n\r\n  const formatMonth = (date) => {\r\n    const realMonth = date.getMonth() + 1\r\n    return realMonth < 10 ? '0' + realMonth : realMonth.toString()\r\n  }\r\n\r\n  const day = date.getDate().toString()\r\n  const month = formatMonth(date)\r\n  const year = date.getFullYear().toString()\r\n\r\n  if (outputFormat === 'dayMonth') {\r\n    return `${day}.${month}.`\r\n  } else {\r\n    return `${day}.${month}.${year}`\r\n  }\r\n}\r\n\r\n/**\r\n * Parse given `content` and return src value or content of all `<script>` tags.\r\n * @param {string} content\r\n * @returns {Array.<{ external: boolean, value: string }>}\r\n */\r\nmodule.exports.getScripts = (content) => {\r\n  if (!content) return []\r\n\r\n  const scriptTags = content.match(/<script[\\s\\S]*?\\/script>/g)\r\n\r\n  return scriptTags\r\n    .map((script) => {\r\n      const matchSrc = script.match(/<script.*src=\"(.*)\".*>/s) // try to match value of `src` attribute\r\n      const matchContent = script.match(/<script.*>(.*)<\\/script>/s) // try to match content of script\r\n\r\n      // check if script contains `src`\r\n      if (matchSrc) {\r\n        return {\r\n          external: true,\r\n          value: matchSrc[1],\r\n        }\r\n      }\r\n\r\n      // otherwise return content of script\r\n      if (matchContent) {\r\n        return {\r\n          external: false,\r\n          value: matchContent[1],\r\n        }\r\n      }\r\n\r\n      return null\r\n    })\r\n    .filter((script) => script)\r\n}\r\n\r\nmodule.exports.isMobileDevice = () => {\r\n  if (!this.isClient()) return false\r\n\r\n  if (\r\n    navigator.userAgent.match(/Android/i) ||\r\n    navigator.userAgent.match(/webOS/i) ||\r\n    navigator.userAgent.match(/iPhone/i) ||\r\n    navigator.userAgent.match(/iPad/i) ||\r\n    navigator.userAgent.match(/iPod/i) ||\r\n    navigator.userAgent.match(/BlackBerry/i) ||\r\n    navigator.userAgent.match(/Windows Phone/i)\r\n  ) {\r\n    return true\r\n  } else {\r\n    return false\r\n  }\r\n}\r\n\r\n/**\r\n * Check if `window` object is available.\r\n * @returns {boolean} true if application is rendered in browser\r\n */\r\nmodule.exports.isClient = () => typeof window !== 'undefined'\r\n\r\n/**\r\n * Get link and label keys from backlink array.\r\n * @returns {Object} with href link and label\r\n */\r\nmodule.exports.getBacklinkData = (linkArray) => {\r\n  if (linkArray.length === 1) {\r\n    return { link: linkArray[0].link, label: linkArray[0].label }\r\n  }\r\n  if (linkArray.length > 1) {\r\n    // return second to last\r\n    return {\r\n      link: linkArray[linkArray.length - 2].link,\r\n      label: linkArray[linkArray.length - 2].label,\r\n    }\r\n  }\r\n}\r\n\r\n/**\r\n * Check whether given `jssLinkField` has non-empty href.\r\n * @typedef {Object} JSSLinkField\r\n * @property {Object} value\r\n * @property {string} value.href\r\n * @property {string} value.text\r\n * @property {string} value.url\r\n * @property {string} value.target\r\n * @property {string} value.title\r\n *\r\n * @param {JSSLinkField | null | undefined} jssLinkField\r\n * @returns {boolean}\r\n */\r\nmodule.exports.hasHref = (jssLinkField) => Boolean(jssLinkField?.value?.href)\r\n"],"sourceRoot":""}