(ReviewItemsProvider)(ReviewsComponent);\n","import styled from 'styled-components';\n\nexport const ReviewsPageWrapper = styled.div`\n margin-bottom: 5rem;\n`;\n","import * as React from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { Grid, ModalContext } from '@notino/react-styleguide';\nimport { getImageAttributes } from '@notino/react-web-utils';\n\nimport { ContentWrapper } from '@components';\nimport { DrawerProvider } from '@components/BottomSheet/DrawerProvider';\nimport { Divider } from '@components/Divider';\nimport ErrorBoundary from '@components/ErrorBoundary';\nimport { PageGone } from '@components/NotFound';\nimport { Breadcrumb } from '@containers/ProductDetailContainer/ProductDetail/Breadcrumb';\nimport { useShouldShowReviewPage } from '@containers/ProductDetailContainer/ProductDetail/hooks/useShouldShowReviewPage';\nimport { ProductDetailContextProvider } from '@containers/ProductDetailContainer/ProductDetail/ProductDetailContext';\nimport { getProductFullName } from '@containers/ProductDetailContainer/ProductDetail/ProductTabContent/utils';\nimport {\n IProductViewProviderProps,\n ProductViewProvider,\n useProductView,\n} from '@context/product-view';\nimport { dispatchTrackingEvent } from '@context/tracking/utils';\n\nimport { DESCRIPTION_MIN_LENGTH } from './constants';\nimport { Header } from './Header';\nimport { HeadMetaReviewsPage } from './HeadMeta/HeadMetaReviewsPage';\nimport { headMetaMessages } from './HeadMeta/messages';\nimport { Reviews } from './Reviews';\nimport { ReviewsPageWrapper } from './styled';\nimport { getProductName } from './utils';\n\nconst ReviewsPage = () => {\n const { newPdDesignEnabled, product, variant, data } = useProductView();\n const { formatMessage } = useIntl();\n\n const shouldShowReviewPage = useShouldShowReviewPage(\n product.reviewOverview.textReviewsCount,\n product.reviewOverview.rating\n );\n\n React.useEffect(() => {\n dispatchTrackingEvent({\n event: 'page_view',\n page: {\n path: window.location.pathname,\n title: formatMessage(headMetaMessages.seoTitle, {\n productName: getProductName(variant, product),\n }),\n type: 'review',\n unified_name: `product-${variant.productCode}`,\n subpage: undefined,\n },\n _clear: true,\n });\n }, [formatMessage, product, variant]);\n\n const productName = getProductName(variant, product);\n const productFullName = getProductFullName(product);\n\n const annotation =\n variant.attributes && variant.attributes.Master\n ? product.annotation\n : variant.variantName;\n\n const imageAttrs = getImageAttributes(\n variant.media.mainImage,\n data.Settings.imageDomainPath,\n 'detailMain'\n );\n\n const breadcrumbs = [\n ...product.breadcrumb,\n {\n name: product.brand.name,\n link: product.brand.url,\n },\n {\n name: getProductName(variant, product),\n link: product.url,\n },\n ];\n\n const description = product.description.split(/(.*?)<\\/p>/g)?.[1] || '';\n\n const simpleDescription =\n description.length > DESCRIPTION_MIN_LENGTH ? description : null;\n\n if (!shouldShowReviewPage) {\n return ;\n }\n\n return (\n \n \n \n \n \n\n \n \n \n \n\n \n\n \n\n \n \n \n \n \n \n );\n};\n\nconst WrappedReviewsPage: React.FC = (props) => {\n return (\n \n \n \n \n \n \n \n );\n};\n\nexport default WrappedReviewsPage;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SeoMetaData\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keywords\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":55}};\n doc.loc.source = {\"body\":\"query SeoMetaData {\\n description\\n keywords\\n title\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SeoMetaData\"] = oneQuery(doc, \"SeoMetaData\");\n \n\ndoc.documentId = \"d94576b3b77ef000c2b943c893c240125bc80d89612901e7454edfa2cc7b17fe\""],"names":["a","viewBox","fill","d","messages","defineMessages","deliveryPiece","id","deliveryPrice","brands0Categories0","brands1Categories0","brands2Categories0","brands3Categories0","brandsNCategories0","brands0Categories1","brands0Categories2","brands0Categories3","brands0CategoriesN","brands1Categories1","brands1Categories2","brands2Categories1","brands2Categories2","brandsNCategoriesN","selectedProducts","tooltipInfo","Link","styled","_templateObject","_taggedTemplateLiteralLoose","ConditionsRow","_templateObject2","ConditionTooltipContent","_templateObject3","ConditionsTooltip","_ref","children","targets","content","map","target","idx","React","key","url","href","name","length","PortalTooltip","interactive","shouldWrapText","transformToMessageValues","reduce","acc","_extends2","_extends","type","toLowerCase","Condition","formattedMessage","formatMessage","useIntl","_partition","partition","brands","categories","these","parts","messageId","brandsCount","others","slice","categoriesCount","Text","typography","block","marginTop","Wrapper","leftPadding","LabelRow","PriceWrapper","_ref2","isSpaced","isPrefix","css","WrapperComponent","_templateObject4","LineSeparator","Line","_templateObject5","DualPriceWrapper","_templateObject6","PriceSplitter","_templateObject7","ConditionalTooltipContent","_templateObject8","conditionalFreeDelivery","newDesign","useNewPdDesignEnabled","value","_useIsDualPriceForCro","useIsDualPriceForCroatia","isDualPriceForCroatia","getLeftSideFormattedPrice","getRightSideFormattedPrice","leftSideCurrency","rightSideCurrency","DiscountWrapper","ShippingVanBoldIcon","color","width","height","price","PriceLabel","currencyComponent","wrapperComponent","position","TooltipModel","FormattedMessage","InfoCircleIcon","dashedLine","MainImgWrapper","componentId","breakpoints","ImageWrapper","MainImgComponent","MainImage","imageAttrs","loading","reviewsPageBuy","reviewsPageTitle","TopSection","withConfig","DescriptionWrapper","H1","Heading","H2","Annotation","Description","VoucherWrapper","BuyLink","fullWidth","WhiteBlock","Header","annotation","productFullName","redirectUrl","simpleDescription","selectedVariant","currency","productName","_useInView","useInView","initialInView","ref","inView","getTimeFromInit","useTrackingContext","handleBuyLinkClicked","dispatchTrackingEvent","event","element","action","timing","interaction","_clear","voucherDiscount","attributes","VoucherDiscount","values","dangerouslySetInnerHTML","__html","VoucherDiscountMaster","hideLine","isArrowHidden","onClick","ContentWrapper","getProductName","variant","product","variantDescription","Master","variantName","brand","collection","headMetaMessages","review","seoTitle","seoKeywords","seoUrl","HeadMetaReviewsPage","useSsrProductUrl","imageSrc","useImageAttributes","media","mainImage","src","cache","useApolloClient","_URL","URL","hostname","origin","title","keywords","productShortName","productReviewsUrl","productUrl","description","metaData","writeQuery","query","getSeoMetadataQuery","data","Helmet","property","rel","ReviewsJsonLd","_reviewsData$reviews","imageDomainPath","reviewsData","reviews","bazaarvoicePdComponents","useFeatureFlags","countryCode","useProductView","shopSettings","reviewBody","text","reviewRating","ratingValue","score","author","userName","JsonLd","item","sku","masterProductCode","gtin13","eanCode","category","image","getImagesSrc","offers","variants","filter","_variant$price","variantItem","getVariantOffer","reviewOverview","count","aggregateRating","getAggregateRating","ReviewsWrapper","ReviewCount","TitleWrapper","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","i","Symbol","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","call","h","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","getPrototypeOf","v","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","stop","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","Reviews","withProviders","ReviewItemsProvider","_reviewsSummaryData$p","_reviewsSummaryData$p2","_reviewOverview$textR","masterId","productCode","isAllReviewsPage","catalogMasterId","useProductDetailContext","_useReviewsSummaryFet","useReviewsSummaryFetch","ssr","reviewsSummaryData","reviewsSummaryLoading","reviewsSummaryError","reviewsSummaryRefetch","refetch","_useReviewsFetch","useReviewsFetch","DEFAULT_REVIEW_COUNT","reviewsRefetch","fetchMore","_useLoggedInUserRevie","useLoggedInUserReviewFetch","loggedInUserReviewData","refetchLoggedInUserReview","brandName","productDetailByCatalogMasterId","reviewSummary","textReviewsCount","reviewsLength","reviewCount","LoadingWrapper","isLoading","isError","skeleton","ReviewSummarySkeleton","CenterWrapper","ErrorMessage","ActionButton","buttonSize","ButtonModel","ReviewsSummary","loggedInUserReview","_callee","_context","ReviewsSkeleton","SortBox","ReviewsItems","reviewsLoading","reviewsError","ReviewsPageWrapper","ReviewsPage","_product$description$","_useProductView","newPdDesignEnabled","shouldShowReviewPage","useShouldShowReviewPage","rating","page","path","window","location","pathname","unified_name","subpage","getProductFullName","getImageAttributes","Settings","breadcrumbs","concat","breadcrumb","link","split","DESCRIPTION_MIN_LENGTH","ProductDetailContextProvider","ErrorBoundary","Grid","fluid","Breadcrumb","alignToRight","items","currentCurrency","Divider","shouldShowOnMobile","webMasterId","PageGone","props","ModalContext","ProductViewProvider","DrawerProvider","doc","collectFragmentReferences","node","refs","kind","add","selectionSet","selections","selection","variableDefinitions","def","definitions","loc","source","definitionRefs","findOperation","Set","module","exports","operationName","newDoc","opRefs","allRefs","newRefs","refName","size","prevRefs","has","childRef","op","oneQuery","documentId"],"sourceRoot":""}