{"version":3,"file":"component---gatsby-theme-husky-src-templates-frame-frame-tsx-9488e63e8252a5af9813.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/Frame/Frame.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: 'view_item',\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: 'view_item_list',\n userId,\n itemListId,\n itemListName,\n ecommerce,\n });\n }\n break;\n case 'page_view':\n window.dataLayer.push({\n event: 'page_view',\n pageTemplate,\n userId,\n });\n break;\n\n default:\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 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, image, 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 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 if (image) {\n meta.push({\n property: 'og:image',\n content: image,\n });\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 Layout from 'layout/Layout';\nimport PageSchema from 'common/PageSchema';\nimport Seo from 'common/Seo';\n\nimport { FrameProps } from './models';\n\nimport './Frame.scss';\n\nconst Frame: FC<{ data: FrameProps }> = ({\n data: {\n frame: { pageLogo, title, src, id, urls, height, cssExtraClass, width, seo },\n },\n}) => {\n const location = useLocation();\n const eventData = { eventType: 'page_view', tagData: { pageTemplate: location.pathname } };\n if (!src) return null;\n const { title: seoTitle, keywords: seoKeywords, description: seoDescription } = seo;\n\n return (\n \n \n \n