{"version":3,"file":"static/js/6963.e09413e2.chunk.js","mappings":"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","sources":["hooks/useKeyboardNavigation.jsx","shared/service-link-card-container/service-link-card-container-component.jsx"],"sourcesContent":["import { useState, useEffect } from \"react\"\n\nfunction useKeyboardNavigation() {\n  const [isKeyboardNavigation, setIsKeyboardNavigation] = useState(false)\n\n  useEffect(() => {\n    const handleKeyDown = () => setIsKeyboardNavigation(true)\n    const handleMouseDown = () => setIsKeyboardNavigation(false)\n\n    window.addEventListener(\"keydown\", handleKeyDown)\n    window.addEventListener(\"mousedown\", handleMouseDown)\n\n    // Cleanup event listeners on unmount\n    return () => {\n      window.removeEventListener(\"keydown\", handleKeyDown)\n      window.removeEventListener(\"mousedown\", handleMouseDown)\n    }\n  }, [])\n\n  return isKeyboardNavigation\n}\n\nexport default useKeyboardNavigation\n","import React, { useState } from \"react\"\nimport ReactHtmlParser from \"react-html-parser\"\nimport Slider from \"react-slick\"\nimport * as SelectionFactoryHelper from \"../helpers/SelectionFactoryHelper\"\nimport useWindowWidth from \"../../hooks/useWindowWidth\"\nimport useKeyboardNavigation from \"../../hooks/useKeyboardNavigation\"\n\nexport default function ServiceLinkCardContainer({ serviceLinkCards, headline, backgroundColor, bottomPadding, topPadding }) {\n  const windowWidth = useWindowWidth()\n  const keyboardNavigating = useKeyboardNavigation()\n\n  const bgColor = SelectionFactoryHelper.getFromSelectionFactory(backgroundColor, false) || \"\"\n  const tPadding = SelectionFactoryHelper.getFromSelectionFactory(bottomPadding, false) || \"\"\n  const bPadding = SelectionFactoryHelper.getFromSelectionFactory(topPadding, false) || \"\"\n\n  const htmlServiceLinkCards =\n    serviceLinkCards && serviceLinkCards.length > 0\n      ? serviceLinkCards.map((card, index) => {\n          return (\n            <ServiceLinkCard\n              key={card.cardHeader + index}\n              header={card.cardHeader}\n              subtext={card.cardSubtext}\n              svg={card.svg}\n              link={card.link}\n              target={card.target}\n              windowWidth={windowWidth}\n              keyboardNavigating={keyboardNavigating}\n            />\n          )\n        })\n      : undefined\n\n  var settings = {\n    dots: windowWidth < 950 ? true : false,\n    arrows: windowWidth < 950 ? false : true,\n    infinite: false,\n    slidesToScroll: 1,\n    swipe: true,\n    variableWidth: true,\n  }\n\n  const htmlHeadline = ReactHtmlParser(headline)\n\n  return (\n    <section className={`service-link-card-container ${bgColor} ${tPadding} ${bPadding}`}>\n      <h2 className=\"service-link-container-headline\">{htmlHeadline}</h2>\n      {htmlServiceLinkCards && htmlServiceLinkCards.length > 0 ? (\n        <div className=\"w--wider\">\n          {windowWidth < 950 ? (\n            <Slider {...settings}>{htmlServiceLinkCards}</Slider>\n          ) : (\n            <div className=\"service-link-cards\">{htmlServiceLinkCards}</div>\n          )}\n        </div>\n      ) : (\n        <div className=\"no-content\"></div>\n      )}\n    </section>\n  )\n}\n\nfunction ServiceLinkCard({ svg, header, subtext, link, target, windowWidth, keyboardNavigating }) {\n  const [isHovered, setIsHovered] = useState(false)\n  const [isFocused, setIsFocused] = useState(false)\n\n  function handleMouseEvent() {\n    if (!isFocused) setIsHovered(!isHovered)\n  }\n\n  function handleFocusEvent() {\n    setIsFocused(!isFocused)\n    if (isHovered) setIsHovered(!isHovered)\n  }\n\n  const selectedSvg = SelectionFactoryHelper.getFromSelectionFactory(svg)\n  const selectedLinkTarget = SelectionFactoryHelper.getFromSelectionFactory(target)\n\n  return (\n    <div className={`grid-item${keyboardNavigating && isFocused ? \" focus-visible\" : \"\"}`}>\n      <a\n        onMouseEnter={windowWidth >= 768 ? () => handleMouseEvent() : undefined}\n        onMouseLeave={windowWidth >= 768 ? () => handleMouseEvent() : undefined}\n        onFocus={() => handleFocusEvent()}\n        onBlur={() => handleFocusEvent()}\n        href={link}\n        target={selectedLinkTarget || \"_blank\"}\n      >\n        {selectedSvg ? (\n          <svg className={`svg-icon svg-icon--${selectedSvg}`}>\n            <use xmlnsXlink=\"http://www.w3.org/1999/xlink\" xlinkHref={`/dist/svg/symbols.svg#svg-${selectedSvg}`}>\n              &nbsp;\n            </use>\n          </svg>\n        ) : (\n          <div className=\"no-svg\"></div>\n        )}\n        <div className=\"servicelinkcard\">\n          <div className=\"flex-container\">\n            <div className=\"textarea-header\">\n              <h3 className={isHovered || isFocused ? \"is-hovered\" : \"\"}>{header}</h3>\n            </div>\n            <p className={`maintext${isHovered || isFocused ? \" is-hovered\" : \"\"}`}>{subtext}</p>\n          </div>\n        </div>\n      </a>\n    </div>\n  )\n}\n"],"names":["_useState","useState","_useState2","_slicedToArray","isKeyboardNavigation","setIsKeyboardNavigation","useEffect","handleKeyDown","handleMouseDown","window","addEventListener","removeEventListener","ServiceLinkCardContainer","_ref","serviceLinkCards","headline","backgroundColor","bottomPadding","topPadding","windowWidth","useWindowWidth","keyboardNavigating","useKeyboardNavigation","bgColor","SelectionFactoryHelper","tPadding","bPadding","htmlServiceLinkCards","length","map","card","index","_jsx","ServiceLinkCard","header","cardHeader","subtext","cardSubtext","svg","link","target","undefined","settings","dots","arrows","infinite","slidesToScroll","swipe","variableWidth","htmlHeadline","ReactHtmlParser","_jsxs","className","concat","children","Slider","_objectSpread","_ref2","isHovered","setIsHovered","_useState3","_useState4","isFocused","setIsFocused","handleMouseEvent","handleFocusEvent","selectedSvg","selectedLinkTarget","onMouseEnter","onMouseLeave","onFocus","onBlur","href","xmlnsXlink","xlinkHref"],"sourceRoot":""}