{"version":3,"file":"static/js/80.564ff18a.chunk.js","mappings":"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","sources":["components/Feature/Banner/Banner.js","../../../../node_modules/@sitecore-jss/sitecore-jss-react/dist/esm/components/RichText.js"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\r\nimport { RichText, Image, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nconst Banner = (props) => {\r\n  const isEditing = props.sitecoreContext.pageEditing;\r\n  const videoRef = useRef(null);\r\n  const overlayRef = useRef(null);\r\n  const parallaxSectionRef = useRef(null);\r\n\r\n  useEffect(() => {\r\n    const handleScroll = () => {\r\n      const scrollY = window.scrollY;\r\n\r\n      // Set overlay opacity\r\n      const overlayOpacity = Math.min(scrollY / 500, 1);\r\n      if (overlayRef.current) {\r\n        overlayRef.current.style.opacity = overlayOpacity;\r\n      }\r\n\r\n      // Parallax effect\r\n      const parallaxSpeed = 0.6;\r\n      const parallaxOffset = scrollY * parallaxSpeed;\r\n      if (parallaxSectionRef.current) {\r\n        parallaxSectionRef.current.style.transform = `translateY(${parallaxOffset}px)`;\r\n      }\r\n    };\r\n\r\n    // Attach event listener\r\n    window.addEventListener('scroll', handleScroll);\r\n\r\n    // Cleanup on unmount\r\n    return () => {\r\n      window.removeEventListener('scroll', handleScroll);\r\n    };\r\n  }, []);\r\n\r\n  return (\r\n    <div ref={parallaxSectionRef} className={!isEditing ? 'parallax-section' : ''}>\r\n      {/* Banner Text Section */}\r\n      <div className=\"banner-text\">\r\n        <div className=\"banner-icon\">\r\n          <Image field={props?.fields?.bannerLogo} />\r\n        </div>\r\n        <div className=\"banner-heading\">\r\n          <RichText field={props.fields?.bannerText} />\r\n        </div>\r\n      </div>\r\n\r\n      {/* Overlay */}\r\n      <div ref={overlayRef} className=\"overlay\"></div>\r\n\r\n      {/* Video or Image Section */}\r\n      <div className={!isEditing ? 'sticky-video' : ''}>\r\n        {props?.fields?.VideoEnable?.value ? (\r\n          <video ref={videoRef} autoPlay muted loop className=\"background-video\">\r\n            <source src={props.fields?.Video?.value?.src} type=\"video/mp4\" />\r\n            Your browser does not support the video tag.\r\n          </video>\r\n        ) : (\r\n          <picture>\r\n            {/* Desktop image */}\r\n            <source media=\"(min-width: 768px)\" srcSet={props.fields?.BackgroundImage?.value.src} />\r\n            {/* Mobile image */}\r\n            <img\r\n              src={props.fields?.BackgroundMobileImage?.value.src}\r\n              className=\"img-fluid\"\r\n              alt={props.fields?.BackgroundMobileImage?.value.alt || 'TVS'}\r\n            />\r\n          </picture>\r\n        )}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default withSitecoreContext()(Banner);\r\n","var __rest = (this && this.__rest) || function (s, e) {\n    var t = {};\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n        t[p] = s[p];\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n                t[p[i]] = s[p[i]];\n        }\n    return t;\n};\nimport React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nexport const RichText = forwardRef((_a, ref) => {\n    var { field, tag, editable } = _a, otherProps = __rest(_a, [\"field\", \"tag\", \"editable\"]);\n    if (!field || (!field.editable && !field.value)) {\n        return null;\n    }\n    const htmlProps = Object.assign({ dangerouslySetInnerHTML: {\n            __html: field.editable && editable ? field.editable : field.value,\n        }, ref }, otherProps);\n    return React.createElement(tag || 'div', htmlProps);\n});\nexport const RichTextPropTypes = {\n    field: PropTypes.shape({\n        value: PropTypes.string,\n        editable: PropTypes.string,\n    }),\n    tag: PropTypes.string,\n    editable: PropTypes.bool,\n};\nRichText.propTypes = RichTextPropTypes;\nRichText.defaultProps = {\n    tag: 'div',\n    editable: true,\n};\nRichText.displayName = 'RichText';\n"],"names":["withSitecoreContext","props","_props$fields","_props$fields2","_props$fields3","_props$fields3$VideoE","_props$fields4","_props$fields4$Video","_props$fields4$Video$","_props$fields5","_props$fields5$Backgr","_props$fields6","_props$fields6$Backgr","_props$fields7","_props$fields7$Backgr","isEditing","sitecoreContext","pageEditing","videoRef","useRef","overlayRef","parallaxSectionRef","useEffect","handleScroll","scrollY","window","overlayOpacity","Math","min","current","style","opacity","parallaxOffset","transform","addEventListener","removeEventListener","_jsxs","ref","className","children","_jsx","Image","field","fields","bannerLogo","RichText","bannerText","VideoEnable","value","autoPlay","muted","loop","src","Video","type","media","srcSet","BackgroundImage","BackgroundMobileImage","alt","__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","forwardRef","_a","tag","editable","otherProps","htmlProps","assign","dangerouslySetInnerHTML","__html","React","RichTextPropTypes","PropTypes","propTypes","defaultProps","displayName"],"sourceRoot":""}