{"version":3,"sources":["webpack:///./src/desktop/components/Carousel/CategoryCarousel.js","webpack:///./src/desktop/components/Banner/LoadableCollapsibleTabs.js","webpack:///./src/utils/extractOrders.js","webpack:///./src/desktop/containers/Home/Home.js","webpack:///./src/desktop/components/Common/BannerAndCarouselRenderer.js","webpack:///./src/desktop/components/Banner/CollapsibleTabs.js","webpack:///./src/desktop/components/Carousel/BannerCarousel.js","webpack:///./src/desktop/components/YotpoWidgets/LoadableYotpoWidgets.js"],"names":["CategoryCarousel","props","viewRange","paramA","paramB","window","dtm","LenskartRewamp","Home","click","viewrange","carouselConfig","dots","slidesToShow","slidesToScroll","pauseOnHover","responsive","breakpoint","settings","infinite","swipeToSlide","products","data","this","categoryCarouselData","categoryData","style","dataLocale","localeInfo","dataAttr","gaObj","Object","keys","length","setDataAttr","VIEW_RANGE","VIEW_IN_3D","LOGO","catId","dtmClick","dtmCat","processedData","find","parseInt","cat_id","className","key","heading","category","shortDesc","shortDescSecond","shortDescThird","Fragment","forEach","banner","slideDataAttr","push","id","Link","rel","target","to","pathname","removeDomainName","url","countryCode","state","productId","section","alt","src","image","title","carouselHtmlData","display","justifyContent","map","width","categoryId","background","color","onClick","threeD","height","Component","propTypes","PropTypes","object","array","defaultProps","connect","common","loader","then","module","loading","mappingData","details","JSON","parse","localStorage","getItem","returnArr","items","item","shopifyName","lenses","name","prescriptionTypeFormatted","prescriptionType","split","join","toLowerCase","eyeglass","sku","htmlDoc","productDetails","descriptionHtml","dom_doc","DOMParser","parseFromString","oneClassNodeList","querySelectorAll","twoClassNodeList","nodeKeyArr","frameType","findIndex","innerHTML","frameSpecific","returnObj","addOns","Addon","packageId","powerType","removeItem","provideHooks","fetch","location","store","dispatch","getState","path","slice","replace","redisCommonData","includes","indexOf","RBI_POLICY_MARKETPLACE_CONFIG","listing","changeLogo","pageContext","getHome","setDataLayer","userEmail","userMobile","userInfo","dataLayer","cartObject","cartData","orderTotal","result","totals","total","dataLayerIndex","netAmount","email","telephone","EmailId","mobile","btoa","extractUtmSourceFromUrl","search","utm_source","utm_medium","utm_campaign","utm_term","utm_content","setItem","stringify","utmSource","dataLayerData","dataLayerLoad","event","PageUrl","href","visitorPageType","visitorPageTypeInfo","visitorStore","visitorUtm_Source","visitorUtm_Cam","visitorUtm_Medium","utmCampaign","utmMedium","utmTerm","utmContent","website_source","dataLayerLength","showOfferModal","handleScroll","bind","isRepeatUser","checkRepeatUser","fetchLensMappingData","addEventListener","load","getSessionID","homepageLoad","cms","cmsOnLoad","isEmptyObject","homepageData","triggerEventForhomepageDataload","document","renderOfferModal","sessionStorage","triggerAutoCartApi","nextProps","renderData","prevProps","loginStatus","redirectUrl","history","removeEventListener","readyState","extractOrders","lensMappingData","addToCart","setTimeout","undefined","pageYOffset","documentElement","scrollTop","offsetHeight","innerHeight","updateRenderData","homeSections","sections","rowLimit","Customevent","clevertap","pageName","hasPlacedOrder","hideElem","getElementsByClassName","hideRepeatUserElem","val","setState","isYotpoWidgets","loadMoreCarousals","footers","seo","LOADER","metaData","linkTags","INR","publisher","canonical","amphtml","metaDataArr","META_DATA","metaNames","metaName","content","metaProperties","metaProperty","property","filter","link","meta","marginTop","LOADING_DATA","componentsData","marginBottom","home","scrollY","cart","login","locale","loadCarousalsData","getLensMappingData","SHOP_FROM_INSTA","EXPLORE_MORE","GOT_AN_ERROR","idx","cols","colClass","paddingBottom","bottomSpace","attribute-index","comp","index","type","errorMessage","bannerCarouselData","carouselCss","css","carouselSettings","parentClass","verticalPosition","bannerData","productData","tabsData","dtmPage","dtmPageType","galleryBtnText","galleryKey","galleryTitle","redisKey","widgets","toggleCollapsedState","ev","el","labelEl","classList","contains","parentElement","parentContainer","iconEl","children","remove","add","tab","label","aria-hidden","dangerouslySetInnerHTML","__html","html","PureComponent","BannerCarousel","arrows","adaptiveHeight","htmlString","float","textAlign","collection","bannerclickdtm","componentName","carouselStyle"],"mappings":"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","file":"home.0908653749d794b543c6.js","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Link } from 'react-router-dom';\nimport Carousel from './Carousel';\nimport { removeDomainName, setDataAttr } from '../../../utils/helper';\nimport './CategoryCarousel.scss';\nimport { connect } from 'react-redux';\n\nclass CategoryCarousel extends Component {\n static propTypes = {\n categoryCarouselData: PropTypes.object,\n categoryData: PropTypes.array,\n };\n\n constructor(props) {\n super(props);\n this.carouselConfig = {\n dots: false,\n slidesToShow: 3,\n slidesToScroll: 3,\n pauseOnHover: true,\n responsive: [\n {\n breakpoint: 1023,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 2,\n infinite: true,\n dots: false,\n swipeToSlide: true,\n },\n },\n ],\n };\n }\n\n viewRange = (paramA, paramB) => {\n window.viewRange = true;\n if (window.dtm.LenskartRewamp) window.dtm.LenskartRewamp.Home.click.viewrange(paramA, paramB);\n };\n\n render() {\n const { categoryCarouselData, categoryData, style, dataLocale, localeInfo } = this.props;\n const dataAttr =\n categoryCarouselData.gaObj && Object.keys(categoryCarouselData.gaObj).length > 0\n ? setDataAttr(categoryCarouselData.gaObj)\n : null;\n const { VIEW_RANGE, VIEW_IN_3D, LOGO } = dataLocale;\n const { catId } = categoryCarouselData;\n const dtmClick = categoryCarouselData.dtm;\n const dtmCat = categoryCarouselData.dtmCat ? categoryCarouselData.dtmCat : 'cat';\n const processedData = [];\n let products;\n let data;\n if (categoryData) {\n data = categoryData.find(data => parseInt(data.cat_id, 10) === catId);\n products = data ? data.products : [];\n }\n if (!categoryData) {\n return (\n \n );\n } else if (products && products.length) {\n return (\n
\n
\n
\n
\n {categoryCarouselData.heading} {categoryCarouselData.category}\n
\n
{categoryCarouselData.shortDesc}
\n
\n {categoryCarouselData.shortDescSecond}\n \n {categoryCarouselData.shortDescThird}\n \n
\n
\n\n {products && products.length >= 3 ? (\n \n {products.forEach(banner => {\n const slideDataAttr =\n banner.gaObj && Object.keys(banner.gaObj).length > 0\n ? setDataAttr(banner.gaObj)\n : null;\n processedData.push(\n \n \n \n \n
\n );\n })}\n \n \n ) : (\n
\n {products &&\n products.map(banner => {\n const slideDataAttr =\n banner.gaObj && Object.keys(banner.gaObj).length > 0\n ? setDataAttr(banner.gaObj)\n : null;\n return (\n \n \n \n \n
\n );\n })}\n \n )}\n
\n
\n \n this.viewRange(dtmCat, dtmClick)}\n >\n {VIEW_RANGE}\n
\n \n {categoryCarouselData.threeD && (\n this.viewRange(dtmCat, dtmClick)}\n >\n
\n {VIEW_IN_3D}\n
\n \n )}\n \n
\n \n
\n );\n }\n return
;\n }\n}\n\nCategoryCarousel.defaultProps = {\n categoryData: null,\n};\n\nconst mapStateToProps = state => ({\n localeInfo: state?.common?.localeInfo,\n});\n\nexport default connect(mapStateToProps, null)(CategoryCarousel);\n","import React from 'react';\nimport Loadable from 'react-loadable-visibility/react-loadable';\nimport Loader from '../../components/BlankLoader/BlankLoader';\n\nconst CollapsibleTabsLoadable = Loadable({\n loader: () =>\n import(/* webpackMode: 'eager' */ './CollapsibleTabs').then(module => module.default),\n loading: () => ,\n});\n\nexport default CollapsibleTabsLoadable;\n","export const extractOrders = mappingData => {\n const details = JSON.parse(localStorage.getItem('lenskart_rsf_cart'));\n const returnArr = [];\n if (details && details.items) {\n details.items.map(item => {\n const shopifyName = item.lenses.name;\n const prescriptionType = item.prescriptionType;\n const prescriptionTypeFormatted = prescriptionType.split(' ').join('_').toLowerCase();\n const productId = parseInt(item.eyeglass.sku, 10);\n const htmlDoc = item.productDetails.descriptionHtml;\n const dom_doc = new DOMParser().parseFromString(htmlDoc, 'text/xml');\n const oneClassNodeList = dom_doc.querySelectorAll('.one');\n const twoClassNodeList = dom_doc.querySelectorAll('.two');\n const nodeKeyArr = [...oneClassNodeList];\n const framevalue = [...twoClassNodeList];\n const index = nodeKeyArr.findIndex(item => item.innerHTML === 'Frame Type:');\n const frameType = framevalue[index].innerHTML;\n const stop = mappingData[shopifyName];\n const frameSpecific = stop.find(item => item['Frame Type'] === frameType);\n const returnObj = {\n addOns: frameSpecific.Addon,\n packageId: frameSpecific['Package Id'],\n powerType: prescriptionTypeFormatted,\n productId,\n };\n return returnArr.push(returnObj);\n });\n }\n localStorage.removeItem('lenskart_rsf_cart');\n return returnArr;\n};\n","/* eslint camelcase: 0 */\nimport React, { Component } from 'react';\nimport { provideHooks } from 'redial';\nimport PropTypes from 'prop-types';\nimport Helmet from 'react-helmet';\nimport { connect } from 'react-redux';\nimport { extractUtmSourceFromUrl } from '../../../utils/helper';\nimport { updateRenderData, loadCarousalsData } from '../../../actionCreators/home';\nimport { changeLogo, getLensMappingData } from '../../../actionCreators/common';\nimport { addToCart } from '../../../actionCreators/cart';\nimport { getHome } from '../../../actionCreators/home';\nimport BannerAndCarouselRenderer from '../../components/Common/BannerAndCarouselRenderer';\nimport DesktopOfferModal from '../../../CommonComponents/OfferCampaign/DesktopOfferModal';\nimport { isEmptyObject, hideRepeatUserElem } from '../../../utils/helper';\nimport Customevent from '../../../utils/Customevent';\nimport './Home.scss';\nimport './Header-banner.scss';\nimport { extractOrders } from '../../../utils/extractOrders';\n\n@provideHooks({\n fetch: ({ location, store: { dispatch, getState } }) => {\n let path =\n location.pathname.length > 1 ? location.pathname.slice(1).replace(/(\\/+)$/g, '') : '/';\n path = path !== '' ? path : '/';\n const { redisCommonData } = getState().common;\n // https://valyoo.atlassian.net/browse/LKUI-1305\n // dispatch(commonActions.changeLogo('lenskart'));\n if (\n ['eyeglasses.html', 'sunglasses.html', 'premium-eyeglasses', 'premium-sunglasses'].includes(\n path\n ) ||\n path.indexOf('promo/') > -1\n ) {\n if (Object.keys(redisCommonData).length) {\n if (\n redisCommonData.RBI_POLICY_MARKETPLACE_CONFIG &&\n JSON.parse(redisCommonData.RBI_POLICY_MARKETPLACE_CONFIG).listing === 'ON'\n ) {\n if (\n path.toLowerCase().indexOf('sun') > -1 ||\n path.toLowerCase().indexOf('contact') > -1 ||\n path.toLowerCase().indexOf('solution') > -1 ||\n path.toLowerCase().indexOf('accessor') > -1 ||\n path.toLowerCase().indexOf('reading') > -1\n ) {\n dispatch(changeLogo('dealskart'));\n } else {\n dispatch(changeLogo('lenskart'));\n }\n } else {\n dispatch(changeLogo('lenskart'));\n }\n }\n } else {\n dispatch(changeLogo('lenskart'));\n }\n const pageContext = path === '/' ? 'home' : path.replace('.html', '').replace(/\\//g, '-');\n dispatch(getHome({ pageContext }));\n },\n})\nclass Home extends Component {\n static propTypes = {\n homepageData: PropTypes.object,\n renderData: PropTypes.array,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n showOfferModal: false,\n };\n this.handleScroll = this.handleScroll.bind(this);\n this.dataLayerLoad = true;\n this.dataLayerIndex = 0;\n this.isRepeatUser = null;\n this.checkRepeatUser = this.checkRepeatUser.bind(this);\n }\n componentDidMount() {\n const { redisCommonData, changeLogo, fetchLensMappingData } = this.props;\n // loadCarousalsData();\n window.addEventListener('scroll', this.handleScroll);\n this.setDataLayer();\n if (window.dtm && window.dtm.LenskartRewamp) {\n window.dtm.LenskartRewamp.Home.load.getSessionID();\n let path =\n this.props.location && this.props.location.pathname.length > 1\n ? this.props.location.pathname.slice(1).replace(/(\\/+)$/g, '')\n : '/';\n path = path !== '' ? path : '/';\n if (path === '/') {\n window.dtm.LenskartRewamp.Home.load.homepageLoad();\n changeLogo('lenskart');\n } else if (\n 'eyeglasses.html,sunglasses.html,premium-eyeglasses,premium-sunglasses'.includes(path) ||\n path.indexOf('promo/') > -1\n ) {\n window.dtm.LenskartRewamp.cms.load.cmsOnLoad(path);\n if (\n redisCommonData.RBI_POLICY_MARKETPLACE_CONFIG &&\n JSON.parse(redisCommonData.RBI_POLICY_MARKETPLACE_CONFIG).listing === 'ON'\n ) {\n if (\n path.toLowerCase().indexOf('sun') > -1 ||\n path.toLowerCase().indexOf('contact') > -1 ||\n path.toLowerCase().indexOf('solution') > -1 ||\n path.toLowerCase().indexOf('accessor') > -1 ||\n path.toLowerCase().indexOf('reading') > -1\n ) {\n changeLogo('dealskart');\n } else {\n changeLogo('lenskart');\n }\n } else {\n changeLogo('lenskart');\n }\n }\n }\n if (!isEmptyObject(this.props.homepageData)) {\n this.triggerEventForhomepageDataload();\n }\n // ipl-unlock-offer event to open Offer modal\n document.addEventListener('iplUnloadOfferEvent', () => {\n this.renderOfferModal(true);\n });\n if (sessionStorage.getItem('offerSelected')) sessionStorage.removeItem('offerSelected');\n if (this.props.localeInfo.countryCode === 'sg') {\n fetchLensMappingData();\n this.triggerAutoCartApi();\n }\n }\n\n shouldComponentUpdate(nextProps) {\n const { userInfo, cartData, renderData, homepageData } = this.props;\n if (\n !userInfo &&\n !nextProps.userInfo &&\n renderData &&\n renderData.length === nextProps.renderData.length &&\n homepageData &&\n homepageData.length === nextProps.homepageData.length\n ) {\n return false;\n }\n if (userInfo !== nextProps.userInfo || cartData !== nextProps.cartData) {\n this.setDataLayer(nextProps);\n return false;\n }\n return true;\n }\n\n componentDidUpdate(prevProps) {\n const { renderData } = this.props;\n if (prevProps.location.pathname !== this.props.location.pathname && window.dtm.LenskartRewamp) {\n window.dtm.LenskartRewamp.Home.load.getSessionID();\n let path =\n this.props.location && this.props.location.pathname.length > 1\n ? this.props.location.pathname.slice(1).replace(/(\\/+)$/g, '')\n : '/';\n path = path !== '' ? path : '/';\n if (path === '/') {\n window.dtm.LenskartRewamp.Home.load.homepageLoad();\n } else if (\n 'eyeglasses.html,sunglasses.html,premium-eyeglasses,premium-sunglasses'.includes(path)\n ) {\n window.dtm.LenskartRewamp.cms.load.cmsOnLoad(path);\n }\n }\n\n if (prevProps.loginStatus !== this.props.loginStatus && this.props.loginStatus) {\n const redirectUrl = this.props.location.state ? this.props.location.state.redirectUrl : '';\n if (redirectUrl) {\n this.props.history(redirectUrl);\n }\n }\n\n const isGoBack = sessionStorage.getItem('backTrigger');\n if (isGoBack === 'true' && renderData && renderData.length > 2) {\n this.checkRepeatUser();\n }\n }\n\n componentWillUnmount() {\n window.removeEventListener('scroll', this.handleScroll);\n }\n\n setDataLayer = props => {\n if (props) {\n const userInfo = props.userInfo;\n const dataLayer = window.dataLayer;\n const cartObject = props.cartData;\n const orderTotal =\n typeof cartObject !== 'undefined' &&\n cartObject !== null &&\n typeof cartObject.result !== 'undefined' &&\n typeof cartObject.result.totals !== 'undefined' &&\n typeof cartObject.result.totals.total !== 'undefined'\n ? cartObject.result.totals.total\n : null;\n let userEmail;\n let userMobile;\n if (\n typeof cartObject !== 'undefined' &&\n cartObject !== null &&\n typeof cartObject.result !== 'undefined' &&\n dataLayer[this.dataLayerIndex]\n ) {\n dataLayer[this.dataLayerIndex].netAmount = orderTotal;\n dataLayer[this.dataLayerIndex].orderTotal = orderTotal;\n }\n if (\n typeof userInfo !== 'undefined' &&\n userInfo !== null &&\n typeof userInfo.result !== 'undefined' &&\n dataLayer[this.dataLayerIndex]\n ) {\n userEmail = userInfo.result.email;\n userMobile = userInfo.result.telephone;\n dataLayer[this.dataLayerIndex].EmailId = userEmail;\n dataLayer[this.dataLayerIndex].mobile =\n typeof window !== 'undefined' &&\n typeof window.btoa !== 'undefined' &&\n userMobile !== undefined &&\n userMobile !== null\n ? window.btoa(userMobile)\n : '';\n }\n } else {\n const countryCode = this.props.localeInfo.countryCode;\n const dataLayer = window.dataLayer;\n const {\n utm_source = null,\n utm_medium = null,\n utm_campaign = null,\n utm_term = null,\n utm_content = null,\n } = extractUtmSourceFromUrl(this.props.location.search);\n if (utm_source) {\n localStorage.setItem(\n 'utmSource',\n JSON.stringify({ utm_source, utm_medium, utm_campaign, utm_term, utm_content })\n );\n } else if (!localStorage.getItem('utmSource')) {\n localStorage.setItem(\n 'utmSource',\n JSON.stringify({ utm_source, utm_medium, utm_campaign, utm_term, utm_content })\n );\n }\n const utmSource = JSON.parse(localStorage.getItem('utmSource'));\n let dataLayerData = {};\n const userEmail = null;\n const userMobile = null;\n const cartObject = this.props.cartData;\n const orderTotal =\n typeof cartObject !== 'undefined' &&\n cartObject !== null &&\n typeof cartObject.result !== 'undefined' &&\n typeof cartObject.result.totals !== 'undefined' &&\n typeof cartObject.result.totals.total !== 'undefined'\n ? cartObject.result.totals.total\n : null;\n if (this.dataLayerLoad) {\n dataLayerData = {\n event: 'VirtualPageView',\n EmailId: userEmail || null,\n PageUrl: window.location.href,\n mobile:\n typeof window !== 'undefined' &&\n typeof window.btoa !== 'undefined' &&\n userMobile !== undefined &&\n userMobile !== null\n ? window.btoa(userMobile)\n : '',\n netAmount: orderTotal,\n orderTotal,\n visitorPageType: 'HomePage',\n visitorPageTypeInfo: 'Static',\n visitorStore: 'revamp',\n visitorUtm_Source: utmSource.utm_source || '(direct)',\n visitorUtm_Cam: utmSource.utm_campaign || '(direct)',\n visitorUtm_Medium: utmSource.utm_medium || '(none)',\n\n // repeat for check if all goes ok then we have to remove repeated one\n utmSource: utmSource.utm_source || '',\n utmCampaign: utmSource.utm_campaign || '',\n utmMedium: utmSource.utm_medium || '',\n utmTerm: utmSource.utm_term || '',\n utmContent: utmSource.utm_content || '',\n website_source: `${countryCode} headless`,\n };\n const dataLayerLength = dataLayer.length;\n dataLayer.push(dataLayerData);\n this.dataLayerLoad = false;\n this.dataLayerIndex = dataLayerLength;\n }\n }\n };\n\n triggerAutoCartApi() {\n if (document.readyState === 'complete') {\n const orderObj = extractOrders(this.props.lensMappingData);\n orderObj.map(data => {\n return this.props.addToCart(data, null, false);\n });\n } else {\n setTimeout(() => {\n this.triggerAutoCartApi();\n }, 4000);\n }\n }\n\n handleScroll() {\n const scrollTop =\n window.pageYOffset !== undefined ? window.pageYOffset : document.documentElement.scrollTop;\n if (scrollTop + 200 >= document.documentElement.offsetHeight - window.innerHeight - 1200) {\n const { homepageData, renderData, updateRenderData } = this.props;\n const homeSections = homepageData.sections;\n const rowLimit = renderData ? renderData.length : 0;\n if (rowLimit < (homeSections && homeSections.length)) {\n const rowData = homeSections ? homeSections.slice(rowLimit, 4 + rowLimit) : null;\n updateRenderData(rowData);\n }\n }\n }\n\n triggerEventForhomepageDataload() {\n const event = new Customevent('homePageDataLoaded');\n event.dispatch();\n setTimeout(() => {\n if (typeof window.clevertap !== 'undefined') {\n window.clevertap.event.push('Page Visited', {\n pageName: 'Home Page',\n });\n }\n }, 500);\n }\n checkRepeatUser() {\n const { userInfo } = this.props;\n if (userInfo && userInfo?.result?.hasPlacedOrder) {\n this.isRepeatUser = true;\n sessionStorage.setItem('isRepeatUser', 'true');\n } else {\n this.isRepeatUser = false;\n sessionStorage.removeItem('isRepeatUser');\n }\n const hideElem = document.getElementsByClassName('hide-repeat');\n if (hideElem) {\n hideRepeatUserElem(this.isRepeatUser, hideElem);\n }\n sessionStorage.removeItem('backTrigger');\n }\n\n // To Close Offer Modal\n renderOfferModal(val) {\n this.setState({\n showOfferModal: val,\n });\n if (!val && sessionStorage.getItem('offerSelected')) sessionStorage.removeItem('offerSelected');\n }\n\n render() {\n const { showOfferModal } = this.state;\n const {\n renderData,\n homepageData,\n isYotpoWidgets,\n loadMoreCarousals,\n dataLocale,\n history,\n localeInfo,\n redisCommonData\n } = this.props;\n const { footers, seo, metaData = {} } = homepageData;\n const { LOADER, INR } = dataLocale;\n let linkTags = [];\n if (seo) {\n linkTags = [\n { rel: 'publisher', href: seo?.publisher },\n { rel: 'canonical', href: seo?.canonical },\n ];\n if (seo.amphtml) linkTags.push({ rel: 'amphtml', href: seo?.amphtml });\n }\n\n let metaDataArr = [];\n // Metadata by redis config by countryCode\n // Metadata has metaName and metaProperty\n if (redisCommonData?.META_DATA && JSON.parse(redisCommonData.META_DATA)) {\n const metaData = JSON.parse(redisCommonData.META_DATA) || {};\n const metaNames = metaData?.metaName || {};\n Object.keys(metaNames).forEach(key => {\n metaDataArr.push({ name: key, content: metaNames[key] });\n });\n const metaProperties = metaData?.metaProperty || {};\n Object.keys(metaProperties).forEach(key => {\n metaDataArr.push({ property: key, content: metaProperties[key] });\n });\n }\n\n if (localeInfo?.countryCode === 'sg') {\n metaDataArr = metaDataArr.filter(item => item.name !== 'robots');\n }\n\n return (\n
\n {seo && }\n {!renderData.length && (\n
\n \n
{dataLocale.LOADING_DATA}
\n
\n )}\n\n {/* Offer Modal : IPL */}\n {showOfferModal && (\n this.renderOfferModal(val)}\n />\n )}\n\n {renderData && (\n
\n \n
\n )}\n {renderData.length > 0 && !loadMoreCarousals && (\n \n \n
{dataLocale.LOADING_DATA}
\n
\n )}\n {footers && (\n
\n \n
\n )}\n \n );\n }\n}\n\nconst mapStateToProps = state => ({\n homepageData: state.home.homepageData,\n renderData: state.home.renderData,\n userInfo: state.common.userInfo,\n isYotpoWidgets: state.common.isYotpoWidgets,\n redisCommonData: state.common.redisCommonData,\n scrollY: state.home.scrollY,\n cartData: state.cart.cartData,\n loginStatus: state.common.login,\n loadMoreCarousals: state.home.loadMoreCarousals,\n dataLocale: state.locale,\n localeInfo: state.common.localeInfo,\n lensMappingData: state.common.lensMappingData,\n});\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateRenderData: data => dispatch(updateRenderData(data)),\n getHome: data => dispatch(getHome(data)),\n changeLogo: data => dispatch(changeLogo(data)),\n loadCarousalsData: () => dispatch(loadCarousalsData()),\n fetchLensMappingData: () => dispatch(getLensMappingData()),\n addToCart: data => dispatch(addToCart(data)),\n };\n};\n\nHome.defaultProps = {\n homepageData: {},\n};\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Home);\n","import React from 'react';\nimport BannerAndStaticHTML from '../../components/Banner/BannerAndStaticHTML';\nimport BannerCarousel from '../../components/Carousel/BannerCarousel';\nimport CategoryCarousel from '../../components/Carousel/CategoryCarousel';\nimport CollapsibleTabs from '../../components/Banner/LoadableCollapsibleTabs';\nimport ErrorBoundary from '../../components/ErrorBoundaries/ErrorBoundary';\nimport YotpoWidgets from '../../components/YotpoWidgets/LoadableYotpoWidgets';\n\nconst BannerAndCarouselRenderer = props => {\n const { componentsData, isYotpoWidgets, dataLocale } = props;\n const { SHOP_FROM_INSTA, EXPLORE_MORE, GOT_AN_ERROR } = dataLocale || {};\n return (\n
\n {componentsData &&\n componentsData.map((item, idx) => {\n const cols = 12 / item.data.length;\n const colClass = `col-sm-${cols} col-md-${cols} col-lg-${cols}`;\n const style = {\n paddingBottom: item.bottomSpace ? `${item.bottomSpace}px` : '0px',\n };\n return (\n \n {item.data.map((comp, index) => {\n if (comp.type === 'TYPE_BANNER_CAROUSEL') {\n return (\n \n \n \n );\n }\n if (comp.type === 'TYPE_BANNER' || comp.type === 'TYPE_STATIC_HTML') {\n return (\n \n \n \n );\n }\n if (comp.type === 'TYPE_CATEGORY_CAROUSEL') {\n return (\n \n \n \n );\n }\n if (comp.type === 'TYPE_COLLAPSIBLE_TABS') {\n return (\n \n \n \n );\n }\n if (comp.type === 'TYPE_YOTPO_INSTAGRAM' && isYotpoWidgets) {\n return (\n \n );\n }\n return
;\n })}\n
\n );\n })}\n \n );\n};\n\nexport default BannerAndCarouselRenderer;\n","import React, { PureComponent } from 'react';\nimport './CollapsibleTabs.scss';\n\nclass CollapsibleTabs extends PureComponent {\n constructor(props) {\n super(props);\n }\n\n toggleCollapsedState = ev => {\n const el = ev.target;\n let labelEl = el;\n if (el.classList.contains('fa')) {\n labelEl = el.parentElement;\n }\n const parentContainer = labelEl.parentElement;\n const iconEl = labelEl.children[0];\n if (parentContainer.classList.contains('expanded')) {\n parentContainer.classList.remove('expanded');\n iconEl.classList.remove('fa-minus');\n iconEl.classList.add('fa-plus');\n } else {\n parentContainer.classList.add('expanded');\n iconEl.classList.remove('fa-plus');\n iconEl.classList.add('fa-minus');\n }\n };\n\n render() {\n const { tabsData, className } = this.props;\n return (\n
\n {tabsData &&\n tabsData.map((tab, idx) => {\n return (\n \n
\n {tab.label}\n \n
\n
\n
\n
\n \n );\n })}\n
\n );\n }\n}\n\nexport default CollapsibleTabs;\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport Carousel from './Carousel';\n\nclass BannerCarousel extends PureComponent {\n static propTypes = {\n bannerCarouselData: PropTypes.array,\n };\n\n constructor(props) {\n super(props);\n this.settings = {\n dots: true,\n slidesToShow: 1,\n arrows: false,\n pauseOnHover: true,\n adaptiveHeight: true,\n };\n }\n\n render() {\n const {\n bannerCarouselData,\n className,\n style,\n verticalPosition,\n carouselCss,\n carouselSettings,\n parentClass,\n } = this.props;\n const processedData = [];\n let htmlString;\n if (!bannerCarouselData) {\n return (\n \n );\n }\n if (bannerCarouselData) {\n bannerCarouselData.forEach((item, index) => {\n if (item.html) {\n const css = item.css ? item.css : '';\n htmlString = item.html + css;\n processedData.push(\n \n );\n } else {\n processedData.push(\n
\n {\n if (window.dtm.LenskartRewamp)\n window.dtm.LenskartRewamp.collection.click.bannerclickdtm(\n item.pageName,\n item.componentName,\n index + 1,\n null,\n verticalPosition\n );\n }}\n >\n {item.title}\n \n
\n );\n }\n });\n }\n\n return (\n
\n {processedData && (\n \n )}\n
\n );\n }\n}\n\nexport default BannerCarousel;\n","import React from 'react';\nimport Loadable from 'react-loadable';\nimport Loader from '../../components/BlankLoader/BlankLoader';\n\nconst YotpoWidgetsLoadable = Loadable({\n loader: () =>\n import(/* webpackChunkName: 'yotpoWidgets' */ './YotpoWidgets').then(module => module.default),\n loading: () => ,\n});\n\nexport default YotpoWidgetsLoadable;\n"],"sourceRoot":""}