{"version":3,"sources":["node_modules/browser-pack/_prelude.js","frontend/Common/js/common/scrollIntoView.js","frontend/Common/js/common/useClickAway.js","frontend/Common/js/components/ArrowLink/ArrowLink.jsx","frontend/Common/js/components/Icon/Icon.jsx","frontend/Common/js/components/SectionHeadline/SectionHeadline.jsx","frontend/Common/js/modules/LocationsInterface/LocationsInterfaceApp.jsx","frontend/Common/js/modules/LocationsInterface/entry/locations-interface.js","frontend/Common/js/modules/LocationsInterface/renderLocationsInterface.jsx"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","_lodash","__esModule","default","isScrolledIntoView","el","all","rect","getBoundingClientRect","elemTop","top","elemBottom","bottom","window","innerHeight","initScrolledIntoView","index","scrollAll","dataset","repeatAnimation","showComponent","classList","add","removeEventListener","remove","setTimeout","addEventListener","initSingleScrolledIntoView","nodelist","callback","let","activeIndex","newIndex","forEach","err","props","isOpen","setOpen","ref","disallow","fallbackRef","_react","useRef","dropdownRef","buttonRef","clickStartedInside","setClickStartedInside","useState","moveFocus","setMoveFocus","useEffect","handleClickAway","isOrContainsNode","current","target","handleKeydown","key","focus","handleMouseDown","handleFocusLoss","document","parent","child","contains","_interopRequireDefault","_propTypes","_classnames","_Icon","propTypes","arrowLinkPropTypes","href","string","isRequired","type","oneOf","text","title","className","reversed","bool","onKeyDown","func","lang","gtmElementLabel","focusRef","object","ArrowLink","download","iconName","createElement","hrefLang","arrow-link--reversed","rel","data-gtm-element","data-gtm-link","data-gtm-text","_extends","Object","assign","bind","arguments","hasOwnProperty","apply","Icon","otherProps","focusable","aria-label","aria-hidden","role","xlinkHref","assetsFolder","_ArrowLink","cta","subtitle","centered","noBorder","darkTheme","stacked","size","sectionHeadline","titleClass","section-headline--no-border","section-headline--centered","section-headline--dark","section-headline--stacked","dangerouslySetInnerHTML","__html","_getRequireWildcardCache","has","get","__proto__","defineProperty","getOwnPropertyDescriptor","set","_interopRequireWildcard","_useClickAway","_scrollIntoView","_SectionHeadline","WeakMap","background","shape","src","alt","color","height","width","pageEditor","message","locations","arrayOf","xCoord","yCoord","icon","sources","array","image","description","link","dictionary","learnMore","LocationsInterfaceApp","initialCoords","mapStyle","--map-color","--map-height","--map-width","mapSrc","renderImage","includes","mapAlt","activeItemIndex","setActiveItemIndex","wideView","setWideView","activeItemRef","value","linkRef","mapRef","toggleActiveItem","handleResize","innerWidth","style","draggable","onClick","left","position","defaultValue","name","map","location","locations-interface__item--dark","--popup-background","backgroundColor","locations-interface__dot--icon","aria-haspopup","aria-expanded","onMouseEnter","srcSet","join","locations-interface__popup--open","locations-interface__popup--dark","locations-interface__popup--wide","_renderLocationsInterface","querySelectorAll","mount","dataModel","JSON","parse","model","dataDictionary","_reactDom","render","_LocationsInterfaceApp","elMapArea","querySelector","elDot","elX","elY","event","preventDefault","stopPropagation","clientX","clientY","x","parseInt","y"],"mappings":"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","file":"locations-interface-generated.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i {\r\n const rect = el.getBoundingClientRect();\r\n const elemTop = rect.top;\r\n const elemBottom = rect.bottom;\r\n\r\n if (all) {\r\n // Only completely visible elements return true:\r\n return elemTop <= 0 && elemBottom > window.innerHeight;\r\n } else {\r\n // Partially visible elements return true:\r\n return (\r\n elemTop <= window.innerHeight / 2 + 100 &&\r\n elemBottom > window.innerHeight / 2 - 100\r\n );\r\n }\r\n};\r\n\r\nexport const initScrolledIntoView = (el, index) => {\r\n const scrollAll =\r\n (el.dataset.scrollAll && el.dataset.scrollAll === \"true\") || false;\r\n\r\n const repeatAnimation =\r\n (el.dataset.repeatAnimation && el.dataset.repeatAnimation === \"true\") ||\r\n false;\r\n\r\n const showComponent = throttle(() => {\r\n if (isScrolledIntoView(el, scrollAll)) {\r\n el.classList.add(\"scrolled-into-view\");\r\n if (!repeatAnimation) {\r\n window.removeEventListener(\"scroll\", showComponent);\r\n }\r\n } else {\r\n el.classList.remove(\"scrolled-into-view\");\r\n }\r\n }, 50);\r\n\r\n setTimeout(showComponent, 1000);\r\n\r\n window.addEventListener(\"scroll\", showComponent);\r\n};\r\n\r\nexport const initSingleScrolledIntoView = (nodelist, callback) => {\r\n if (nodelist?.length < 1) {\r\n return;\r\n }\r\n\r\n let activeIndex = -1;\r\n let newIndex = -1;\r\n\r\n const showComponent = throttle(() => {\r\n nodelist.forEach((el, index) => {\r\n if (isScrolledIntoView(el) && index !== activeIndex) {\r\n newIndex = index;\r\n }\r\n });\r\n\r\n if (newIndex !== activeIndex) {\r\n activeIndex = newIndex;\r\n nodelist.forEach((el, index) => {\r\n el.classList.remove(\"scrolled-into-view\");\r\n });\r\n\r\n nodelist[activeIndex].classList.add(\"scrolled-into-view\");\r\n\r\n try {\r\n callback(activeIndex);\r\n } catch (err) {\r\n //not a function\r\n }\r\n }\r\n }, 100);\r\n\r\n setTimeout(showComponent, 1000);\r\n\r\n window.addEventListener(\"scroll\", showComponent);\r\n};\r\n","import { useEffect, useState, useRef } from \"react\";\r\n\r\n/**\r\n *\r\n * @param {object} props\r\n * @param {boolean} props.isOpen\r\n * @param {function} props.setOpen\r\n * @param {React.RefObject} props.ref\r\n * @param {boolean | undefined} [disallow] - Optional boolean to disallow click away in certain circumstances\r\n * @returns {React.RefObject}\r\n */\r\nexport default function useClickAway(props) {\r\n const { isOpen, setOpen, ref, disallow } = props;\r\n\r\n const fallbackRef = useRef();\r\n const dropdownRef = ref || fallbackRef;\r\n const buttonRef = props.buttonRef || fallbackRef;\r\n\r\n // if the click originated inside, don't close it when the \"click\" event\r\n // happens outside\r\n const [clickStartedInside, setClickStartedInside] = useState(false);\r\n\r\n const [moveFocus, setMoveFocus] = useState(true);\r\n\r\n useEffect(() => {\r\n if (disallow) {\r\n return;\r\n }\r\n\r\n if (isOpen) {\r\n const handleClickAway = (e) => {\r\n if (\r\n !isOrContainsNode(dropdownRef.current, e.target) &&\r\n !clickStartedInside\r\n ) {\r\n setOpen(false);\r\n }\r\n\r\n setClickStartedInside(false); // reset\r\n };\r\n\r\n const handleKeydown = (e) => {\r\n if (e.key === \"Esc\" || e.key === \"Escape\") {\r\n setOpen(false);\r\n\r\n if (moveFocus) {\r\n buttonRef.current.focus();\r\n }\r\n }\r\n };\r\n\r\n const handleMouseDown = (e) => {\r\n if (isOrContainsNode(dropdownRef.current, e.target)) {\r\n setClickStartedInside(true);\r\n }\r\n };\r\n\r\n const handleFocusLoss = (e) => {\r\n setMoveFocus(isOrContainsNode(dropdownRef.current, e.target));\r\n };\r\n\r\n document.addEventListener(\"click\", handleClickAway, true);\r\n document.addEventListener(\"keydown\", handleKeydown);\r\n document.addEventListener(\"mousedown\", handleMouseDown);\r\n document.addEventListener(\"focusin\", handleFocusLoss);\r\n\r\n return () => {\r\n document.removeEventListener(\"click\", handleClickAway, true);\r\n document.removeEventListener(\"keydown\", handleKeydown);\r\n document.removeEventListener(\"mousedown\", handleMouseDown);\r\n document.removeEventListener(\"focusin\", handleFocusLoss);\r\n };\r\n }\r\n }, [\r\n clickStartedInside,\r\n dropdownRef,\r\n isOpen,\r\n setOpen,\r\n buttonRef,\r\n moveFocus,\r\n disallow,\r\n ]);\r\n\r\n return dropdownRef;\r\n}\r\n\r\n/* https://github.com/downshift-js/downshift/blob/046e4abf4468fead3bf3adadb1352279532345ed/src/utils.js#L41-L48*/\r\n/**\r\n * @param {HTMLElement} parent the parent node\r\n * @param {HTMLElement} child the child node\r\n * @return {Boolean} whether the parent is the child or the child is in the parent\r\n */\r\nfunction isOrContainsNode(parent, child) {\r\n return (\r\n !parent || parent === child || (parent.contains && parent.contains(child))\r\n );\r\n}\r\n","// *****\r\n// Sitecore link types are: internal, external, anchor, media, mailto, javascript\r\n// type mailto links already have the `mailto:` string prepended\r\n// *****\r\n\r\nimport React from \"react\";\r\nimport { string, oneOf, bool, func, object } from \"prop-types\";\r\nimport cx from \"classnames\";\r\n\r\nimport Icon from \"../Icon/Icon.jsx\";\r\n\r\nconst propTypes = {\r\n href: string.isRequired,\r\n type: oneOf([\r\n \"\",\r\n \"internal\",\r\n \"external\",\r\n \"anchor\",\r\n \"mailto\",\r\n \"media\",\r\n \"download\",\r\n \"arrow\",\r\n ]),\r\n text: string,\r\n title: string,\r\n className: string,\r\n reversed: bool,\r\n onKeyDown: func,\r\n lang: string,\r\n gtmElementLabel: string,\r\n focusRef: object,\r\n};\r\n\r\nconst ArrowLink = (props) => {\r\n const {\r\n href,\r\n type,\r\n text,\r\n title,\r\n className,\r\n lang,\r\n reversed = false,\r\n gtmElementLabel,\r\n focusRef,\r\n } = props;\r\n\r\n let download = false;\r\n let iconName = \"\";\r\n\r\n switch (type) {\r\n case \"download\":\r\n case \"media\":\r\n download = true;\r\n iconName = \"download\";\r\n break;\r\n case \"external\":\r\n iconName = \"external\";\r\n break;\r\n case \"anchor\":\r\n case \"arrow\":\r\n iconName = reversed ? \"arrow-left\" : \"arrow-right\";\r\n break;\r\n default:\r\n }\r\n\r\n const classModifier = type ? `arrow-link--${type}` : \"\";\r\n\r\n return (\r\n // eslint-disable-next-line react/jsx-no-target-blank\r\n \r\n {reversed && iconName && }\r\n {text}\r\n {!reversed && iconName && }\r\n \r\n );\r\n};\r\nArrowLink.propTypes = propTypes;\r\nexport { propTypes as arrowLinkPropTypes };\r\nexport default ArrowLink;\r\n","import React from \"react\";\r\nimport { string } from \"prop-types\";\r\nimport cx from \"classnames\";\r\n\r\nconst propTypes = {\r\n iconName: string,\r\n className: string,\r\n title: string,\r\n};\r\n\r\nconst Icon = (props) => {\r\n const { iconName, className, title, ...otherProps } = props;\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nIcon.propTypes = propTypes;\r\nexport default Icon;\r\n","import React from \"react\";\r\nimport { object, string, bool, oneOf } from \"prop-types\";\r\nimport cx from \"classnames\";\r\n\r\nimport ArrowLink from \"../ArrowLink/ArrowLink.jsx\";\r\n\r\nconst propTypes = {\r\n cta: object,\r\n title: string.isRequired,\r\n subtitle: string,\r\n centered: bool,\r\n noBorder: bool,\r\n darkTheme: bool,\r\n stacked: bool,\r\n size: oneOf([\"\", \"large\", \"small\", \"x-small\"]),\r\n};\r\n\r\nconst sectionHeadline = (props) => {\r\n const { cta, title, subtitle, size, centered, noBorder, darkTheme, stacked } =\r\n props;\r\n\r\n const titleClass =\r\n size && size !== \"\" ? `section-headline__title--${size}` : \"\";\r\n\r\n return (\r\n \r\n

{title}

\r\n {!stacked && cta && cta.href && (\r\n
\r\n \r\n
\r\n )}\r\n {subtitle && (\r\n \r\n )}\r\n {stacked && cta && cta.href && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nsectionHeadline.propTypes = propTypes;\r\nexport default sectionHeadline;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { array, string, object, arrayOf, shape, bool } from \"prop-types\";\r\nimport cx from \"classnames\";\r\n\r\nimport useClickAway from \"../../common/useClickAway.js\";\r\nimport { initScrolledIntoView } from \"../../common/scrollIntoView.js\";\r\n\r\nimport ArrowLink from \"../../components/ArrowLink/ArrowLink.jsx\";\r\nimport SectionHeadline from \"../../components/SectionHeadline/SectionHeadline.jsx\";\r\n\r\nconst propTypes = {\r\n background: shape({\r\n src: string,\r\n alt: string,\r\n color: string,\r\n height: string,\r\n width: string,\r\n }),\r\n pageEditor: bool,\r\n message: string,\r\n sectionHeadline: object.isRequired,\r\n locations: arrayOf(\r\n shape({\r\n xCoord: string,\r\n yCoord: string,\r\n icon: shape({\r\n alt: string,\r\n sources: array.isRequired,\r\n }),\r\n image: shape({\r\n alt: string,\r\n sources: array.isRequired,\r\n }),\r\n description: string,\r\n link: shape({\r\n text: string.isRequired, // this the bolded title field in Sitecore\r\n href: string.isRequired,\r\n type: string,\r\n title: string,\r\n }).isRequired,\r\n }),\r\n ),\r\n dictionary: shape({\r\n learnMore: string,\r\n }),\r\n};\r\n\r\nconst LocationsInterfaceApp = (props) => {\r\n const {\r\n background,\r\n pageEditor,\r\n message,\r\n sectionHeadline,\r\n locations,\r\n dictionary,\r\n } = props;\r\n\r\n const breakpoint = 680;\r\n const initialCoords = { x: 16, y: 40 };\r\n const mapStyle = {\r\n \"--map-color\": background?.color || \"#737373\",\r\n \"--map-height\": background?.height || \"642\",\r\n \"--map-width\": background?.width || \"1284\",\r\n };\r\n const mapSrc =\r\n background?.src ||\r\n \"/assets/img/locations-interface-map.svg#locations-interface-background\";\r\n const renderImage = !mapSrc?.includes(\".svg#\");\r\n\r\n const mapAlt = background?.alt || \"World Map\";\r\n\r\n const [activeItemIndex, setActiveItemIndex] = useState(-1);\r\n const [wideView, setWideView] = useState(true);\r\n\r\n const activeItemRef = useClickAway({\r\n isOpen: activeItemIndex !== -1,\r\n setOpen: (value) => {\r\n setActiveItemIndex(-1);\r\n },\r\n });\r\n\r\n const linkRef = useRef();\r\n const mapRef = useRef();\r\n\r\n useEffect(() => {\r\n const handleResize = () => {\r\n if (window.innerWidth > breakpoint && !wideView) {\r\n setWideView(true);\r\n }\r\n\r\n if (window.innerWidth <= breakpoint && wideView) {\r\n setWideView(false);\r\n }\r\n };\r\n\r\n handleResize();\r\n\r\n window.addEventListener(\"resize\", handleResize);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", handleResize);\r\n };\r\n }, [wideView]);\r\n\r\n useEffect(() => {\r\n initScrolledIntoView(mapRef.current);\r\n }, [mapRef]);\r\n\r\n const toggleActiveItem = (index) => {\r\n if (pageEditor) {\r\n return;\r\n }\r\n\r\n if (index === activeItemIndex) {\r\n setActiveItemIndex(-1);\r\n } else {\r\n setActiveItemIndex(index);\r\n setTimeout(() => {\r\n linkRef.current.focus();\r\n }, 500);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n {message &&
{message}
}\r\n {sectionHeadline && (\r\n \r\n )}\r\n \r\n {renderImage && (\r\n \r\n )}\r\n {!renderImage && (\r\n \r\n \r\n \r\n )}\r\n {pageEditor && (\r\n {}}\r\n style={{\r\n top: `${initialCoords.y}%`,\r\n left: `${initialCoords.x}%`,\r\n position: \"absolute\",\r\n }}\r\n >\r\n 1\r\n \r\n )}\r\n {pageEditor && (\r\n
\r\n \r\n \r\n
\r\n )}\r\n {!pageEditor && (\r\n \r\n
    \r\n {locations &&\r\n locations.map((location, i) => (\r\n \r\n {wideView && (\r\n \r\n toggleActiveItem(i)}\r\n onMouseEnter={() => toggleActiveItem(i)}\r\n >\r\n {location.icon && (\r\n \r\n )}\r\n {!location.icon && {i + 1}}\r\n \r\n \r\n \r\n
    \r\n {location.description && (\r\n
    \r\n {location.description}\r\n
    \r\n )}\r\n {!location.description && (\r\n
    \r\n {location.description || location.link.text}\r\n
    \r\n )}\r\n {location.link.href && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n )}\r\n {!wideView && }\r\n \r\n ))}\r\n
\r\n \r\n )}\r\n \r\n {pageEditor && (\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n Name, city, country\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n Name, city, country\r\n
\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n};\r\nLocationsInterfaceApp.propTypes = propTypes;\r\nexport default LocationsInterfaceApp;\r\n","import renderLocationsInterface from \"../renderLocationsInterface.jsx\";\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n renderLocationsInterface();\r\n});\r\n","import React from \"react\";\r\nimport ReactDom from \"react-dom\";\r\n\r\nimport LocationsInterfaceApp from \"./LocationsInterfaceApp.jsx\";\r\n\r\nexport default function renderLocationsInterface() {\r\n document.querySelectorAll(\".js-locations-interface\").forEach((mount) => {\r\n const dataModel = JSON.parse(mount.dataset.model);\r\n const dataDictionary = JSON.parse(mount.dataset.dictionary);\r\n\r\n ReactDom.render(\r\n ,\r\n mount,\r\n );\r\n });\r\n\r\n document.querySelectorAll(\".js-locations-interface-ee\").forEach((el) => {\r\n const elMapArea = el.querySelector(\".js-locations-interface-map\");\r\n const elDot = el.querySelector(\".js-location-interface-dot\");\r\n const elX = el.querySelector(\".js-locations-interface-xcoord\");\r\n const elY = el.querySelector(\".js-locations-interface-ycoord\");\r\n\r\n const handleDrop = (xCoord, yCoord) => {\r\n const rect = elMapArea.getBoundingClientRect();\r\n const x = parseInt(((xCoord - rect.x) / rect.width) * 100); //x position within the element.\r\n const y = parseInt(((yCoord - rect.y) / rect.height) * 100); //y position within the element.\r\n elDot.style.left = `${x}%`;\r\n elDot.style.top = `${y}%`;\r\n elX.value = x;\r\n elY.value = y;\r\n };\r\n\r\n // need this but not sure why\r\n document.addEventListener(\"dragover\", (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n });\r\n\r\n // need this but not sure why\r\n document.addEventListener(\"dragleave\", (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n });\r\n\r\n document.addEventListener(\"drop\", (event) => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n // store destination mouse position\r\n handleDrop(event.clientX, event.clientY);\r\n });\r\n\r\n elX.addEventListener(\"keyup\", (e) => {\r\n const value = elX.value;\r\n elDot.style.left = value.length > 0 ? `${value}%` : \"0%\";\r\n });\r\n\r\n elY.addEventListener(\"keyup\", (e) => {\r\n const value = elY.value;\r\n elDot.style.top = value.length > 0 ? `${value}%` : \"0%\";\r\n });\r\n\r\n elX.addEventListener(\"change\", (e) => {\r\n const value = elX.value;\r\n elDot.style.left = value.length > 0 ? `${value}%` : \"0%\";\r\n });\r\n\r\n elY.addEventListener(\"change\", (e) => {\r\n const value = elY.value;\r\n elDot.style.top = value.length > 0 ? `${value}%` : \"0%\";\r\n });\r\n });\r\n}\r\n"]}