{"version":3,"sources":["components/Article-LayoutWrapper/index.js","Utils/Context/index.js","ReactComponent.js","components/ArticleCategoriesNavigation/index.js","components/ArticleRichText/index.js","components/ArticlesNavigation/index.js","components/StarRating/index.js","assets/img/placeholder.png","assets/img/product-mas.svg","components/BestRatedProducts/index.js","lib/GraphQLData.js","components/BiolageRelatedProducts/index.js","components/BioStoreLocator/index.js","assets/img/whiteLocation2.png","components/BlocksOfText/index.js","Utils/ParentRoute/index.js","components/Breadcrumbs/index.js","components/CarouselQouteItem/index.js","components/CarouselQoutes/index.js","components/CategoriesNavigation/index.js","components/CheckOutVideo/index.js","components/ContentBlock/index.js","components/FeaturedPosts/index.js","components/FilterCategories/index.js","Utils/Paging/index.js","components/ListProductVariant/index.js","components/ProductGridItem/index.js","components/FilteredProductList/index.js","components/FilterSearch/index.js","components/Footer/index.js","components/HeaderMultilevel/index.js","components/ListOfIngredients/index.js","components/OverHead/index.js","components/ProductFinder/index.js","components/ProductFinder-LayoutWrapper/index.js","components/ProductIngredients/index.js","components/ProductRating/index.js","components/ProductsByCategory/index.js","components/ProductSummary/index.js","components/RatingReviews/index.js","components/RichTextComponent/index.js","components/RowBlock/index.js","components/RowSeparator/index.js","assets/img/separa.png","components/SalonList/index.js","components/Search/index.js","components/SocialMediaArticles/index.js","components/StoreList/index.js","components/StoreLocatorLayoutWrapper/index.js","components/SubCategoriesByCategory/index.js","components/Tagging/index.js","assets/img/Timeline/ico-history.svg","components/Timeline/index.js","components/TitleAndDescriptionAndImage/index.js","components/TitleAndImage/index.js","components/TwoImagesOneText/index.js","temp/componentFactory.js","dataFetcher.js","Layout.js","NotFound.js","RouteHandler.js","AppRoot.js","index.js","i18n.js","lib/GraphQLClientFactory.js","util.js","temp/config.js"],"names":["withSitecoreContext","props","className","field","sitecoreContext","route","fields","articleTitle","tag","name","rendering","Context","args","databaseName","packageJson","config","appName","split","join","SCJSS","sitecoreApiHost","sitecoreApiKey","ReactComponent","indexName","context","getIndexName","site","getGraphqlEndpoint","getGraphQLEndPoint","React","Component","ArticleCategoriesNavigationQuery","override","css","ArticleCategoriesNavigation","state","isLoaded","query","variables","indexname","this","rootpath","loading","error","data","style","marginTop","marginBottom","sizeUnit","size","color","message","product","results","items","map","category","idx","showBackgroundCover","display","item","backgroundImage","articleImage","src","key","url","startsWith","href","NavLink","to","title","ArticleRichText","articleContent","ArticlesNavigationQuery","ArticlesNavigation","Heading","categoryId","itemId","toLowerCase","article","Fragment","format","date","value","i18next","t","StarRating","rating","integerPart","parseInt","decimalPart","x","push","a","BestRatedProductsQuery","BestRatedProducts","productId","myItem","resizeItem","bind","carou","createRef","window","addEventListener","screen","width","setState","ProductNumber","SortByRating","y","numberValue","options","loop","lazyLoad","nav","dots","search","onClick","current","prev","ref","filter","id","sort","slice","index","substr","productMas","height","alt","image1","logo","next","tabIndex","role","type","longDescription","productVariantURL","target","extractVariableNames","variableNames","definitions","def","variableDefinitions","forEach","defs","kind","variable","GraphQLData","configuration","SitecoreRenderingWrapper","Error","newConfiguration","pageState","some","operation","ssr","datasource","dataSource","contextItem","innerQuery","resultProps","Object","assign","GQL","graphql","resetExperienceEditorChromes","displayName","BiolageRelatedProducts","itemdata","relatedProductsQuery","RelatedProductsHeading","undefined","refs","related","relatedProductsList","targetItems","productItem","jss","children","child","productVariantLink","childVariants","length","StoreLocatorQuery","_","require","compose","withProps","lifecycle","withStateHandlers","withScriptjs","withGoogleMap","GoogleMap","Marker","InfoWindow","SearchBox","rootpathString","distance","lat1","lon1","lat2","lon2","unit","radlat1","Math","PI","radlat2","theta","radtheta","dist","sin","cos","acos","MapWithASearchBox","isOpen","infoIndex","hoverIndex","currentLatitude","currentLongitude","locationUpdate","updateLatLong","latitude","longitude","initLatLong","showInfo","handleMouse","googleMapURL","loadingElement","containerElement","mapElement","componentWillMount","bounds","center","lat","lng","markers","onMapMounted","onBoundsChanged","debounce","getBounds","getCenter","onBoundsChange","maxWait","onSearchBoxMounted","searchBox","onPlacesChanged","places","getPlaces","google","maps","LatLngBounds","place","geometry","viewport","union","extend","location","nextMarkers","position","nextCenter","get","fitBounds","defaultZoom","controlPosition","ControlPosition","TOP_LEFT","placeholder","onKeyPress","event","currentLat","currentLong","stores","nearestStores","listItem","Number","storeName","adress","phone","email","openingHours","marker","el","b","getNearestStores","store","backgroundColor","onMouseEnter","onMouseLeave","icon","markerIconHover","markerIcon","onMouseOver","onMouseOut","onCloseClick","onToggleOpen","paddingBottom","margin","fontSize","fontWeight","textTransform","fontFamily","StoreLocatorList","CurrentGeolocation","isGeolocationAvailable","isGeolocationEnabled","coords","distances","geolocated","positionOptions","enableHighAccuracy","userDecisionTimeout","BlocksOfText","parentRouteQuery","ParentRoute","ListParents","currrentcontextitem","CurrentId","breadcrumbs","JSON","parse","Link","Text","CurrentItemName","CarouselQouteItem","Screen","isTop","carouselItem","carouselLink","carouselSlideImage","editable","keys","top","carouselTitle","carouselContent","carouselButton","text","carouselLinkVideo","linktype","replace","autoPlay","muted","CarouselQoutes","activeDot","setActiveDot","dot","ItemPerSlide","contentList","QuotesList","i","Title","Subtitle","CarouselSlideImage","LinkVideo","Content","Button","CategoriesNavigation","categoryList","categoryNameList","sessionStorage","setItem","stringify","tagLink","subtitle","categoriesNavigationList","setSearchState","image","description","ctadisplayname","CheckOutVideo","allow","frameborder","VideoUrl","allowFullScreen","ContentBlock","heading","content","FeaturedPosts","FeaturedPostsContentList","Icon","class","PostLink","FilterCategories","urlFilter","keyword","pageTag","categoryItems","categoryNames","removeItem","PfTag","FilterName","filterOn","includes","criteria","keywordText","substring","indexOf","filterId","toUpperCase","QUERY","fetch","then","res","json","result","itemName","categoryArr","categoryArrNames","sessionCategories","getItem","sessionCategoriesName","getSessionItems","getSessionItemNames","checkCategoryArr","checkCategoryNamesArr","listOfCategory","listOfCategoryNames","newArrayOfCategoryNames","catName","newCategoryArrNames","newArrayOfCategory","cat","newCategoryArr","categoryClicked","handleSessionItems","getSessionUpdated","getSessionCategoryNamesUpdated","handleUpdateOnCategory","isPresent","handleShowProducts","prevProps","prevState","filters","onFiltersChange","template","categories","facets","facet","values","facetIn","selectedCat","categoryFaceted","categorySelected","handleClick","Paging","after","initialize","updateCursor","newPage","postPerPage","newCursor","onItemsChange","solrFields","itemsPerPage","postsPerPage","isNaN","startCursor","toString","postQuery","req","method","headers","body","hasNextPage","pageInfo","totalCount","hasPreviousPage","nbPages","floor","currentPage","pages","rel","ListProductVariantQuery","ListProductVariant","productid","productvariant","ProductGridQuery","ProductGridItem","sumRating","numRating","productrating","rootpathrating","columnsize","getRating","tabindex","FilteredProductList","view","sorting","init","handleView","handleItemsPerPage","resolveSorting","localStorage","onFacetsChange","searchFacets","e","currentTarget","categoriesSession","listView","GridItemsPerRow","showIndexCount","FilterSearch","nextProps","onKeywordChange","resetSearch","preventDefault","onSubmit","handleSubmit","onChange","handleChange","Footer","SocialLinks","MenuLinks","Logo","FooterMultilevel","footerMulti","HeaderMenu","mainMenu","mainindex","InternalLink","SubMenuLinks","subMenu","subindex","Image","TelephoneNumber","EmailAddress","HeaderMultilevel","menu","document","querySelector","classList","remove","productPageLink","outlineNone","outline","submenu","sublink","sublinkindex","CategoriesList","ProductPageLink","SiteLogo","ShowSubmenu","ShowLinkToOtherPage","LinkToOtherPage","IngredientsQuery","ListOfIngredients","ingredient","fullDescription","OverHead","overHeadBannerContentList","IconClass","ProductFinder","displayNone","displayBlock","ProductFinderLayoutWrapper","resetFilters","rangeFilter","updateRange","selectedCategoriesText","showProducts","sidebar","urlTagId","categoriesSessionNames","onRangeChange","shown","filterSearch","resize","range","categoryText","found","updatedFilters","obj","reset","show","innerWidth","openSidebar","ProductIngredientQuery","ProductIngredients","Show","firstIngredient","productIngredients","ingredients","ing","ShortDescription","ViewAll","ProductRatingQuery","ProductRating","ProductByCatQuery","ProductsByCategory","ProductSummaryQuery","ProductSummary","onClose","gotoPrevious","gotoNext","onClickThumbnail","openLightBox","photoIndex","showMessage","itemImage4","itemImage3","itemImage2","itemImage1","imageArray","image2","image3","image4","zoomIcon","isExperienceEditorActive","showStatus","showIndicators","onClickItem","images","onClickPrev","onClickNext","backdropClosesModal","currentImage","enableKeyboardInput","showImageCount","showThumbnails","relevantAdvantages","relevantItem","revIndex","productShortDescription","perfectFor","howtouse","fb","twitter","insta","RATINGS_QUERY","RatingReviews","status","clickedStar","username","commentValue","onStarClick","userNameChange","commentChange","ratingValue","parentElement","getAttribute","clickedStarId","RatingAndReviewTitle","NoRatingsMessage","commentItem","userName","creationDate","comment","RatingWriteComment","RatingThankyou","client","enableReinitialize","initialValues","privacy","setErrors","resetForm","setSubmitting","ratingreviews","submit","validate","errors","touched","RequiredFieldsInfo","for","RatingLabel","cols","rows","required","checked","PrivacyCheckBoxLabel","PrivacyLegalText","RichTextCoponent","RowBlock","leftcssStyle","rightcssStyle","blockStyle","blockTitle","blockContent","blockImage","RowSeparator","SalonList","salonItem","salonIndex","SalonLink","Brand","SalonImage","Search","link","LinkToProductFinderPage","bgImage","ImgView","SearchTitle","SocialMediaArticleQuery","SocialMediaArticles","sociallink","internalLink","StoreList","storeItem","storeIndex","StoreLink","StoreImage","StoreLocatorLayoutWrapper","contextdata","SubCatByCatQuery","SubCategoriesByCategory","subcategory","shdesc","Tagging","TagManagerArgs","gtmId","dataLayer","getPageCategory","pageTitle","TagManager","entries","val","updateDataLayerPageview","currentLocation","pageCategory","isHome","matchPath","isHomePath","isExact","isProduct","isBrandSingleCategory","isProductItem","isSearch","isAboutUs","isLiveRAW","TimelineQuery","Timeline","SortByYear","eventYear","eventTitle","eventContent","timelineImg","TitleColor","cssColor","ImageLocation","Description","ImageBanner","TwoImagesOneText","imageLarge","LargeImage","contentAndImageUnderText","TextContent","ImageUnderTextContent","SwitchLargeImageToLeft","components","Map","componentFactory","componentName","set","ArticleLayoutWrapper","BioStoreLocator","Breadcrumbs","RichTextComponent","TitleAndDescriptionAndImage","TitleAndImage","dataFetcher","axios","withCredentials","Layout","placeholders","component1","NotFound","language","RouteHandler","extractRouteData","sitecore","notFound","defaultLanguage","routeData","updateLanguage","ssrRenderComplete","updateRouteData","sitecoreRoutePath","match","params","sitecoreRoute","fetchOptions","layoutServiceConfig","host","getHostname","querystringParams","sc_lang","sc_apikey","fetcher","dataApi","fetchRouteData","catch","response","console","getRouteData","lang","updateSitecoreContext","scrollTo","newLanguage","i18n","changeLanguage","previousProps","existingRoute","newRoute","updatable","routePatterns","AppRoot","setSsrRenderComplete","ssrState","path","Router","graphQLClient","Switch","routePattern","Route","render","renderFunction","ReactDOM","initLanguage","__JSS_STATE__","ssrRawJson","getElementById","innerHTML","hydrate","dictionary","initialGraphQLState","APOLLO_STATE","endpoint","initialCacheState","createPersistedQueryLink","concat","BatchHttpLink","uri","credentials","cache","InMemoryCache","fragmentMatcher","IntrospectionFragmentMatcher","introspectionQueryResultData","ApolloClient","ssrMode","ssrForceFetchDelay","restore","GraphQLClientFactory","graphQLEndpoint","Promise","resolve","reject","debug","fallbackLng","load","useCookie","interpolation","escapeValue","isInitialized","addResourceBundle","use","initReactI18next","dictionaryServicePath","jssAppName","backend","loadPath","parsedData","phrases","fetchBackend","browser","detect","rootElement","add","pathname","BrowserRouter","isDisconnected","test","module","exports","origin"],"mappings":"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","file":"static/js/main.c9130380.chunk.js","sourcesContent":["import React from 'react';\r\nimport {Placeholder, Text, withSitecoreContext} from '@sitecore-jss/sitecore-jss-react';\r\n\r\nconst ArticleLayoutWrapper = (props) => (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n);\r\nexport default withSitecoreContext()(ArticleLayoutWrapper);\r\n","import packageJson from '../../../package.json';\r\nimport SCJSS from '../../temp/config';\r\n\r\nclass Context {\r\n\r\n static getIndexName(args) {\r\n return \"sitecore_\" + args.sitecoreContext.route.databaseName + \"_\" + packageJson.config.appName.split('-').join('_') + \"_index\";\r\n }\r\n\r\n static getGraphQLEndPoint(){\r\n return SCJSS.sitecoreApiHost + \"/api/\" + packageJson.config.appName + \"?sc_apikey=\" + SCJSS.sitecoreApiKey + \"&\";\r\n }\r\n\r\n}\r\n\r\nexport default Context;\r\n","import React from 'react';\r\nimport context from \"./Utils/Context\";\r\n\r\nclass ReactComponent extends React.Component{\r\n\r\n indexName;\r\n appName;\r\n getGraphqlEndpoint;\r\n\r\n constructor(props){\r\n super(props);\r\n this.indexName = context.getIndexName(props);\r\n this.appName = this.props.sitecoreContext.site.name;\r\n this.getGraphqlEndpoint = context.getGraphQLEndPoint();\r\n }\r\n\r\n}\r\n\r\nexport default ReactComponent;","import React from 'react';\r\nimport { Text, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport { css } from '@emotion/react';\r\nimport { DotLoader } from 'react-spinners';\r\nimport {NavLink} from \"react-router-dom\";\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport { loader as gqlLoader } from \"graphql.macro\";\r\nimport {Query} from \"react-apollo\";\r\n\r\nconst ArticleCategoriesNavigationQuery = gqlLoader('./query.graphql');\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass ArticleCategoriesNavigation extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLoaded: false\r\n };\r\n }\r\n\r\n render() {\r\n return(\r\n
\r\n \r\n
\r\n )\r\n }\r\n} \r\n\r\nexport default withSitecoreContext()(ArticleCategoriesNavigation);\r\n","import React from 'react';\r\nimport { RichText, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nclass ArticleRichText extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n\r\n return(\r\n
\r\n
\r\n \r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(ArticleRichText);\r\n","import React from 'react';\r\nimport { Text, Image, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport { css } from '@emotion/react';\r\nimport { DotLoader } from 'react-spinners';\r\nimport Moment from 'react-moment';\r\nimport ArticleCategoriesNavigation from '../ArticleCategoriesNavigation/index.js';\r\nimport NavLink from \"react-router-dom/es/NavLink\";\r\nimport i18next from 'i18next';\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport { loader as gqlLoader } from \"graphql.macro\";\r\nimport {Query} from \"react-apollo\";\r\n\r\nconst ArticlesNavigationQuery = gqlLoader('./query.graphql');\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass ArticlesNavigation extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLoaded: false\r\n };\r\n }\r\n\r\n render() {\r\n return(\r\n <>\r\n
\r\n

\r\n /

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {({ loading, error, data}) => {\r\n if (loading)\r\n return(\r\n
\r\n \r\n
\r\n );\r\n if (error)\r\n return (\r\n
Error: {error.message}
\r\n );\r\n\r\n return(\r\n data.product.results.items.map(function(article, idx) {\r\n return (\r\n\r\n \r\n {article && article.item && article.item.url && article.item.url.startsWith(\"http\") === true ?\r\n \r\n \r\n {article.item && article.item.date.value}\r\n \r\n
{i18next.t(\"SeeMoreButton\")}
\r\n \r\n :\r\n \r\n \r\n {article.item && article.item.date.value}\r\n \r\n
{i18next.t(\"SeeMoreButton\")}
\r\n \r\n }\r\n
\r\n )\r\n })\r\n )}}\r\n \r\n
\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(ArticlesNavigation);","import React from 'react';\r\n\r\nconst StarRating = ({value}) => {\r\n let rating = [];\r\n var integerPart = parseInt(value);\r\n var decimalPart = (value - integerPart) * 10;\r\n\r\n // Full Star\r\n for(var x = 1; x<=integerPart; x++) {\r\n rating.push();\r\n }\r\n\r\n // Half Star\r\n if(decimalPart > 0 && decimalPart < 6) {\r\n rating.push();\r\n integerPart += 1;\r\n }\r\n else if (decimalPart > 5 && decimalPart < 10) {\r\n rating.push();\r\n integerPart += 1;\r\n }\r\n\r\n // Remaining Star\r\n for(var a = 1; a<=(5-integerPart); a++) {\r\n rating.push();\r\n }\r\n\r\n return(\r\n

\r\n {rating}\r\n

\r\n );\r\n \r\n}\r\n\r\nexport default StarRating;\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQMAAACXljzdAAAABlBMVEXg4ODg4OAaHuWeAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAASElEQVRYhe3OIRKAMAwEwBYQPIOn8DReThHEItIpCGbXnElyKQUAgE8skWtip0ZOyaYtmvYB13odyfmnr4eq7c75fK8DAODfLubJA2xGMc+QAAAAAElFTkSuQmCC\"","export default __webpack_public_path__ + \"static/media/product-mas.df7f9999.svg\";","import React from 'react';\r\nimport {Text, Image, RichText, withSitecoreContext} from '@sitecore-jss/sitecore-jss-react';\r\nimport StarRating from '../StarRating';\r\nimport { DotLoader } from 'react-spinners';\r\nimport { css } from '@emotion/react';\r\nimport NavLink from \"react-router-dom/es/NavLink\";\r\nimport OwlCarousel from 'react-owl-carousel2';\r\nimport 'react-owl-carousel2/src/owl.carousel.css';\r\nimport logo from '../../assets/img/placeholder.png';\r\nimport productMas from \"../../assets/img/product-mas.svg\";\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport i18next from 'i18next';\r\nimport { loader as gqlLoader } from \"graphql.macro\";\r\nimport {Query} from \"react-apollo\";\r\n\r\nconst BestRatedProductsQuery = gqlLoader('./query.graphql');\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass BestRatedProducts extends ReactComponent {\r\n \r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n productId: 0,\r\n myItem: 4\r\n };\r\n this.resizeItem = this.resizeItem.bind(this);\r\n this.carou = React.createRef();\r\n }\r\n\r\n componentDidMount(){\r\n this.resizeItem();\r\n window.addEventListener('resize', this.resizeItem);\r\n }\r\n\r\n resizeItem(){\r\n if(window.screen.width >= 320 && window.screen.width <= 425){\r\n this.setState({\r\n myItem: 1\r\n });\r\n }else if(window.screen.width >= 426 && window.screen.width <= 768){\r\n this.setState({\r\n myItem: 2\r\n });\r\n }else{\r\n this.setState({\r\n myItem: 4\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n var ProductNumber = this.props.fields.ProductNumber.value;\r\n function SortByRating(x,y) {\r\n return ((x.item.rating.numberValue === y.item.rating.numberValue) ? 0 : ((x.item.rating.numberValue < y.item.rating.numberValue) ? 1 : -1 ));\r\n }\r\n const options = {\r\n items: this.state.myItem,\r\n loop: true,\r\n lazyLoad: true,\r\n nav: false,\r\n dots: false\r\n };\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n {({ loading, error, data}) => {\r\n if (loading)\r\n return(\r\n
\r\n \r\n
\r\n );\r\n if (error)\r\n return (\r\n
Error: {error.message}
\r\n );\r\n if (data.search == null){\r\n return(\r\n

\r\n Nothing to display.\r\n

\r\n );\r\n }else{\r\n return (\r\n <>\r\n \r\n \r\n {data.search.results.items &&\r\n data.search.results.items.filter(\r\n item => ((item.item !== null) && (item.item.id !== this.state.productId))).sort(SortByRating).slice(0, ProductNumber).map((product, index) => (\r\n \r\n
\r\n \r\n \"\"\r\n \r\n \r\n
\r\n
\r\n {product.item && product.item.image1.src === null ?\r\n \"placeholder\"\r\n :\r\n \r\n }\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {product.item && product.item.url && product.item.url.startsWith(\"http\") === true ?\r\n {i18next.t(\"SeeMoreButton\")}\r\n :\r\n {i18next.t(\"SeeMoreButton\")}\r\n } \r\n
\r\n \r\n ))}\r\n \r\n \r\n {data.search.results.items && data.search.results.items.filter(\r\n item => ((item.item !== null) && (item.item.id !== this.state.productId))).sort(SortByRating).slice(0, ProductNumber).map((product, index) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {product.item && product.item.image1.src === null ?\r\n \"placeholder\"\r\n :\r\n {product.item\r\n }\r\n
\r\n
\r\n

{product.item && product.item.title.value}

\r\n

\r\n \r\n

\r\n \r\n {this.state.productVariantURL &&\r\n (this.state.productVariantURL.startsWith(\"http\") === true ?\r\n {i18next.t(\"BuyButton\")}\r\n :\r\n {i18next.t(\"BuyButton\")}\r\n )\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n \r\n )}\r\n }}\r\n \r\n
\r\n );\r\n }\r\n\r\n\r\n}\r\n\r\nexport default withSitecoreContext()(BestRatedProducts);\r\n","import React from 'react';\r\nimport { graphql } from 'react-apollo';\r\nimport {\r\n withSitecoreContext,\r\n resetExperienceEditorChromes,\r\n} from '@sitecore-jss/sitecore-jss-react';\r\n\r\n/**\r\n * Higher order component that abstracts common JSS + Apollo integration needs.\r\n *\r\n * This component works similar to react-apollo's graphql() HOC, but:\r\n * * Automatically injects $contextItem and $datasource GraphQL variable values, if the GraphQL declares usage of them\r\n * * Automatically disables execution of subscription queries when doing SSR\r\n * * Passes through any other props to its wrapped component\r\n *\r\n * @param {*} query The GraphQL AST to execute (should go through graphql-tag, no strings)\r\n * @param {*} configuration Values passed in are shipped to react-apollo configuration (https://www.apollographql.com/docs/react/basics/setup.html#graphql-config)\r\n */\r\nfunction GraphQLData(query, configuration = {}) {\r\n return function wrapComponent(Component) {\r\n class SitecoreRenderingWrapper extends React.Component {\r\n static displayName = `JSSGraphQLComponent(${\r\n Component.displayName || Component.name || 'Component'\r\n })`;\r\n\r\n render() {\r\n if (!query) {\r\n throw new Error(\r\n 'query was falsy in GraphQLData. It should be a GraphQL query from graphql-tag. Perhaps missing graphql-tag/loader?'\r\n );\r\n }\r\n\r\n const newConfiguration = { ...configuration };\r\n\r\n if (!newConfiguration.name) newConfiguration.name = 'data';\r\n\r\n // ensure variables object exists\r\n newConfiguration.options = newConfiguration.options || {};\r\n newConfiguration.options.variables = newConfiguration.options.variables || {};\r\n\r\n // if we're in experience editor or preview we need to disable SSR of GraphQL queries\r\n // because SSR queries are made unauthenticated, so they would have normal mode data = bad\r\n if (this.props.sitecoreContext && this.props.sitecoreContext.pageState !== 'normal') {\r\n newConfiguration.options.ssr = false;\r\n } else if (\r\n query.definitions.some(\r\n (def) => def.kind === 'OperationDefinition' && def.operation === 'subscription'\r\n )\r\n ) {\r\n // if the document includes any subscriptions, we also disable SSR as this hangs the SSR process\r\n // not to mention being quite silly to SSR when they're reactive\r\n newConfiguration.options.ssr = false;\r\n }\r\n\r\n // find all variable definitions in the GraphQL query, so we can send only ones we're using\r\n const variableNames = extractVariableNames(query);\r\n\r\n // set the datasource variable, if we're using it\r\n if (variableNames.datasource && this.props.rendering && this.props.rendering.dataSource) {\r\n newConfiguration.options.variables.datasource = this.props.rendering.dataSource;\r\n }\r\n\r\n // set the contextItem variable, if we're using it\r\n if (\r\n variableNames.contextItem &&\r\n this.props.sitecoreContext &&\r\n this.props.sitecoreContext.itemId\r\n ) {\r\n newConfiguration.options.variables.contextItem = this.props.sitecoreContext.itemId;\r\n }\r\n\r\n // build the props processing function that will set the result object to the name\r\n newConfiguration.props = (props) => {\r\n const innerQuery = props[newConfiguration.name];\r\n\r\n let resultProps = {};\r\n\r\n resultProps[newConfiguration.name] = innerQuery;\r\n\r\n // run a user-specified props function too if one exists\r\n if (configuration.props) {\r\n resultProps = Object.assign(resultProps, configuration.props(props));\r\n }\r\n\r\n return resultProps;\r\n };\r\n\r\n const GQL = graphql(query, newConfiguration)(Component);\r\n return ;\r\n }\r\n\r\n // eslint-disable-next-line class-methods-use-this\r\n componentDidUpdate() {\r\n resetExperienceEditorChromes();\r\n }\r\n }\r\n\r\n return withSitecoreContext()(SitecoreRenderingWrapper);\r\n };\r\n}\r\n\r\nfunction extractVariableNames(query) {\r\n const variableNames = {};\r\n query.definitions\r\n .map((def) => def.variableDefinitions)\r\n .filter((def) => def)\r\n .forEach((defs) =>\r\n defs.forEach((def) => {\r\n if (def.kind && def.kind === 'VariableDefinition') {\r\n variableNames[def.variable.name.value] = true;\r\n }\r\n })\r\n );\r\n\r\n return variableNames;\r\n}\r\n\r\nexport default GraphQLData;\r\n","import React from 'react';\r\nimport {Text, Image, Link, RichText} from '@sitecore-jss/sitecore-jss-react';\r\nimport StarRating from '../StarRating';\r\nimport { loader as gqlLoader } from 'graphql.macro';\r\nimport GraphQLData from '../../lib/GraphQLData';\r\nimport NavLink from \"react-router-dom/es/NavLink\";\r\nimport OwlCarousel from \"react-owl-carousel2\";\r\nimport 'react-owl-carousel2/src/owl.carousel.css';\r\nimport productMas from \"../../assets/img/product-mas.svg\";\r\nimport logo from \"../../assets/img/placeholder.png\";\r\nimport i18next from 'i18next';\r\n\r\nconst RelatedProductsQuery = gqlLoader('./RelatedProductsQuery.graphql');\r\n\r\nclass BiolageRelatedProducts extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n myItem: 4,\r\n itemdata: [],\r\n productVariantURL: \"\" \r\n };\r\n this.resizeItem = this.resizeItem.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.resizeItem();\r\n window.addEventListener('resize', this.resizeItem);\r\n }\r\n\r\n resizeItem(){\r\n if(window.screen.width >= 320 && window.screen.width <= 425){\r\n this.setState({\r\n myItem: 1\r\n });\r\n }else if(window.screen.width >= 426 && window.screen.width <= 768){\r\n this.setState({\r\n myItem: 2\r\n });\r\n }else{\r\n this.setState({\r\n myItem: 4\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const graphQLResult = this.props.relatedProductsQuery;\r\n const {datasource} = graphQLResult;\r\n const options = {\r\n items: this.state.myItem,\r\n loop: true,\r\n lazyLoad: true,\r\n nav: false,\r\n dots: false\r\n };\r\n \r\n return (\r\n
\r\n
\r\n \r\n
\r\n {datasource != undefined &&\r\n <>\r\n \r\n \r\n {datasource && datasource.relatedProductsList.targetItems.map((productItem, index) => ( \r\n
\r\n \r\n \"\"\r\n \r\n \r\n
\r\n
\r\n {productItem.image1.src === null ? \r\n \"placeholder\"\r\n :\r\n \r\n } \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {productItem && productItem.url &&\r\n (productItem && productItem.url && productItem.url.startsWith(\"http\") === true ?\r\n \r\n :\r\n {i18next.t(\"SeeMoreButton\")}\r\n )\r\n }\r\n
\r\n ))}\r\n \r\n \r\n \r\n }\r\n {datasource && datasource.relatedProductsList.targetItems.map((productItem, index) => (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {productItem.image1.src === null ?\r\n \"placeholder\"\r\n\r\n :\r\n {productItem.image1.alt}\r\n\r\n }\r\n
\r\n
\r\n

{productItem.title.value}

\r\n \r\n {productItem.children && productItem.children.map((child,idx)=>{\r\n if(child.productVariantLink) {\r\n this.state.productVariantURL = child.productVariantLink.url;\r\n }\r\n let childVariants = child && child.title && child.title.value;\r\n return(\r\n \r\n {childVariants}\r\n {idx < productItem.children.length - 1 && <>, }\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n {this.state.productVariantURL && this.state.productVariantURL !== \"\" &&\r\n (\r\n (this.state.productVariantURL.startsWith(\"http\") === true ?\r\n {i18next.t(\"BuyButton\")}\r\n :\r\n {i18next.t(\"BuyButton\")}\r\n )\r\n )\r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n )\r\n }\r\n} \r\n\r\nexport default GraphQLData(RelatedProductsQuery, { name: 'relatedProductsQuery' })(BiolageRelatedProducts);\r\n","import React from 'react';\r\nimport { loader as gqlLoader } from 'graphql.macro';\r\nimport { Query } from \"react-apollo\";\r\nimport {geolocated} from 'react-geolocated';\r\nimport locationIcon from '../../assets/img/whiteLocation2.png';\r\nimport packageJson from '../../../package.json';\r\n\r\nconst StoreLocatorQuery = gqlLoader('./BiolageStoreLocator.graphql');\r\nconst _ = require(\"lodash\");\r\nconst { compose, withProps, lifecycle, withStateHandlers } = require(\"recompose\");\r\nconst { withScriptjs, withGoogleMap, GoogleMap, Marker, InfoWindow,} = require(\"react-google-maps\");\r\nconst { SearchBox } = require(\"react-google-maps/lib/components/places/SearchBox\");\r\nconst rootpathString = \"/sitecore/content/\" + packageJson.config.appName + \"/Content/BioStoreLocator/Stores\";\r\n\r\nfunction distance(lat1, lon1, lat2, lon2, unit) {\r\n if ((lat1 === lat2) && (lon1 === lon2)) {\r\n return 0;\r\n }\r\n else {\r\n let radlat1 = Math.PI * lat1/180;\r\n let radlat2 = Math.PI * lat2/180;\r\n let theta = lon1-lon2;\r\n let radtheta = Math.PI * theta/180;\r\n let dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);\r\n if (dist > 1) {\r\n dist = 1;\r\n }\r\n dist = Math.acos(dist);\r\n dist = dist * 180/Math.PI;\r\n dist = dist * 60 * 1.1515;\r\n if (unit === \"K\") { dist = dist * 1.609344 }\r\n if (unit === \"N\") { dist = dist * 0.8684 }\r\n return dist;\r\n }\r\n}\r\n\r\nfunction getNearestStores(markers, stores, dist, currentLatitude, currentLongitude) {\r\n let nearestStores = [];\r\n if(currentLatitude !== 0 && currentLongitude !== 0){\r\n stores &&\r\n stores.map((listItem) => {\r\n nearestStores.push([distance(currentLatitude, currentLongitude, Number(listItem.item.latitude.value), Number(listItem.item.longitude.value), \"K\"), Number(listItem.item.latitude.value), Number(listItem.item.longitude.value), listItem.item.storeName.value, listItem.item.adress.value, listItem.item.phone.value, listItem.item.email.value, listItem.item.openingHours.value]);\r\n });\r\n }\r\n else{\r\n markers.map((marker) =>\r\n stores &&\r\n stores.map((listItem) => {\r\n nearestStores.push([distance(marker.position.lat(), marker.position.lng(), Number(listItem.item.latitude.value), Number(listItem.item.longitude.value), \"K\"), Number(listItem.item.latitude.value), Number(listItem.item.longitude.value), listItem.item.storeName.value, listItem.item.adress.value, listItem.item.phone.value, listItem.item.email.value, listItem.item.openingHours.value]);\r\n })\r\n );\r\n }\r\n nearestStores = nearestStores.filter(function (el) { return (el[0] <= dist); });\r\n nearestStores = nearestStores.sort((a, b) => a[0] - b[0]);\r\n return nearestStores;\r\n}\r\n\r\nconst MapWithASearchBox = compose(\r\n withStateHandlers(() => ({\r\n isOpen: false,\r\n infoIndex: null,\r\n state: false,\r\n hoverIndex: null,\r\n currentLatitude : 0,\r\n currentLongitude : 0,\r\n locationUpdate : false\r\n }), {\r\n updateLatLong :({locationUpdate}) => (latitude, longitude) => ({\r\n currentLatitude : latitude,\r\n currentLongitude : longitude,\r\n locationUpdate : !locationUpdate\r\n }),\r\n initLatLong :() => () => ({\r\n currentLatitude : 0,\r\n currentLongitude : 0\r\n }),\r\n showInfo: ({ isOpen, infoIndex }) => (index) => ({\r\n isOpen: infoIndex !== index || !isOpen,\r\n infoIndex: index\r\n }),\r\n handleMouse: ({ state, hoverIndex }) => (index) => ({\r\n state: hoverIndex !== index || !state,\r\n hoverIndex: index\r\n }),\r\n }),\r\n withProps({\r\n googleMapURL: \"https://maps.googleapis.com/maps/api/js?client=gme-lorealsa&channel=CHANNEL_ID_FOR_BRAND&v=quartely&libraries=geometry,drawing,places\",\r\n loadingElement:
,\r\n containerElement:
,\r\n mapElement:
,\r\n }),\r\n lifecycle({\r\n componentWillMount() {\r\n const refs = {};\r\n this.setState({\r\n bounds: null,\r\n center: {\r\n lat: 48.8589507, lng: 2.2770204\r\n },\r\n markers: [],\r\n onMapMounted: ref => {\r\n refs.map = ref;\r\n },\r\n onBoundsChanged: _.debounce( () => {\r\n this.setState({\r\n bounds: refs.map.getBounds(),\r\n center: refs.map.getCenter(),\r\n });\r\n let { onBoundsChange } = this.props;\r\n if (onBoundsChange) {\r\n onBoundsChange(refs.map)\r\n }\r\n },\r\n 100,\r\n { maxWait: 500 }\r\n ),\r\n onSearchBoxMounted: ref => {\r\n refs.searchBox = ref;\r\n },\r\n onPlacesChanged: () => {\r\n const places = refs.searchBox.getPlaces();\r\n const bounds = new window.google.maps.LatLngBounds();\r\n\r\n places.forEach(place => {\r\n if (place.geometry.viewport !== undefined && place.geometry.viewport) {\r\n bounds.union(place.geometry.viewport)\r\n } else {\r\n bounds.extend(place.geometry.location)\r\n }\r\n });\r\n const nextMarkers = places.map(place => ({\r\n position: place.geometry.location,\r\n }));\r\n const nextCenter = _.get(nextMarkers, '0.position', this.state.center);\r\n\r\n this.setState({\r\n center: nextCenter,\r\n markers: nextMarkers,\r\n });\r\n refs.map.fitBounds(bounds);\r\n },\r\n })\r\n },\r\n }),\r\n withScriptjs,\r\n withGoogleMap\r\n)(props =>\r\n \r\n \r\n
\r\n {\r\n if (event.key === 'Enter') {\r\n props.initLatLong()\r\n }\r\n }}\r\n />\r\n \r\n
\r\n \r\n
\r\n {getNearestStores(props.markers, props.stores, Number(props.distance), props.currentLatitude, props.currentLongitude).map((store, index) =>\r\n \r\n
props.handleMouse(index)} onMouseLeave={() => props.handleMouse(index)}>\r\n \r\n
\r\n \r\n {store[3]}\r\n \r\n {store[4]}\r\n
\r\n Phone: {store[5]}\r\n
\r\n {store[7]}\r\n
\r\n props.showInfo(index)} >\r\n Map\r\n \r\n
\r\n
\r\n props.showInfo(index)}\r\n icon={{ url: (props.state && props.hoverIndex === index) ? props.markerIconHover : props.markerIcon }}\r\n onMouseOver={() => props.handleMouse(index)} onMouseOut={() => props.handleMouse(index)}>\r\n { (props.isOpen && props.infoIndex === index) && \r\n \r\n
\r\n

\r\n Contact information\r\n
\r\n \r\n {store[3]}\r\n \r\n
\r\n {store[4]}\r\n

\r\n

\r\n Phone: {store[5]}\r\n
\r\n {store[7]}\r\n

\r\n
\r\n
\r\n
}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n);\r\n\r\nconst StoreLocatorList = (props) => (\r\n \r\n {({ loading, error, data}) => {\r\n if (loading) return \"Loading...\";\r\n if (error) return `Error! ${error.message}`;\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }}\r\n \r\n);\r\nclass CurrentGeolocation extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n indexName: this.props.indexName\r\n };\r\n }\r\n\r\n render() {\r\n return !this.props.isGeolocationAvailable\r\n ?
Your browser does not support Geolocation
\r\n : !this.props.isGeolocationEnabled\r\n ?
Geolocation is not enabled
\r\n : this.props.coords\r\n ? \r\n :
Getting the location data…
;\r\n }\r\n}\r\nexport default geolocated({\r\n positionOptions: {\r\n enableHighAccuracy: false,\r\n },\r\n userDecisionTimeout: 5000,\r\n})(CurrentGeolocation);\r\n","export default \"data:image/png;base64,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\"","import React from 'react';\r\nimport { Placeholder } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nconst BlocksOfText = (props) => (\r\n
\r\n \r\n
\r\n);\r\n\r\nexport default BlocksOfText;\r\n","import React from 'react';\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport {withSitecoreContext} from \"@sitecore-jss/sitecore-jss-react\";\r\nimport {loader as gqlLoader} from \"graphql.macro\";\r\nimport {DotLoader} from \"react-spinners\";\r\nimport {Query} from \"react-apollo\";\r\nimport {css} from \"@emotion/react\";\r\n\r\nconst parentRouteQuery = gqlLoader('./query.graphql');\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass ParentRoute extends ReactComponent{\r\n\r\n constructor(props) {\r\n super(props);\r\n \r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n ListParents: ''\r\n };\r\n }\r\n\r\n render(){\r\n return(\r\n \r\n {({ loading, error, data}) => {\r\n if (loading)\r\n return (\r\n
\r\n \r\n
\r\n );\r\n if (error)\r\n return (\r\n
Error: {error.message}
\r\n );\r\n return (\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n )\r\n }\r\n\r\n}\r\nexport default withSitecoreContext()(ParentRoute);","import React from 'react';\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport ParentRoute from '../../Utils/ParentRoute';\r\n\r\n\r\nconst Breadcrumbs = (props) => {\r\n return(\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\nexport default withSitecoreContext()(Breadcrumbs);\r\n","import React from 'react';\r\nimport { Image, Text, RichText, Link } from '@sitecore-jss/sitecore-jss-react';\r\nimport NavLink from \"react-router-dom/es/NavLink\";\r\n\r\nconst CarouselQouteItem = (props) => {\r\n let carouselItem = [];\r\n\r\n if(props && props.carouselLink && props.carouselLink.value.href) {\r\n if(props && props.carouselLink && props.carouselLink.value && props.carouselLink.value.href.startsWith(\"http\") === true){\r\n carouselItem.push(\r\n \r\n \r\n \r\n );\r\n }else{\r\n carouselItem.push(\r\n \r\n \r\n \r\n );\r\n }\r\n } else {\r\n carouselItem.push(\r\n \r\n );\r\n }\r\n\r\n let Screen;\r\n let isTop;\r\n if (typeof window !== 'undefined') {\r\n Screen = window.screen.width;\r\n if (Screen < 321) {\r\n isTop = 28\r\n } else if (Screen > 322 && Screen <= 375) {\r\n isTop = 32\r\n } else if (Screen >= 376 && Screen <= 425) {\r\n isTop = 36\r\n } else if(Screen >= 426 && Screen <= 769){\r\n isTop = 50\r\n }\r\n }\r\n\r\n return(\r\n
\r\n {Object.keys(carouselItem[0].props.field.value).length !== 0 ?\r\n <>\r\n {carouselItem}\r\n\r\n
\r\n {props && props.carouselTitle &&\r\n ()\r\n }\r\n {props && props.carouselContent &&\r\n ()\r\n }\r\n {props && props.carouselButton && props.carouselButton.value && props.carouselButton.value.href !== '' ?\r\n (props.carouselButton && props.carouselButton.value && props.carouselButton.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n {props && props.carouselButton && props.carouselButton.value && props.carouselButton.value.text}\r\n \r\n )\r\n :\r\n ''\r\n }\r\n
\r\n \r\n \r\n :\r\n <>\r\n {props && props.carouselLinkVideo && props.carouselLinkVideo.value && props.carouselLinkVideo.value.linktype === 'external' &&\r\n \r\n
\r\n
\r\n
\r\n )\r\n }\r\n\r\n}\r\n\r\nexport default CheckOutVideo;\r\n","import React from 'react';\r\nimport { Text, RichText } from '@sitecore-jss/sitecore-jss-react';\r\n\r\n/**\r\n * A simple Content Block component, with a heading and rich text block.\r\n * This is the most basic building block of a content site, and the most basic\r\n * JSS component that's useful.\r\n */\r\nconst ContentBlock = ({ fields }) => (\r\n \r\n \r\n\r\n \r\n \r\n);\r\n\r\nexport default ContentBlock;\r\n","import React from 'react';\r\nimport { Text, Image, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport {NavLink} from \"react-router-dom\";\r\nimport i18next from 'i18next';\r\n\r\nconst FeaturedPosts = (props) => {\r\n const {FeaturedPostsContentList} = props.fields;\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {FeaturedPostsContentList &&\r\n FeaturedPostsContentList.map((listItem, index) => (\r\n
\r\n \r\n
\r\n

{`${index+1}#`}

\r\n \r\n

\r\n \"\"\r\n

\r\n \r\n
\r\n {listItem.fields.PostLink && listItem.fields.PostLink.value.href.startsWith(\"http\") === true ?\r\n {i18next.t(\"DiscoverMoreButton\")}\r\n :\r\n {i18next.t(\"DiscoverMoreButton\")}\r\n }\r\n
\r\n\r\n ))}\r\n
\r\n \r\n );\r\n};\r\nexport default FeaturedPosts;","import React from 'react';\r\nimport { DotLoader } from 'react-spinners';\r\nimport { css } from '@emotion/react';\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport ReactComponent from \"../../ReactComponent\";\r\n\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass FilterCategories extends ReactComponent {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n itemdata: [],\r\n items: [],\r\n urlFilter: \"\",\r\n keyword: \"\",\r\n pageTag: \"\",\r\n categoryItems: \"\",\r\n categoryNames: \"\",\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n sessionStorage.removeItem('filterCategories');\r\n sessionStorage.removeItem('filterCategoriesName');\r\n\r\n const url = window.location.href;\r\n if(this.props.sitecoreContext.route.fields.PfTag != null && this.props.sitecoreContext.route.fields.PfTag !== \"undefined\" && this.props.sitecoreContext.route.fields.FilterName != null){\r\n this.setState({\r\n pageTag: this.props.sitecoreContext.route.fields.FilterName.value\r\n })\r\n }\r\n if (this.props.fields.filterOn || url.includes('?tagId=')) {\r\n let criteria = this.props.fields.filterOn.id.replace(/-/g, \"\");\r\n\r\n if(window.location.search.includes('?search=')){\r\n let keywordText = window.location.search.substring(window.location.search.indexOf(\"=\")+ 1);\r\n this.setState({\r\n keyword: keywordText\r\n });\r\n }\r\n\r\n let filterId = \"\";\r\n if (url.includes('?categoryId=') || url.includes('?tagId=')) {\r\n filterId = url.substring(url.indexOf(\"=\") + 1);\r\n if (filterId.includes('#')) filterId = filterId.replace('#','');\r\n if (filterId.includes('-')) filterId = filterId.replace(/-/g,'').toUpperCase();\r\n }\r\n\r\n if (filterId === \"\") {\r\n sessionStorage.removeItem('filterCategories');\r\n sessionStorage.removeItem('filterCategoriesName');\r\n }\r\n\r\n let QUERY = 'query={ filters:search( index:\"'+ this.indexName +'\" fieldsEqual: [ {name: \"_parent\", value: \"'+criteria+'\"} ], rootItem: \"/sitecore/content/' + this.appName + '/\") { results { items { item { id name ...on BiolageProductTagTemplate { title { value } } } } } } criteria:search( index:\"'+ this.indexName +'\" fieldsEqual: [ {name: \"_group\", value: \"'+criteria+'\"} ], rootItem: \"/sitecore/content/' + this.appName + '/\") { results { items { item { id name template { name } ...on BiolagefolderProductTag { displayName title { value } } } } } } }';\r\n fetch(this.getGraphqlEndpoint + QUERY)\r\n .then(res => res.json())\r\n .then(\r\n (result) => {\r\n this.setState({\r\n isLoaded: true,\r\n itemdata: result,\r\n urlFilter: filterId,\r\n });\r\n\r\n },\r\n (error) => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n )\r\n }\r\n }\r\n\r\n handleSessionItems(itemId, itemName) {\r\n let categoryArr = [];\r\n let categoryArrNames = [];\r\n let sessionCategories = sessionStorage.getItem('filterCategories');\r\n let sessionCategoriesName = sessionStorage.getItem('filterCategoriesName');\r\n let getSessionItems = sessionCategories !== null ? sessionCategories : \"\";\r\n let getSessionItemNames = sessionCategoriesName !== null ? sessionCategoriesName : \"\";\r\n if(getSessionItems){\r\n let checkCategoryArr = JSON.parse(getSessionItems);\r\n let checkCategoryNamesArr = JSON.parse(getSessionItemNames);\r\n\r\n let listOfCategory = JSON.parse(getSessionItems);\r\n let listOfCategoryNames = JSON.parse(getSessionItemNames);\r\n\r\n let indexName = checkCategoryNamesArr.indexOf(itemName);\r\n let index = checkCategoryArr.indexOf(itemId);\r\n\r\n //for Item Name of tags\r\n if (indexName !== -1) {\r\n let newArrayOfCategoryNames = checkCategoryNamesArr.filter(catName => catName !== itemName);\r\n sessionStorage.setItem(\"filterCategoriesName\",JSON.stringify(newArrayOfCategoryNames));\r\n }\r\n else{\r\n let newCategoryArrNames = listOfCategoryNames;\r\n newCategoryArrNames.push(itemName);\r\n sessionStorage.setItem(\"filterCategoriesName\",JSON.stringify(newCategoryArrNames));\r\n }\r\n\r\n //for Item Id of tags\r\n if (index !== -1) {\r\n let newArrayOfCategory = checkCategoryArr.filter(cat => cat !== itemId);\r\n sessionStorage.setItem(\"filterCategories\",JSON.stringify(newArrayOfCategory));\r\n }\r\n else{\r\n let newCategoryArr = listOfCategory;\r\n newCategoryArr.push(itemId);\r\n sessionStorage.setItem(\"filterCategories\",JSON.stringify(newCategoryArr));\r\n }\r\n\r\n }\r\n else{\r\n categoryArr.push(itemId);\r\n categoryArrNames.push(itemName);\r\n\r\n sessionStorage.setItem(\"filterCategories\",JSON.stringify(categoryArr));\r\n sessionStorage.setItem(\"filterCategoriesName\",JSON.stringify(categoryArrNames));\r\n }\r\n }\r\n\r\n handleClick(categoryClicked) {\r\n this.handleSessionItems(categoryClicked.item.id.toLowerCase(), categoryClicked.item.title.value);\r\n\r\n let getSessionUpdated = JSON.parse(sessionStorage.getItem('filterCategories'));\r\n let getSessionCategoryNamesUpdated = JSON.parse(sessionStorage.getItem('filterCategoriesName'));\r\n this.props.handleUpdateOnCategory(getSessionUpdated,getSessionCategoryNamesUpdated);\r\n let isPresent = false;\r\n this.props.handleShowProducts(true);\r\n\r\n for(var category of this.state.items) {\r\n if (category.item.title.value === categoryClicked.item.title.value) {\r\n isPresent = true;\r\n }\r\n }\r\n if (isPresent) {\r\n this.setState(state => {\r\n const items = state.items.filter(category => categoryClicked.item.title.value !== category.item.title.value);\r\n return {\r\n items,\r\n pageTag: \"\"\r\n }\r\n });\r\n } else {\r\n this.setState(state => {\r\n const items = [...state.items, categoryClicked];\r\n return {\r\n items,\r\n pageTag: categoryClicked.item.title.value\r\n }\r\n })\r\n }\r\n\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevState.urlFilter !== this.state.urlFilter && this.state.urlFilter !== \"\" && this.state.itemdata !== undefined) {\r\n for (let category of this.state.itemdata.data.filters.results.items) {\r\n if (this.state.urlFilter === category.item.id) {\r\n let items = [];\r\n this.setState(state => {\r\n items = [...state.items, category];\r\n return{\r\n urlFilter: \"\",\r\n items: items,\r\n }\r\n });\r\n\r\n }\r\n }\r\n }\r\n\r\n if (prevState.items !== this.state.items && this.state.itemdata.data !== undefined) {\r\n this.props.onFiltersChange({items:this.state.items, template:this.state.itemdata.data.criteria.results.items[0].item.template.name},this.state.keyword);\r\n }\r\n }\r\n\r\n render() {\r\n const { error, isLoaded, itemdata } = this.state;\r\n if (!this.props.fields.filterOn) return \"\";\r\n if (!isLoaded) return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n if (error) return `Error! ${error.message}`;\r\n if(!itemdata || !itemdata.data) return `Empty results`;\r\n\r\n let categories = [];\r\n for(var facet of this.props.facets) {\r\n\r\n if (itemdata.data.criteria.results.items[0].item.template.name === \"biolagefolderProductTag\" && facet.name === \"tags\") {\r\n categories = facet.values;\r\n }\r\n\r\n }\r\n\r\n let items = [];\r\n let facetIn = false;\r\n let selectedCat = false;\r\n for (let category of itemdata.data.filters.results.items) {\r\n facetIn = false;\r\n selectedCat = false;\r\n if (categories.some(categoryFaceted => category.item && categoryFaceted.item && category.item.title && categoryFaceted.item.title && category.item.title.value === categoryFaceted.item.title.value)) {\r\n facetIn = true;\r\n }\r\n if (facetIn && this.state.items.some(categorySelected => category.item && categorySelected.item && category.item.title && categorySelected.item.title && category.item.title.value === categorySelected.item.title.value)) {\r\n selectedCat = true;\r\n }\r\n if (facetIn && (category.item && category.item.title && this.state.pageTag === category.item.title.value)) {\r\n selectedCat = true;\r\n }\r\n if(category.item && category.item.title && this.state.urlFilter === category.item.id.toLowerCase()) {\r\n selectedCat = true;\r\n facet = true;\r\n this.handleSessionItems(category.item.id.toLowerCase(), category.item.title.value);\r\n }\r\n\r\n items.push(\r\n
  • \r\n \r\n {category && category.item && category.item.title && category.item.title.value}\r\n \r\n
  • \r\n );\r\n }\r\n\r\n\r\n return(\r\n
    \r\n

    {this.state.itemdata.data.criteria.results.items[0].item && this.state.itemdata.data.criteria.results.items[0].item.title.value}

    \r\n
      \r\n {items}\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(FilterCategories);","import React from 'react';\r\nimport { DotLoader } from 'react-spinners';\r\nimport { css } from '@emotion/react';\r\nimport \"../../assets/css/paging.css\";\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport {withSitecoreContext} from \"@sitecore-jss/sitecore-jss-react\";\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\n// if using customSearch, please rename to search (search:customSearch)\r\n\r\n// PROPS : \r\n// - onItemsChange : Callback to update the items in the parent component. the setState method must be implemented in the parent and passed to this prop\r\n// - query : provide a string replacing variables by ## followed by the query attribute name.\r\n // ex: first: ##first, after: \"##after\", conditions: [ ##fieldsEqual ] \r\n // range: [{name:\"saleprice_tf\", from:\"##rangeFrom\", to: \"##rangeTo\"}]\r\n // ..., ##sortBy\r\n// - itemsPerPage : number of items to retrieve for each page (corresponds to first query attribute). Default: 3\r\n// - showIndexCount : boolean to show or hide indexCount part. ex: items 1 - 10 of 100\r\n// - solrFields : Array of strings corresponding to the fieldsEqual of the query. ex: '{name: \"categories_sm\", value: \"'+variable+'\"},'\r\n// if the solrfield is static in the query then there is no need to put it in the prop but rather directly in the query\r\n// - range : range filter for customSearch, array of two\r\n// - sort : array of 2 string : index name and either ASC or DESC\r\n// - keyword : string\r\nclass Paging extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n itemdata: [],\r\n after: 0,\r\n initialize: false,\r\n };\r\n this.updateCursor = this.updateCursor.bind(this);\r\n }\r\n\r\n updateCursor(newPage, postPerPage = -1) {\r\n if (postPerPage === -1) {\r\n this.setState({\r\n after: newPage,\r\n })\r\n }\r\n else {\r\n let newCursor = newPage;\r\n newCursor = (newPage-1) * postPerPage;\r\n this.setState({\r\n after: newCursor\r\n })\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n this.setState({initialize:true});\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if(this.state.itemdata !== prevState.itemdata) {\r\n this.props.onItemsChange(this.state.itemdata);\r\n }\r\n if(this.state.initialize !== prevState.initialize || this.state.after !== prevState.after || \r\n this.props.solrFields !== prevProps.solrFields || this.props.itemsPerPage !== prevProps.itemsPerPage ||\r\n this.props.sort !== prevProps.sort || this.props.keyword !== prevProps.keyword) {\r\n \r\n let postsPerPage = this.props.itemsPerPage !== undefined ? this.props.itemsPerPage : 3;\r\n if (postsPerPage === undefined || postsPerPage === null || isNaN(postsPerPage) || postsPerPage === 0 || postsPerPage < 0) postsPerPage = 3;\r\n var startCursor = \"\";\r\n startCursor = this.state.after.toString();\r\n if (this.state.after === prevState.after) {\r\n this.setState({\r\n after: 0,\r\n itemdata: [],\r\n isLoaded: false,\r\n });\r\n startCursor = 0;\r\n }\r\n else {\r\n this.setState({\r\n isLoaded:false,\r\n itemdata:[]\r\n });\r\n }\r\n\r\n let solrFields = this.props.solrFields !== undefined ? this.props.solrFields : [];\r\n let sort = this.props.sort !== undefined ? this.props.sort : [];\r\n let keyword = this.props.keyword !== undefined ? this.props.keyword : \"\";\r\n var QUERY = this.props.query;\r\n while (QUERY.includes(\"##first\")) QUERY = QUERY.replace(\"##first\", postsPerPage);\r\n while (QUERY.includes(\"##after\")) QUERY = QUERY.replace(\"##after\", startCursor);\r\n while (QUERY.includes(\"##fieldsEqual\")) {\r\n if (solrFields.length !== 0) QUERY = QUERY.replace(\"##fieldsEqual\", solrFields.join(''));\r\n else QUERY = QUERY.replace(\"##fieldsEqual\", solrFields);\r\n }\r\n while (QUERY.includes('##keyword')) QUERY = QUERY.replace(\"##keyword\", keyword.replace(/%20/g, \" \"));\r\n while (QUERY.includes(\"##sortBy\")) {\r\n if (sort.length !== 0) QUERY = QUERY.replace(\"##sortBy\", 'sortBy: {name:\"'+sort[0]+'\", order:\"'+sort[1]+'\"},');\r\n else QUERY = QUERY.replace(\"##sortBy\", '');\r\n }\r\n\r\n var postQuery = QUERY.substring(QUERY.indexOf(\"=\") + 1);\r\n\r\n var req = {\r\n method: \"POST\",\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n query: postQuery\r\n })\r\n };\r\n fetch(this.getGraphqlEndpoint, req)\r\n .then(res => res.json())\r\n .then(\r\n (result) => {\r\n this.setState({\r\n isLoaded: true,\r\n itemdata: result,\r\n });\r\n \r\n },\r\n \r\n (error) => {\r\n this.setState({\r\n isLoaded: true,\r\n error\r\n });\r\n }\r\n )\r\n }\r\n }\r\n\r\n render() {\r\n\r\n const { error, isLoaded, itemdata } = this.state;\r\n let postsPerPage = this.props.itemsPerPage !== undefined ? this.props.itemsPerPage : 3;\r\n if (postsPerPage === undefined || postsPerPage === null || isNaN(postsPerPage) || postsPerPage === 0 || postsPerPage < 0) postsPerPage = 3;\r\n\r\n if (!isLoaded) return (\r\n
    \r\n \r\n
    \r\n );\r\n if (error) return `Error! ${error.message}`;\r\n if(!itemdata || !itemdata.data) return `Empty results`;\r\n\r\n const hasNextPage = itemdata.data.search.results.pageInfo.hasNextPage;\r\n const totalCount = itemdata.data.search.results.totalCount;\r\n const hasPreviousPage = itemdata.data.search.results.pageInfo.hasPreviousPage;\r\n const startCursor = itemdata.data.search.results.pageInfo.startCursor;\r\n\r\n const nbPages = Math.floor(totalCount / postsPerPage) + (totalCount % postsPerPage === 0 ? 0 : 1);\r\n const currentPage = startCursor === 1 ? 1 : Math.floor(startCursor / postsPerPage) + (startCursor % postsPerPage === 0 ? 0 : 1);\r\n let pages = [];\r\n if (nbPages <= 4)\r\n {\r\n for(let i=1;i<=nbPages;i++) {\r\n if (currentPage === i) {\r\n pages.push({i});\r\n }\r\n else {\r\n pages.push( this.updateCursor(i, postsPerPage)}>{i});\r\n }\r\n }\r\n } \r\n else {\r\n if(currentPage>1) {\r\n pages.push( this.updateCursor(currentPage-1, postsPerPage)}>{currentPage-1});\r\n }\r\n for(let i=currentPage;i<=currentPage+1;i++) {\r\n if (currentPage === i) {\r\n pages.push({i});\r\n }\r\n else {\r\n if(i<=nbPages) {\r\n pages.push( this.updateCursor(i, postsPerPage)}>{i});\r\n } \r\n }\r\n }\r\n if(currentPage === 1) {\r\n pages.push( this.updateCursor(currentPage+2, postsPerPage)}>{currentPage+2});\r\n }\r\n }\r\n\r\n return(\r\n <>\r\n
    \r\n
    \r\n
    \r\n {pages &&\r\n <>\r\n {hasPreviousPage &&\r\n this.updateCursor((this.state.after) - postsPerPage)}><\r\n }\r\n {pages}\r\n {hasNextPage &&\r\n this.updateCursor(parseInt(this.state.after) + parseInt(postsPerPage))}>>\r\n }\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(Paging);\r\n","import React from 'react';\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport {DotLoader} from \"react-spinners\";\r\nimport {Query} from \"react-apollo\";\r\nimport {loader as gqlLoader} from \"graphql.macro\";\r\nimport {css} from \"@emotion/react\";\r\n\r\nconst ListProductVariantQuery = gqlLoader('./query.graphql');\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass ListProductVariant extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLoaded: false\r\n };\r\n }\r\n\r\n render() {\r\n return(\r\n

    \r\n \r\n {({ loading, error, data}) => {\r\n if (loading)\r\n return (\r\n

    \r\n \r\n
    \r\n );\r\n if (error)\r\n return (\r\n
    Error: {error.message}
    \r\n );\r\n return (\r\n <>\r\n {data.productvariant.results && data.productvariant.results.items.map(function (listItem, index) {\r\n return(\r\n <>\r\n {listItem.item.title && listItem.item.title.value}\r\n {index < data.productvariant.results.items.length - 1 && <>, }\r\n \r\n )\r\n })}\r\n \r\n )\r\n }}\r\n \r\n

    \r\n )\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(ListProductVariant);\r\n","import React from 'react';\r\nimport {Image, RichText, withSitecoreContext} from '@sitecore-jss/sitecore-jss-react';\r\nimport ListProductVariant from '../ListProductVariant';\r\nimport StarRating from '../StarRating';\r\nimport productMas from '../../assets/img/product-mas.svg';\r\nimport {NavLink} from \"react-router-dom\";\r\nimport i18next from 'i18next';\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport {loader as gqlLoader} from \"graphql.macro\";\r\nimport {DotLoader} from \"react-spinners\";\r\nimport {Query} from \"react-apollo\";\r\nimport {css} from \"@emotion/react\";\r\n\r\nconst ProductGridQuery = gqlLoader('./query.graphql');\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass ProductGridItem extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLoaded: false\r\n }\r\n }\r\n\r\n getRating(data) {\r\n let sumRating = 0;\r\n let numRating = 1;\r\n let averageRate = 0;\r\n data.productrating && data.productrating.results.items && data.productrating.results.items.map((rating) => {\r\n numRating = data.productrating.results.items.length;\r\n sumRating += rating.item.rating.numberValue;\r\n });\r\n averageRate = sumRating / numRating;\r\n\r\n return averageRate;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {({ loading, error, data}) => {\r\n if (loading)\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n if (error)\r\n return (\r\n
    Error: {error.message}
    \r\n );\r\n\r\n const product = this.props.product;\r\n const columnsize = this.props.columnsize;\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n\r\n {product.item.url && product.item.url.startsWith(\"http\") === true ?\r\n \r\n \r\n \r\n \r\n {product.item.title.value}\r\n

    \r\n \r\n

    \r\n \r\n
    \r\n :\r\n \r\n \r\n \r\n \r\n {product.item.title.value}\r\n

    \r\n \r\n

    \r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {product.item.image1.alt}\r\n
    \r\n
    \r\n

    {product.item.title.value}

    \r\n \r\n \r\n \r\n

    \r\n \r\n

    \r\n \r\n {data && data.productvariant && data.productvariant.results.items.length > 0 && (\r\n data.productvariant.results.items[0].item.productVariantLink.url.startsWith(\"http\") === true ?\r\n {i18next.t(\"BuyButton\")}\r\n :\r\n {i18next.t(\"BuyButton\")}\r\n )\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }}\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(ProductGridItem);\r\n","import React from 'react';\r\nimport Paging from '../../Utils/Paging';\r\nimport ProductGridItem from '../ProductGridItem/index.js';\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport ReactComponent from \"../../ReactComponent\";\r\n\r\nclass FilteredProductList extends ReactComponent {\r\n \r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n itemdata: [], \r\n filters: [],\r\n view: \"list\",\r\n itemsPerPage: \"12\",\r\n sorting: [],\r\n keyword: \"\",\r\n init:true,\r\n };\r\n this.onItemsChange = this.onItemsChange.bind(this);\r\n this.handleView = this.handleView.bind(this);\r\n this.handleItemsPerPage = this.handleItemsPerPage.bind(this);\r\n this.resolveSorting = this.resolveSorting.bind(this);\r\n }\r\n\r\n resolveSorting(value) {\r\n let sorting = [];\r\n switch(value) {\r\n case \"default\":\r\n sorting = [];\r\n break;\r\n case \"ratingUp\":\r\n sorting = [\"rating\", \"ASC\"];\r\n break;\r\n case \"ratingDown\":\r\n sorting = [\"rating\", \"DESC\"];\r\n break;\r\n case \"newnessUp\":\r\n sorting = [\"__smallupdateddate\", \"ASC\"];\r\n break;\r\n case \"newnessDown\":\r\n sorting = [\"__smallupdateddate\", \"DESC\"];\r\n break;\r\n case \"priceUp\":\r\n sorting = [\"saleprice\", \"ASC\"];\r\n break;\r\n case \"priceDown\":\r\n sorting = [\"saleprice\", \"DESC\"];\r\n break;\r\n default:\r\n sorting = [];\r\n break;\r\n }\r\n return sorting;\r\n }\r\n\r\n componentDidMount() {\r\n let value = localStorage.getItem('ProductListSorting') || \"default\";\r\n let sorting = this.resolveSorting(value);\r\n\r\n const url = window.location.href;\r\n\r\n var filters=[];\r\n if(this.props.sitecoreContext.route.fields.PfTag != null && this.props.sitecoreContext.route.fields.PfTag != \"undefined\"){\r\n filters.push('{name: \"tags\", value: \"'+this.props.sitecoreContext.route.fields.PfTag.id.replace(/-/g, \"\").toLowerCase()+'\"},');\r\n this.setState({\r\n init: true,\r\n filters:filters\r\n });\r\n }\r\n let filterId = \"\";\r\n if ( url.includes('?tagId=')) {\r\n filterId = url.substring(url.indexOf(\"=\") + 1);\r\n \r\n filters.push('{name: \"tags\", value: \"'+filterId.replace(/-/g, \"\").toLowerCase()+'\"},');\r\n this.setState({\r\n \r\n init: true,\r\n filters:filters\r\n });\r\n\r\n }\r\n }\r\n\r\n \r\n\r\n onItemsChange(itemdata) {\r\n this.setState({\r\n itemdata: itemdata,\r\n });\r\n if (itemdata && itemdata.data) this.props.onFacetsChange(itemdata.data.searchFacets.facets);\r\n }\r\n\r\n handleView() {\r\n let view = \"\";\r\n if (this.state.view === \"list\") {\r\n view = \"grid\";\r\n localStorage.setItem('ProductListDisplayType', \"grid\");\r\n }\r\n else if (this.state.view === \"grid\") {\r\n view = \"list\";\r\n localStorage.setItem('ProductListDisplayType', \"list\");\r\n }\r\n this.setState({\r\n view:view\r\n });\r\n }\r\n\r\n handleItemsPerPage(e) {\r\n localStorage.setItem('ProductListItemsPerPage', e.currentTarget.value);\r\n this.setState({\r\n itemsPerPage: e.currentTarget.value,\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n \r\n if (prevProps.categoriesSession !== this.props.categoriesSession) {\r\n let filters = [];\r\n\r\n for (var filter of this.props.categoriesSession) {\r\n filters.push('{name: \"tags\", value: \"'+filter.toLowerCase()+'\"},');\r\n }\r\n this.setState({\r\n filters: filters,\r\n init: true,\r\n });\r\n }\r\n\r\n \r\n \r\n }\r\n\r\n\r\n render() {\r\n let QUERY = 'query={ searchFacets:customSearch( index:\"'+ this.indexName +'\" conditions: [{name: \"_templatename\", value: \"BiolageProductRoute\"}, ##fieldsEqual ], keysearch: \"##keyword\", facetOn: [\"tags\"], rootItem: \"/sitecore/content/' + this.appName + '/\") { '\r\n + 'facets { name values { count value '\r\n + 'item { id ... on BiolageProductTagTemplate { title { value } } } } } } search:customSearch( index:\"'+ this.indexName +'\" first: ##first, after: \"##after\", conditions: [{name: \"_templatename\", value: \"BiolageProductRoute\"}, ##fieldsEqual ], keysearch: \"##keyword\", ##sortBy rootItem: \"/sitecore/content/' + this.appName + '/\") { results { totalCount pageInfo { startCursor endCursor hasNextPage hasPreviousPage } items { item { id url name ... on BiolageProductDetails { title { value } shortDescription: productShortDescription { value } longDescription:productLongDescription { value } image1 { src value alt } image2 { src value alt } image3 { src value alt } image4 { src value alt } rating { numberValue } price { numberValue } '\r\n + ' tags { targetItems { id ... on BiolageProductTagTemplate { title { value } } } } salePrice { numberValue } } } } } } }';\r\n \r\n return(\r\n <>\r\n
    \r\n
    \r\n {this.state.itemdata && this.state.itemdata.data && this.state.itemdata.data.search.results.items.map(product => (\r\n\r\n \r\n ))}\r\n\r\n\r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default withSitecoreContext()(FilteredProductList);\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport i18next from 'i18next';\r\n\r\nclass FilterSearch extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n init: true,\r\n keyword:\"\",\r\n };\r\n this.handleClick = this.handleClick.bind(this);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (this.state.init && nextProps.facets.length !== 0) {\r\n const url = window.location.href;\r\n let keyword = \"\";\r\n if (url.includes('?search=')) {\r\n keyword = url.substring(url.indexOf(\"=\") + 1);\r\n if (keyword.includes('#')) keyword = keyword.replace('#','');\r\n this.props.onKeywordChange(keyword);\r\n this.setState({\r\n keyword:keyword,\r\n init: false,\r\n })\r\n }\r\n }\r\n if (nextProps.resetSearch !== this.props.resetSearch) {\r\n this.setState({\r\n keyword: \"\"\r\n })\r\n }\r\n }\r\n\r\n handleClick() {\r\n this.props.onKeywordChange(this.state.keyword);\r\n }\r\n\r\n handleChange(e) {\r\n this.setState({\r\n keyword:e.target.value,\r\n })\r\n }\r\n\r\n handleSubmit(e) {\r\n e.preventDefault();\r\n this.props.onKeywordChange(this.state.keyword);\r\n }\r\n\r\n render() {\r\n\r\n return(\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default FilterSearch;\r\n","import React from 'react';\r\nimport { Text, Image, Link } from '@sitecore-jss/sitecore-jss-react';\r\nimport {NavLink} from \"react-router-dom\";\r\nimport i18next from 'i18next';\r\n\r\nclass Footer extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n const {SocialLinks} = this.props.fields;\r\n const {MenuLinks} = this.props.fields;\r\n return(\r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n \r\n \r\n

    \r\n
      \r\n {this.props.fields && this.props.fields.FooterMultilevel.map((footerMulti) => (\r\n footerMulti.fields && footerMulti.fields.HeaderMenu.map((mainMenu, mainindex) =>\r\n
    • \r\n {mainMenu.fields.Title &&\r\n mainMenu.fields.InternalLink && mainMenu.fields.InternalLink.value.href != '' &&\r\n (\r\n mainMenu.fields.InternalLink.value.href && mainMenu.fields.InternalLink.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n \r\n \r\n )\r\n }\r\n {mainMenu.fields.SubMenuLinks.length > 0 &&\r\n
        \r\n {mainMenu.fields.SubMenuLinks.map((subMenu, subindex) => (\r\n
      • \r\n {subMenu.fields.InternalLink && subMenu.fields.InternalLink.value.href != '' &&\r\n (\r\n subMenu.fields.InternalLink.value.href && subMenu.fields.InternalLink.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n \r\n \r\n )}\r\n
      • \r\n ))}\r\n
      \r\n }\r\n
    • \r\n )\r\n ))\r\n }\r\n
    \r\n
    \r\n
    \r\n

    \r\n { SocialLinks &&\r\n SocialLinks.map((listItem, index) => (\r\n \r\n {listItem.fields.InternalLink && listItem.fields.InternalLink.value.href.startsWith(\"http\") === true ?\r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n }\r\n \r\n ))}\r\n

    \r\n

    \r\n \r\n

    \r\n

    \r\n {i18next.t(\"ConsumerLabel\")}
    \r\n {i18next.t(\"EmailLabel\")}\r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    \r\n {i18next.t(\"CopyrightLabel\")}\r\n { MenuLinks && \r\n MenuLinks.map((listItem, index) => (\r\n \r\n {listItem.fields.InternalLink.value.href && listItem.fields.InternalLink.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n {listItem.fields.InternalLink.value.text}\r\n \r\n }\r\n \r\n ))\r\n }\r\n {i18next.t(\"CookieConfigurationLabel\")}\r\n

    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n );\r\n }\r\n}\r\n\r\nexport default Footer;\r\n","import React from \"react\";\r\nimport {Image, Link, Text, withSitecoreContext} from '@sitecore-jss/sitecore-jss-react';\r\nimport {NavLink} from \"react-router-dom\";\r\n\r\nclass HeaderMultilevel extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n menu: false\r\n }\r\n }\r\n\r\n\r\n\r\n componentDidUpdate(prevProps){\r\n if(prevProps.sitecoreContext.route.name !== this.props.sitecoreContext.route.name){\r\n document.querySelector(\".mobilemenu\").classList.remove(\"show\")\r\n this.setState({menu: false})\r\n }\r\n }\r\n\r\n setSearchState(listItem, productPageLink) {\r\n\r\n var categoryList = []\r\n var categoryNameList = []\r\n categoryList.push(listItem.id.replace(/-/g, \"\"))\r\n categoryNameList.push(listItem.fields.title.value)\r\n sessionStorage.setItem(\"filterCategories\",JSON.stringify(categoryList));\r\n sessionStorage.setItem(\"filterCategoriesName\",JSON.stringify(categoryNameList));\r\n window.location.href = productPageLink && productPageLink.value.href + \"?tagId=\" + listItem.id.split('-').join('').toLowerCase()\r\n }\r\n\r\n render() {\r\n\r\n const outlineNone = {\r\n outline: 'none'\r\n };\r\n\r\n return (\r\n
    \r\n {/* Mobile Menu */}\r\n
    \r\n

    \r\n MENU\r\n \r\n \r\n \r\n \r\n \r\n

    \r\n
      \r\n {this.props.fields.HeaderMenu &&\r\n this.props.fields.HeaderMenu.map((mainMenu, mainindex) => (\r\n
    • \r\n {mainMenu.fields.InternalLink.value.href != '' &&\r\n (\r\n mainMenu.fields.InternalLink.value.href && mainMenu.fields.InternalLink.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n {mainMenu.fields.InternalLink.value.text}\r\n \r\n )\r\n }\r\n {mainMenu.fields.SubMenuLinks.length > 0 && (\r\n
        \r\n {mainMenu.fields.SubMenuLinks && mainMenu.fields.SubMenuLinks.map((submenu, subindex) => (\r\n
      • \r\n

        \r\n {submenu.fields.SubMenuLinks && submenu.fields.SubMenuLinks.length > 0 &&\r\n\r\n <>\r\n {submenu.fields.InternalLink.value.href != '' &&\r\n (\r\n submenu.fields.InternalLink.value.href && submenu.fields.InternalLink.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n {submenu.fields.InternalLink.value.text}\r\n \r\n )\r\n }\r\n

          \r\n {submenu.fields.SubMenuLinks && submenu.fields.SubMenuLinks.map((sublink, sublinkindex) => (\r\n
        • \r\n {sublink.fields.InternalLink.value.href != '' &&\r\n (\r\n sublink.fields.InternalLink.value.href && sublink.fields.InternalLink.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n {sublink.fields.InternalLink.value.text}\r\n \r\n )\r\n }\r\n
        • \r\n ))}\r\n
        \r\n \r\n\r\n }\r\n\r\n {/* Sub Menu For CategoriesList */}\r\n {submenu.fields.CategoriesList && submenu.fields.CategoriesList.length > 0 &&\r\n <>\r\n {submenu.fields.Title.value != '' &&\r\n (\r\n \r\n \r\n \r\n )\r\n }\r\n
          \r\n {submenu.fields.CategoriesList && submenu.fields.CategoriesList.map((sublink, sublinkindex) => (\r\n
        • \r\n \r\n
        • \r\n ))}\r\n
        \r\n \r\n }\r\n\r\n

        \r\n
      • \r\n ))}\r\n\r\n
      \r\n )}\r\n\r\n
    • \r\n ))}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n {/* Desktop Menu */}\r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n };\r\n}\r\n\r\nexport default withSitecoreContext()(HeaderMultilevel);","import React from 'react';\r\nimport {Image, Text, withSitecoreContext} from '@sitecore-jss/sitecore-jss-react';\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport { loader as gqlLoader } from \"graphql.macro\";\r\nimport {Query} from \"react-apollo\";\r\nimport {DotLoader} from \"react-spinners\";\r\nimport {css} from \"@emotion/react\";\r\n\r\nconst IngredientsQuery = gqlLoader('./query.graphql');\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass ListOfIngredients extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLoaded: false\r\n };\r\n }\r\n\r\n render() {\r\n return(\r\n
    \r\n \r\n {({ loading, error, data}) => {\r\n if (loading)\r\n return(\r\n
    \r\n \r\n
    \r\n );\r\n if (error) \r\n return (\r\n
    Error: {error.message}
    \r\n );\r\n return (\r\n data.search.results.items &&\r\n data.search.results.items.map((ingredient, index) => (\r\n <>\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ))\r\n );\r\n }}\r\n \r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(ListOfIngredients);","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport {NavLink} from \"react-router-dom\";\r\n\r\nconst OverHead = (props) => {\r\n const {overHeadBannerContentList} = props.fields;\r\n return (\r\n
    \r\n
    \r\n { overHeadBannerContentList && \r\n overHeadBannerContentList.map((listItem, index) => (\r\n \r\n {listItem.fields.InternalLink && listItem.fields.InternalLink.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n }\r\n \r\n ))} \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default OverHead;\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nconst ProductFinder = (props) => (\r\n
    \r\n

    ProductFinder Component

    \r\n \r\n
    \r\n);\r\n\r\nexport default ProductFinder;\r\n","import React from 'react';\r\nimport {Placeholder,withSitecoreContext} from '@sitecore-jss/sitecore-jss-react';\r\nimport { StickyContainer } from 'react-sticky';\r\nimport i18next from 'i18next';\r\n\r\nconst displayNone = {\r\n display: 'none'\r\n}\r\nconst displayBlock = {\r\n display: 'block'\r\n}\r\n\r\nclass ProductFinderLayoutWrapper extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n facets: [],\r\n filters: [],\r\n resetFilters: false,\r\n rangeFilter: [\"*\",\"*\"],\r\n updateRange: true,\r\n keyword: \"\",\r\n resetSearch: false,\r\n selectedCategoriesText: \"\",\r\n showProducts: false,\r\n sidebar: false,\r\n pageTag: \"\",\r\n urlTagId: \"\",\r\n categoriesSession: [],\r\n categoriesSessionNames: \"\",\r\n }\r\n this.onFacetsChange = this.onFacetsChange.bind(this);\r\n this.onFiltersChange = this.onFiltersChange.bind(this);\r\n this.resetFilters = this.resetFilters.bind(this);\r\n this.handleShowProducts = this.handleShowProducts.bind(this);\r\n this.onRangeChange = this.onRangeChange.bind(this);\r\n this.handleUpdateOnCategory = this.handleUpdateOnCategory.bind(this);\r\n }\r\n\r\n onFacetsChange(facets) {\r\n this.setState({\r\n facets: facets,\r\n })\r\n this.state = {\r\n shown: true,\r\n };\r\n }\r\n componentDidMount(){\r\n const url = window.location.href;\r\n let filterSearch = \"\";\r\n if (url.includes('?search=')) {\r\n filterSearch = url.substring(url.indexOf(\"=\")+1);\r\n this.setState({\r\n keyword: filterSearch\r\n })\r\n }\r\n if (url.includes('?tagId=')){\r\n let filterId = url.substring(url.indexOf(\"=\")+1)\r\n this.setState({\r\n urlTagId: filterId\r\n })\r\n }\r\n window.addEventListener(\"resize\", this.resize.bind(this));\r\n this.resize();\r\n\r\n if(this.props.sitecoreContext.route.fields.PfTag != null && this.props.sitecoreContext.route.fields.PfTag != \"undefined\" && this.props.sitecoreContext.route.fields.FilterName != null){\r\n var FilterName= this.props.sitecoreContext.route.fields.FilterName.value\r\n this.setState({\r\n pageTag:FilterName\r\n })\r\n }\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevState.showProducts !== this.state.showProducts) {\r\n this.setState({\r\n \r\n showProducts: true\r\n })\r\n }\r\n const url = window.location.href;\r\n let filterSearch = \"\";\r\n if (url.includes('?search=')) {\r\n filterSearch = url.substring(url.indexOf(\"=\")+1);\r\n }\r\n if (prevState.keyword !== filterSearch){\r\n this.setState({\r\n \r\n keyword: filterSearch\r\n })\r\n }\r\n \r\n\r\n }\r\n onRangeChange(range) {\r\n this.setState({\r\n rangeFilter: range,\r\n updateRange: false,\r\n })\r\n }\r\n\r\n handleUpdateOnCategory(categories,categoryNames){\r\n \r\n let categoryText = \"\"\r\n if(categoryNames.length > 1){\r\n categoryText = categoryNames.join(\", \")\r\n }\r\n else{\r\n categoryText = categoryNames[0];\r\n }\r\n \r\n \r\n this.setState({\r\n categoriesSession: categories,\r\n categoriesSessionNames: categoryText\r\n })\r\n }\r\n onFiltersChange(filters) {\r\n \r\n if (this.state.filters.length === 0) {\r\n this.setState({\r\n filters: [...this.state.filters, filters],\r\n updateRange: true,\r\n pageTag: \"\"\r\n })\r\n }\r\n else {\r\n let found = false;\r\n let updatedFilters = this.state.filters.map(obj => {\r\n if (obj.template === filters.template) {\r\n found = true;\r\n return(filters);\r\n }\r\n else return(obj);\r\n })\r\n if (!found) {\r\n updatedFilters.push(filters);\r\n }\r\n this.setState({\r\n filters: updatedFilters,\r\n updateRange: true,\r\n rangeFilter: found ? [\"*\",\"*\"] : this.state.rangeFilter,\r\n pageTag: \"\"\r\n }) \r\n }\r\n }\r\n\r\n resetFilters() {\r\n let reset, resetSearch = true;\r\n if (this.state.resetFilters) reset = false;\r\n else reset = true;\r\n if (this.state.resetSearch) resetSearch = false;\r\n else resetSearch = true;\r\n this.setState({\r\n filters: [],\r\n resetFilters: reset,\r\n resetSearch: resetSearch,\r\n rangeFilter: [\"*\",\"*\"],\r\n keyword: \"\",\r\n });\r\n }\r\n handleShowProducts(show){\r\n if(show == true){\r\n this.setState({\r\n \r\n showProducts: true\r\n })\r\n }\r\n }\r\n\r\n resize() {\r\n let currentHideNav = (window.innerWidth > 450);\r\n if (currentHideNav) {\r\n this.setState({sidebar: true});\r\n }\r\n }\r\n\r\n openSidebar(){\r\n this.setState({\r\n sidebar: !this.state.sidebar\r\n });\r\n }\r\n\r\n render() {\r\n let sidebar = {\r\n display: this.state.sidebar === true ? \"block\" : \"none\"\r\n };\r\n\r\n return(\r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n {this.state.filters && this.state.filters.length <= 0 && this.state.keyword != \"\" &&\r\n
    \r\n

    \r\n {i18next.t(\"SearchResultLabel\")}\r\n {this.state.keyword.replace(/%20/g, \" \")}\r\n

    \r\n
    \r\n }\r\n\r\n {this.state.pageTag != \"\" &&\r\n
    \r\n

    \r\n \r\n {this.state.pageTag}\r\n

    \r\n
    \r\n }\r\n {this.state.categoriesSessionNames && this.state.categoriesSessionNames.length > 0 &&\r\n
    \r\n

    \r\n {i18next.t(\"SearchResultLabel\")}\r\n {this.state.keyword.replace(/%20/g, \" \")}{ this.state.keyword != \"\" && this.state.categoriesSessionNames.length > 0 ? \", \": \"\"}\r\n {this.state.categoriesSessionNames}\r\n

    \r\n
    \r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(ProductFinderLayoutWrapper);\r\n","import React from 'react';\r\nimport { Text, Link, Image, withSitecoreContext, RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport { css } from '@emotion/react';\r\nimport { DotLoader } from 'react-spinners';\r\nimport {NavLink} from \"react-router-dom\";\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport {loader as gqlLoader} from \"graphql.macro\";\r\nimport {Query} from \"react-apollo\";\r\n\r\nconst ProductIngredientQuery = gqlLoader('./query.graphql');\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass ProductIngredients extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLoaded: false\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n {this.props.fields.Show && this.props.fields.Show.value === false ?\r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n {({ loading, error}) => {\r\n if (loading)\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n if (error)\r\n return (\r\n
    Error: {error.message}
    \r\n );\r\n\r\n let firstIngredient;\r\n if (this.props.sitecoreContext.route.fields.productIngredients)\r\n firstIngredient = this.props.sitecoreContext.route.fields.productIngredients;\r\n if (this.props.sitecoreContext.route.fields.ingredients)\r\n firstIngredient = this.props.sitecoreContext.route.fields.ingredients;\r\n\r\n if (firstIngredient)\r\n return (\r\n <>\r\n {\r\n firstIngredient.map((ing) => (\r\n
    \r\n \r\n \r\n

    \r\n \r\n

    \r\n
    \r\n ))\r\n }\r\n \r\n )\r\n else\r\n return(\r\n
    \r\n There is no ingredient defined\r\n
    \r\n )\r\n }}\r\n \r\n
    \r\n
    \r\n {this.props.fields.ViewAll.value.href && this.props.fields.ViewAll.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n {this.props.fields.ViewAll.value.title}\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n \r\n {({ loading, error}) => {\r\n if (loading)\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n if (error)\r\n return (\r\n
    Error: {error.message}
    \r\n );\r\n\r\n let firstIngredient;\r\n if (this.props.sitecoreContext.route.fields.productIngredients)\r\n firstIngredient = this.props.sitecoreContext.route.fields.productIngredients[0];\r\n if (this.props.sitecoreContext.route.fields.ingredients)\r\n firstIngredient = this.props.sitecoreContext.route.fields.ingredients[0];\r\n\r\n if (firstIngredient)\r\n return (\r\n <>\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n

    \r\n \r\n

    \r\n
    \r\n {this.props.fields.ViewAll && this.props.fields.ViewAll.value.href != null &&\r\n (this.props.fields.ViewAll.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n {this.props.fields.ViewAll.value.text}\r\n )\r\n }\r\n
    \r\n
    \r\n \r\n )\r\n else\r\n return(\r\n
    \r\n There is no ingredient defined\r\n
    \r\n )\r\n }}\r\n \r\n
    \r\n
    \r\n
    }\r\n \r\n );\r\n }\r\n}\r\nexport default withSitecoreContext()(ProductIngredients);","import React from 'react';\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport StarRating from '../StarRating';\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport {loader as gqlLoader} from \"graphql.macro\";\r\nimport {css} from \"@emotion/react\";\r\nimport {DotLoader} from \"react-spinners\";\r\nimport {Query} from \"react-apollo\";\r\n\r\nconst ProductRatingQuery = gqlLoader('./query.graphql');\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass ProductRating extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLoaded: false\r\n };\r\n }\r\n\r\n getRating(data) {\r\n let sumRating = 0;\r\n let numRating = 1;\r\n let averageRate = 0;\r\n data && data.productrating && data.productrating.results.items && data.productrating.results.items.map((rating) => {\r\n numRating = data.productrating.results.items.length;\r\n sumRating += rating.item.rating.numberValue;\r\n });\r\n averageRate = sumRating / numRating;\r\n\r\n return averageRate;\r\n }\r\n\r\n render() {\r\n\r\n return(\r\n \r\n {({ loading, error, data}) => {\r\n if (loading)\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n if (error)\r\n return (\r\n
    Error: {error.message}
    \r\n );\r\n return (\r\n \r\n )\r\n }}\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(ProductRating);\r\n","import React from 'react';\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport { css } from '@emotion/react';\r\nimport { DotLoader } from 'react-spinners';\r\nimport ProductGridItem from '../ProductGridItem/index.js';\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport {loader as gqlLoader} from \"graphql.macro\";\r\nimport {Query} from \"react-apollo\";\r\n\r\nconst ProductByCatQuery = gqlLoader('./query.graphql');\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass ProductsByCategory extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLoaded: false\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {({ loading, error, data}) => {\r\n if (loading)\r\n return(\r\n
    \r\n \r\n
    \r\n );\r\n if (error)\r\n return (\r\n
    Error: {error.message}
    \r\n );\r\n return (\r\n \r\n
    \r\n
    \r\n

    {this.props.sitecoreContext.route.fields.title.value}

    \r\n

    {this.props.sitecoreContext.route.fields.description.value}

    \r\n
    \r\n
    \r\n
    \r\n {data && data.product.results.items.map((product) => (\r\n \r\n ))\r\n }\r\n
    \r\n
    \r\n )\r\n }}\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(ProductsByCategory);","import React from 'react';\r\nimport { RichText, Text, Image, Link, withSitecoreContext, isExperienceEditorActive, Placeholder } from '@sitecore-jss/sitecore-jss-react';\r\nimport 'react-responsive-carousel/lib/styles/carousel.min.css';\r\nimport '../../assets/css/carouselProductOver.css';\r\nimport { Carousel } from 'react-responsive-carousel';\r\nimport Lightbox from 'react-images';\r\nimport { css } from '@emotion/react';\r\nimport { DotLoader } from 'react-spinners';\r\nimport zoomIcon from '../../assets/img/product-mas.svg';\r\nimport ListProductVariant from '../ListProductVariant';\r\nimport ProductRating from '../ProductRating';\r\nimport { NavLink } from \"react-router-dom\";\r\nimport i18next from 'i18next';\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport { loader as gqlLoader } from \"graphql.macro\";\r\nimport {Query} from \"react-apollo\";\r\n\r\nconst ProductSummaryQuery = gqlLoader('./query.graphql');\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass ProductSummary extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.onClose = this.onClose.bind(this);\r\n this.gotoPrevious = this.gotoPrevious.bind(this);\r\n this.gotoNext = this.gotoNext.bind(this);\r\n this.onClickThumbnail = this.onClickThumbnail.bind(this);\r\n this.openLightBox = this.openLightBox.bind(this);\r\n this.state = {\r\n error: null,\r\n isLoaded: false,\r\n photoIndex: 0,\r\n isOpen: false,\r\n showMessage: \"\",\r\n productVariantURL: \"\",\r\n };\r\n }\r\n\r\n openLightBox(photoIndex) {\r\n this.setState({\r\n photoIndex: photoIndex,\r\n isOpen: true,\r\n })\r\n }\r\n\r\n handleChange(event) {\r\n this.setState({ isOpen: true, photoIndex: event })\r\n };\r\n onClose() {\r\n this.setState({ isOpen: false })\r\n }\r\n gotoNext() {\r\n this.setState({ photoIndex: this.state.photoIndex + 1 })\r\n }\r\n gotoPrevious() {\r\n this.setState({ photoIndex: this.state.photoIndex - 1 })\r\n }\r\n\r\n onClickThumbnail(event) {\r\n this.setState({ photoIndex: event })\r\n }\r\n\r\n render() {\r\n const Image1 = (itemImage1) => {\r\n if (itemImage1.value && itemImage1.value.src && itemImage1.value.src.length > 0) {\r\n return (\r\n
    \r\n \"\"\r\n
    \r\n )\r\n }\r\n else { return <> }\r\n };\r\n const Image2 = (itemImage2) => {\r\n if (itemImage2.value && itemImage2.value.src && itemImage2.value.src.length > 0) {\r\n return (\r\n
    \r\n \"\"\r\n
    \r\n )\r\n }\r\n else { return <> }\r\n };\r\n const Image3 = (itemImage3) => {\r\n if (itemImage3.value && itemImage3.value.src && itemImage3.value.src.length > 0) {\r\n return (\r\n
    \r\n \"\"\r\n
    \r\n )\r\n }\r\n else { return <> }\r\n };\r\n\r\n const Image4 = (itemImage4) => {\r\n if (itemImage4.value && itemImage4.value.src && itemImage4.value.src.length > 0) {\r\n return (\r\n
    \r\n \"\"\r\n
    \r\n )\r\n }\r\n else { return <> }\r\n };\r\n\r\n let imageArray = [];\r\n\r\n if (this.props.sitecoreContext.route.fields.image1.value && this.props.sitecoreContext.route.fields.image1.value.src != null) {\r\n imageArray.push({ src: this.props.sitecoreContext.route.fields.image1.value.src })\r\n }\r\n\r\n if (this.props.sitecoreContext.route.fields.image2.value && this.props.sitecoreContext.route.fields.image2.value.src != null) {\r\n imageArray.push({ src: this.props.sitecoreContext.route.fields.image2.value.src })\r\n }\r\n\r\n if (this.props.sitecoreContext.route.fields.image3.value && this.props.sitecoreContext.route.fields.image3.value.src != null) {\r\n imageArray.push({ src: this.props.sitecoreContext.route.fields.image3.value.src })\r\n }\r\n\r\n if (this.props.sitecoreContext.route.fields.image4.value && this.props.sitecoreContext.route.fields.image4.value.src != null) {\r\n imageArray.push({ src: this.props.sitecoreContext.route.fields.image4.value.src })\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n this.openLightBox(0)}>\r\n {isExperienceEditorActive() && (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n {!isExperienceEditorActive() && (\r\n \r\n {Image1(this.props.sitecoreContext.route.fields.image1)}\r\n {Image2(this.props.sitecoreContext.route.fields.image2)}\r\n {Image3(this.props.sitecoreContext.route.fields.image3)}\r\n {Image4(this.props.sitecoreContext.route.fields.image4)}\r\n \r\n )}\r\n {this.state.isOpen && (\r\n \r\n )}\r\n
    \r\n
    \r\n {this.props.sitecoreContext.route.fields && this.props.sitecoreContext.route.fields.relevantAdvantages && this.props.sitecoreContext.route.fields.relevantAdvantages.map((relevantItem, revIndex) => (\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n ))}\r\n
    \r\n
    \r\n \r\n {({ loading, error, data }) => {\r\n if (loading)\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n if (error)\r\n return (\r\n
    Error: {error.message}
    \r\n );\r\n if (data && data.product && data.product.results.items.length === 0)\r\n return (\r\n
    Product Summary: No product Id found
    \r\n );\r\n return (\r\n data.product.results.items.map((product, idx) => (\r\n \r\n
    \r\n
    \r\n

    \r\n \r\n \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n {product.item.productIngredients !== undefined &&\r\n product.item.productIngredients.targetItems.length > 0 &&\r\n product.item.productIngredients.targetItems.map((ing, index) => (\r\n \r\n {ing.title.value}\r\n {index < product.item.productIngredients.targetItems.length - 1 && <>, }\r\n \r\n ))\r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n {i18next.t(\"WhereToBuyLabel\")}\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.sitecoreContext.route.fields.fb &&\r\n (this.props.sitecoreContext.route.fields.fb.value.linktype !== undefined &&\r\n this.props.sitecoreContext.route.fields.fb.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n )\r\n }\r\n {this.props.sitecoreContext.route.fields.twitter &&\r\n (this.props.sitecoreContext.route.fields.twitter.value.linktype !== undefined &&\r\n this.props.sitecoreContext.route.fields.twitter.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n )\r\n }\r\n {this.props.sitecoreContext.route.fields.insta &&\r\n (this.props.sitecoreContext.route.fields.insta.value.linktype !== undefined &&\r\n this.props.sitecoreContext.route.fields.insta.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n )\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n ))\r\n )\r\n }}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\nexport default withSitecoreContext()(ProductSummary);","import React from 'react';\r\nimport { withSitecoreContext, RichText, Text } from '@sitecore-jss/sitecore-jss-react';\r\nimport { Formik } from \"formik\";\r\nimport { ApolloConsumer } from 'react-apollo';\r\nimport { loader as gqlLoader } from 'graphql.macro';\r\nimport '../../assets/css/ratings.css';\r\nimport '../../assets/css/comment.css';\r\nimport StarRatingV2 from '../StarRating';\r\nimport i18next from 'i18next';\r\nimport ReactComponent from \"../../ReactComponent\";\r\n\r\nconst RATINGS_QUERY = gqlLoader('./RatingReviews.graphql');\r\n\r\nclass RatingReviews extends ReactComponent {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n data: null,\r\n error: '',\r\n show: true,\r\n status: '',\r\n rating: '',\r\n clickedStar: '',\r\n username: '',\r\n commentValue: '',\r\n };\r\n this.onStarClick = this.onStarClick.bind(this);\r\n this.userNameChange = this.userNameChange.bind(this);\r\n this.commentChange = this.commentChange.bind(this);\r\n }\r\n componentDidMount() {\r\n var productId = this.props.sitecoreContext.itemId\r\n .replace(/-/g, '')\r\n .toLowerCase();\r\n var QUERY =\r\n 'query=query($product:String!){search(index:\"' +\r\n this.indexName +\r\n '\",rootItem:\"/sitecore/content/' +\r\n this.appName +\r\n '/Content/Rating and Reviews\",fieldsEqual:[{name:\"_templatename\",value:\"BioRatingReviewItem\"},{name:\"product\",value:$product},{name:\"ratingstatus\",value:\"ac66eae510705e0bbf3ea45c96e6c9c0\"}]) {results{items{item{id name...on BioRatingReviewItem{userName{value} rating{numberValue} ratingstatus{value targetItem{ name }} creationDate{value} comment{value} product{value} }}}}}}&variables={\"product\": \"' +\r\n productId +\r\n '\"}';\r\n fetch(this.getGraphqlEndpoint + QUERY)\r\n .then((res) => res.json())\r\n .then(\r\n (result) => {\r\n this.setState({\r\n data: result,\r\n });\r\n },\r\n (error) => {\r\n this.setState({\r\n error: error,\r\n });\r\n }\r\n );\r\n }\r\n onStarClick(event) {\r\n var ratingValue = event.target.parentElement.getAttribute('data-rating');\r\n var clickedStarId = event.target.id;\r\n this.setState({\r\n rating: ratingValue,\r\n clickedStar: clickedStarId,\r\n });\r\n }\r\n\r\n userNameChange(event) {\r\n this.setState({ username: event.target.value });\r\n }\r\n commentChange(event) {\r\n this.setState({ commentValue: event.target.value });\r\n }\r\n\r\n render() {\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(RatingReviews);\r\n","import React from 'react';\r\nimport { RichText, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nclass RichTextCoponent extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n return(\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(RichTextCoponent);\r\n","import React from 'react';\r\nimport { Text, RichText, Image } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nclass RowBlock extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n }\r\n\r\n render() {\r\n let leftcssStyle = \"col-md-6 c-l img-cn\";\r\n let rightcssStyle = \"col-md-6 c-r text-cn\";\r\n\r\n if(this.props.fields.blockStyle !== null) {\r\n leftcssStyle = this.props.fields.blockStyle.fields.leftcssStyle.value\r\n rightcssStyle = this.props.fields.blockStyle.fields.rightcssStyle.value\r\n }\r\n \r\n if(leftcssStyle.includes(\"text-cn\")) {\r\n return(\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n else {\r\n return(\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) \r\n }\r\n }\r\n}\r\n\r\nexport default RowBlock;\r\n","import React from 'react';\r\nimport separatorImg from '../../assets/img/separa.png'\r\n\r\nconst RowSeparator = () => (\r\n
    \r\n \"\"\r\n
    \r\n);\r\n\r\nexport default RowSeparator;\r\n","export default \"data:image/png;base64,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\"","import React from 'react';\r\nimport { Image, Link, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport i18next from 'i18next';\r\nimport {NavLink} from \"react-router-dom\";\r\nimport ReactComponent from \"../../ReactComponent\";\r\n\r\nclass SalonList extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLoaded: false\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n {i18next.t(\"FindSalonLabel\")}\r\n \r\n
    \r\n {this.props.fields && this.props.fields.SalonList && this.props.fields.SalonList.map((salonItem, salonIndex) => (\r\n salonItem.fields && salonItem.fields.SalonLink && salonItem.fields.SalonLink.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n ))}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(SalonList);\r\n","import React from 'react';\r\nimport { Text } from '@sitecore-jss/sitecore-jss-react';\r\n\r\nclass Search extends React.Component {\r\n\r\n constructor(props){\r\n super(props);\r\n this.state = {\r\n keywordText: \"\"\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n }\r\n\r\n handleChange(event){\r\n this.setState({\r\n keywordText: event.target.value\r\n });\r\n }\r\n handleSubmit(event) {\r\n var link = this.props.fields.LinkToProductFinderPage && this.props.fields.LinkToProductFinderPage !== null && this.props.fields.LinkToProductFinderPage.value.href !== \"\" ? this.props.fields.LinkToProductFinderPage.value.href : \"#\"\r\n window.location.href = link+\"?search=\"+this.state.keywordText\r\n event.preventDefault();\r\n }\r\n \r\n \r\n\r\n render(){\r\n let bgImageSrc = this.props.fields.ImgView && this.props.fields.ImgView !== null && this.props.fields.ImgView.value.src !== \"\" ? this.props.fields.ImgView.value.src : \"\";\r\n const bgImage = {\r\n backgroundImage: 'url(' + bgImageSrc + ')'\r\n }\r\n return(\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n}\r\n\r\nexport default Search;\r\n","import React from 'react';\r\nimport { Image, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport { css } from '@emotion/react';\r\nimport { DotLoader } from 'react-spinners';\r\nimport {NavLink} from \"react-router-dom\";\r\nimport i18next from 'i18next';\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport {loader as gqlLoader} from \"graphql.macro\";\r\nimport {Query} from \"react-apollo\";\r\n\r\nconst SocialMediaArticleQuery = gqlLoader('./query.graphql');\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass SocialMediaArticles extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLoaded: false\r\n };\r\n }\r\n\r\n render() {\r\n return(\r\n \r\n {({loading, error, data}) => {\r\n if (loading)\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n if (error)\r\n return (\r\n
    Error: {error.message}
    \r\n );\r\n return (\r\n
    \r\n
    \r\n {\r\n data.product.results.items.map(function (sociallink, idx) {\r\n return (\r\n <>\r\n {sociallink && sociallink.item && sociallink.item.internalLink && sociallink.item.internalLink.url &&\r\n (sociallink.item.internalLink.url.startsWith(\"http\") ?\r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n )\r\n }\r\n \r\n )\r\n })\r\n }\r\n \r\n {i18next.t(\"LiveRawLabel\")}\r\n \r\n
    \r\n
    \r\n )\r\n }}\r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(SocialMediaArticles);\r\n","import React from 'react';\r\nimport { Image, Link, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport i18next from 'i18next';\r\nimport {NavLink} from \"react-router-dom\";\r\nimport ReactComponent from \"../../ReactComponent\";\r\n\r\nclass StoreList extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLoaded: false\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n \r\n {i18next.t(\"ShopOnlineLabel\")}\r\n \r\n
    \r\n {this.props.fields && this.props.fields.StoreList && this.props.fields.StoreList.map((storeItem, storeIndex) => (\r\n storeItem.fields && storeItem.fields.StoreLink && storeItem.fields.StoreLink.value.href.startsWith(\"http\") === true ?\r\n \r\n :\r\n \r\n ))}\r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(StoreList);","import React from 'react';\r\nimport {Placeholder,withSitecoreContext} from '@sitecore-jss/sitecore-jss-react';\r\nimport ReactComponent from \"../../ReactComponent\";\r\n\r\nclass StoreLocatorLayoutWrapper extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n contextdata: this.props,\r\n }\r\n }\r\n\r\n render() {\r\n return(\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(StoreLocatorLayoutWrapper);\r\n","import React from 'react';\r\nimport {withSitecoreContext, Text, Image} from '@sitecore-jss/sitecore-jss-react';\r\nimport { css } from '@emotion/react';\r\nimport { DotLoader } from 'react-spinners';\r\nimport RowSeparator from '../RowSeparator';\r\nimport {NavLink} from \"react-router-dom\";\r\nimport i18next from 'i18next';\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport {loader as gqlLoader} from \"graphql.macro\";\r\nimport {Query} from \"react-apollo\";\r\n\r\nconst SubCatByCatQuery = gqlLoader('./query.graphql');\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass SubCategoriesByCategory extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLoaded: false\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {({loading, error, data}) => {\r\n if (loading)\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n if (error)\r\n return (\r\n
    Error: {error.message}
    \r\n );\r\n return (\r\n <>\r\n \r\n {\r\n\r\n data && data.product.results.items.map(function (category, idx) {\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n category.item && category.item.children.map(function (subcategory) {\r\n if (subcategory.id != null) {\r\n return (\r\n <>\r\n {subcategory.url && subcategory.url.startsWith(\"http\") === true ?\r\n \r\n \"\"/\r\n \r\n

    \r\n

    \r\n \r\n
    \r\n :\r\n \r\n \"\"/\r\n \r\n

    \r\n

    \r\n \r\n
    \r\n }\r\n \r\n );\r\n }\r\n })\r\n }\r\n
    \r\n {data.product.results.items && (data.product.results.items.length != idx + 1) &&\r\n }\r\n \r\n );\r\n\r\n })\r\n }\r\n \r\n )\r\n }\r\n }\r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(SubCategoriesByCategory);","import React from 'react';\r\nimport { withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport { matchPath } from \"react-router\";\r\nimport TagManager from 'react-gtm-module'\r\n\r\nclass Tagging extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {}; \r\n }\r\n\r\n componentDidMount() {\r\n // Load only\r\n\r\n \t// dataLayer Analytics\r\n const TagManagerArgs = {\r\n gtmId: 'GTM-MCDPJ4T',\r\n dataLayer: {\r\n \"brand\": \"BLG\",\r\n \"language\": \"en\",\r\n \"country\": \"gb\",\r\n \"siteTypeLevel\": \"main\",\r\n \"pageCategory\": this.getPageCategory(this.props.location),\r\n \"virtualPageURL\": this.props.location,\r\n \"virtualPageTitle\": this.props.pageTitle\r\n }\r\n }\r\n\r\n // Initialize TagManager once\r\n TagManager.initialize(TagManagerArgs)\r\n\r\n }\r\n\r\n updateDataLayerPageview(){\r\n \twindow.dataLayer = window.dataLayer || [];\r\n \tvar json = {\r\n \t\t'event':'updatevirtualpath',\r\n \t\t\"pageCategory\": this.getPageCategory(this.props.location),\r\n\t\t'virtualPageURL': this.props.location,\r\n \t\t\"virtualPageTitle\": this.props.pageTitle\r\n \t}\r\n \twindow.dataLayer.push(json)\r\n\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n\t Object.entries(this.props).forEach(([key, val]) => {\r\n\t\t \tif(prevProps[key] !== val){\r\n\t\t \t\tif(key == \"pageTitle\") {\r\n\t\t \t\t\tthis.updateDataLayerPageview()\r\n\t\t \t\t}\r\n\t\t \t}\r\n\t\t }\r\n\t );\r\n\t}\r\n\r\n\tgetPageCategory(currentLocation) {\r\n\r\n let pageCategory = \"other page\";\r\n\r\n const isHome = matchPath(currentLocation, \"/\");\r\n\r\n const isHomePath = matchPath(currentLocation, \"/home\");\r\n\r\n if ((isHome && isHome.isExact) || (isHomePath && isHomePath.isExact))\r\n pageCategory = \"homepage\";\r\n const isProduct = matchPath(currentLocation, \"/Products\");\r\n if (isProduct && isProduct.isExact) pageCategory = \"products page\";\r\n\r\n const isBrandSingleCategory = matchPath(\r\n currentLocation,\r\n \"/Products/:idCategory\"\r\n );\r\n\r\n if (isBrandSingleCategory && isBrandSingleCategory.isExact)\r\n pageCategory = \"products page\";\r\n\r\n const isProductItem = matchPath(\r\n currentLocation,\r\n \"/Products/:idCategory/:productItem\"\r\n );\r\n\r\n if (isProductItem && isProductItem.isExact)\r\n pageCategory = \"product detail page\";\r\n\r\n const isSearch = matchPath(currentLocation, \"/Search\");\r\n if (isSearch && isSearch.isExact) pageCategory = \"search results\";\r\n\r\n const isAboutUs = matchPath(currentLocation, \"/About-us\");\r\n if (isAboutUs && isAboutUs.isExact) pageCategory = \"aboutus page\";\r\n\r\n const isLiveRAW = matchPath(currentLocation, \"/LiveRAW\");\r\n if (isLiveRAW && isLiveRAW.isExact) pageCategory = \"liveraw page\";\r\n\r\n\r\n return pageCategory\r\n}\r\n\r\n\r\n render() {\r\n\r\n return (\r\n
    \r\n \t\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(Tagging);\r\n","export default __webpack_public_path__ + \"static/media/ico-history.36a8da06.svg\";","import React from 'react';\r\nimport { Text, RichText, withSitecoreContext, isExperienceEditorActive } from '@sitecore-jss/sitecore-jss-react';\r\nimport { css } from '@emotion/react';\r\nimport { DotLoader } from 'react-spinners';\r\nimport timelineImg from '../../assets/img/Timeline/ico-history.svg'\r\nimport i18next from 'i18next';\r\nimport ReactComponent from \"../../ReactComponent\";\r\nimport {loader as gqlLoader} from \"graphql.macro\";\r\nimport {Query} from \"react-apollo\";\r\nimport './responsive.css';\r\n\r\nconst TimelineQuery = gqlLoader('./query.graphql');\r\nconst override = css`\r\n margin: auto;\r\n`;\r\n\r\nclass Timeline extends ReactComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n isLoaded: false\r\n };\r\n }\r\n\r\n render() {\r\n function SortByYear(x,y) {\r\n return ((x.item.eventYear.numberValue === y.item.eventYear.numberValue) ? 0 : ((x.item.eventYear.numberValue > y.item.eventYear.numberValue) ? 1 : -1 ));\r\n }\r\n\r\n return (\r\n \r\n {({loading, error, data}) => {\r\n if (loading)\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n if (error)\r\n return (\r\n
    Error: {error.message}
    \r\n );\r\n else if (data.search.results.items.length === 0)\r\n return (\r\n isExperienceEditorActive() && (\r\n
    {i18next.t(\"NoTimelineFoundLabel\")}
    \r\n )\r\n );\r\n return (\r\n
    \r\n {\r\n data.search.results &&\r\n data.search.results.items.sort(SortByYear).map(function (event, idx) {\r\n if (idx % 2 === 0) {\r\n return (\r\n
    \r\n
    \r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n \"\"\r\n
    \r\n \r\n

    \r\n
    \r\n
    \r\n )\r\n } else {\r\n return (\r\n
    \r\n
    \r\n

    \r\n \"\"\r\n
    \r\n \r\n

    \r\n
    \r\n
    \r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n })\r\n }\r\n
    \r\n )\r\n }}\r\n
    \r\n )\r\n }\r\n}\r\n\r\nexport default withSitecoreContext()(Timeline);\r\n","import React from 'react';\r\nimport { Image, Text, RichText, withSitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\n\r\n\r\nconst TitleAndDescriptionAndImage = (props) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {props.fields.Title && props.fields.Title.value !== \"\" && }\r\n {props.fields.ImageLocation && props.fields.Image && props.fields.ImageLocation.fields.title.value === 'Before Description' && (\r\n \r\n )}\r\n {props.fields.Description && props.fields.Description.value !== \"\" &&
    }\r\n
    \r\n {props.fields.ImageLocation && props.fields.Image && props.fields.ImageLocation.fields.title.value !== 'Before Description' && (\r\n \r\n )} \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default withSitecoreContext()(TitleAndDescriptionAndImage);\r\n","import React from 'react';\r\nimport { Text,Image, withSitecoreContext  } from '@sitecore-jss/sitecore-jss-react';\r\nimport {NavLink} from \"react-router-dom\";\r\n\r\nconst TitleAndImage = (props) => {\r\n return(\r\n
    \r\n
    \r\n
    \r\n {props && props.fields && props.fields.Title && props.fields.Title.value !== \"\" && }\r\n {props && props.fields && props.fields.InternalLink && props.fields.InternalLink.value.href !== \"\"\r\n ?\r\n props && props.fields && props.fields.ImageBanner && props.fields.ImageBanner.value.src !== \"\" &&\r\n

    \r\n {props && props.fields && props.fields.InternalLink.value.href && props.fields.InternalLink.value.href.startsWith(\"http\") === true ?\r\n \r\n \r\n \r\n :\r\n \r\n \r\n \r\n }\r\n

    \r\n :\r\n props && props.fields && props.fields.ImageBanner && props.fields.ImageBanner.value.src !== \"\" &&

    \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n \r\n}\r\n\r\n\r\nexport default withSitecoreContext()(TitleAndImage);\r\n","import React from 'react';\r\nimport { Image,RichText } from '@sitecore-jss/sitecore-jss-react';\r\nimport './responsive.css';\r\n\r\nconst TwoImagesOneText = (props) => {\r\n \r\n let imageLarge = ;\r\n let contentAndImageUnderText = (
    \r\n
    \r\n

    \r\n \r\n

    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n );\r\n return(\r\n
    \r\n
    \r\n { props.fields.SwitchLargeImageToLeft.value ===\"1\" ? imageLarge : contentAndImageUnderText }\r\n
    \r\n
    \r\n { props.fields.SwitchLargeImageToLeft.value ===\"1\" ? contentAndImageUnderText : imageLarge}\r\n
    \r\n
    \r\n );\r\n}\r\n\r\n\r\n\r\nexport default TwoImagesOneText;\r\n","/* eslint-disable */\n// Do not edit this file, it is auto-generated at build time!\n// See scripts/generate-component-factory.js to modify the generation of this file.\nimport ArticleLayoutWrapper from '../components/Article-LayoutWrapper';\nimport ArticleCategoriesNavigation from '../components/ArticleCategoriesNavigation';\nimport ArticleRichText from '../components/ArticleRichText';\nimport ArticlesNavigation from '../components/ArticlesNavigation';\nimport BestRatedProducts from '../components/BestRatedProducts';\nimport BiolageRelatedProducts from '../components/BiolageRelatedProducts';\nimport BioStoreLocator from '../components/BioStoreLocator';\nimport BlocksOfText from '../components/BlocksOfText';\nimport Breadcrumbs from '../components/Breadcrumbs';\nimport CarouselQouteItem from '../components/CarouselQouteItem';\nimport CarouselQoutes from '../components/CarouselQoutes';\nimport CategoriesNavigation from '../components/CategoriesNavigation';\nimport CheckOutVideo from '../components/CheckOutVideo';\nimport ContentBlock from '../components/ContentBlock';\nimport FeaturedPosts from '../components/FeaturedPosts';\nimport FilterCategories from '../components/FilterCategories';\nimport FilteredProductList from '../components/FilteredProductList';\nimport FilterSearch from '../components/FilterSearch';\nimport Footer from '../components/Footer';\nimport HeaderMultilevel from '../components/HeaderMultilevel';\nimport ListOfIngredients from '../components/ListOfIngredients';\nimport ListProductVariant from '../components/ListProductVariant';\nimport OverHead from '../components/OverHead';\nimport ProductFinder from '../components/ProductFinder';\nimport ProductFinderLayoutWrapper from '../components/ProductFinder-LayoutWrapper';\nimport ProductGridItem from '../components/ProductGridItem';\nimport ProductIngredients from '../components/ProductIngredients';\nimport ProductRating from '../components/ProductRating';\nimport ProductsByCategory from '../components/ProductsByCategory';\nimport ProductSummary from '../components/ProductSummary';\nimport RatingReviews from '../components/RatingReviews';\nimport RichTextComponent from '../components/RichTextComponent';\nimport RowBlock from '../components/RowBlock';\nimport RowSeparator from '../components/RowSeparator';\nimport SalonList from '../components/SalonList';\nimport Search from '../components/Search';\nimport SocialMediaArticles from '../components/SocialMediaArticles';\nimport StarRating from '../components/StarRating';\nimport StoreList from '../components/StoreList';\nimport StoreLocatorLayoutWrapper from '../components/StoreLocatorLayoutWrapper';\nimport SubCategoriesByCategory from '../components/SubCategoriesByCategory';\nimport Tagging from '../components/Tagging';\nimport Timeline from '../components/Timeline';\nimport TitleAndDescriptionAndImage from '../components/TitleAndDescriptionAndImage';\nimport TitleAndImage from '../components/TitleAndImage';\nimport TwoImagesOneText from '../components/TwoImagesOneText';\n\nconst components = new Map();\ncomponents.set('Article-LayoutWrapper', ArticleLayoutWrapper);\ncomponents.set('ArticleCategoriesNavigation', ArticleCategoriesNavigation);\ncomponents.set('ArticleRichText', ArticleRichText);\ncomponents.set('ArticlesNavigation', ArticlesNavigation);\ncomponents.set('BestRatedProducts', BestRatedProducts);\ncomponents.set('BiolageRelatedProducts', BiolageRelatedProducts);\ncomponents.set('BioStoreLocator', BioStoreLocator);\ncomponents.set('BlocksOfText', BlocksOfText);\ncomponents.set('Breadcrumbs', Breadcrumbs);\ncomponents.set('CarouselQouteItem', CarouselQouteItem);\ncomponents.set('CarouselQoutes', CarouselQoutes);\ncomponents.set('CategoriesNavigation', CategoriesNavigation);\ncomponents.set('CheckOutVideo', CheckOutVideo);\ncomponents.set('ContentBlock', ContentBlock);\ncomponents.set('FeaturedPosts', FeaturedPosts);\ncomponents.set('FilterCategories', FilterCategories);\ncomponents.set('FilteredProductList', FilteredProductList);\ncomponents.set('FilterSearch', FilterSearch);\ncomponents.set('Footer', Footer);\ncomponents.set('HeaderMultilevel', HeaderMultilevel);\ncomponents.set('ListOfIngredients', ListOfIngredients);\ncomponents.set('ListProductVariant', ListProductVariant);\ncomponents.set('OverHead', OverHead);\ncomponents.set('ProductFinder', ProductFinder);\ncomponents.set('ProductFinder-LayoutWrapper', ProductFinderLayoutWrapper);\ncomponents.set('ProductGridItem', ProductGridItem);\ncomponents.set('ProductIngredients', ProductIngredients);\ncomponents.set('ProductRating', ProductRating);\ncomponents.set('ProductsByCategory', ProductsByCategory);\ncomponents.set('ProductSummary', ProductSummary);\ncomponents.set('RatingReviews', RatingReviews);\ncomponents.set('RichTextComponent', RichTextComponent);\ncomponents.set('RowBlock', RowBlock);\ncomponents.set('RowSeparator', RowSeparator);\ncomponents.set('SalonList', SalonList);\ncomponents.set('Search', Search);\ncomponents.set('SocialMediaArticles', SocialMediaArticles);\ncomponents.set('StarRating', StarRating);\ncomponents.set('StoreList', StoreList);\ncomponents.set('StoreLocatorLayoutWrapper', StoreLocatorLayoutWrapper);\ncomponents.set('SubCategoriesByCategory', SubCategoriesByCategory);\ncomponents.set('Tagging', Tagging);\ncomponents.set('Timeline', Timeline);\ncomponents.set('TitleAndDescriptionAndImage', TitleAndDescriptionAndImage);\ncomponents.set('TitleAndImage', TitleAndImage);\ncomponents.set('TwoImagesOneText', TwoImagesOneText);\n\nexport default function componentFactory(componentName) {\n return components.get(componentName);\n};\n","import axios from 'axios';\r\n\r\n/**\r\n * Implements a data fetcher using Axios - replace with your favorite\r\n * SSR-capable HTTP or fetch library if you like. See HttpJsonFetcher type\r\n * in sitecore-jss library for implementation details/notes.\r\n * @param {string} url The URL to request; may include query string\r\n * @param {any} data Optional data to POST with the request.\r\n */\r\nexport function dataFetcher(url, data) {\r\n return axios({\r\n url,\r\n method: data ? 'POST' : 'GET',\r\n data,\r\n // note: axios needs to use `withCredentials: true` in order for Sitecore cookies to be included in CORS requests\r\n // which is necessary for analytics and such\r\n withCredentials: true,\r\n });\r\n}\r\n","import React from 'react';\r\nimport { Placeholder, VisitorIdentification } from '@sitecore-jss/sitecore-jss-react';\r\nimport { NavLink } from 'react-router-dom';\r\nimport { withNamespaces } from 'react-i18next';\r\nimport Helmet from 'react-helmet';\r\nimport Tagging from \"./components/Tagging\";\r\n\r\n// Using bootstrap is completely optional. It's used here to provide a clean layout for samples,\r\n// without needing extra CSS in the sample app. Remove it in package.json as well if it's removed here.\r\nimport 'bootstrap/dist/css/bootstrap.css';\r\nimport './assets/css/styles.css';\r\nimport logo from './assets/sc_logo.png';\r\nimport './assets/css/customOwlCarousel.css';\r\nimport './assets/css/headermultilevels.css';\r\n// Pages of Nosotros\r\nimport './assets/css/us.css';\r\n// Product Finder\r\nimport './assets/css/customProductFinder.css';\r\n// Product Page\r\nimport './assets/css/customProductOnly.css';\r\n// Store Locator Page\r\nimport './assets/css/bioStoreLocator.css';\r\n\r\n// Responsive Design\r\nimport './assets/css/responsive.css';\r\n/*\r\n APP LAYOUT\r\n This is where the app's HTML structure and root placeholders should be defined.\r\n\r\n All routes share this root layout by default (this could be customized in RouteHandler),\r\n but components added to inner placeholders are route-specific.\r\n*/\r\n\r\n\r\nconst Layout = ({ route, location }) => {\r\n\r\n let wrapperClass = \"container\";\r\n let paddingClass = \"p-0\";\r\n let headingContainerClass = \"heading-container\";\r\n for(var component1 of route.placeholders[\"jss-main\"]) {\r\n if (component1.placeholders !== undefined && component1.componentName === \"Post-LayoutWrapper\") {\r\n wrapperClass = \"wide-wrap page-layout-right-sidebar page-layout-border\";\r\n }\r\n if (component1.placeholders !== undefined && component1.componentName === \"ProductFinder-LayoutWrapper\") {\r\n wrapperClass = \"wide-wrap page-layout-left-sidebar page-layout-border\";\r\n }\r\n if (component1.placeholders !== undefined && component1.componentName === \"ProductLayoutWrapper\") {\r\n wrapperClass = \"wide-wrap page-layout-right-sidebar page-layout-border\";\r\n paddingClass = \" \";\r\n }\r\n }\r\n // for(var component of route.placeholders[\"jss-heading\"]) {\r\n // if (component.componentName === \"HeadingBanner\") {\r\n // paddingClass = \" \";\r\n // headingContainerClass = \"heading-container heading-resize heading-no-button\";\r\n // }\r\n // if (component.componentName === \"HeadingSmallBanner\") {\r\n // paddingClass = \" \";\r\n // headingContainerClass = \"heading-container\";\r\n // }\r\n // }\r\n\r\n return(\r\n \r\n {/* react-helmet enables setting contents, like title and OG meta tags */}\r\n \r\n \r\n {(route.fields && route.fields.pageTitle && route.fields.pageTitle.value) || 'Page'}\r\n \r\n \r\n\r\n {/*\r\n VisitorIdentification is necessary for Sitecore Analytics to determine if the visitor is a robot.\r\n If Sitecore XP (with xConnect/xDB) is used, this is required or else analytics will not be collected for the JSS app.\r\n For XM (CMS-only) apps, this should be removed.\r\n\r\n VI detection only runs once for a given analytics ID, so this is not a recurring operation once cookies are established.\r\n */}\r\n \r\n\r\n {/* root placeholder for the app, which we add components to using route data */}\r\n {/*
    \r\n \r\n
    \r\n
    */}\r\n {/* root placeholder for the app, which we add components to using route data */}\r\n {/* {console.log(\"ROUTE:\", route)} */}\r\n
    \r\n \r\n
    \r\n {/*
    */}\r\n
    \r\n {/*
    \r\n \r\n
    */}\r\n {/*
    */}\r\n \r\n {/*
    */}\r\n {/*Bouton « Paramètres de cookies » de OneTrust - Démarrer*/}\r\n {/*Paramètres des cookies*/}\r\n {/*Bouton « Paramètres de cookies » de OneTrust - Terminer*/}\r\n {/*Début de la liste des Cookies OneTrust - Decomment under to have the Options of OneTrust*/}\r\n {/**/}\r\n {/*Fin de la liste des Cookies OneTrust*/}\r\n
    \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Layout;\r\n","import React from 'react';\r\n\r\n// Renders a route-not-found message when no route is available from Sitecore\r\n// The JSS equivalent of a 404 Not Found page.\r\n\r\n// This is invoked from RouteHandler when Sitecore returns no valid route data.\r\n// The NotFound component receives the Layout Service Context data, but no route data.\r\n// This can be used to power parts of your site, such as navigation, from LS context additions\r\n// without losing the ability to render them on your 404 pages :)\r\n\r\nconst NotFound = ({ context = { site: { name: '' }, language: '' } }) => (\r\n \r\n

    Page not found

    \r\n

    This page does not exist.

    \r\n

    \r\n Site: {context.site && context.site.name}\r\n
    \r\n Language: {context.language}\r\n

    \r\n
    \r\n);\r\n\r\nexport default NotFound;\r\n","import React from 'react';\r\nimport i18n from 'i18next';\r\nimport Helmet from 'react-helmet';\r\nimport {\r\n isExperienceEditorActive,\r\n dataApi,\r\n withSitecoreContext,\r\n} from '@sitecore-jss/sitecore-jss-react';\r\nimport { dataFetcher } from './dataFetcher';\r\nimport { getHostname } from './util';\r\nimport config from './temp/config';\r\nimport Layout from './Layout';\r\nimport NotFound from './NotFound';\r\n\r\n/* eslint-disable no-console */\r\n\r\n// Dynamic route handler for Sitecore items.\r\n// Because JSS app routes are defined in Sitecore, traditional static React routing isn't enough -\r\n// we need to be able to load dynamic route data from Sitecore after the client side route changes.\r\n// So react-router delegates all route rendering to this handler, which attempts to get the right\r\n// route data from Sitecore - and if none exists, renders the not found component.\r\n\r\nclass RouteHandler extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n notFound: true,\r\n defaultLanguage: config.defaultLanguage,\r\n };\r\n\r\n const routeData = this.extractRouteData();\r\n\r\n // route data from react-router - if route was resolved, it's not a 404\r\n if (props.route !== null) {\r\n this.state.notFound = false;\r\n }\r\n\r\n // if we have an initial SSR state, and that state doesn't have a valid route data,\r\n // then this is a 404 route.\r\n if (routeData && (!routeData.sitecore || !routeData.sitecore.route)) {\r\n this.state.notFound = true;\r\n }\r\n\r\n // if we have an SSR state, and that state has language data, set the current language\r\n // (this makes the language of content follow the Sitecore context language cookie)\r\n // note that a route-based language (i.e. /de-DE) will override this default; this is for home.\r\n if (\r\n routeData &&\r\n routeData.sitecore &&\r\n routeData.sitecore.context &&\r\n routeData.sitecore.context.language\r\n ) {\r\n this.state.defaultLanguage = routeData.sitecore.context.language;\r\n }\r\n\r\n // tell i18next to sync its current language with the route language\r\n this.updateLanguage();\r\n }\r\n\r\n componentDidMount() {\r\n const routeData = this.extractRouteData();\r\n\r\n // if no existing routeData is present (from SSR), get Layout Service fetching the route data or ssr render complete\r\n if (!routeData || this.props.ssrRenderComplete) {\r\n this.updateRouteData();\r\n }\r\n }\r\n\r\n extractRouteData = () => {\r\n if (!this.props.sitecoreContext) return null;\r\n\r\n const { route, ...context } = this.props.sitecoreContext;\r\n\r\n return {\r\n sitecore: {\r\n route,\r\n context,\r\n },\r\n };\r\n };\r\n\r\n /**\r\n * Loads route data from Sitecore Layout Service into state.routeData\r\n */\r\n updateRouteData() {\r\n let sitecoreRoutePath = this.props.route.match.params.sitecoreRoute || '/';\r\n if (!sitecoreRoutePath.startsWith('/')) {\r\n sitecoreRoutePath = `/${sitecoreRoutePath}`;\r\n }\r\n\r\n const language = this.props.route.match.params.lang || this.state.defaultLanguage;\r\n\r\n // get the route data for the new route\r\n getRouteData(sitecoreRoutePath, language).then((routeData) => {\r\n if (routeData !== null && routeData.sitecore && routeData.sitecore.route) {\r\n // set the sitecore context data and push the new route\r\n this.props.updateSitecoreContext({\r\n route: routeData.sitecore.route,\r\n itemId: routeData.sitecore.route.itemId,\r\n ...routeData.sitecore.context,\r\n });\r\n window.scrollTo(0,0); // SCROLL TO THE TOP ON PAGE CHANGE !!\r\n this.setState({ notFound: false });\r\n\t\tdocument.querySelector(\"body\").classList.remove(\"open-offcanvas\");\r\n } else {\r\n this.setState({ notFound: true }, () => {\r\n const context = routeData && routeData.sitecore ? routeData.sitecore.context : null;\r\n this.props.updateSitecoreContext(context);\r\n });\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Updates the current app language to match the route data.\r\n */\r\n updateLanguage() {\r\n const newLanguage = this.props.route.match.params.lang || this.state.defaultLanguage;\r\n\r\n if (i18n.language !== newLanguage) {\r\n i18n.changeLanguage(newLanguage);\r\n }\r\n }\r\n\r\n componentDidUpdate(previousProps) {\r\n const existingRoute = previousProps.route.match.url;\r\n const newRoute = this.props.route.match.url;\r\n\r\n // don't change state (refetch route data) if the route has not changed\r\n if (existingRoute === newRoute) {\r\n return;\r\n }\r\n\r\n // if in experience editor - force reload instead of route data update\r\n // avoids confusing Sitecore's editing JS\r\n if (isExperienceEditorActive()) {\r\n window.location.assign(newRoute);\r\n return;\r\n }\r\n\r\n this.updateLanguage();\r\n this.updateRouteData();\r\n }\r\n\r\n render() {\r\n const { notFound } = this.state;\r\n const routeData = this.extractRouteData();\r\n\r\n // no route data for the current route in Sitecore - show not found component.\r\n // Note: this is client-side only 404 handling. Server-side 404 handling is the responsibility\r\n // of the server being used (i.e. node-headless-ssr-proxy and Sitecore intergrated rendering know how to send 404 status codes).\r\n if (notFound && routeData) {\r\n return (\r\n
    \r\n \r\n {i18n.t('Page not found')}\r\n \r\n \r\n
    \r\n );\r\n }\r\n\r\n // Don't render anything if the route data or dictionary data is not fully loaded yet.\r\n // This is a good place for a \"Loading\" component, if one is needed.\r\n if (!routeData) {\r\n return null;\r\n }\r\n\r\n // Render the app's root structural layout\r\n return ;\r\n }\r\n}\r\n\r\n/**\r\n * Gets route data from Sitecore. This data is used to construct the component layout for a JSS route.\r\n * @param {string} route Route path to get data for (e.g. /about)\r\n * @param {string} language Language to get route data in (content language, e.g. 'en')\r\n */\r\nfunction getRouteData(route, language) {\r\n const fetchOptions = {\r\n layoutServiceConfig: { host: getHostname() },\r\n querystringParams: { sc_lang: language, sc_apikey: config.sitecoreApiKey },\r\n fetcher: dataFetcher,\r\n };\r\n\r\n return dataApi.fetchRouteData(route, fetchOptions).catch((error) => {\r\n if (error.response && error.response.status === 404 && error.response.data) {\r\n return error.response.data;\r\n }\r\n\r\n console.error('Route data fetch error', error, error.response);\r\n\r\n return null;\r\n });\r\n}\r\n\r\nexport default withSitecoreContext({ updatable: true })(RouteHandler);\r\n","import React from 'react';\r\nimport { SitecoreContext } from '@sitecore-jss/sitecore-jss-react';\r\nimport { Route, Switch } from 'react-router-dom';\r\nimport { ApolloProvider } from 'react-apollo';\r\nimport componentFactory from './temp/componentFactory';\r\nimport RouteHandler from './RouteHandler';\r\n\r\n// This is the main JSX entry point of the app invoked by the renderer (server or client rendering).\r\n// By default the app's normal rendering is delegated to that handles the loading of JSS route data.\r\n\r\n// support languages in the URL prefix\r\n// e.g. /da-DK/path, or /en/path, or /path\r\nexport const routePatterns = [\r\n '/:lang([a-z]{2}-[A-Z]{2})/:sitecoreRoute*',\r\n '/:lang([a-z]{2})/:sitecoreRoute*',\r\n '/:sitecoreRoute*',\r\n];\r\n\r\n// wrap the app with:\r\n// ApolloProvider: provides an instance of Apollo GraphQL client to the app to make Connected GraphQL queries.\r\n// Not needed if not using connected GraphQL.\r\n// SitecoreContext: provides component resolution and context services via withSitecoreContext\r\n// Router: provides a basic routing setup that will resolve Sitecore item routes and allow for language URL prefixes.\r\nclass AppRoot extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n ssrRenderComplete: false,\r\n };\r\n\r\n if (props.ssrState) {\r\n this.sitecoreContext =\r\n props.ssrState.sitecore && props.ssrState.sitecore.route\r\n ? {\r\n route: props.ssrState.sitecore.route,\r\n itemId: props.ssrState.sitecore.route.itemId,\r\n ...props.ssrState.sitecore.context,\r\n }\r\n : props.ssrState.sitecore.context;\r\n } else {\r\n this.sitecoreContext = null;\r\n }\r\n }\r\n\r\n setSsrRenderComplete = (ssrRenderComplete) =>\r\n this.setState({\r\n ssrRenderComplete,\r\n });\r\n\r\n componentDidMount() {\r\n this.setSsrRenderComplete(true);\r\n }\r\n\r\n render() {\r\n const { path, Router, graphQLClient } = this.props;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {routePatterns.map((routePattern) => (\r\n (\r\n \r\n )}\r\n />\r\n ))}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default AppRoot;\r\n","import 'react-app-polyfill/ie11';\r\nimport 'react-app-polyfill/stable';\r\n\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { detect } from \"detect-browser\";\r\nimport { BrowserRouter } from 'react-router-dom';\r\nimport AppRoot from './AppRoot';\r\nimport GraphQLClientFactory from './lib/GraphQLClientFactory';\r\nimport config from './temp/config';\r\nimport i18ninit from './i18n';\r\n\r\n/* eslint-disable no-underscore-dangle */\r\n\r\nlet renderFunction = ReactDOM.render;\r\n\r\nlet initLanguage = config.defaultLanguage;\r\n\r\n/*\r\n SSR Data\r\n If we're running in a server-side rendering scenario,\r\n the server will provide JSON in the #__JSS_STATE__ element\r\n for us to acquire the initial state to run with on the client.\r\n\r\n This enables us to skip a network request to load up the layout data.\r\n We are emitting a quiescent script with JSON so that we can take advantage\r\n of JSON.parse()'s speed advantage over parsing full JS, and enable\r\n working without needing `unsafe-inline` in Content Security Policies.\r\n\r\n SSR is initiated from /server/server.js.\r\n*/\r\nlet __JSS_STATE__ = null;\r\nconst ssrRawJson = document.getElementById('__JSS_STATE__');\r\nif (ssrRawJson) {\r\n __JSS_STATE__ = JSON.parse(ssrRawJson.innerHTML);\r\n}\r\nif (__JSS_STATE__) {\r\n // when React initializes from a SSR-based initial state, you need to render with `hydrate` instead of `render`\r\n renderFunction = ReactDOM.hydrate;\r\n\r\n // set i18n language SSR state language instead of static config default language\r\n initLanguage = __JSS_STATE__.sitecore.context.language;\r\n}\r\n\r\n/*\r\n GraphQL Data\r\n The Apollo Client needs to be initialized to make GraphQL available to the JSS app.\r\n Not using GraphQL? Remove this, and the ApolloContext from `AppRoot`.\r\n*/\r\n// Apollo supports SSR of GraphQL queries, so like JSS SSR, it has an object we can pre-hydrate the client cache from\r\n// to avoid needing to re-run GraphQL queries after the SSR page loads\r\nconst initialGraphQLState =\r\n __JSS_STATE__ && __JSS_STATE__.APOLLO_STATE ? __JSS_STATE__.APOLLO_STATE : null;\r\n\r\nconst graphQLClient = GraphQLClientFactory(config.graphQLEndpoint, false, initialGraphQLState);\r\n\r\n/*\r\n App Rendering\r\n*/\r\n// initialize the dictionary, then render the app\r\n// note: if not making a multlingual app, the dictionary init can be removed.\r\ni18ninit(initLanguage).then(() => {\r\n // HTML element to place the app into\r\n const browser = detect();\r\n const rootElement = document.getElementById('root');\r\n rootElement.classList.add(`is-${browser.name}`)\r\n rootElement.classList.add(\"is-loaded\")\r\n\r\n renderFunction(\r\n ,\r\n rootElement\r\n );\r\n});\r\n","import i18n from 'i18next';\r\nimport fetchBackend from 'i18next-fetch-backend';\r\nimport { initReactI18next } from 'react-i18next';\r\nimport config from './temp/config';\r\nimport { getHostname } from './util';\r\n\r\n/**\r\n * Initializes the i18next library to provide a translation dictionary to the app.\r\n * If your app is not multilingual, this file and references to it can be removed.\r\n * Elsewhere in the app to use the dictionary `import { t } from 'i18next'; ... t('key')`\r\n * @param {string} language Optional, the initial language. Only used for SSR; otherwise language set in RouteHandler.\r\n * @param {*} dictionary Optional, the dictionary to load. Only used for SSR; otherwise, the dictionary is loaded via JSS dictionary service.\r\n */\r\nexport default function i18nInit(language, dictionary) {\r\n return new Promise((resolve, reject) => {\r\n const options = {\r\n debug: false,\r\n lng: language,\r\n fallbackLng: false, // fallback to keys\r\n load: 'currentOnly', // e.g. don't load 'es' when requesting 'es-MX' -- Sitecore config should handle this\r\n useCookie: false, // using URLs and Sitecore to store language context, don't need a cookie\r\n\r\n interpolation: {\r\n escapeValue: false, // not needed for react\r\n },\r\n };\r\n\r\n if (dictionary) {\r\n // if we got dictionary passed, that means we're in a SSR context with a server-provided dictionary\r\n // so we do not want a backend, because we already know all possible keys\r\n\r\n if (!i18n.isInitialized) {\r\n i18n.use(initReactI18next).init(options, (error) => {\r\n if (error) reject(error);\r\n\r\n i18n.addResourceBundle(language, 'translation', dictionary, true, true);\r\n\r\n resolve();\r\n });\r\n } else {\r\n i18n.changeLanguage(language).then(() => {\r\n i18n.addResourceBundle(language, 'translation', dictionary, true, true);\r\n\r\n resolve();\r\n });\r\n }\r\n } else {\r\n // We're running client-side, so we get translation data from the Sitecore dictionary API using fetch backend\r\n // For higher performance (but less simplicity), consider adding the i18n chained backend to a local cache option like the local storage backend.\r\n\r\n // eslint-disable-next-line\r\n const dictionaryServicePath = `${getHostname()}/sitecore/api/jss/dictionary/${config.jssAppName}/{{lng}}?sc_apikey=${config.sitecoreApiKey}`;\r\n\r\n options.backend = {\r\n loadPath: dictionaryServicePath,\r\n parse: (data) => {\r\n const parsedData = JSON.parse(data);\r\n if (parsedData.phrases) {\r\n return parsedData.phrases;\r\n }\r\n return parsedData;\r\n },\r\n };\r\n\r\n i18n\r\n .use(fetchBackend)\r\n .use(initReactI18next)\r\n .init(options, (error) => {\r\n if (error) reject(error);\r\n\r\n resolve();\r\n });\r\n }\r\n });\r\n}\r\n","import 'isomorphic-fetch';\r\nimport { ApolloClient } from 'apollo-client';\r\nimport { InMemoryCache, IntrospectionFragmentMatcher } from 'apollo-cache-inmemory';\r\n\r\n/*\r\n INTROSPECTION DATA\r\n See https://www.apollographql.com/docs/react/recipes/fragment-matching.html\r\n This enables the Apollo cache to process fragments on interface types correctly.\r\n If this file does not exist, you may need to run the `jss graphql:update` script.\r\n*/\r\nimport introspectionQueryResultData from '../temp/GraphQLFragmentTypes.json';\r\n\r\n/*\r\n QUERY LINK SELECTION\r\n A link is transport which GraphQL queries are pushed across.\r\n You have many choices.\r\n See the apollo-link documentation for more details.\r\n\r\n NOTE: to use Sitecore Experience Editor it is essential that your\r\n link passes cookies along with requests (credentials: 'include').\r\n*/\r\n\r\n// choose between a basic HTTP link to run queries...\r\n// import { createHttpLink } from 'apollo-link-http';\r\n// const link = createHttpLink({ uri: endpoint, credentials: 'include' });\r\n\r\n// ...or a batched link (multiple queries within 10ms all go in one HTTP request)\r\nimport { BatchHttpLink } from 'apollo-link-batch-http';\r\n\r\n// ...and an automatic persisted query link, which reduces bandwidth by using query hashes to alias content\r\n// the APQ link is _chained_ behind another link that performs the actual HTTP calls, so you can choose\r\n// APQ + batched, or APQ + http links for example.\r\nimport { createPersistedQueryLink } from 'apollo-link-persisted-queries';\r\n\r\nexport default function(endpoint, ssr, initialCacheState) {\r\n /* HTTP link selection: default to batched + APQ */\r\n const link = createPersistedQueryLink().concat(\r\n new BatchHttpLink({ uri: endpoint, credentials: 'include' })\r\n );\r\n\r\n const cache = new InMemoryCache({\r\n fragmentMatcher: new IntrospectionFragmentMatcher({\r\n introspectionQueryResultData,\r\n }),\r\n });\r\n\r\n return new ApolloClient({\r\n ssrMode: ssr,\r\n ssrForceFetchDelay: 100,\r\n link,\r\n cache: cache.restore(initialCacheState),\r\n });\r\n}\r\n","const config = require('./temp/config');\r\n\r\n/**\r\n * Check is disconnected mode started\r\n * @returns {boolean}\r\n */\r\nconst isDisconnected = () => /localhost/i.test(config.sitecoreApiHost);\r\n\r\nmodule.exports.isDisconnected = isDisconnected;\r\n\r\n/**\r\n * Get hostname which used to access application, in disconnected mode it can be localhost or ip address\r\n * @returns {string} hostname\r\n */\r\nmodule.exports.getHostname = () =>\r\n isDisconnected() ? window.location.origin : config.sitecoreApiHost;\r\n","/* eslint-disable */\n// Do not edit this file, it is auto-generated at build time!\n// See scripts/bootstrap.js to modify the generation of this file.\nmodule.exports = {\n \"sitecoreApiKey\": \"{F4BCC0B5-C762-44FB-AC03-7A6B6BE0B481}\",\n \"sitecoreApiHost\": \"https://mbf10-stg-cm-biolage-gbr.e-loreal.com\",\n \"jssAppName\": \"loreal-biolage-gbr-jss\",\n \"defaultLanguage\": \"en\",\n \"graphQLEndpointPath\": \"/api/loreal-biolage-gbr-jss\",\n \"graphQLEndpoint\": \"https://mbf10-stg-cm-biolage-gbr.e-loreal.com/api/loreal-biolage-gbr-jss?sc_apikey={F4BCC0B5-C762-44FB-AC03-7A6B6BE0B481}\"\n};"],"sourceRoot":""}