{"version":3,"file":"component---src-templates-salmon-software-category-salmon-software-category-tsx-f9d6723a235b751ff3ed.js","mappings":"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","sources":["webpack://salmon-software/./src/components/contentTypes/SalmonSoftwareCategorySearchBanner/SalmonSoftwareCategorySearchBanner.tsx","webpack://salmon-software/./src/utils/PuxStructuredData.tsx","webpack://salmon-software/./src/components/core/Breadcrumbs.tsx","webpack://salmon-software/./src/templates/SalmonSoftwareCategory/SalmonSoftwareCategory.tsx"],"sourcesContent":["import \"./SalmonSoftwareCategorySearchBanner.scss\";\r\n\r\nimport React, { FunctionComponent } from \"react\";\r\nimport PuxMediaSelector, {\r\n PuxMediaSelectorType,\r\n} from \"../../contentParts/mediaImage/PuxMediaSelector\";\r\nimport PuxWysiwyg, { PuxWysiwygHtmlBodyType } from \"../PuxWysiwyg/PuxWysiwyg\";\r\nimport { useState } from \"react\";\r\n\r\nexport interface SalmonSoftwareCategorySearchBannerType {\r\n searchBannerHandler: (value: string) => void\r\n searchBannerDefaultInputValue?: string\r\n searchBannerImage: PuxMediaSelectorType;\r\n searchBannerContent: PuxWysiwygHtmlBodyType;\r\n}\r\n\r\nconst SalmonSoftwareCategorySearchBanner: FunctionComponent<\r\n SalmonSoftwareCategorySearchBannerType\r\n> = (props) => {\r\n const [inputValue, inputValueSet] = useState(props.searchBannerDefaultInputValue ?? \"\")\r\n\r\n const onChangeHandler = (event: React.ChangeEvent) => {\r\n inputValueSet(event.currentTarget.value ?? \"\")\r\n }\r\n\r\n const onSubmitHandler = (event: React.FormEvent) => {\r\n event.preventDefault()\r\n props.searchBannerHandler(inputValue)\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
onSubmitHandler(event)}>\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SalmonSoftwareCategorySearchBanner;\r\n","import React, { FunctionComponent } from 'react'\r\nimport { BreadcrumbJson } from '../components/core/Breadcrumbs'\r\n\r\ninterface PuxStructuredDataType {\r\n structuredData: StructuredDataType\r\n}\r\n\r\ntype StructuredDataType = Record | BreadcrumbJson\r\n\r\nconst PuxStructuredData: FunctionComponent = (props) => {\r\n const getStructuredData = (data: StructuredDataType): string => {\r\n return JSON.stringify(data)\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport default PuxStructuredData\r\n","import { Link } from 'gatsby'\r\nimport React, { FunctionComponent } from 'react'\r\nimport { getDomainByCulture } from '../../utils/getHreflangsForHelmet'\r\nimport { getFromConfig, getLocalizedUrl } from '../../utils/localeURL'\r\nimport PuxStructuredData from '../../utils/PuxStructuredData'\r\nimport { WidgetData } from '../builders/WidgetBuilder'\r\n\r\nconst localizedHomepageUrl = `/${getFromConfig(\r\n process.env.LOCALE ?? `en`,\r\n `urlPrefix`,\r\n process.env.PROJECT ?? `SalmonSoftwareGatsby`\r\n)}`\r\n\r\nconst activeIsoCode = getFromConfig(\r\n process.env.LOCALE ?? `en`,\r\n `isoCode`,\r\n process.env.PROJECT ?? `SalmonSoftwareGatsby`\r\n)\r\n\r\nexport interface BreadcrumbsType {\r\n items: [BreadcrumbItem]\r\n showOverWidget?: boolean\r\n showAll?: boolean\r\n}\r\n\r\nexport interface BreadcrumbItem {\r\n displayText: string\r\n path: string\r\n}\r\n\r\nexport interface BreadcrumbJson {\r\n '@context': string\r\n '@type': string\r\n itemListElement: BreadcrumbJsonItem[]\r\n}\r\n\r\ninterface BreadcrumbJsonItem {\r\n '@type': string\r\n position: number\r\n name: string\r\n item: string\r\n}\r\n\r\nexport function breadcrumbsOnTopImage(widgetDataArray: [WidgetData]): boolean {\r\n const foundTopImage: boolean[] = []\r\n widgetDataArray?.map((widgetData, index) => {\r\n if ((widgetData?.contentType === `SalmonSoftwareTopImageContainer` || widgetData?.contentType === `SalmonSoftwareVideoBanner` || widgetData?.contentType === `SalmonSoftwareHeroVideo`) && index === 0) {\r\n return foundTopImage.push(true)\r\n }\r\n if (widgetData?.contentType === `PuxSection` && index === 0) {\r\n widgetData.flow?.widgets.map((w, i) => {\r\n if ((w.contentType === `SalmonSoftwareTopImageContainer` || w.contentType === `SalmonSoftwareVideoBanner` || w.contentType === `SalmonSoftwareHeroVideo`) && i === 0) {\r\n return foundTopImage.push(true)\r\n }\r\n return foundTopImage.push(false)\r\n })\r\n }\r\n return foundTopImage.push(false)\r\n })\r\n\r\n return foundTopImage.includes(true)\r\n}\r\n\r\nfunction getBreadcrumbsJson(items: [BreadcrumbItem]) {\r\n const json: BreadcrumbJson = {\r\n '@context': `https://schema.org`,\r\n '@type': `BreadcrumbList`,\r\n itemListElement: [],\r\n }\r\n\r\n items?.map((item, index) => {\r\n const localizedPath = getLocalizedUrl(item.path)\r\n const domain = getDomainByCulture(activeIsoCode)\r\n const finalPath = localizedPath.startsWith(`http`)\r\n ? localizedPath\r\n : domain + localizedPath\r\n\r\n const jsonItem: BreadcrumbJsonItem = {\r\n '@type': `ListItem`,\r\n position: index + 1,\r\n name: item.displayText,\r\n item: finalPath,\r\n }\r\n json.itemListElement.push(jsonItem)\r\n })\r\n\r\n return json\r\n}\r\n\r\nconst Breadcrumbs: FunctionComponent = (props) => {\r\n const { items, showAll, showOverWidget } = props\r\n\r\n const home = (\r\n \r\n \r\n Homepage\r\n \r\n \r\n )\r\n\r\n const buildBreadcrumbs = (items: [BreadcrumbItem]) => (\r\n
\r\n \r\n
\r\n
\r\n {home}\r\n {items?.map((item, index) => {\r\n return (\r\n \r\n \r\n {item.displayText}\r\n \r\n \r\n )\r\n })}\r\n
\r\n
\r\n
\r\n )\r\n\r\n if (items && items.length > 0) {\r\n return buildBreadcrumbs(items)\r\n } else if (showAll) {\r\n return buildBreadcrumbs(items)\r\n } else {\r\n return null\r\n }\r\n}\r\n\r\nexport default Breadcrumbs\r\n","import \"./SalmonSoftwareCategory.scss\";\r\n\r\nimport React, { FunctionComponent } from \"react\";\r\nimport Layout from \"../../components/core/Layout\";\r\nimport WidgetBuilder from \"../../components/builders/WidgetBuilder\";\r\nimport SalmonSoftwareCategorySearchBanner from \"../../components/contentTypes/SalmonSoftwareCategorySearchBanner/SalmonSoftwareCategorySearchBanner\";\r\nimport Breadcrumbs from \"../../components/core/Breadcrumbs\";\r\nimport { HeadProps } from \"gatsby\";\r\nimport { IPageContext } from \"Root/src/utils/data/buildTypedPage\";\r\nimport PuxMetaTagsGatsby from \"Root/src/utils/PuxMetaTagsGatsby\";\r\nimport { CategoryPageType, SalmonSoftwareCategoryType } from \"Root/src/queries/page-queries\";\r\n\r\nconst hasSearchBanner = (categoryData: CategoryPageType): boolean => {\r\n if (categoryData.categoryContent?.html && categoryData.categoryImage?.mediaSelectorImage?.resizePaths[0]) {\r\n return true\r\n }\r\n\r\n return false\r\n}\r\n\r\nconst SalmonSoftwareCategory: FunctionComponent = ({\r\n data,\r\n pageContext,\r\n}) => {\r\n const category = pageContext.pageData;\r\n const headerData = pageContext.headerData\r\n const footerData = pageContext.footerData\r\n\r\n const searchBannerHandler = (value: string) => {\r\n if (typeof document !== undefined) {\r\n const url = new URL(location.href)\r\n url.searchParams.delete(\"searchTerm\")\r\n url.searchParams.set(\"searchTerm\", value)\r\n\r\n location.href = url.origin + \"/search-results/\" + url.search\r\n }\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n {hasSearchBanner(category) && (\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SalmonSoftwareCategory;\r\n\r\nexport function Head(props: HeadProps>) {\r\n const pageData = props.pageContext.pageData\r\n const metaTags = props.pageContext.metaTags\r\n\r\n return \r\n}\r\n"],"names":["props","inputValue","inputValueSet","useState","searchBannerDefaultInputValue","React","className","PuxMediaSelector","searchBannerImage","PuxWysiwyg","content","searchBannerContent","onSubmit","event","preventDefault","searchBannerHandler","onSubmitHandler","type","value","onChange","currentTarget","placeholder","dangerouslySetInnerHTML","__html","data","structuredData","JSON","stringify","localizedHomepageUrl","getFromConfig","process","activeIsoCode","breadcrumbsOnTopImage","widgetDataArray","foundTopImage","map","widgetData","index","contentType","push","flow","widgets","w","i","includes","getBreadcrumbsJson","items","json","itemListElement","item","localizedPath","getLocalizedUrl","path","domain","getDomainByCulture","finalPath","startsWith","jsonItem","position","name","displayText","showAll","showOverWidget","home","Link","to","key","buildBreadcrumbs","PuxStructuredData","length","hasSearchBanner","categoryData","categoryContent","html","categoryImage","mediaSelectorImage","resizePaths","Head","pageData","pageContext","metaTags","PuxMetaTagsGatsby","localizedPaths","localization","localizations","SalmonSoftwareCategory","category","headerData","footerData","Layout","Breadcrumbs","breadcrumbs","SalmonSoftwareCategorySearchBanner","undefined","document","url","URL","location","href","searchParams","delete","set","origin","search","WidgetBuilder","widgetBuilderData"],"sourceRoot":""}