{"version":3,"file":"static/js/193.03504ef1.chunk.js","mappings":"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","sources":["components/Feature/Product/Product.js","../../../../node_modules/@sitecore-jss/sitecore-jss-react/dist/esm/components/RichText.js","../../../../node_modules/@sitecore-jss/sitecore-jss-react/dist/esm/components/Text.js"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\r\nimport Slider from 'react-slick';\r\nimport { Text, Image, RichText, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport 'slick-carousel/slick/slick.css';\r\nimport 'slick-carousel/slick/slick-theme.css';\r\n\r\nconst Product = (props) => {\r\n  const isEditing = props.sitecoreContext.pageEditing;\r\n  const [isMobile, setIsMobile] = useState(false); // Initially assume it's not mobile\r\n  const wrapperRef = useRef(null); // Reference to the wrapper element\r\n  const sliderRef = useRef(null);\r\n\r\n  const updateMobileState = () => {\r\n    if (wrapperRef.current) {\r\n      setIsMobile(wrapperRef.current.offsetWidth <= 768);\r\n    }\r\n  };\r\n\r\n  useEffect(() => {\r\n    // Initial check on mount\r\n    updateMobileState();\r\n    // Resize event listener\r\n    window.addEventListener('resize', updateMobileState);\r\n\r\n    // Cleanup the event listener on component unmount\r\n    return () => {\r\n      window.removeEventListener('resize', updateMobileState);\r\n    };\r\n  }, []);\r\n\r\n  const sliderSettings = {\r\n    infinite: false,\r\n    slidesToShow: isMobile ? 1 : 4, // Adjust slides based on view\r\n    slidesToScroll: 1,\r\n    dots: false,\r\n    arrows: false,\r\n    responsive: [\r\n      {\r\n        breakpoint: 1440,\r\n        settings: {\r\n          slidesToShow: 3,\r\n          slidesToScroll: 1,\r\n          // infinite: true,\r\n        },\r\n      },\r\n      {\r\n        breakpoint: 768,\r\n        settings: {\r\n          slidesToShow: 1.2,\r\n          slidesToScroll: 1,\r\n          arrows: false,\r\n          dots: false,\r\n        },\r\n      },\r\n    ],\r\n  };\r\n  const renderCard = (card, index) => (\r\n    <div key={index} className=\"spaceLR\">\r\n      <div className=\"product-box\">\r\n        <div className=\"product-top\">\r\n          <h4>\r\n            {card?.fields?.overlayTitle?.value}\r\n            <span className=\"sub-text\">{card?.fields?.overlaySubTitle?.value}</span>\r\n          </h4>\r\n          <span className=\"small-logo\">\r\n            <Image field={card?.fields?.cardLogo} />\r\n          </span>\r\n        </div>\r\n        <div className=\"product-image\">\r\n          <Image field={card?.fields?.cardImage} />\r\n        </div>\r\n        <div className=\"product-specification\">\r\n          {card?.fields?.CardSpecification &&\r\n            card?.fields?.CardSpecification.map((specification, specindex) => (\r\n              <div key={specindex} className=\"sub-div\">\r\n                <RichText field={specification?.fields?.Value} />\r\n                <RichText field={specification?.fields?.Price} />\r\n              </div>\r\n            ))}\r\n        </div>\r\n        <div className=\"product-text-detail\">\r\n          <RichText field={card?.fields?.overlayText} />\r\n        </div>\r\n      </div>\r\n    </div>\r\n  );\r\n\r\n  return (\r\n    <div ref={wrapperRef} className={!isEditing ? 'explore-our-products-wrapper' : ''}>\r\n      <div className=\"bg-image\">\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            alt={props.fields?.BackgroundMobileImage?.value.alt || 'TVS'}\r\n          />\r\n        </picture>\r\n      </div>\r\n      <div className=\"our-product-content\">\r\n        <div className=\"top-content\">\r\n          <Text field={props?.fields?.Title} tag=\"h2\" />\r\n        </div>\r\n        {isMobile ? (\r\n          <Slider className=\"our-products-slider\" ref={sliderRef} {...sliderSettings}>\r\n            {props?.fields?.Card &&\r\n              props?.fields?.Card.map((card, index) => renderCard(card, index))}\r\n          </Slider>\r\n        ) : (\r\n          <div className=\"our-products-slider\">\r\n            {props?.fields?.Card &&\r\n              props?.fields?.Card.map((card, index) => renderCard(card, index))}\r\n          </div>\r\n        )}\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default withSitecoreContext()(Product);\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","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 from 'react';\nimport PropTypes from 'prop-types';\nexport const Text = (_a) => {\n    var { field, tag, editable, encode } = _a, otherProps = __rest(_a, [\"field\", \"tag\", \"editable\", \"encode\"]);\n    if (!field || (!field.editable && (field.value === undefined || field.value === ''))) {\n        return null;\n    }\n    // can't use editable value if we want to output unencoded\n    if (!encode) {\n        // eslint-disable-next-line no-param-reassign\n        editable = false;\n    }\n    const isEditable = field.editable && editable;\n    let output = isEditable\n        ? field.editable || ''\n        : field.value === undefined\n            ? ''\n            : field.value;\n    // when string value isn't formatted, we should format line breaks\n    if (!field.editable && typeof output === 'string') {\n        const splitted = String(output).split('\\n');\n        if (splitted.length) {\n            const formatted = [];\n            splitted.forEach((str, i) => {\n                const isLast = i === splitted.length - 1;\n                formatted.push(str);\n                if (!isLast) {\n                    formatted.push(React.createElement(\"br\", { key: i }));\n                }\n            });\n            output = formatted;\n        }\n    }\n    const setDangerously = isEditable || !encode;\n    let children = null;\n    const htmlProps = Object.assign({}, otherProps);\n    if (setDangerously) {\n        htmlProps.dangerouslySetInnerHTML = {\n            __html: output,\n        };\n    }\n    else {\n        children = output;\n    }\n    if (tag || setDangerously) {\n        return React.createElement(tag || 'span', htmlProps, children);\n    }\n    else {\n        return React.createElement(React.Fragment, null, children);\n    }\n};\nText.propTypes = {\n    field: PropTypes.shape({\n        value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n        editable: PropTypes.string,\n    }),\n    tag: PropTypes.string,\n    editable: PropTypes.bool,\n    encode: PropTypes.bool,\n};\nText.defaultProps = {\n    editable: true,\n    encode: true,\n};\nText.displayName = 'Text';\n"],"names":["withSitecoreContext","props","_props$fields","_props$fields$Backgro","_props$fields2","_props$fields2$Backgr","_props$fields3","_props$fields3$Backgr","_props$fields4","_props$fields5","_props$fields6","_props$fields7","_props$fields8","isEditing","sitecoreContext","pageEditing","isMobile","setIsMobile","useState","wrapperRef","useRef","sliderRef","updateMobileState","current","offsetWidth","useEffect","window","addEventListener","removeEventListener","sliderSettings","infinite","slidesToShow","slidesToScroll","dots","arrows","responsive","breakpoint","settings","renderCard","card","index","_card$fields","_card$fields$overlayT","_card$fields2","_card$fields2$overlay","_card$fields3","_card$fields4","_card$fields5","_card$fields6","_card$fields7","_jsx","className","children","_jsxs","fields","overlayTitle","value","overlaySubTitle","Image","field","cardLogo","cardImage","CardSpecification","map","specification","specindex","_specification$fields","_specification$fields2","RichText","Value","Price","overlayText","ref","media","srcSet","BackgroundImage","src","BackgroundMobileImage","alt","Text","Title","tag","Slider","Card","__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","forwardRef","_a","editable","otherProps","htmlProps","assign","dangerouslySetInnerHTML","__html","React","RichTextPropTypes","PropTypes","propTypes","defaultProps","displayName","encode","undefined","isEditable","output","splitted","String","split","formatted","forEach","str","isLast","push","key","setDangerously"],"sourceRoot":""}