{"version":3,"file":"static/js/519.6ea4f035.chunk.js","mappings":"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","sources":["components/Feature/Carousel/Carousel.js","components/Feature/Reusable/ReadMoreText.js","../../../../node_modules/@sitecore-jss/sitecore-jss-react/dist/esm/components/Text.js"],"sourcesContent":["import React, { useState } from 'react';\r\nimport { Text, Image, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport Slider from 'react-slick';\r\nimport ReadMoreText from '../Reusable/ReadMoreText'; // Import the ReadMoreText component\r\n\r\nconst useReadMore = (charLimit) => {\r\n  const [readMoreState, setReadMoreState] = useState({});\r\n\r\n  const toggleReadMore = (index) => {\r\n    setReadMoreState((prevState) => ({\r\n      ...prevState,\r\n      [index]: !prevState[index],\r\n    }));\r\n  };\r\n\r\n  return { readMoreState, toggleReadMore };\r\n};\r\n\r\nconst Carousel = (props) => {\r\n  const isEditing = props.sitecoreContext.pageEditing;\r\n  const charLimit = props.fields?.CharLimit?.value;\r\n  const { readMoreState, toggleReadMore } = useReadMore(charLimit);\r\n\r\n  const readMoreText = props.fields?.readMoreText?.value;\r\n  const readLessText = props.fields?.readLessText?.value;\r\n  const settings = {\r\n    infinite: false,\r\n    slidesToShow: 3.2,\r\n    slidesToScroll: 1,\r\n    arrows: true,\r\n    responsive: [\r\n      {\r\n        breakpoint: 1440,\r\n        settings: {\r\n          slidesToShow: 3.2,\r\n          slidesToScroll: 1,\r\n        },\r\n      },\r\n      {\r\n        breakpoint: 1200,\r\n        settings: {\r\n          slidesToShow: 2.2,\r\n          slidesToScroll: 1,\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        },\r\n      },\r\n    ],\r\n  };\r\n\r\n  return (\r\n    <div className={!isEditing ? 'engineered-slider-wrapper' : ''} id=\"engineered-addbutton\">\r\n      <div className=\"bg-image\">\r\n        <picture>\r\n          <source media=\"(min-width: 768px)\" srcSet={props.fields?.BackgroundImage?.value?.src} />\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=\"engineered-content\">\r\n        <div className=\"top-content\">\r\n          <Text field={props?.fields?.carouselHeading} tag=\"h2\" />\r\n        </div>\r\n        <Slider {...settings} className=\"engineered-slider\">\r\n          {props?.fields?.carouselCards?.map((card, index) => (\r\n            <div key={index} className=\"spaceLR\">\r\n              <div className=\"image-text-box\">\r\n                <Image field={card?.fields?.cardImage} className=\"img-fluid\" />\r\n                <ReadMoreText\r\n                  card={card}\r\n                  index={index}\r\n                  readMoreState={readMoreState}\r\n                  toggleReadMore={toggleReadMore}\r\n                  charLimit={charLimit}\r\n                  readMoreText={readMoreText}\r\n                  readLessText={readLessText}\r\n                />\r\n              </div>\r\n            </div>\r\n          ))}\r\n        </Slider>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default withSitecoreContext()(React.memo(Carousel));\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nconst ReadMoreText = ({\r\n  card,\r\n  index,\r\n  readMoreState,\r\n  toggleReadMore,\r\n  charLimit,\r\n  readMoreText,\r\n  readLessText,\r\n}) => {\r\n  const truncateText = (text, limit) => {\r\n    if (text.length <= limit) return text;\r\n    return text.substring(0, limit);\r\n  };\r\n\r\n  return (\r\n    <div className=\"text-content\">\r\n      <Text field={card?.fields?.overlayTitle} tag=\"h2\" />\r\n      <div className=\"showmore-wrapper\">\r\n        <p\r\n          className={`add-read-more ${\r\n            readMoreState[index] ? 'show-more-content' : 'show-less-content'\r\n          }`}\r\n        >\r\n          {readMoreState[index]\r\n            ? card?.fields?.overlayText.value\r\n            : truncateText(card?.fields?.overlayText.value, charLimit)}\r\n          {card?.fields?.overlayText.value.length > charLimit && (\r\n            <span className=\"read-more-toggle\" onClick={() => toggleReadMore(index)}>\r\n              {readMoreState[index] ? readLessText : readMoreText}\r\n            </span>\r\n          )}\r\n        </p>\r\n      </div>\r\n    </div>\r\n  );\r\n};\r\n\r\nexport default ReadMoreText;\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 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":["Carousel","props","_props$fields","_props$fields$CharLim","_props$fields2","_props$fields2$readMo","_props$fields3","_props$fields3$readLe","_props$fields4","_props$fields4$Backgr","_props$fields4$Backgr2","_props$fields5","_props$fields5$Backgr","_props$fields5$Backgr2","_props$fields6","_props$fields6$Backgr","_props$fields6$Backgr2","_props$fields7","_props$fields8","_props$fields8$carous","isEditing","sitecoreContext","pageEditing","charLimit","fields","CharLimit","value","readMoreState","toggleReadMore","setReadMoreState","useState","index","prevState","useReadMore","readMoreText","readLessText","_jsxs","className","id","children","_jsx","media","srcSet","BackgroundImage","src","BackgroundMobileImage","alt","Text","field","carouselHeading","tag","Slider","infinite","slidesToShow","slidesToScroll","arrows","responsive","breakpoint","settings","carouselCards","map","card","_card$fields","Image","cardImage","ReadMoreText","withSitecoreContext","React","_ref","_card$fields2","_card$fields3","_card$fields4","overlayTitle","overlayText","text","limit","length","substring","onClick","truncateText","__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","propertyIsEnumerable","_a","editable","encode","otherProps","undefined","isEditable","output","splitted","String","split","formatted","forEach","str","isLast","push","key","setDangerously","htmlProps","assign","dangerouslySetInnerHTML","__html","propTypes","PropTypes","defaultProps","displayName"],"sourceRoot":""}