{"version":3,"file":"component---src-templates-blog-index-blog-index-template-tsx-4396af510d1dcd492c4c.js","mappings":"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","sources":["webpack://gatsby-tinacms/./src/utils/use.site.settings.ts","webpack://gatsby-tinacms/./src/utils/toTinaMarkdown.ts","webpack://gatsby-tinacms/./src/templates/blog/index/blog.index.template.tsx","webpack://gatsby-tinacms/./src/templates/blog/index/blog.index.head.tsx","webpack://gatsby-tinacms/./src/templates/blog/index/blog.index.render.tsx","webpack://gatsby-tinacms/./src/utils/seo/open.graph.tsx","webpack://gatsby-tinacms/./src/utils/seo/faq.schema.tsx","webpack://gatsby-tinacms/./src/utils/seo/how-to.schema.tsx","webpack://gatsby-tinacms/./src/utils/seo/org.schema.tsx","webpack://gatsby-tinacms/./src/utils/seo/breadcrumbs.tsx","webpack://gatsby-tinacms/./src/utils/seo/seo.tsx","webpack://gatsby-tinacms/./src/components/head/head.tsx"],"sourcesContent":["import { graphql, useStaticQuery } from \"gatsby\";\n\ntype SiteSettingsModel = {\n name: string;\n legalName: string;\n baseUrl: string;\n logo: {\n src: string;\n alt: string\n width: number;\n height: number;\n };\n description: string;\n phone: string;\n email: string;\n image: string;\n foundingDate: number;\n founders: Array<{\n name: string;\n occupation: string;\n socialLink: string;\n }>\n businessAddress: {\n street: string;\n city: string;\n state: string;\n zip: string;\n };\n rating: {\n value: string;\n outOf: string;\n reviews: string;\n };\n socialLinks: string;\n gtmId: string;\n fbAppId: string;\n twitterAuthor: string;\n};\n\nexport const useSiteSettings = () => {\n const { site } = useStaticQuery<{\n site: SiteSettingsModel\n }>(siteSettingsQuery);\n\n return site;\n};\n\nconst siteSettingsQuery = graphql`\n query {\n site: siteJson {\n name\n legalName\n baseUrl\n logo {\n src\n alt\n width\n height\n }\n description\n phone\n email\n image\n foundingDate\n founders {\n name\n occupation\n socialLink\n }\n businessAddress {\n street\n city\n state\n zip\n }\n rating {\n value\n outOf\n reviews\n }\n socialLinks\n gtmId\n fbAppId\n twitterAuthor\n }\n }\n`;","import type { TinaMarkdownContent } from 'tinacms/dist/rich-text';\n\n//(.*)(?:<([^<>\\s]+)\\s{0,1}(.+)=[{\"](.+)[\"}]\\s{0,1}\\/>)(.*)\n\nexport const toTinaMarkdown = (value: string): TinaMarkdownContent | any => {\n const parts = value.match(/[^<>]+/g); \n\n return {\n type: 'root',\n children: parts ? parts.map(match => {\n \n if ( match.match(/CurrentYear/) ) {\n const [component, ...props] = match.split(/\\s/g);\n \n const p: { [key: string]: string } = {};\n\n props.forEach(prop => {\n const propParts = /([a-zA-Z]+)=[{\"'](.+)['\"}]/.exec(prop);\n if ( propParts ) {\n const [_, _prop, _value] = propParts;\n p[_prop] = _value;\n }\n });\n\n return {\n type: 'mdxJsxFlowElement',\n name: component,\n props: p,\n children: [{type: 'text', text: ''}]\n }\n }\n\n return {\n type: 'text',\n text: match || ''\n }\n }) : [{ type: 'text', text: '' }]\n }\n};","import React from 'react';\nimport { PageProps, graphql } from 'gatsby';\n\n// Utils\nimport { useTinaEditor } from '@brz-utils/tina';\n\n// Components\nimport BlogPageRender from './blog.index.render';\nimport { BlogIndexPageHead } from './blog.index.head';\n\n// Types\nimport { PageModels } from '@brz-types/page.models';\nimport { LatestDataModel, PageDataModel, PostsDataModel } from './types';\nimport { ContextType } from '@brz-utils/create.pages/gatsby.page.context.types';\n\n\ntype QueryDataModel = \n PageModels.DataModel<PageDataModel> &\n LatestDataModel &\n PostsDataModel\n\nconst BlogIndexPageTemplate = (props: PageProps<QueryDataModel, ContextType>) => { \n const tina = props.data.page.tina;\n const latest = props.data.latest.nodes;\n const posts = props.data.posts.nodes;\n \n const { data } = useTinaEditor({\n data: tina.data,\n query: tina.query,\n variables: tina.variables\n }); \n\n return (\n <BlogPageRender \n data={data} \n latest={latest} \n posts={posts} \n pagination={{\n current: props.pageContext.current || 1,\n total: props.pageContext.totalPages || 1,\n posts: props.pageContext.totalPosts || 0,\n limit: props.pageContext.limit || 0\n }} \n />\n );\n};\n\nexport default BlogIndexPageTemplate;\n\n\nexport const PageQuery = graphql`\n query($id: String, $limit: Int, $skip: Int) {\n page: mdx(id: { eq: $id }) {\n tina\n }\n\n latest: allMdx(\n filter: { frontmatter: { component: { eq: \"blog/post\" } } }\n sort: { frontmatter: {publishedDate: DESC} }\n limit: 1\n ) {\n nodes {\n tina(\n queryFilePath: \"src/templates/blog/post/post.preview.tina.query.gql\"\n dataOnly: true\n )\n }\n }\n\n posts: allMdx(\n filter: { frontmatter: { component: { eq: \"blog/post\" } } }\n sort: { frontmatter: { publishedDate: DESC } }\n limit: $limit\n skip: $skip\n ) {\n nodes {\n tina(\n queryFilePath: \"src/templates/blog/post/post.preview.tina.query.gql\"\n dataOnly: true\n )\n }\n }\n\n\n }\n`;\n\n\nexport const Head = BlogIndexPageHead; ","import React from 'react';\nimport { HeadProps } from 'gatsby';\n\nimport { PageContextProvider } from '@brz-utils/contexts/page.context';\nimport { Head } from '@brz-components/head/head';\nimport { PageDataModel } from './types';\nimport { PageModels } from '@brz-types/page.models';\nimport { OpenGraphSchema } from '@brz-utils/seo/open.graph';\n\n\nexport const BlogIndexPageHead = (props: HeadProps<PageModels.DataModel<PageDataModel>>) => {\n const { data } = props.data.page.tina;\n\n return <>\n <PageContextProvider pageSettings={data.node.settings} head>\n <Head />\n\n <OpenGraphSchema />\n </PageContextProvider>\n </>\n};","import React from 'react';\n\nimport { useClass } from '@breezerr';\nimport { usePage } from '@brz-utils/contexts/page.context';\nimport { LatestDataModel, PostsDataModel, PageDataModel } from './types';\nimport { PageContentRenderer } from '@brz-utils/page.content.renderer';\nimport { Button, ButtonBase, MenuItem, Pagination, PaginationItem } from '@mui/material';\nimport { TextLink } from '@brz-components/elements/text.link';\nimport { useBreakpoint } from '@brz-utils/contexts/is.breakpoint';\nimport { DropDownButton } from '@brz-components/elements/dropdown.button';\nimport { Uppercase } from '@brz-components/elements/uppercase';\nimport { TinaMarkdown } from 'tinacms/dist/rich-text';\nimport { RichCurrentYear } from '@brz-components/elements/rich.current.year';\nimport { filterTinaMarkdownContentParagraphs } from '@brz-utils/tina/filter.paragraphs';\nimport { Img } from '@brz-components/elements/img';\nimport { dateFormat } from '@brz-utils/date.format';\nimport { newLinesToBreaks } from '@brz-utils/newlines.to.breaks';\nimport { PostPreview } from '@brz-components/elements/post.preview';\n\n\ntype Props = {\n data: PageDataModel;\n latest?: LatestDataModel['latest']['nodes'];\n posts?: PostsDataModel['posts']['nodes'];\n pagination?: {\n current: number;\n total: number;\n posts: number;\n limit: number;\n }\n};\n\nconst BlogPageRender = (props: Props) => {\n\n return (\n <PageContentRenderer settings={props.data.node.settings}>\n <Content {...props} />\n </PageContentRenderer>\n );\n};\n\nexport default BlogPageRender;\n\n\n\n/**\n * A wrapper function to render page content and be able to use PageContext\n */\nfunction Content(props: Props) {\n const { data, latest, posts } = props;\n \n const { page: settings } = usePage();\n const { isMobile } = useBreakpoint();\n\n const pagination = {\n limit: 0,\n posts: 0,\n current: 1,\n total: 1,\n ...props.pagination\n }\n \n\n return (\n <div className={useClass(`container d-grid grid-cols-1 lg:grid-cols-12 gap-x-3rem pt-${settings._computed.topHeight() / 10}rem mt-2rem lg:mt-9rem`)}>\n\n\n {/* \n \n Header\n \n */}\n <section className={useClass('col-span-full d-flex justify-content-between mb-4rem lg:mb-7rem')}>\n <div className={useClass('d-flex')}>\n <h1 className={`h3 ${useClass(`${pagination.current === 1 ? '' : 'underline'}`)}`}>\n <TextLink href={data.node.settings.seo.url}>{ data.node.heading }</TextLink>\n </h1>\n {pagination.current !== 1 ? (\n <div className={`h3 ${useClass('d-none md:d-block text-400! ml-1rem text-color-primary:400')}`}>/ Page {pagination.current}</div>\n ) : null}\n </div>\n\n <div className={useClass('justify-content-end align-items-center')}>\n <DropDownButton\n label={`Categories`}\n DropDownProps={{\n align: 'right',\n className: useClass('min-w-15rem')\n }}\n ButtonProps={{\n size: 'small',\n variant: 'contained',\n color: 'inherit',\n className: useClass('d-flex lg:d-none')\n }}\n >\n {/* {props.pagination?.current !== 1 ? (\n <MenuItem href={data.node.settings.seo.url} component={TextLink}>All</MenuItem>\n ) : null} */}\n {data.node.categories?.map((category, index) => {\n return category.ref ? (\n <MenuItem key={index} href={category.ref.settings.seo.url} component={TextLink}>{category.ref.name}</MenuItem>\n ) : null;\n })}\n </DropDownButton>\n\n <div className={useClass('d-none lg:d-flex -mr-1.5rem')}>\n {/* {props.pagination?.current !== 1 ? (\n <Button\n className={useClass('mx-0.3rem')}\n component={TextLink}\n href={data.node.settings.seo.url}\n variant=\"text\"\n color=\"inherit\"\n size=\"small\"\n >All</Button>\n ) : null} */}\n\n {data.node.categories?.map((category, index) => {\n return category.ref ? (\n <Button\n className={useClass('mx-0.3rem')}\n key={index}\n component={TextLink}\n href={category.ref.settings.seo.url}\n variant=\"text\"\n color=\"inherit\"\n size=\"small\"\n >{ category.ref.name }</Button>\n ) : null;\n })\n }</div>\n </div>\n </section>\n\n\n\n\n\n {/* \n \n Latest\n \n */}\n {props.pagination?.current === 1 ? (\n <section className={useClass('col-span-full')}>\n <Uppercase className={useClass('mb-3rem lg:mb-4.5rem')}>The Latest</Uppercase>\n \n {latest?.map((node, index) => {\n const post = node?.tina?.data?.node;\n\n return post ? (\n <article key={index} className={useClass('d-grid grid-cols-1 lg:grid-cols-2 lg:gap-x-3rem')}>\n\n\n <div className={useClass('border-box lg:pr-10rem d-flex flex-column align-items-start lg:py-3rem order-2 lg:order-1')}>\n <h2 className={useClass('mb-3rem lg:mb-4rem')}>\n <TextLink href={post.settings.seo.url}>\n <TinaMarkdown \n content={filterTinaMarkdownContentParagraphs(post.headingRich)}\n components={{ CurrentYear: RichCurrentYear }}\n />\n </TextLink>\n </h2>\n\n <div className={useClass('d-flex justify-content-between mb-3rem lg:mb-4rem w-100%')}>\n {post.author ? (\n <ButtonBase \n className={useClass(`d-flex py-0.2rem pl-2.5rem xs:pl-0.4rem pr-2.5rem text-left radius-3rem -ml-2.5rem xs:-ml-0.5rem`)}\n component={TextLink}\n href={post.author.settings.seo.url}\n >\n <div className={useClass('d-none xs:d-block w-4rem h-4rem lg:w-4.2rem lg:h-4.2rem bg-color-grey:200 radius-100% mr-1rem')}>\n {post.author.avatar ? (\n <Img className={useClass('radius-100% w-100% h-100%')} src={post.author.avatar} width={50} height={50} gravity='center' />\n ) : (null)}\n </div>\n <div className={useClass('mb-0.2rem')}>\n <small className={useClass('')}>\n Last updated { new Date(post.updatedDate).toLocaleString('en-US', dateFormat) }\n </small>\n <div className={useClass('text-700')}>{ post.author.name }</div>\n </div>\n </ButtonBase>\n ) : null}\n\n {post.readtime ? (<div className={useClass('d-flex')}>\n <svg className={useClass('mt-0.6rem')} xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <g transform=\"translate(-324 -524)\">\n <g transform=\"translate(324 524)\" fill=\"#fff\" stroke=\"#969db1\" strokeWidth=\"2\">\n <circle cx=\"8\" cy=\"8\" r=\"8\" stroke=\"none\"/>\n <circle cx=\"8\" cy=\"8\" r=\"7\" fill=\"none\"/>\n </g>\n <g transform=\"translate(331.651 529.565)\">\n <path d=\"M-14908.191-1473.605v-3.478\" transform=\"translate(14908.191 1477.083)\" fill=\"none\" stroke=\"#969db1\" strokeLinecap=\"round\" strokeWidth=\"2\"/>\n <path d=\"M-14906.254-1474.033h2.783\" transform=\"translate(14906.254 1477.511)\" fill=\"none\" stroke=\"#969db1\" strokeLinecap=\"round\" strokeWidth=\"2\"/>\n </g>\n </g>\n </svg>\n <div className={useClass('ml-1rem')}>\n <small className={useClass('d-block mt-0.5rem')}>Read time</small>\n <div className={useClass('text-700 -mt-0.1rem')}>{ `${Math.round(post.readtime.minutes || 6)} min${Math.round(post.readtime.minutes || 6) === 1 ? '' : 's'}` }</div>\n </div>\n </div>) : null}\n </div>\n\n <div className={useClass('mb-2rem lg:mb-4rem')} dangerouslySetInnerHTML={{ __html: newLinesToBreaks(post.excerptText) }} />\n\n {post.category ? (\n <Button\n className={useClass('mt-auto max-h-2rem! text-size-1.2rem! px-1rem!')}\n size=\"small\"\n variant=\"contained\"\n color=\"inherit\"\n href={post.category.settings.seo.url}\n >{ post.category.name }</Button>\n ) : null}\n </div>\n\n <TextLink \n href={post.settings.seo.url} \n className={\n useClass('p-relative d-flex align-items-center justify-content-center mb-3rem lg:mb-0x order-1 lg:order-2')\n }>\n <Img \n className={useClass('radius-2rem w-100% h-100%')} \n src={post.cover || post.thumbnail} \n width={590 * 1.5} \n loading='eager'\n style={{ objectFit: 'cover' }}\n />\n </TextLink>\n </article>\n ) : null;\n })}\n </section>\n ) : null}\n\n\n\n\n {/* \n \n Popular\n \n */}\n {data.node.popular && props.pagination?.current === 1 ? (\n <section className={useClass('col-span-full d-grid lg:grid-cols-2 lg:gap-x-6rem gap-y-5rem mt-9rem lg:mt-14rem')}>\n\n <Uppercase className={useClass('col-span-full')}>Most Popular</Uppercase>\n\n {data.node.popular.map((post, index) => {\n return (\n <PostPreview \n key={index} \n data={post.ref} \n ImageProps={{\n width: 590,\n }}\n />\n );\n })}\n\n </section>\n ) : null}\n\n\n \n\n\n\n\n {/* \n \n All Posts\n \n */}\n {posts ? (\n <section \n className={\n useClass(`col-span-full d-grid lg:grid-cols-3 lg:gap-x-6rem gap-y-5rem ${props.pagination?.current === 1 ? 'mt-9rem lg:mt-14rem' : ''} mb-6rem lg:mb-14rem`)\n }\n >\n {props.pagination?.current === 1 ? (\n <Uppercase className={useClass('col-span-full')}>All Posts</Uppercase>\n ) : (\n <Uppercase className={useClass('col-span-full')}>\n Showing {pagination.limit * (pagination.current - 1) + 1} — {pagination.limit * (pagination.current)} out of {pagination.posts} articles\n </Uppercase>\n )}\n\n {posts.map((post, index) => {\n return (\n <PostPreview \n key={index} \n data={post.tina.data.node} \n ImageProps={{\n width: 590,\n }}\n />\n );\n })}\n\n </section>\n ) : null}\n\n\n\n <div className={useClass('col-span-full d-flex justify-content-center')}>\n <Pagination \n className={useClass('col-span-12 d-flex justify-content-center')} \n page={pagination?.current} \n count={pagination?.total} \n siblingCount={isMobile ? 0 : 1}\n renderItem={(item) => {\n const base = data.node.settings.seo.url.replace(/[\\/\\d]+/, '');\n const to = (item.page || 1) > 1 ? `${item.page}/` : '';\n\n return <PaginationItem\n component={item.page && item.page <= pagination.total ? TextLink : 'button'}\n href={`/${base}${to}`}\n {...item}\n />\n }}\n />\n </div>\n\n\n\n {/* Header */}\n {/* <div className={useClass('container')}>\n <pre>{JSON.stringify(data, null, ' ')}</pre>\n </div> */}\n </div>\n );\n}","import React from \"react\";\nimport { renderToStaticMarkup } from 'react-dom/server';\n\nimport { env } from \"@brz-env\";\nimport getAlt from '@brz-shared/img/alt';\nimport { usePage } from \"@brz-utils/contexts/page.context\";\nimport { useSiteSettings } from \"@brz-utils/use.site.settings\";\nimport { toTinaMarkdown } from \"@brz-utils/toTinaMarkdown\";\n\nimport { TinaMarkdown } from 'tinacms/dist/rich-text';\nimport { RichCurrentYear } from \"@brz-components/elements/rich.current.year\";\n\n\nconst TESTING = false;\n\n\ntype PropsType = {\n pageType?: 'article' | 'profile' | 'website';\n cover?: string;\n thumbnail?: string;\n author?: {\n name: string;\n settings: { seo: { url: string } }\n } | null;\n publishedDate?: string;\n updatedDate?: string;\n};\n\nexport const OpenGraphSchema = (props: PropsType) => {\n const site = useSiteSettings();\n const { page, template } = usePage();\n\n const title = renderToStaticMarkup(<TinaMarkdown \n content={toTinaMarkdown(page.seo.title)} \n components={{\n CurrentYear: RichCurrentYear\n }}\n />)\n\n const metas: Array<{ property?: string; name?: string; content: string; }> = [\n {\n property: `og:site_name`,\n content: site.name\n }, {\n property: `og:title`,\n content: title\n }, {\n property: `og:description`,\n content: page.seo.description || ''\n }, {\n property: `og:locale`,\n content: `en_US`\n }, {\n property: `og:url`,\n content: `${TESTING ? 'https://brz-web-tina-cms-qa.azurewebsites.net/' : env.DEPLOYED_HOST}${page.seo.url}`\n },\n ];\n\n // Twitter Meta\n metas.push(\n {\n name: `twitter:card`,\n content: `summary_large_image`\n },\n {\n name: `twitter:creator`,\n content: site.twitterAuthor\n },\n {\n name: 'twitter:site',\n content: site.twitterAuthor\n },\n {\n name: `twitter:title`,\n content: title\n },\n {\n name: `twitter:description`,\n content: page.seo.description || ''\n }\n );\n\n if (props.cover || props.thumbnail || page.seo.image || site.image) {\n metas.push({\n property: `og:image`,\n content: props.cover || props.thumbnail || page.seo.image || site.image\n }, {\n property: `og:image:alt`,\n content: getAlt( props.cover || props.thumbnail || page.seo.image || site.image )\n }, {\n property: `twitter:image`,\n content: props.cover || props.thumbnail || page.seo.image || site.image\n }, {\n property: `twitter:image:alt`,\n content: getAlt( props.cover || props.thumbnail || page.seo.image || site.image )\n });\n }\n\n if( site.fbAppId ) {\n metas.push({\n property: `fb:app_id`,\n content: site.fbAppId\n });\n }\n\n\n metas.push({\n property: `og:type`,\n content: props.pageType || 'website'\n });\n\n\n /**\n * If Article\n */\n if ( props.pageType === 'article' && props.author ) {\n metas.push({\n property: 'article:author',\n content: props.author.name\n }, {\n property: 'author',\n content: props.author.name\n });\n\n if ( props.publishedDate ) {\n metas.push({\n property: 'article:published_time',\n content: props.publishedDate\n }, {\n property: 'published_time',\n content: props.publishedDate\n });\n }\n }\n\n\n /**\n * If Author / Profile\n */\n if ( props.pageType === 'profile' && props.author ) {\n metas.push({\n property: 'profile:first_name',\n content: props.author.name.split(' ')?.[0]\n }, {\n property: 'profile:last_name',\n content: props.author.name.split(' ')?.[0]\n });\n }\n\n\n return metas.map((meta, index) => {\n return <meta key={index} {...meta} />\n })\n};","import React from \"react\";\nimport { usePage } from \"@brz-utils/contexts/page.context\";\n\n\n\nexport const FAQSchema = () => {\n const { page, template } = usePage();\n\n if (page.seo.faq?.disable || template.disable?.faqSchema || !page.seo.faq?.items?.length) return null;\n\n const jsonObj = {\n \"@context\": \"https://schema.org\",\n \"@type\": \"FAQPage\",\n \"name\": page.seo.faq.name,\n \"mainEntity\": page.seo.faq.items.map((item) => {\n return {\n \"@type\": \"Question\",\n \"name\": item.q,\n \"acceptedAnswer\": {\n \"@type\": \"Answer\",\n \"text\": item.a\n }\n }\n })\n };\n\n return (\n <script id=\"faq-schema\" type=\"application/ld+json\" dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonObj, null, ' ') }} />\n );\n};","import React from \"react\";\nimport { usePage } from \"@brz-utils/contexts/page.context\";\n\n\n\nexport const HowToSchema = () => {\n const { page, template } = usePage();\n\n if (page.seo.howTo?.disable || template.disable?.howToSchema || !page.seo.howTo?.steps?.length) return null;\n\n const jsonObj = {\n \"@context\": \"https://schema.org\",\n \"@type\": \"HowTo\",\n \"name\": page.seo.howTo.name,\n \"description\": page.seo.howTo.description,\n ...(page.seo.howTo.image?.src ? {\n \"image\": {\n \"@type\": \"ImageObject\",\n \"url\": page.seo.howTo.image.src,\n \"width\": page.seo.howTo.image.width,\n \"height\": page.seo.howTo.image.height\n }\n } : {}),\n \"step\": page.seo.howTo.steps.map((step) => {\n return {\n \"@type\": \"HowToStep\",\n \"name\": step.name,\n \"url\": step.url,\n \"text\": step.text\n }\n })\n };\n\n return (\n <script id=\"how-to-schema\" type=\"application/ld+json\" dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonObj, null, ' ') }} />\n );\n};","import React from \"react\";\nimport { useSiteSettings } from \"@brz-utils/use.site.settings\";\nimport { usePage } from \"@brz-utils/contexts/page.context\";\n\n\n\nexport const OrgSchema = () => {\n const site = useSiteSettings();\n const { page, template } = usePage();\n\n if (template.disable?.orgSchema || page.seo.org?.disable) return null;\n\n const jsonObj = {\n \"@context\": \"https://schema.org\",\n \"@type\": \"Organization\",\n \"name\": site.name,\n \"legalName\": site.legalName,\n \"areaServed\": \"United States\",\n \"url\": site.baseUrl,\n \"logo\": {\n \"@type\": \"ImageObject\",\n \"url\": site.logo.src,\n \"width\": site.logo.width,\n \"height\": site.logo.height\n },\n \"knowsAbout\": \"Insurance\",\n \"foundingDate\": site.foundingDate,\n ...(site.founders?.length ? {\n \"founder\": site.founders?.map(person => {\n return {\n \"@type\": \"Person\",\n \"name\": person.name,\n \"sameAs\": person.socialLink,\n \"jobTitle\": person.occupation,\n \"worksFor\": site.name\n }\n })\n } : {}),\n \"aggregateRating\": {\n \"@type\": \"AggregateRating\",\n \"ratingValue\": site.rating.value,\n \"bestRating\": site.rating.outOf,\n \"reviewCount\": site.rating.reviews\n },\n \"address\": {\n \"@type\": \"PostalAddress\",\n \"streetAddress\": site.businessAddress.street,\n \"addressLocality\": site.businessAddress.city,\n \"addressRegion\": site.businessAddress.state,\n \"postalCode\": site.businessAddress.zip,\n \"addressCountry\": \"USA\"\n },\n \"contactPoint\": {\n \"@type\": \"ContactPoint\",\n \"contactType\": \"Licensed Advisor\",\n \"telephone\": `[1 ${site.phone}]`,\n \"email\": site.email\n },\n \"sameAs\": site.socialLinks\n };\n\n return (\n <script id=\"org-schema\" type=\"application/ld+json\" dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonObj, null, ' ') }} />\n );\n};","import React from \"react\";\nimport { usePage } from \"@brz-utils/contexts/page.context\";\nimport { useSiteSettings } from \"@brz-utils/use.site.settings\";\n\n\n\nexport const BreadcrumbsSchema = () => {\n const { page, template } = usePage();\n const { baseUrl } = useSiteSettings(); \n\n if (!page.sitemap?.breadcrumbs?.length) return null;\n\n const jsonObj = {\n \"@context\": \"http://schema.org\",\n \"@type\": \"BreadcrumbList\",\n \"itemListElement\": page.sitemap.breadcrumbs.map((item, index) => {\n return {\n \"@type\": \"ListItem\",\n \"position\": index + 1,\n \"item\": {\n \"@id\": createBreadcrumbURL(item.link, baseUrl),\n \"name\": item.label,\n }\n };\n })\n };\n\n function createBreadcrumbURL(path: String, base:String): String {\n /* \n * Remove the slash at the begining of the path if exists,\n * than add it with base_url to make sure the complete URL is correct if the slash was omitted in the breadcrumb settings\n */\n const _path = path.replace(/^\\/+/, '');\n //adding slash here ↴\n return `${base}/${_path}`;\n }\n\n return (\n <script id=\"how-to-schema\" type=\"application/ld+json\" dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonObj, null, ' ') }} />\n );\n};","import React from 'react';\n\nimport { usePage } from '@brz-utils/contexts/page.context';\nimport { FAQSchema } from './faq.schema';\nimport { HowToSchema } from './how-to.schema';\nimport { OrgSchema } from './org.schema';\nimport { BreadcrumbsSchema } from './breadcrumbs';\n\n\n\nexport const SEO = () => {\n const { page, template } = usePage();\n\n return <>\n {/* No Index if excluded from sitemap */}\n {page.sitemap?.exclude ? (\n <meta name=\"robots\" content=\"noindex\" />\n ) : null}\n\n {/* Schemas */}\n {page.seo?.org?.disable || template?.disable?.orgSchema ? null : <OrgSchema />}\n {page.seo?.faq?.disable || template?.disable?.faqSchema ? null : <FAQSchema />}\n {page.seo?.howTo?.disable || template?.disable?.howToSchema ? null : <HowToSchema />}\n {page.sitemap?.breadcrumbs?.length ? <BreadcrumbsSchema /> : null}\n \n \n \n </>\n};\n\n","import React from 'react';\n\nimport { usePage } from '@brz-utils/contexts/page.context';\nimport { SEO } from '@brz-utils/seo/seo';\nimport { useSiteSettings } from '@brz-utils/use.site.settings';\nimport { TinaMarkdown } from 'tinacms/dist/rich-text';\nimport { toTinaMarkdown } from '@brz-utils/toTinaMarkdown';\nimport { RichCurrentYear } from '@brz-components/elements/rich.current.year';\n\nexport const Head = () => {\n const { page } = usePage();\n const site = useSiteSettings();\n\n // const [className, setClassName] = React.useState('wf-inactive');\n\n // React.useEffect(() => {\n // setInterval(() => {\n // setClassName((prev) => {\n // return prev ? '' : 'wf-inactive'\n // })\n // }, 1000);\n // }, [])\n \n return <>\n {/* <html className={className} /> */}\n\n {page.seo?.title ? (\n <title>\n <TinaMarkdown \n content={toTinaMarkdown(page.seo.title)} \n components={{\n 'CurrentYear': RichCurrentYear\n }}\n />\n {` | ${site.name}`}\n </title>\n ) : null}\n \n {page.seo?.description ? (\n <meta name=\"description\" content={page.seo.description} />\n ) : null}\n <meta name=\"viewport\" content=\"initial-scale=1, width=device-width\" />\n\n {/* Web Manifest */}\n <link rel=\"manifest\" href=\"/.webmanifest\" crossOrigin=\"use-credentials\" />\n {/* Favicon */}\n <link rel=\"icon\" type=\"image/png\" href=\"/favicons/16x16.png\" />\n {/* Sitemap */}\n <link rel=\"sitemap\" type=\"application/xml\" title=\"Sitemap\" href=\"/sitemap-index.xml\" />\n\n <SEO />\n </>\n};"],"names":["useSiteSettings","site","useStaticQuery","siteSettingsQuery","toTinaMarkdown","value","parts","match","type","children","map","component","props","split","p","forEach","prop","propParts","exec","_","_prop","_value","name","text","tina","data","page","latest","nodes","posts","useTinaEditor","query","variables","React","BlogPageRender","pagination","current","pageContext","total","totalPages","totalPosts","limit","Head","PageContextProvider","pageSettings","node","settings","head","OpenGraphSchema","Content","_data$node$categories","_data$node$categories2","_props$pagination","_props$pagination2","_props$pagination3","_props$pagination4","usePage","isMobile","useBreakpoint","className","useClass","_computed","topHeight","TextLink","href","seo","url","heading","DropDownButton","label","DropDownProps","align","ButtonProps","size","variant","color","categories","category","index","ref","MenuItem","key","Button","Uppercase","_node$tina","_node$tina$data","post","TinaMarkdown","content","filterTinaMarkdownContentParagraphs","headingRich","components","CurrentYear","RichCurrentYear","author","ButtonBase","avatar","Img","src","width","height","gravity","Date","updatedDate","toLocaleString","dateFormat","readtime","xmlns","viewBox","transform","fill","stroke","strokeWidth","cx","cy","r","d","strokeLinecap","Math","round","minutes","dangerouslySetInnerHTML","__html","newLinesToBreaks","excerptText","cover","thumbnail","loading","style","objectFit","popular","PostPreview","ImageProps","Pagination","count","siblingCount","renderItem","item","base","replace","to","PaginationItem","Object","assign","PageContentRenderer","template","title","renderToStaticMarkup","metas","property","description","env","DEPLOYED_HOST","_props$author$name$sp","_props$author$name$sp2","push","twitterAuthor","image","getAlt","fbAppId","pageType","publishedDate","meta","FAQSchema","_page$seo$faq","_template$disable","_page$seo$faq2","_page$seo$faq2$items","faq","disable","faqSchema","items","length","jsonObj","q","a","id","JSON","stringify","HowToSchema","_page$seo$howTo","_page$seo$howTo2","_page$seo$howTo2$step","_page$seo$howTo$image","howTo","howToSchema","steps","step","OrgSchema","_page$seo$org","_site$founders","_site$founders2","orgSchema","org","legalName","baseUrl","logo","foundingDate","founders","person","socialLink","occupation","rating","outOf","reviews","businessAddress","street","city","state","zip","phone","email","socialLinks","BreadcrumbsSchema","_page$sitemap","_page$sitemap$breadcr","sitemap","breadcrumbs","createBreadcrumbURL","link","path","SEO","_page$seo","_page$seo2","_page$seo2$faq","_template$disable2","_page$seo3","_page$seo3$howTo","_template$disable3","_page$sitemap2","_page$sitemap2$breadc","exclude","rel","crossOrigin"],"sourceRoot":""}