{"version":3,"file":"component---gatsby-theme-husky-src-templates-legal-legal-tsx-fb527de39932a5557b8e.js","mappings":"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","sources":["webpack://husky-site/../gatsby-theme-husky/src/components/TagEventTracker/TagEventTracker.tsx","webpack://husky-site/../gatsby-theme-husky/src/common/PageSchema/extractors/article.ts","webpack://husky-site/../gatsby-theme-husky/src/common/PageSchema/PageSchema.tsx","webpack://husky-site/../gatsby-theme-husky/src/common/PageSchema/extractors/page.ts","webpack://husky-site/../gatsby-theme-husky/src/common/Seo/Seo.tsx","webpack://husky-site/../gatsby-theme-husky/src/templates/Legal/Legal.tsx"],"sourcesContent":["import React, { FC, useEffect } from 'react';\n\nimport { EventDataProps, TagEventTrackerProps } from './models';\n\nconst TagEventTracker: FC = ({\n children,\n eventType,\n data: { value, userId, itemListId, itemListName, currency, ecommerce, pageTemplate },\n}) => {\n useEffect(() => {\n if (typeof window !== undefined) {\n switch (eventType) {\n case 'view_item':\n window.dataLayer.push({\n event: eventType,\n userId,\n currency,\n value,\n ecommerce,\n });\n break;\n case 'view_item_list':\n if (ecommerce?.items?.length !== 0) {\n window.dataLayer.push({\n event: eventType,\n userId,\n itemListId,\n itemListName,\n ecommerce,\n });\n }\n break;\n case 'page_view':\n window.dataLayer.push({\n pageTemplate,\n userId,\n });\n break;\n\n default:\n console.error('No dataLayer event found');\n break;\n }\n }\n }, [ecommerce, value, eventType, currency, itemListId, itemListName, pageTemplate, userId]);\n\n return <>{children};\n};\n\nconst handleDataLayerClick = (\n { retailerName, userId, ecommerce }: EventDataProps,\n eventType: string,\n url?: string\n) => {\n window.dataLayer.push({\n event: eventType,\n retailerName,\n userId,\n ecommerce,\n });\n if (eventType === 'retailer_link_click') {\n window.open(url, '_blank');\n }\n};\nexport { handleDataLayerClick, TagEventTracker };\n","import { ArticleExtractor, BrandInfo } from '../models';\n\nconst extractor = (\n pageHref: string,\n { name, createDate, updateDate, author }: ArticleExtractor,\n { brandName, siteUrl, sameAs }: BrandInfo\n): object => {\n const url = new URL(pageHref);\n\n return {\n mainEntityOfPage: {\n '@type': 'WebPage',\n '@id': pageHref,\n },\n headline: name,\n datePublished: createDate,\n dateModified: updateDate,\n author: {\n '@type': 'Person',\n name: author || brandName,\n },\n publisher: {\n '@type': 'Organization',\n name: brandName,\n url: siteUrl,\n sameAs,\n logo: {\n '@type': 'ImageObject',\n url: `${url.origin}/logo.png`,\n },\n },\n };\n};\n\nexport default extractor;\n","import React, { FC } from 'react';\nimport { graphql, useStaticQuery } from 'gatsby';\n\nimport { DangerouslySetInnerHtml } from 'layout';\nimport { TagEventTracker } from 'components/TagEventTracker';\n\nimport articleExtractor from './extractors/article';\nimport pageExtractor from './extractors/page';\nimport { ExtractorsMapObject, PageSchemaProps } from './models';\n\nconst extractorsMap: ExtractorsMapObject = {\n Article: articleExtractor,\n default: pageExtractor,\n};\n\nconst PageSchema: FC = ({\n type,\n name,\n path,\n data,\n imageurl,\n tagEventData: { eventType, tagData },\n}) => {\n const {\n siteSettings: { siteUrl, siteName, lang },\n brandSettings: brandInfo,\n } = useStaticQuery(\n graphql`\n query {\n siteSettings {\n siteUrl\n siteName\n lang\n }\n brandSettings {\n brandName\n youtubeUrl\n facebookUrl\n }\n }\n `\n );\n const pageHref = path ? `${siteUrl}${path}` : siteUrl;\n\n const brandInformation = {\n ...brandInfo,\n lang,\n siteName,\n siteUrl,\n sameAs: [\n ...(brandInfo.youtubeUrl ? [brandInfo.youtubeUrl] : []),\n ...(brandInfo.facebookUrl ? [brandInfo.facebookUrl] : []),\n ],\n };\n\n const Extractor = extractorsMap[type] || extractorsMap.default;\n const jsonLd = {\n name: name || siteName,\n ...{\n '@context': 'https://schema.org',\n '@type': type,\n },\n ...Extractor(pageHref, data, brandInformation, type, imageurl || ''),\n };\n\n const structuredData = JSON.stringify(jsonLd);\n\n return (\n \n \n \n );\n};\n\nexport default PageSchema;\n","import { useLocation } from '@reach/router';\n\nimport { BrandInfo, PageExtractor } from '../models';\n\nconst Extractor = (\n pageHref: string,\n data: PageExtractor,\n brandInfo: BrandInfo,\n type: string,\n imageurl: string\n): object => {\n const url = new URL(pageHref);\n const path = useLocation();\n\n let jsonResponse = {};\n const keywords = data.metaKeywords.join(',');\n\n switch (type) {\n case 'WebSite':\n jsonResponse = {\n url: url + path.pathname.substring(1),\n potentialAction: {\n '@type': 'SearchAction',\n target: '{search_term_string}',\n 'query-input': 'required name?search_term_string',\n },\n };\n break;\n\n case 'Recipe':\n jsonResponse = {\n url: url + path.pathname.substring(1),\n image: url + imageurl.substring(1),\n description: data.metaDescription,\n keywords,\n author: {\n '@type': 'Person',\n name: data.author ? data.author : brandInfo.brandName,\n },\n };\n break;\n\n default:\n jsonResponse = {\n url: url + path.pathname.substring(1),\n };\n break;\n }\n\n return jsonResponse;\n};\n\nexport default Extractor;\n","import React, { FC } from 'react';\nimport { Helmet } from 'react-helmet';\nimport { graphql, useStaticQuery } from 'gatsby';\n\nimport { SeoProps } from './models';\n\nconst Seo: FC = ({\n lang,\n urls,\n seo: { title, description, keywords, externalHreflangs, additionalMeta },\n}) => {\n const {\n siteSettings,\n brandSettings,\n site: {\n siteMetadata: { siteUrl },\n },\n } = useStaticQuery(graphql`\n query SettingsQuery {\n siteSettings {\n siteName\n lang\n }\n brandSettings {\n brandName\n }\n site {\n siteMetadata {\n siteUrl\n }\n }\n }\n `);\n\n const siteAuthor = brandSettings.brandName;\n const siteLang = lang || siteSettings.lang;\n const meta = [\n {\n name: 'description',\n content: description,\n },\n {\n property: 'og:title',\n content: title,\n },\n {\n property: 'og:description',\n content: description,\n },\n {\n property: 'og:type',\n content: 'website',\n },\n {\n name: 'twitter:card',\n content: 'summary',\n },\n {\n name: 'twitter:creator',\n content: siteAuthor,\n },\n {\n name: 'twitter:title',\n content: title,\n },\n {\n name: 'twitter:description',\n content: description,\n },\n ...(keywords?.length\n ? [\n {\n name: 'keywords',\n content: keywords.join(', '),\n },\n ]\n : []),\n ...additionalMeta.map(({ key, value }) => ({ name: key, content: value })),\n ];\n\n const link = [\n ...urls.map(({ lang: hreflang, href }) => ({\n rel: 'alternate',\n href: `${siteUrl}${href}`,\n hreflang: hreflang.replace('_', '-'),\n })),\n ...externalHreflangs.map(({ key, value }) => ({\n rel: 'alternate',\n href: value,\n hreflang: key,\n })),\n ];\n\n return ;\n};\n\nexport default Seo;\n","import React, { FC } from 'react';\nimport { graphql } from 'gatsby';\nimport { useLocation } from '@reach/router';\n\nimport DangerouslySetInnerHtml from 'layout/DangerouslySetInnerHtml';\nimport Layout from 'layout/Layout';\nimport PageSchema from 'common/PageSchema';\nimport Seo from 'common/Seo';\nimport Footer from 'components/Footer';\nimport Header from 'components/Header';\n\nimport { LegalProps } from './models';\n\nimport './Legal.scss';\n\nconst Legal: FC<{ data: LegalProps }> = ({\n data: {\n legal: { pageLogo, title, body, urls, seo },\n footer,\n header,\n siteSettings,\n },\n}) => {\n const location = useLocation();\n const eventData = { eventType: 'page_view', tagData: { pageTemplate: location.pathname } };\n if (!body) return null;\n const { title: seoTitle, keywords: seoKeywords, description: seoDescription } = seo;\n\n return (\n \n {header &&
}\n\n \n\n \n
\n {title ?

{title}

: <>}\n {body ? (\n \n ) : (\n <>\n )}\n
\n {footer ?