{"version":3,"file":"static/chunks/pages/products-and-tools-ee552427e89ab501.js","mappings":"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","sources":["webpack://_N_E/?9716","webpack://_N_E/./public/images/roy-morgan-logo.png","webpack://_N_E/./components/breadcrumbs.tsx","webpack://_N_E/./components/common/menu-link-buttons.tsx","webpack://_N_E/./components/full-width-tile.tsx","webpack://_N_E/./public/images/rmr-loader.svg","webpack://_N_E/./components/loader.tsx","webpack://_N_E/./components/page-headers/listing-page-header.tsx","webpack://_N_E/./lib/graphql-fragments/pageMeta.ts","webpack://_N_E/./components/products-and-tools-category-section.tsx","webpack://_N_E/./lib/queries/products-and-tools/getAllProductsAndTools.ts","webpack://_N_E/./pages/products-and-tools/index.tsx","webpack://_N_E/./styles/components/breadcrumbs.module.scss","webpack://_N_E/./styles/components/common/menu-link-buttons.module.scss","webpack://_N_E/./styles/components/full-width-tile.module.scss","webpack://_N_E/./styles/components/loader.module.scss","webpack://_N_E/./styles/components/page-headers/listing-page-header.module.scss","webpack://_N_E/./styles/components/page-templates/products-and-tools.module.scss","webpack://_N_E/./styles/components/products-and-tools-category-section.module.scss","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://_N_E/./node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack://_N_E/./node_modules/react-transition-group/esm/TransitionGroup.js","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/products-and-tools\",\n function () {\n return require(\"private-next-pages/products-and-tools/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/products-and-tools\"])\n });\n }\n ","export default {\"src\":\"/_next/static/media/roy-morgan-logo.01f0bc7f.png\",\"height\":56,\"width\":176,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAQAAAAEwYbDAAAANUlEQVR42mNgqGOwZeBnUGYQYICC/wz9DLwMlgwaDOIMMgzsDAwFDPYMfAyKDPIMygyqDNwAfGAEhM88gaQAAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":3};","import { Breadcrumb } from '../types/breadcrumb';\nimport styles from '../styles/components/breadcrumbs.module.scss';\nimport Link from 'next/link';\n\ninterface Props {\n details: Breadcrumb;\n}\n\nexport default function Breadcrumbs({ details }: Props): JSX.Element | null {\n let parentLinks = getLinks(details.parent);\n\n return (\n
\n {parentLinks.map((link, key) => (\n
\n {link}\n > \n
\n ))}\n
{details.title}
\n
\n );\n}\n\nfunction getLinks(item?: Breadcrumb): Array {\n if (!item) {\n return [getHomeLink()];\n }\n\n let parentLinks = getLinks(item?.parent);\n let parentUrl = parentLinks[parentLinks.length - 1].props.href;\n\n return [\n ...parentLinks,\n \n {item.title}\n ,\n ];\n}\n\nfunction getHomeLink() {\n return Home;\n}\n\nfunction pathJoin(parts: string[], separator: string = '/') {\n parts = parts.map((part, index) => {\n if (index) {\n part = part.replace(new RegExp('^' + separator), '');\n }\n if (index !== parts.length - 1) {\n part = part.replace(new RegExp(separator + '$'), '');\n }\n return part;\n });\n return parts.join(separator);\n}\n","import styles from '../../styles/components/common/menu-link-buttons.module.scss';\nimport type { MenuItem } from '../../types/blocks/menu-item';\n\ninterface Props {\n menuLinks?: Array;\n className?: string | '';\n}\n\nexport default function MenuLinkButtons({\n menuLinks,\n className\n}: Props): JSX.Element {\n \n return (\n
\n {menuLinks && menuLinks.length > 0 ? (\n menuLinks.map(function (menuLink, i) {\n return (\n \n );\n })\n ) : ''}\n
\n );\n}\n","import styles from '../styles/components/full-width-tile.module.scss';\nimport Link from 'next/link';\nimport rmrLogo from '../public/images/roy-morgan-logo.png';\nimport ClickThroughLink from './click-through-link';\nimport type { Image as ImageType } from '../types/blocks/image';\nimport type { Attributes } from '../types/blocks/attributes';\nimport Image from 'next/image';\n\ninterface Props {\n title?: string;\n featuredImage?: {\n node: {\n sourceUrl: string;\n mediaDetails: {\n height: number;\n width: number;\n };\n };\n };\n tileImage?: ImageType;\n slug?: string;\n link_text?: string;\n excerpt?: string;\n attributes?: Attributes;\n tileType?: string;\n image_right?: boolean;\n openInNewTab?: boolean | null;\n showLink?: boolean;\n isButton?: boolean;\n linkPositionTop?: boolean;\n}\n\nexport default function FullWidthTile({\n title,\n featuredImage,\n tileImage,\n slug,\n link_text,\n excerpt,\n attributes,\n tileType,\n image_right,\n openInNewTab,\n showLink = true,\n isButton = false,\n linkPositionTop = false,\n}: Props): JSX.Element {\n let image = rmrLogo;\n\n if (featuredImage?.node?.sourceUrl) {\n image = {\n src: featuredImage?.node?.sourceUrl,\n height: featuredImage?.node?.mediaDetails?.height,\n width: featuredImage?.node?.mediaDetails?.width,\n };\n } else if (tileImage?.sourceUrl) {\n image = {\n src: tileImage?.sourceUrl,\n height: parseInt(tileImage?.mediaDetails?.height),\n width: parseInt(tileImage?.mediaDetails?.width),\n };\n }\n\n return (\n \n {!image_right && (\n
\n \n \n \n
\n )}\n\n
\n {tileType &&
{tileType}
}\n
\n \n

{title}

\n \n {linkPositionTop && showLink && (\n
\n \n
\n )}\n
\n \n {!linkPositionTop && showLink && (\n
\n \n
\n )}\n
\n\n {image_right && (\n
\n \n \n \n
\n )}\n \n );\n}\n","export default {\"src\":\"/_next/static/media/rmr-loader.f55d834a.svg\",\"height\":204,\"width\":204};","import styles from '../styles/components/loader.module.scss';\nimport Image from 'next/image';\nimport classNames from 'classnames';\nimport rmrLoader from '../public/images/rmr-loader.svg';\n\nexport default function Loader({className}: {className?: string}): JSX.Element {\n return (\n
\n \n
\n );\n}\n","import styles from '../../styles/components/page-headers/listing-page-header.module.scss';\nimport MenuLinkButtons from '../common/menu-link-buttons';\nimport RequestACallbackButton from '../blocks/RequestACallbackButton';\nimport type { MenuItem } from '../../types/blocks/menu-item';\nimport type { Breadcrumb } from '../../types/breadcrumb';\nimport Container from '../container';\nimport Breadcrumbs from '../breadcrumbs';\n\ninterface Props {\n pageBreadcrumb: Breadcrumb;\n title: string;\n description: string | React.ReactNode;\n showMenuButtons?: boolean;\n showCallbackButton?: boolean;\n menuLinks?: Array;\n callbackButton?: {\n title?: string;\n buttonText: string;\n modalTitle: string;\n modalText: string;\n modalFormId: string;\n };\n showBackground: boolean;\n fullWidth?: boolean;\n}\n\nexport default function ListingPageHeader({\n pageBreadcrumb,\n title,\n description,\n showMenuButtons,\n showCallbackButton,\n menuLinks,\n callbackButton,\n showBackground,\n fullWidth,\n}: Props): JSX.Element {\n \n return (\n
\n \n
\n
\n \n
\n
\n

{title}

\n {typeof description === 'string' ? (\n \n ) : (\n
\n {description}\n
\n )}\n {showMenuButtons && (\n \n )} \n
\n {showCallbackButton && (\n
\n \n
\n )}\n
\n
\n
\n );\n}","export const PAGE_META = `\n\tgeneralSettings {\n\t\ttitle\n\t}\n\tthemeSettings {\n\t\tthemeSettings {\n\t\t\tfooterLogo {\n\t\t\t\tmediaItemUrl\n\t\t\t}\n\t\t\theaderLogo {\n\t\t\t\tmediaItemUrl\n\t\t\t}\n\t\t\t\tnewsletter {\n\t\t\t\ttitle\n\t\t\t\tcontent\n\t\t\t}\n\t\t}\n\t}\n\ttopmenu: menu(id: \"Top Menu\", idType: NAME) {\n\t\tname\n\t\tmenuItems {\n\t\t\tnodes {\n\t\t\t\tpath\n\t\t\t\tlabel\n\t\t\t}\n\t\t}\n\t\tslug\n\t}\n menu: menu(id: \"Header Menu\", idType: NAME) {\n name\n menuItems(where: {parentId: 0}) {\n nodes {\n path\n label\n childItems(first: 50) {\n nodes {\n path\n label\n childItems(first: 50) {\n nodes {\n label\n path\n }\n }\n }\n }\n }\n }\n slug\n }\n\tfooterColOneMenu: menu(id: \"Footer Menu Col One\", idType: NAME) {\n\t\tname\n\t\tmenuItems {\n\t\t\tnodes {\n\t\t\t\tpath\n\t\t\t\tlabel\n\t\t\t\tdescription\n\t\t\t}\n\t\t}\n\t\tslug\n\t}\n\tfooterColTwoMenu: menu(id: \"Footer Menu Col Two\", idType: NAME) {\n\t\tname\n\t\tmenuItems {\n\t\t\tnodes {\n\t\t\t\tpath\n\t\t\t\tlabel\n\t\t\t}\n\t\t}\n\t\tslug\n\t}\n\tfooterColThreeMenu: menu(id: \"Footer Menu Col Three\", idType: NAME) {\n\t\tname\n\t\tmenuItems {\n\t\t\tnodes {\n\t\t\t\tpath\n\t\t\t\tlabel\n\t\t\t}\n\t\t}\n\t\tslug\n\t}\n footerConnectMenu: menu(id: \"Footer Menu Connect\", idType: NAME) {\n name\n menuItems {\n nodes {\n path\n label\n }\n }\n slug\n }\n`;\n\nexport const PAGE_META_FINDINGS = `\n\tgeneralSettings {\n\t\ttitle\n\t}\n\tthemeSettings {\n\t\tthemeSettings {\n\t\t\tfooterLogo {\n\t\t\t\tmediaItemUrl\n\t\t\t}\n\t\t\theaderLogo {\n\t\t\t\tmediaItemUrl\n\t\t\t}\n\t\t\tmarginOfError\n\t\t}\n\t}\n\ttopmenu: menu(id: \"Top Menu\", idType: NAME) {\n\t\tname\n\t\tmenuItems {\n\t\t\tnodes {\n\t\t\t\tpath\n\t\t\t\tlabel\n\t\t\t}\n\t\t}\n\t\tslug\n\t}\n menu: menu(id: \"Header Menu\", idType: NAME) {\n name\n menuItems(where: {parentId: 0}) {\n nodes {\n path\n label\n childItems(first: 50) {\n nodes {\n path\n label\n childItems(first: 50) {\n nodes {\n label\n path\n }\n }\n }\n }\n }\n }\n slug\n }\n\tfooterColOneMenu: menu(id: \"Footer Menu Col One\", idType: NAME) {\n\t\tname\n\t\tmenuItems {\n\t\t\tnodes {\n\t\t\t\tpath\n\t\t\t\tlabel\n\t\t\t\tdescription\n\t\t\t}\n\t\t}\n\t\tslug\n\t}\n\tfooterColTwoMenu: menu(id: \"Footer Menu Col Two\", idType: NAME) {\n\t\tname\n\t\tmenuItems {\n\t\t\tnodes {\n\t\t\t\tpath\n\t\t\t\tlabel\n\t\t\t}\n\t\t}\n\t\tslug\n\t}\n\tfooterColThreeMenu: menu(id: \"Footer Menu Col Three\", idType: NAME) {\n\t\tname\n\t\tmenuItems {\n\t\t\tnodes {\n\t\t\t\tpath\n\t\t\t\tlabel\n\t\t\t}\n\t\t}\n\t\tslug\n\t}\n footerConnectMenu: menu(id: \"Footer Menu Connect\", idType: NAME) {\n name\n menuItems {\n nodes {\n path\n label\n }\n }\n slug\n }\n`;\n\nexport const PAGE_META_LISTING = `\n\tgeneralSettings {\n\t\ttitle\n\t}\n\tthemeSettings {\n\t\tthemeSettings {\n\t\t\tfooterLogo {\n\t\t\t\tmediaItemUrl\n\t\t\t}\n\t\t\theaderLogo {\n\t\t\t\tmediaItemUrl\n\t\t\t}\n\t\t\tlistingPageHeaders {\n\t\t\t\tpage\n\t\t\t\ttitle\n\t\t\t\tcontent\n\t\t\t\tshowCallbackButton\n\t\t\t\trequestCallbackButton {\n\t\t\t\t\tbuttonText\n\t\t\t\t\tmodalFormId\n\t\t\t\t\tmodalText\n\t\t\t\t\tmodalTitle\n\t\t\t\t\ttitle\n\t\t\t\t}\n\t\t\t}\n\t\t\tlistingPageTestimonials {\n\t\t\t\tpage\n\t \tquote\n\t\t\t\tquoteSource\n\t\t\t\tclickThroughLink {\n\t\t\t\t\ttitle\n\t\t\t\t\turl\n\t\t\t\t}\n\t \timage {\n\t \tsourceUrl\n\t \tmediaDetails {\n\t\t \theight\n\t\t \twidth\n\t \t}\n\t \t}\n\t\t\t}\n\t\t\tnewsletter {\n\t\t\t\ttitle\n\t\t\t\tcontent\n\t\t\t}\n\t\t}\n\t}\n\ttopmenu: menu(id: \"Top Menu\", idType: NAME) {\n\t\tname\n\t\tmenuItems {\n\t\t\tnodes {\n\t\t\t\tpath\n\t\t\t\tlabel\n\t\t\t}\n\t\t}\n\t\tslug\n\t}\n menu: menu(id: \"Header Menu\", idType: NAME) {\n name\n menuItems(where: {parentId: 0}) {\n nodes {\n path\n label\n childItems(first: 50) {\n nodes {\n path\n label\n childItems(first: 50) {\n nodes {\n label\n path\n }\n }\n }\n }\n }\n }\n slug\n }\n\tfooterColOneMenu: menu(id: \"Footer Menu Col One\", idType: NAME) {\n\t\tname\n\t\tmenuItems {\n\t\t\tnodes {\n\t\t\t\tpath\n\t\t\t\tlabel\n\t\t\t\tdescription\n\t\t\t}\n\t\t}\n\t\tslug\n\t}\n\tfooterColTwoMenu: menu(id: \"Footer Menu Col Two\", idType: NAME) {\n\t\tname\n\t\tmenuItems {\n\t\t\tnodes {\n\t\t\t\tpath\n\t\t\t\tlabel\n\t\t\t}\n\t\t}\n\t\tslug\n\t}\n\tfooterColThreeMenu: menu(id: \"Footer Menu Col Three\", idType: NAME) {\n\t\tname\n\t\tmenuItems {\n\t\t\tnodes {\n\t\t\t\tpath\n\t\t\t\tlabel\n\t\t\t}\n\t\t}\n\t\tslug\n\t}\n footerConnectMenu: menu(id: \"Footer Menu Connect\", idType: NAME) {\n name\n menuItems {\n nodes {\n path\n label\n }\n }\n slug\n }\n`;\n","import styles from '../styles/components/products-and-tools-category-section.module.scss';\nimport FullWidthTile from './full-width-tile';\nimport type { ProductsAndTool } from '../types/api';\n\ninterface Props {\n name?: string;\n productsAndTools?: Array<{ node: ProductsAndTool }>\n slug?: string;\n excerpt?: string;\n}\n\nexport default function ProductsAndToolsCategorySection({\n name,\n productsAndTools,\n slug,\n excerpt,\n}: Props): JSX.Element {\n\n return (\n
\n
\n
\n
\n

{name}

\n \n
\n {productsAndTools && productsAndTools.length > 0 ? (\n
\n {Object.values(productsAndTools).map(function (post, i) {\n return (\n \n );\n })}\n
\n ) : (\n
No Products
\n )}\n
\n
\n
\n );\n}\n","import { fetchAPI } from '../../api';\n\nimport { PAGE_META_LISTING } from '../../graphql-fragments/pageMeta';\n\nexport async function getAllProductsAndTools(cursor: string | true | undefined) {\n const data = await fetchAPI(\n `\n query ProductsAndTools {\n productsAndTools(first: 40) {\n edges {\n node {\n slug\n excerpt\n featuredImage {\n node {\n sourceUrl\n mediaDetails {\n height\n width\n }\n }\n }\n title\n date\n productsAndToolsCategories {\n nodes {\n productsAndToolsCategoryId\n name\n description\n slug\n }\n }\n productLink {\n manualLink\n openInANewTab\n }\n }\n }\n pageInfo {\n endCursor\n hasNextPage\n hasPreviousPage\n }\n }\n themeProductsAndToolsListingPage {\n productAndToolsListingPage {\n showCategoryMenuButtons\n }\n }\n generalSettings {\n title\n } \n ${PAGE_META_LISTING}\n productsAndToolsCategories {\n edges {\n node {\n productsAndToolsCategoryId\n slug\n name\n description\n link\n }\n }\n }\n }\n `,\n {}\n );\n return data;\n}\n","import styles from '../../styles/components/page-templates/products-and-tools.module.scss';\nimport { useRouter } from 'next/router';\nimport ProductsAndToolsCategorySection from '../../components/products-and-tools-category-section';\nimport ListingPageHeader from '../../components/page-headers/listing-page-header';\nimport Layout from '../../components/layout';\nimport { getAllProductsAndTools } from '../../lib/queries/products-and-tools/getAllProductsAndTools';\nimport Head from 'next/head';\nimport Loader from '../../components/loader';\nimport type { Header } from '../../types/header';\nimport type { Footer } from '../../types/footer';\nimport type { Category, ProductsAndTool } from '../../types/api';\nimport { Menu } from '../../types/menu';\nimport { useState, useEffect } from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport Testimonial from '../../components/blocks/Testimonial';\nimport Newsletter from '../../components/blocks/Newsletter';\nimport { initAccount, loadAccount } from '../../lib/account';\nimport { Account } from '../../types/account';\n\ninterface Props {\n productsAndToolsData: ProductsAndToolsData;\n}\n\ninterface ProductsAndToolsData {\n productsAndTools?: Array<{ node: ProductsAndTool }>;\n themeProductsAndToolsListingPage?: {\n productAndToolsListingPage?: {\n showCategoryMenuButtons?: boolean;\n };\n };\n pageInfo?: {\n endCursor?: string;\n hasNextPage?: boolean;\n hasPreviousPage?: boolean;\n };\n productsAndToolsCategories?: Array<{ node: Category }>;\n header: Header;\n footer: Footer;\n}\n\nasync function loadPage(): Promise {\n const allProductsAndTools = await getAllProductsAndTools('');\n return {\n productsAndTools: allProductsAndTools?.productsAndTools?.edges,\n themeProductsAndToolsListingPage: allProductsAndTools?.themeProductsAndToolsListingPage,\n productsAndToolsCategories: allProductsAndTools?.productsAndToolsCategories?.edges,\n pageInfo: allProductsAndTools?.productsAndTools?.pageInfo,\n header: {\n generalSettings: allProductsAndTools?.generalSettings,\n themeSettings: allProductsAndTools?.themeSettings?.themeSettings || null,\n menu: allProductsAndTools?.menu, \n topmenu: allProductsAndTools?.topmenu\n },\n footer: {\n footerColOneMenu: allProductsAndTools?.footerColOneMenu || ({} as Menu),\n footerColTwoMenu: allProductsAndTools?.footerColTwoMenu || ({} as Menu),\n footerColThreeMenu: allProductsAndTools?.footerColThreeMenu || ({} as Menu),\n footerConnectMenu: allProductsAndTools?.footerConnectMenu || ({} as Menu),\n themeSettings: allProductsAndTools?.themeSettings?.themeSettings || null,\n },\n };\n}\n\nexport default function ProductsAndTools({ productsAndToolsData }: Props): JSX.Element {\n const router = useRouter();\n const [data, setData] = useState(productsAndToolsData);\n const [account, setAccount] = useState(undefined);\n\n useEffect(() => {\n setAccount(initAccount());\n async function fetchData() {\n const data = await loadPage();\n\n if (data) {\n setData(data);\n }\n\n const account = await loadAccount();\n setAccount(account);\n }\n fetchData();\n }, []);\n\n const categories = data.productsAndToolsCategories;\n\n const headerDetails = data.header.themeSettings?.listingPageHeaders\n ? data.header.themeSettings.listingPageHeaders.find(h => h.page === \"Products\")\n : null;\n\n const testimonial = data.header.themeSettings?.listingPageTestimonials\n ? data.header.themeSettings.listingPageTestimonials.find(h => h.page === \"Products\")\n : null;\n\n const newsletter = data.header.themeSettings?.newsletter;\n\n const menuLinks = categories && categories.length > 0 \n ? categories.map(category => {\n return {\n link: {\n title: category?.node?.name, \n url: `#${category?.node?.slug}`\n }\n };\n })\n : [];\n\n //ToDo: Is this the best way to pass in breadcrumbs? Should this come from CMS?\n const pageBreadcrumb = {\n slug: 'products-and-tools',\n title: headerDetails?.title || ''\n };\n\n return (\n \n
\n {router.isFallback ? (\n \n ) : (\n <>\n \n Products and Tools - {data.header?.generalSettings?.title}\n \n\n \n \n \n {categories && categories.length > 0 ? (\n
\n {categories.map(function (category, i) {\n const products = (data.productsAndTools\n ? data.productsAndTools.filter(product => {\n return product?.node?.productsAndToolsCategories?.nodes[0]?.slug === category?.node?.slug\n })\n : [])\n .sort((productA, productB) => (productA.node.title || '').localeCompare(productB.node.title || ''));\n return (\n \n \n \n \n );\n })}\n
\n ) : (\n
No Categories
\n )}\n
\n {testimonial && \n
\n \n
\n }\n {newsletter && \n \n }\n \n )}\n
\n
\n );\n}\n\nexport async function getStaticProps(): Promise<{\n props: Props;\n revalidate: number;\n}> {\n const page = await loadPage();\n return {\n props: {\n productsAndToolsData: page,\n },\n revalidate: 30,\n };\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"breadcrumbs__wrapper\":\"breadcrumbs_breadcrumbs__wrapper__heQ_p\",\"breadcrumbs__parent_page_wrapper\":\"breadcrumbs_breadcrumbs__parent_page_wrapper__8azEQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"menu_link_buttons__wrapper\":\"menu-link-buttons_menu_link_buttons__wrapper__I_mOC\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"full_width_tile__row\":\"full-width-tile_full_width_tile__row__opKy2\",\"image_right\":\"full-width-tile_image_right____cc9\",\"full_width_tile__image_wrapper\":\"full-width-tile_full_width_tile__image_wrapper__TgmXb\",\"full_width_tile__image_link\":\"full-width-tile_full_width_tile__image_link__fC_QD\",\"full_width_tile__col_right\":\"full-width-tile_full_width_tile__col_right__x6ASp\",\"full_width_tile__title_wrapper\":\"full-width-tile_full_width_tile__title_wrapper__MLwGv\",\"full_width_tile__clickthrough_link\":\"full-width-tile_full_width_tile__clickthrough_link__JXSCZ\",\"full_width_tile__excerpt\":\"full-width-tile_full_width_tile__excerpt__KAsbz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader_wrapper\":\"loader_loader_wrapper__Mov1C\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"listing_page_header__wrapper\":\"listing-page-header_listing_page_header__wrapper__Tc2Fh\",\"background\":\"listing-page-header_background__6u_sx\",\"listing_page_header__inner\":\"listing-page-header_listing_page_header__inner__F1rBp\",\"no_action_button\":\"listing-page-header_no_action_button__D311r\",\"no_menu\":\"listing-page-header_no_menu__1BV5w\",\"no_background\":\"listing-page-header_no_background__6ELSX\",\"full_width\":\"listing-page-header_full_width__FHTgJ\",\"listing_page_header__col_breadcrumb\":\"listing-page-header_listing_page_header__col_breadcrumb__az0XI\",\"listing_page_header__col_left\":\"listing-page-header_listing_page_header__col_left__CrOAC\",\"listing_page_header__content\":\"listing-page-header_listing_page_header__content__nEvJn\",\"listing_page_header__col_right\":\"listing-page-header_listing_page_header__col_right__7u3il\",\"listing_page_header__menu\":\"listing-page-header_listing_page_header__menu__ZgZDv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"products_and_tools__no_categories\":\"products-and-tools_products_and_tools__no_categories__ifW_M\",\"products_and_tools__listing_testimonial\":\"products-and-tools_products_and_tools__listing_testimonial__pPl0F\",\"products_and_tools_template__content_row\":\"products-and-tools_products_and_tools_template__content_row__muMtp\",\"no_menu\":\"products-and-tools_no_menu__9g5Ri\",\"product_and_tools_template__content_col_left\":\"products-and-tools_product_and_tools_template__content_col_left__RAGn2\",\"product_and_tools_template__content_col_left_top\":\"products-and-tools_product_and_tools_template__content_col_left_top__8Lczk\",\"product_and_tools_template__content_col_right\":\"products-and-tools_product_and_tools_template__content_col_right__4o7mY\",\"product_and_tools_template__related_services_wrapper\":\"products-and-tools_product_and_tools_template__related_services_wrapper__rOcOg\",\"product_and_tools_template__related_services_title\":\"products-and-tools_product_and_tools_template__related_services_title__eIIiq\",\"product_and_tools_template__related_services_wrapper_inner\":\"products-and-tools_product_and_tools_template__related_services_wrapper_inner__pHswg\",\"product_and_tools_template__block_padding\":\"products-and-tools_product_and_tools_template__block_padding__E0qvO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"category_section__wrapper\":\"products-and-tools-category-section_category_section__wrapper__XuHEe\",\"category_section__wrapper_inner\":\"products-and-tools-category-section_category_section__wrapper_inner__fAJlx\",\"category_section__header\":\"products-and-tools-category-section_category_section__header__jxe8D\",\"category_section__header__excerpt\":\"products-and-tools-category-section_category_section__header__excerpt__0Cfnc\",\"category_section__product\":\"products-and-tools-category-section_category_section__product__U3Wyn\",\"category_section__no_products\":\"products-and-tools-category-section_category_section__no_products__ks3eK\"};","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","(self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || []).push([[744],{\n\n/***/ 5522:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/products-and-tools\",\n function () {\n return __webpack_require__(723);\n }\n ]);\n if(false) {}\n \n\n/***/ }),\n\n/***/ 5551:\n/***/ (function(__unused_webpack_module, __webpack_exports__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"Z\"] = ({\"src\":\"/_next/static/media/roy-morgan-logo.01f0bc7f.png\",\"height\":56,\"width\":176,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAQAAAAEwYbDAAAANUlEQVR42mNgqGOwZeBnUGYQYICC/wz9DLwMlgwaDOIMMgzsDAwFDPYMfAyKDPIMygyqDNwAfGAEhM88gaQAAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":3});\n\n/***/ }),\n\n/***/ 772:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": function() { return /* binding */ Breadcrumbs; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5893);\n/* harmony import */ var _styles_components_breadcrumbs_module_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(408);\n/* harmony import */ var _styles_components_breadcrumbs_module_scss__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_styles_components_breadcrumbs_module_scss__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1664);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\nfunction Breadcrumbs(param) {\n let { details } = param;\n let parentLinks = getLinks(details.parent);\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", {\n className: (_styles_components_breadcrumbs_module_scss__WEBPACK_IMPORTED_MODULE_2___default().breadcrumbs__wrapper),\n children: [\n parentLinks.map((link, key)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", {\n className: (_styles_components_breadcrumbs_module_scss__WEBPACK_IMPORTED_MODULE_2___default().breadcrumbs__parent_page_wrapper),\n children: [\n link,\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"span\", {\n children: \" > \"\n })\n ]\n }, key)),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", {\n children: details.title\n })\n ]\n });\n}\nfunction getLinks(item) {\n if (!item) {\n return [\n getHomeLink()\n ];\n }\n let parentLinks = getLinks(item === null || item === void 0 ? void 0 : item.parent);\n let parentUrl = parentLinks[parentLinks.length - 1].props.href;\n return [\n ...parentLinks,\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: pathJoin([\n parentUrl,\n item.slug\n ]),\n legacyBehavior: true,\n children: item.title\n }, item.slug)\n ];\n}\nfunction getHomeLink() {\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: \"/\",\n children: \"Home\"\n });\n}\nfunction pathJoin(parts) {\n let separator = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"/\";\n parts = parts.map((part, index)=>{\n if (index) {\n part = part.replace(new RegExp(\"^\" + separator), \"\");\n }\n if (index !== parts.length - 1) {\n part = part.replace(new RegExp(separator + \"$\"), \"\");\n }\n return part;\n });\n return parts.join(separator);\n}\n\n\n/***/ }),\n\n/***/ 3258:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": function() { return /* binding */ MenuLinkButtons; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5893);\n/* harmony import */ var _styles_components_common_menu_link_buttons_module_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5860);\n/* harmony import */ var _styles_components_common_menu_link_buttons_module_scss__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_styles_components_common_menu_link_buttons_module_scss__WEBPACK_IMPORTED_MODULE_1__);\n\n\nfunction MenuLinkButtons(param) {\n let { menuLinks , className } = param;\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", {\n className: \"\".concat((_styles_components_common_menu_link_buttons_module_scss__WEBPACK_IMPORTED_MODULE_1___default().menu_link_buttons__wrapper), \" \").concat(className),\n children: menuLinks && menuLinks.length > 0 ? menuLinks.map(function(menuLink, i) {\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"a\", {\n href: menuLink.link.url,\n children: menuLink.link.title\n })\n }, \"menu-link-button\".concat(i));\n }) : \"\"\n });\n}\n\n\n/***/ }),\n\n/***/ 1926:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": function() { return /* binding */ FullWidthTile; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5893);\n/* harmony import */ var _styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1924);\n/* harmony import */ var _styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1664);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_link__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _public_images_roy_morgan_logo_png__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5551);\n/* harmony import */ var _click_through_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2218);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(5675);\n/* harmony import */ var next_image__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_image__WEBPACK_IMPORTED_MODULE_4__);\n\n\n\n\n\n\nfunction FullWidthTile(param) {\n let { title , featuredImage , tileImage , slug , link_text , excerpt , attributes , tileType , image_right , openInNewTab , showLink =true , isButton =false , linkPositionTop =false } = param;\n var _featuredImage_node;\n let image = _public_images_roy_morgan_logo_png__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z;\n if (featuredImage === null || featuredImage === void 0 ? void 0 : (_featuredImage_node = featuredImage.node) === null || _featuredImage_node === void 0 ? void 0 : _featuredImage_node.sourceUrl) {\n var _featuredImage_node1, _featuredImage_node2, _featuredImage_node_mediaDetails, _featuredImage_node3, _featuredImage_node_mediaDetails1;\n image = {\n src: featuredImage === null || featuredImage === void 0 ? void 0 : (_featuredImage_node1 = featuredImage.node) === null || _featuredImage_node1 === void 0 ? void 0 : _featuredImage_node1.sourceUrl,\n height: featuredImage === null || featuredImage === void 0 ? void 0 : (_featuredImage_node2 = featuredImage.node) === null || _featuredImage_node2 === void 0 ? void 0 : (_featuredImage_node_mediaDetails = _featuredImage_node2.mediaDetails) === null || _featuredImage_node_mediaDetails === void 0 ? void 0 : _featuredImage_node_mediaDetails.height,\n width: featuredImage === null || featuredImage === void 0 ? void 0 : (_featuredImage_node3 = featuredImage.node) === null || _featuredImage_node3 === void 0 ? void 0 : (_featuredImage_node_mediaDetails1 = _featuredImage_node3.mediaDetails) === null || _featuredImage_node_mediaDetails1 === void 0 ? void 0 : _featuredImage_node_mediaDetails1.width\n };\n } else if (tileImage === null || tileImage === void 0 ? void 0 : tileImage.sourceUrl) {\n var _tileImage_mediaDetails, _tileImage_mediaDetails1;\n image = {\n src: tileImage === null || tileImage === void 0 ? void 0 : tileImage.sourceUrl,\n height: parseInt(tileImage === null || tileImage === void 0 ? void 0 : (_tileImage_mediaDetails = tileImage.mediaDetails) === null || _tileImage_mediaDetails === void 0 ? void 0 : _tileImage_mediaDetails.height),\n width: parseInt(tileImage === null || tileImage === void 0 ? void 0 : (_tileImage_mediaDetails1 = tileImage.mediaDetails) === null || _tileImage_mediaDetails1 === void 0 ? void 0 : _tileImage_mediaDetails1.width)\n };\n }\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", {\n id: attributes === null || attributes === void 0 ? void 0 : attributes.anchor,\n className: \"\".concat((_styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5___default().full_width_tile__row), \" \").concat(image_right ? (_styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5___default().image_right) : \"\"),\n children: [\n !image_right && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", {\n className: (_styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5___default().full_width_tile__image_wrapper),\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: slug != undefined ? slug : \"/\",\n target: openInNewTab ? \"_blank\" : \"_self\",\n className: (_styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5___default().full_width_tile__image_link),\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)((next_image__WEBPACK_IMPORTED_MODULE_4___default()), {\n src: image.src,\n alt: \"RMR Logo\",\n fill: true,\n style: {\n objectFit: \"cover\"\n }\n })\n })\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", {\n className: (_styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5___default().full_width_tile__col_right),\n children: [\n tileType && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"h6\", {\n children: tileType\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", {\n className: (_styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5___default().full_width_tile__title_wrapper),\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: slug != undefined ? slug : \"/\",\n target: openInNewTab ? \"_blank\" : \"_self\",\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"h3\", {\n children: title\n })\n }),\n linkPositionTop && showLink && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", {\n className: (_styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5___default().full_width_tile__clickthrough_link),\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_click_through_link__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z, {\n text: link_text !== undefined && link_text != \"\" ? link_text : \"Learn more\",\n link: slug != undefined ? slug : \"/\",\n target: openInNewTab ? \"_blank\" : \"_self\",\n isButton: isButton\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", {\n className: (_styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5___default().full_width_tile__excerpt),\n dangerouslySetInnerHTML: {\n __html: excerpt || \"\"\n }\n }),\n !linkPositionTop && showLink && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", {\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_click_through_link__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z, {\n text: link_text !== undefined && link_text != \"\" ? link_text : \"Learn more\",\n link: slug != undefined ? slug : \"/\",\n target: openInNewTab ? \"_blank\" : \"_self\",\n isButton: isButton\n })\n })\n ]\n }),\n image_right && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", {\n className: (_styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5___default().full_width_tile__image_wrapper),\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)((next_link__WEBPACK_IMPORTED_MODULE_1___default()), {\n href: slug != undefined ? slug : \"/\",\n className: (_styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5___default().full_width_tile__image_link),\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)((next_image__WEBPACK_IMPORTED_MODULE_4___default()), {\n src: image.src,\n alt: \"RMR Logo\",\n fill: true,\n style: {\n objectFit: \"cover\"\n }\n })\n })\n })\n ]\n });\n}\n\n\n/***/ }),\n\n/***/ 4807:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"Z\": function() { return /* binding */ Loader; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(5893);\n// EXTERNAL MODULE: ./styles/components/loader.module.scss\nvar loader_module = __webpack_require__(5095);\nvar loader_module_default = /*#__PURE__*/__webpack_require__.n(loader_module);\n// EXTERNAL MODULE: ./node_modules/next/image.js\nvar next_image = __webpack_require__(5675);\nvar image_default = /*#__PURE__*/__webpack_require__.n(next_image);\n// EXTERNAL MODULE: ./node_modules/classnames/index.js\nvar classnames = __webpack_require__(4184);\nvar classnames_default = /*#__PURE__*/__webpack_require__.n(classnames);\n;// CONCATENATED MODULE: ./public/images/rmr-loader.svg\n/* harmony default export */ var rmr_loader = ({\"src\":\"/_next/static/media/rmr-loader.f55d834a.svg\",\"height\":204,\"width\":204});\n;// CONCATENATED MODULE: ./components/loader.tsx\n\n\n\n\n\nfunction Loader(param) {\n let { className } = param;\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: classnames_default()((loader_module_default()).loader_wrapper, className),\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)((image_default()), {\n src: rmr_loader.src,\n alt: \"Loading Graphic\",\n height: rmr_loader.height,\n width: rmr_loader.width\n })\n });\n}\n\n\n/***/ }),\n\n/***/ 9777:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Z\": function() { return /* binding */ ListingPageHeader; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5893);\n/* harmony import */ var _styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1592);\n/* harmony import */ var _styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _common_menu_link_buttons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3258);\n/* harmony import */ var _blocks_RequestACallbackButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(2063);\n/* harmony import */ var _container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(959);\n/* harmony import */ var _breadcrumbs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(772);\n\n\n\n\n\n\nfunction ListingPageHeader(param) {\n let { pageBreadcrumb , title , description , showMenuButtons , showCallbackButton , menuLinks , callbackButton , showBackground , fullWidth } = param;\n return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"header\", {\n id: title,\n className: \"\\n \".concat((_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default().listing_page_header__wrapper), \" \\n \").concat(showBackground ? (_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default().background) : \"\", \"\\n \"),\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_container__WEBPACK_IMPORTED_MODULE_3__/* [\"default\"] */ .Z, {\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", {\n className: \"\\n \".concat((_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default().listing_page_header__inner), \" \\n \").concat(!showCallbackButton ? (_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default().no_action_button) : \"\", \" \\n \").concat(!showMenuButtons ? (_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default().no_menu) : \"\", \"\\n \").concat(!showBackground ? (_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default().no_background) : \"\", \"\\n \").concat(fullWidth ? (_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default().full_width) : \"\", \"\\n \"),\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", {\n className: (_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default().listing_page_header__col_breadcrumb),\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_breadcrumbs__WEBPACK_IMPORTED_MODULE_4__/* [\"default\"] */ .Z, {\n details: pageBreadcrumb\n })\n }),\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(\"div\", {\n className: (_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default().listing_page_header__col_left),\n children: [\n /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"h1\", {\n children: title\n }),\n typeof description === \"string\" ? /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", {\n className: (_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default().listing_page_header__content),\n dangerouslySetInnerHTML: {\n __html: description\n }\n }) : /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", {\n className: (_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default().listing_page_header__content),\n children: description\n }),\n showMenuButtons && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_common_menu_link_buttons__WEBPACK_IMPORTED_MODULE_1__/* [\"default\"] */ .Z, {\n className: (_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default().listing_page_header__menu),\n menuLinks: menuLinks\n })\n ]\n }),\n showCallbackButton && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(\"div\", {\n className: (_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default().listing_page_header__col_right),\n children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_blocks_RequestACallbackButton__WEBPACK_IMPORTED_MODULE_2__/* [\"default\"] */ .Z, {\n title: callbackButton === null || callbackButton === void 0 ? void 0 : callbackButton.title,\n button_text: callbackButton === null || callbackButton === void 0 ? void 0 : callbackButton.buttonText,\n modal_title: callbackButton === null || callbackButton === void 0 ? void 0 : callbackButton.modalTitle,\n modal_text: callbackButton === null || callbackButton === void 0 ? void 0 : callbackButton.modalText,\n modal_form_id: callbackButton === null || callbackButton === void 0 ? void 0 : callbackButton.modalFormId\n })\n })\n ]\n })\n })\n });\n}\n\n\n/***/ }),\n\n/***/ 3572:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"mt\": function() { return /* binding */ PAGE_META_LISTING; },\n/* harmony export */ \"um\": function() { return /* binding */ PAGE_META; }\n/* harmony export */ });\n/* unused harmony export PAGE_META_FINDINGS */\nconst PAGE_META = '\\n\tgeneralSettings {\\n\t\ttitle\\n\t}\\n\tthemeSettings {\\n\t\tthemeSettings {\\n\t\t\tfooterLogo {\\n\t\t\t\tmediaItemUrl\\n\t\t\t}\\n\t\t\theaderLogo {\\n\t\t\t\tmediaItemUrl\\n\t\t\t}\\n\t\t\t\tnewsletter {\\n\t\t\t\ttitle\\n\t\t\t\tcontent\\n\t\t\t}\\n\t\t}\\n\t}\\n\ttopmenu: menu(id: \"Top Menu\", idType: NAME) {\\n\t\tname\\n\t\tmenuItems {\\n\t\t\tnodes {\\n\t\t\t\tpath\\n\t\t\t\tlabel\\n\t\t\t}\\n\t\t}\\n\t\tslug\\n\t}\\n menu: menu(id: \"Header Menu\", idType: NAME) {\\n name\\n menuItems(where: {parentId: 0}) {\\n nodes {\\n path\\n label\\n childItems(first: 50) {\\n nodes {\\n path\\n label\\n childItems(first: 50) {\\n nodes {\\n label\\n path\\n }\\n }\\n }\\n }\\n }\\n }\\n slug\\n }\\n\tfooterColOneMenu: menu(id: \"Footer Menu Col One\", idType: NAME) {\\n\t\tname\\n\t\tmenuItems {\\n\t\t\tnodes {\\n\t\t\t\tpath\\n\t\t\t\tlabel\\n\t\t\t\tdescription\\n\t\t\t}\\n\t\t}\\n\t\tslug\\n\t}\\n\tfooterColTwoMenu: menu(id: \"Footer Menu Col Two\", idType: NAME) {\\n\t\tname\\n\t\tmenuItems {\\n\t\t\tnodes {\\n\t\t\t\tpath\\n\t\t\t\tlabel\\n\t\t\t}\\n\t\t}\\n\t\tslug\\n\t}\\n\tfooterColThreeMenu: menu(id: \"Footer Menu Col Three\", idType: NAME) {\\n\t\tname\\n\t\tmenuItems {\\n\t\t\tnodes {\\n\t\t\t\tpath\\n\t\t\t\tlabel\\n\t\t\t}\\n\t\t}\\n\t\tslug\\n\t}\\n footerConnectMenu: menu(id: \"Footer Menu Connect\", idType: NAME) {\\n name\\n menuItems {\\n nodes {\\n path\\n label\\n }\\n }\\n slug\\n }\\n';\nconst PAGE_META_FINDINGS = '\\n\tgeneralSettings {\\n\t\ttitle\\n\t}\\n\tthemeSettings {\\n\t\tthemeSettings {\\n\t\t\tfooterLogo {\\n\t\t\t\tmediaItemUrl\\n\t\t\t}\\n\t\t\theaderLogo {\\n\t\t\t\tmediaItemUrl\\n\t\t\t}\\n\t\t\tmarginOfError\\n\t\t}\\n\t}\\n\ttopmenu: menu(id: \"Top Menu\", idType: NAME) {\\n\t\tname\\n\t\tmenuItems {\\n\t\t\tnodes {\\n\t\t\t\tpath\\n\t\t\t\tlabel\\n\t\t\t}\\n\t\t}\\n\t\tslug\\n\t}\\n menu: menu(id: \"Header Menu\", idType: NAME) {\\n name\\n menuItems(where: {parentId: 0}) {\\n nodes {\\n path\\n label\\n childItems(first: 50) {\\n nodes {\\n path\\n label\\n childItems(first: 50) {\\n nodes {\\n label\\n path\\n }\\n }\\n }\\n }\\n }\\n }\\n slug\\n }\\n\tfooterColOneMenu: menu(id: \"Footer Menu Col One\", idType: NAME) {\\n\t\tname\\n\t\tmenuItems {\\n\t\t\tnodes {\\n\t\t\t\tpath\\n\t\t\t\tlabel\\n\t\t\t\tdescription\\n\t\t\t}\\n\t\t}\\n\t\tslug\\n\t}\\n\tfooterColTwoMenu: menu(id: \"Footer Menu Col Two\", idType: NAME) {\\n\t\tname\\n\t\tmenuItems {\\n\t\t\tnodes {\\n\t\t\t\tpath\\n\t\t\t\tlabel\\n\t\t\t}\\n\t\t}\\n\t\tslug\\n\t}\\n\tfooterColThreeMenu: menu(id: \"Footer Menu Col Three\", idType: NAME) {\\n\t\tname\\n\t\tmenuItems {\\n\t\t\tnodes {\\n\t\t\t\tpath\\n\t\t\t\tlabel\\n\t\t\t}\\n\t\t}\\n\t\tslug\\n\t}\\n footerConnectMenu: menu(id: \"Footer Menu Connect\", idType: NAME) {\\n name\\n menuItems {\\n nodes {\\n path\\n label\\n }\\n }\\n slug\\n }\\n';\nconst PAGE_META_LISTING = '\\n\tgeneralSettings {\\n\t\ttitle\\n\t}\\n\tthemeSettings {\\n\t\tthemeSettings {\\n\t\t\tfooterLogo {\\n\t\t\t\tmediaItemUrl\\n\t\t\t}\\n\t\t\theaderLogo {\\n\t\t\t\tmediaItemUrl\\n\t\t\t}\\n\t\t\tlistingPageHeaders {\\n\t\t\t\tpage\\n\t\t\t\ttitle\\n\t\t\t\tcontent\\n\t\t\t\tshowCallbackButton\\n\t\t\t\trequestCallbackButton {\\n\t\t\t\t\tbuttonText\\n\t\t\t\t\tmodalFormId\\n\t\t\t\t\tmodalText\\n\t\t\t\t\tmodalTitle\\n\t\t\t\t\ttitle\\n\t\t\t\t}\\n\t\t\t}\\n\t\t\tlistingPageTestimonials {\\n\t\t\t\tpage\\n\t \tquote\\n\t\t\t\tquoteSource\\n\t\t\t\tclickThroughLink {\\n\t\t\t\t\ttitle\\n\t\t\t\t\turl\\n\t\t\t\t}\\n\t \timage {\\n\t \tsourceUrl\\n\t \tmediaDetails {\\n\t\t \theight\\n\t\t \twidth\\n\t \t}\\n\t \t}\\n\t\t\t}\\n\t\t\tnewsletter {\\n\t\t\t\ttitle\\n\t\t\t\tcontent\\n\t\t\t}\\n\t\t}\\n\t}\\n\ttopmenu: menu(id: \"Top Menu\", idType: NAME) {\\n\t\tname\\n\t\tmenuItems {\\n\t\t\tnodes {\\n\t\t\t\tpath\\n\t\t\t\tlabel\\n\t\t\t}\\n\t\t}\\n\t\tslug\\n\t}\\n menu: menu(id: \"Header Menu\", idType: NAME) {\\n name\\n menuItems(where: {parentId: 0}) {\\n nodes {\\n path\\n label\\n childItems(first: 50) {\\n nodes {\\n path\\n label\\n childItems(first: 50) {\\n nodes {\\n label\\n path\\n }\\n }\\n }\\n }\\n }\\n }\\n slug\\n }\\n\tfooterColOneMenu: menu(id: \"Footer Menu Col One\", idType: NAME) {\\n\t\tname\\n\t\tmenuItems {\\n\t\t\tnodes {\\n\t\t\t\tpath\\n\t\t\t\tlabel\\n\t\t\t\tdescription\\n\t\t\t}\\n\t\t}\\n\t\tslug\\n\t}\\n\tfooterColTwoMenu: menu(id: \"Footer Menu Col Two\", idType: NAME) {\\n\t\tname\\n\t\tmenuItems {\\n\t\t\tnodes {\\n\t\t\t\tpath\\n\t\t\t\tlabel\\n\t\t\t}\\n\t\t}\\n\t\tslug\\n\t}\\n\tfooterColThreeMenu: menu(id: \"Footer Menu Col Three\", idType: NAME) {\\n\t\tname\\n\t\tmenuItems {\\n\t\t\tnodes {\\n\t\t\t\tpath\\n\t\t\t\tlabel\\n\t\t\t}\\n\t\t}\\n\t\tslug\\n\t}\\n footerConnectMenu: menu(id: \"Footer Menu Connect\", idType: NAME) {\\n name\\n menuItems {\\n nodes {\\n path\\n label\\n }\\n }\\n slug\\n }\\n';\n\n\n/***/ }),\n\n/***/ 723:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"__N_SSG\": function() { return /* binding */ __N_SSG; },\n \"default\": function() { return /* binding */ ProductsAndTools; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(5893);\n// EXTERNAL MODULE: ./styles/components/page-templates/products-and-tools.module.scss\nvar products_and_tools_module = __webpack_require__(7432);\nvar products_and_tools_module_default = /*#__PURE__*/__webpack_require__.n(products_and_tools_module);\n// EXTERNAL MODULE: ./node_modules/next/router.js\nvar next_router = __webpack_require__(1163);\n// EXTERNAL MODULE: ./styles/components/products-and-tools-category-section.module.scss\nvar products_and_tools_category_section_module = __webpack_require__(5378);\nvar products_and_tools_category_section_module_default = /*#__PURE__*/__webpack_require__.n(products_and_tools_category_section_module);\n// EXTERNAL MODULE: ./components/full-width-tile.tsx\nvar full_width_tile = __webpack_require__(1926);\n;// CONCATENATED MODULE: ./components/products-and-tools-category-section.tsx\n\n\n\nfunction ProductsAndToolsCategorySection(param) {\n let { name , productsAndTools , slug , excerpt } = param;\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n id: slug,\n className: (products_and_tools_category_section_module_default()).category_section__wrapper,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"container\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: (products_and_tools_category_section_module_default()).category_section__wrapper_inner,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: (products_and_tools_category_section_module_default()).category_section__header,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"h1\", {\n children: name\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: (products_and_tools_category_section_module_default()).category_section__header__excerpt,\n dangerouslySetInnerHTML: {\n __html: excerpt || \"\"\n }\n })\n ]\n }),\n productsAndTools && productsAndTools.length > 0 ? /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: (products_and_tools_category_section_module_default()).category_section__product,\n children: Object.values(productsAndTools).map(function(post, i) {\n var _post_node, _post_node1, _post_node2, _post_node3, _post_node_productLink;\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(full_width_tile/* default */.Z, {\n title: post === null || post === void 0 ? void 0 : (_post_node = post.node) === null || _post_node === void 0 ? void 0 : _post_node.title,\n tileType: \"Product\",\n featuredImage: post === null || post === void 0 ? void 0 : (_post_node1 = post.node) === null || _post_node1 === void 0 ? void 0 : _post_node1.featuredImage,\n slug: \"products-and-tools/\" + (post === null || post === void 0 ? void 0 : (_post_node2 = post.node) === null || _post_node2 === void 0 ? void 0 : _post_node2.slug),\n link_text: \"Learn more\",\n excerpt: post === null || post === void 0 ? void 0 : (_post_node3 = post.node) === null || _post_node3 === void 0 ? void 0 : _post_node3.excerpt,\n openInNewTab: ((_post_node_productLink = post.node.productLink) === null || _post_node_productLink === void 0 ? void 0 : _post_node_productLink.openInANewTab) || false\n }, i);\n })\n }) : /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: (products_and_tools_category_section_module_default()).category_section__no_products,\n children: \"No Products\"\n })\n ]\n })\n })\n });\n}\n\n// EXTERNAL MODULE: ./components/page-headers/listing-page-header.tsx\nvar listing_page_header = __webpack_require__(9777);\n// EXTERNAL MODULE: ./components/layout.tsx + 17 modules\nvar layout = __webpack_require__(9050);\n// EXTERNAL MODULE: ./lib/api.ts\nvar api = __webpack_require__(1895);\n// EXTERNAL MODULE: ./lib/graphql-fragments/pageMeta.ts\nvar pageMeta = __webpack_require__(3572);\n;// CONCATENATED MODULE: ./lib/queries/products-and-tools/getAllProductsAndTools.ts\n\n\nasync function getAllProductsAndTools(cursor) {\n const data = await (0,api/* fetchAPI */.I)(\"\\n query ProductsAndTools {\\n productsAndTools(first: 40) {\\n edges {\\n node {\\n slug\\n excerpt\\n featuredImage {\\n node {\\n sourceUrl\\n mediaDetails {\\n height\\n width\\n }\\n }\\n }\\n title\\n date\\n productsAndToolsCategories {\\n nodes {\\n productsAndToolsCategoryId\\n name\\n description\\n slug\\n }\\n }\\n productLink {\\n manualLink\\n openInANewTab\\n }\\n }\\n }\\n pageInfo {\\n endCursor\\n hasNextPage\\n hasPreviousPage\\n }\\n }\\n themeProductsAndToolsListingPage {\\n productAndToolsListingPage {\\n showCategoryMenuButtons\\n }\\n }\\n generalSettings {\\n title\\n } \\n \".concat(pageMeta/* PAGE_META_LISTING */.mt, \"\\n productsAndToolsCategories {\\n edges {\\n node {\\n productsAndToolsCategoryId\\n slug\\n name\\n description\\n link\\n }\\n }\\n }\\n }\\n \"), {});\n return data;\n}\n\n// EXTERNAL MODULE: ./node_modules/next/head.js\nvar head = __webpack_require__(9008);\nvar head_default = /*#__PURE__*/__webpack_require__.n(head);\n// EXTERNAL MODULE: ./components/loader.tsx + 1 modules\nvar loader = __webpack_require__(4807);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(7294);\n// EXTERNAL MODULE: ./node_modules/react-transition-group/esm/TransitionGroup.js + 2 modules\nvar TransitionGroup = __webpack_require__(9747);\n// EXTERNAL MODULE: ./node_modules/react-transition-group/esm/CSSTransition.js + 5 modules\nvar CSSTransition = __webpack_require__(5071);\n// EXTERNAL MODULE: ./components/blocks/Testimonial.tsx + 1 modules\nvar Testimonial = __webpack_require__(5217);\n// EXTERNAL MODULE: ./components/blocks/Newsletter.tsx\nvar Newsletter = __webpack_require__(1360);\n// EXTERNAL MODULE: ./lib/account.ts + 4 modules\nvar lib_account = __webpack_require__(3373);\n;// CONCATENATED MODULE: ./pages/products-and-tools/index.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nasync function loadPage() {\n var _allProductsAndTools_productsAndTools, _allProductsAndTools_productsAndToolsCategories, _allProductsAndTools_productsAndTools1, _allProductsAndTools_themeSettings, _allProductsAndTools_themeSettings1;\n const allProductsAndTools = await getAllProductsAndTools(\"\");\n return {\n productsAndTools: allProductsAndTools === null || allProductsAndTools === void 0 ? void 0 : (_allProductsAndTools_productsAndTools = allProductsAndTools.productsAndTools) === null || _allProductsAndTools_productsAndTools === void 0 ? void 0 : _allProductsAndTools_productsAndTools.edges,\n themeProductsAndToolsListingPage: allProductsAndTools === null || allProductsAndTools === void 0 ? void 0 : allProductsAndTools.themeProductsAndToolsListingPage,\n productsAndToolsCategories: allProductsAndTools === null || allProductsAndTools === void 0 ? void 0 : (_allProductsAndTools_productsAndToolsCategories = allProductsAndTools.productsAndToolsCategories) === null || _allProductsAndTools_productsAndToolsCategories === void 0 ? void 0 : _allProductsAndTools_productsAndToolsCategories.edges,\n pageInfo: allProductsAndTools === null || allProductsAndTools === void 0 ? void 0 : (_allProductsAndTools_productsAndTools1 = allProductsAndTools.productsAndTools) === null || _allProductsAndTools_productsAndTools1 === void 0 ? void 0 : _allProductsAndTools_productsAndTools1.pageInfo,\n header: {\n generalSettings: allProductsAndTools === null || allProductsAndTools === void 0 ? void 0 : allProductsAndTools.generalSettings,\n themeSettings: (allProductsAndTools === null || allProductsAndTools === void 0 ? void 0 : (_allProductsAndTools_themeSettings = allProductsAndTools.themeSettings) === null || _allProductsAndTools_themeSettings === void 0 ? void 0 : _allProductsAndTools_themeSettings.themeSettings) || null,\n menu: allProductsAndTools === null || allProductsAndTools === void 0 ? void 0 : allProductsAndTools.menu,\n topmenu: allProductsAndTools === null || allProductsAndTools === void 0 ? void 0 : allProductsAndTools.topmenu\n },\n footer: {\n footerColOneMenu: (allProductsAndTools === null || allProductsAndTools === void 0 ? void 0 : allProductsAndTools.footerColOneMenu) || {},\n footerColTwoMenu: (allProductsAndTools === null || allProductsAndTools === void 0 ? void 0 : allProductsAndTools.footerColTwoMenu) || {},\n footerColThreeMenu: (allProductsAndTools === null || allProductsAndTools === void 0 ? void 0 : allProductsAndTools.footerColThreeMenu) || {},\n footerConnectMenu: (allProductsAndTools === null || allProductsAndTools === void 0 ? void 0 : allProductsAndTools.footerConnectMenu) || {},\n themeSettings: (allProductsAndTools === null || allProductsAndTools === void 0 ? void 0 : (_allProductsAndTools_themeSettings1 = allProductsAndTools.themeSettings) === null || _allProductsAndTools_themeSettings1 === void 0 ? void 0 : _allProductsAndTools_themeSettings1.themeSettings) || null\n }\n };\n}\nvar __N_SSG = true;\nfunction ProductsAndTools(param) {\n let { productsAndToolsData } = param;\n var _data_header_themeSettings, _data_header_themeSettings1, _data_header_themeSettings2, _data_header, _data_header_generalSettings, _data_themeProductsAndToolsListingPage, _data_themeProductsAndToolsListingPage_productAndToolsListingPage;\n const router = (0,next_router.useRouter)();\n const [data, setData] = (0,react.useState)(productsAndToolsData);\n const [account, setAccount] = (0,react.useState)(undefined);\n (0,react.useEffect)(()=>{\n setAccount((0,lib_account/* initAccount */.Br)());\n async function fetchData() {\n const data = await loadPage();\n if (data) {\n setData(data);\n }\n const account = await (0,lib_account/* loadAccount */.Mx)();\n setAccount(account);\n }\n fetchData();\n }, []);\n const categories = data.productsAndToolsCategories;\n const headerDetails = ((_data_header_themeSettings = data.header.themeSettings) === null || _data_header_themeSettings === void 0 ? void 0 : _data_header_themeSettings.listingPageHeaders) ? data.header.themeSettings.listingPageHeaders.find((h)=>h.page === \"Products\") : null;\n const testimonial = ((_data_header_themeSettings1 = data.header.themeSettings) === null || _data_header_themeSettings1 === void 0 ? void 0 : _data_header_themeSettings1.listingPageTestimonials) ? data.header.themeSettings.listingPageTestimonials.find((h)=>h.page === \"Products\") : null;\n const newsletter = (_data_header_themeSettings2 = data.header.themeSettings) === null || _data_header_themeSettings2 === void 0 ? void 0 : _data_header_themeSettings2.newsletter;\n const menuLinks = categories && categories.length > 0 ? categories.map((category)=>{\n var _category_node, _category_node1;\n return {\n link: {\n title: category === null || category === void 0 ? void 0 : (_category_node = category.node) === null || _category_node === void 0 ? void 0 : _category_node.name,\n url: \"#\".concat(category === null || category === void 0 ? void 0 : (_category_node1 = category.node) === null || _category_node1 === void 0 ? void 0 : _category_node1.slug)\n }\n };\n }) : [];\n //ToDo: Is this the best way to pass in breadcrumbs? Should this come from CMS?\n const pageBreadcrumb = {\n slug: \"products-and-tools\",\n title: (headerDetails === null || headerDetails === void 0 ? void 0 : headerDetails.title) || \"\"\n };\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(layout/* default */.Z, {\n header: data.header,\n footer: data.footer,\n account: account,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n children: router.isFallback ? /*#__PURE__*/ (0,jsx_runtime.jsx)(loader/* default */.Z, {}) : /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)((head_default()), {\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"title\", {\n children: [\n \"Products and Tools - \",\n (_data_header = data.header) === null || _data_header === void 0 ? void 0 : (_data_header_generalSettings = _data_header.generalSettings) === null || _data_header_generalSettings === void 0 ? void 0 : _data_header_generalSettings.title\n ]\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(listing_page_header/* default */.Z, {\n pageBreadcrumb: pageBreadcrumb,\n title: (headerDetails === null || headerDetails === void 0 ? void 0 : headerDetails.title) || \"\",\n description: (headerDetails === null || headerDetails === void 0 ? void 0 : headerDetails.content) || \"\",\n showCallbackButton: headerDetails === null || headerDetails === void 0 ? void 0 : headerDetails.showCallbackButton,\n callbackButton: headerDetails === null || headerDetails === void 0 ? void 0 : headerDetails.requestCallbackButton,\n showMenuButtons: (_data_themeProductsAndToolsListingPage = data.themeProductsAndToolsListingPage) === null || _data_themeProductsAndToolsListingPage === void 0 ? void 0 : (_data_themeProductsAndToolsListingPage_productAndToolsListingPage = _data_themeProductsAndToolsListingPage.productAndToolsListingPage) === null || _data_themeProductsAndToolsListingPage_productAndToolsListingPage === void 0 ? void 0 : _data_themeProductsAndToolsListingPage_productAndToolsListingPage.showCategoryMenuButtons,\n menuLinks: menuLinks,\n showBackground: true\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(TransitionGroup/* default */.Z, {\n children: categories && categories.length > 0 ? /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n children: categories.map(function(category, i) {\n var _category_node, _category_node1, _category_node2;\n const products = (data.productsAndTools ? data.productsAndTools.filter((product)=>{\n var _product_node_productsAndToolsCategories_nodes_, _product_node, _product_node_productsAndToolsCategories, _category_node;\n return ((_product_node_productsAndToolsCategories_nodes_ = product === null || product === void 0 ? void 0 : (_product_node = product.node) === null || _product_node === void 0 ? void 0 : (_product_node_productsAndToolsCategories = _product_node.productsAndToolsCategories) === null || _product_node_productsAndToolsCategories === void 0 ? void 0 : _product_node_productsAndToolsCategories.nodes[0]) === null || _product_node_productsAndToolsCategories_nodes_ === void 0 ? void 0 : _product_node_productsAndToolsCategories_nodes_.slug) === (category === null || category === void 0 ? void 0 : (_category_node = category.node) === null || _category_node === void 0 ? void 0 : _category_node.slug);\n }) : []).sort((productA, productB)=>(productA.node.title || \"\").localeCompare(productB.node.title || \"\"));\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(CSSTransition/* default */.Z, {\n timeout: 500,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(ProductsAndToolsCategorySection, {\n name: category === null || category === void 0 ? void 0 : (_category_node = category.node) === null || _category_node === void 0 ? void 0 : _category_node.name,\n productsAndTools: products,\n slug: category === null || category === void 0 ? void 0 : (_category_node1 = category.node) === null || _category_node1 === void 0 ? void 0 : _category_node1.slug,\n excerpt: category === null || category === void 0 ? void 0 : (_category_node2 = category.node) === null || _category_node2 === void 0 ? void 0 : _category_node2.description\n }, i)\n }, i);\n })\n }) : /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: (products_and_tools_module_default()).products_and_tools__no_categories,\n children: \"No Categories\"\n })\n }),\n testimonial && /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: (products_and_tools_module_default()).products_and_tools__listing_testimonial,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Testimonial/* default */.Z, {\n image: testimonial.image,\n quote: testimonial.quote || \"\",\n quote_source: testimonial.quoteSource,\n click_through_link: testimonial.clickThroughLink\n })\n }),\n newsletter && /*#__PURE__*/ (0,jsx_runtime.jsx)(Newsletter/* default */.Z, {\n title: newsletter.title,\n content: newsletter.content\n })\n ]\n })\n })\n });\n}\n\n\n/***/ }),\n\n/***/ 408:\n/***/ (function(module) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"breadcrumbs__wrapper\":\"breadcrumbs_breadcrumbs__wrapper__heQ_p\",\"breadcrumbs__parent_page_wrapper\":\"breadcrumbs_breadcrumbs__parent_page_wrapper__8azEQ\"};\n\n/***/ }),\n\n/***/ 5860:\n/***/ (function(module) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"menu_link_buttons__wrapper\":\"menu-link-buttons_menu_link_buttons__wrapper__I_mOC\"};\n\n/***/ }),\n\n/***/ 1924:\n/***/ (function(module) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"full_width_tile__row\":\"full-width-tile_full_width_tile__row__opKy2\",\"image_right\":\"full-width-tile_image_right____cc9\",\"full_width_tile__image_wrapper\":\"full-width-tile_full_width_tile__image_wrapper__TgmXb\",\"full_width_tile__image_link\":\"full-width-tile_full_width_tile__image_link__fC_QD\",\"full_width_tile__col_right\":\"full-width-tile_full_width_tile__col_right__x6ASp\",\"full_width_tile__title_wrapper\":\"full-width-tile_full_width_tile__title_wrapper__MLwGv\",\"full_width_tile__clickthrough_link\":\"full-width-tile_full_width_tile__clickthrough_link__JXSCZ\",\"full_width_tile__excerpt\":\"full-width-tile_full_width_tile__excerpt__KAsbz\"};\n\n/***/ }),\n\n/***/ 5095:\n/***/ (function(module) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"loader_wrapper\":\"loader_loader_wrapper__Mov1C\"};\n\n/***/ }),\n\n/***/ 1592:\n/***/ (function(module) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"listing_page_header__wrapper\":\"listing-page-header_listing_page_header__wrapper__Tc2Fh\",\"background\":\"listing-page-header_background__6u_sx\",\"listing_page_header__inner\":\"listing-page-header_listing_page_header__inner__F1rBp\",\"no_action_button\":\"listing-page-header_no_action_button__D311r\",\"no_menu\":\"listing-page-header_no_menu__1BV5w\",\"no_background\":\"listing-page-header_no_background__6ELSX\",\"full_width\":\"listing-page-header_full_width__FHTgJ\",\"listing_page_header__col_breadcrumb\":\"listing-page-header_listing_page_header__col_breadcrumb__az0XI\",\"listing_page_header__col_left\":\"listing-page-header_listing_page_header__col_left__CrOAC\",\"listing_page_header__content\":\"listing-page-header_listing_page_header__content__nEvJn\",\"listing_page_header__col_right\":\"listing-page-header_listing_page_header__col_right__7u3il\",\"listing_page_header__menu\":\"listing-page-header_listing_page_header__menu__ZgZDv\"};\n\n/***/ }),\n\n/***/ 7432:\n/***/ (function(module) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"products_and_tools__no_categories\":\"products-and-tools_products_and_tools__no_categories__ifW_M\",\"products_and_tools__listing_testimonial\":\"products-and-tools_products_and_tools__listing_testimonial__pPl0F\",\"products_and_tools_template__content_row\":\"products-and-tools_products_and_tools_template__content_row__muMtp\",\"no_menu\":\"products-and-tools_no_menu__9g5Ri\",\"product_and_tools_template__content_col_left\":\"products-and-tools_product_and_tools_template__content_col_left__RAGn2\",\"product_and_tools_template__content_col_left_top\":\"products-and-tools_product_and_tools_template__content_col_left_top__8Lczk\",\"product_and_tools_template__content_col_right\":\"products-and-tools_product_and_tools_template__content_col_right__4o7mY\",\"product_and_tools_template__related_services_wrapper\":\"products-and-tools_product_and_tools_template__related_services_wrapper__rOcOg\",\"product_and_tools_template__related_services_title\":\"products-and-tools_product_and_tools_template__related_services_title__eIIiq\",\"product_and_tools_template__related_services_wrapper_inner\":\"products-and-tools_product_and_tools_template__related_services_wrapper_inner__pHswg\",\"product_and_tools_template__block_padding\":\"products-and-tools_product_and_tools_template__block_padding__E0qvO\"};\n\n/***/ }),\n\n/***/ 5378:\n/***/ (function(module) {\n\n// extracted by mini-css-extract-plugin\nmodule.exports = {\"category_section__wrapper\":\"products-and-tools-category-section_category_section__wrapper__XuHEe\",\"category_section__wrapper_inner\":\"products-and-tools-category-section_category_section__wrapper_inner__fAJlx\",\"category_section__header\":\"products-and-tools-category-section_category_section__header__jxe8D\",\"category_section__header__excerpt\":\"products-and-tools-category-section_category_section__header__excerpt__0Cfnc\",\"category_section__product\":\"products-and-tools-category-section_category_section__product__U3Wyn\",\"category_section__no_products\":\"products-and-tools-category-section_category_section__no_products__ks3eK\"};\n\n/***/ }),\n\n/***/ 9747:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"Z\": function() { return /* binding */ esm_TransitionGroup; }\n});\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js\nvar objectWithoutPropertiesLoose = __webpack_require__(3366);\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js\nvar esm_extends = __webpack_require__(7462);\n;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js + 1 modules\nvar inheritsLoose = __webpack_require__(5068);\n// EXTERNAL MODULE: ./node_modules/prop-types/index.js\nvar prop_types = __webpack_require__(5697);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(7294);\n// EXTERNAL MODULE: ./node_modules/react-transition-group/esm/TransitionGroupContext.js\nvar TransitionGroupContext = __webpack_require__(220);\n;// CONCATENATED MODULE: ./node_modules/react-transition-group/esm/utils/ChildMapping.js\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nfunction getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && (0,react.isValidElement)(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) react.Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return (0,react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!(0,react.isValidElement)(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = (0,react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = (0,react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = (0,react.cloneElement)(child, {\n in: false\n });\n } else if (hasNext && hasPrev && (0,react.isValidElement)(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = (0,react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}\n;// CONCATENATED MODULE: ./node_modules/react-transition-group/esm/TransitionGroup.js\n\n\n\n\n\n\n\n\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n (0,inheritsLoose/* default */.Z)(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = (0,esm_extends/* default */.Z)({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = (0,objectWithoutPropertiesLoose/* default */.Z)(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/react.createElement(TransitionGroupContext/* default.Provider */.Z.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/react.createElement(TransitionGroupContext/* default.Provider */.Z.Provider, {\n value: contextValue\n }, /*#__PURE__*/react.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(react.Component);\n\nTransitionGroup.propTypes = false ? 0 : {};\nTransitionGroup.defaultProps = defaultProps;\n/* harmony default export */ var esm_TransitionGroup = (TransitionGroup);\n\n/***/ })\n\n},\n/******/ function(__webpack_require__) { // webpackRuntimeModules\n/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }\n/******/ __webpack_require__.O(0, [477,34,71,426,58,844,774,888,179], function() { return __webpack_exec__(5522); });\n/******/ var __webpack_exports__ = __webpack_require__.O();\n/******/ _N_E = __webpack_exports__;\n/******/ }\n]);"],"names":["self","push","__unused_webpack_module","__unused_webpack_exports","__webpack_require__","window","__NEXT_P","__webpack_exports__","d","Breadcrumbs","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","_styles_components_breadcrumbs_module_scss__WEBPACK_IMPORTED_MODULE_2__","_styles_components_breadcrumbs_module_scss__WEBPACK_IMPORTED_MODULE_2___default","n","next_link__WEBPACK_IMPORTED_MODULE_1__","next_link__WEBPACK_IMPORTED_MODULE_1___default","param","details","parentLinks","getLinks","item","jsx","href","children","parent","parentUrl","length","props","pathJoin","parts","separator","arguments","map","part","index","replace","join","slug","legacyBehavior","title","jsxs","className","breadcrumbs__wrapper","link","key","breadcrumbs__parent_page_wrapper","MenuLinkButtons","_styles_components_common_menu_link_buttons_module_scss__WEBPACK_IMPORTED_MODULE_1__","_styles_components_common_menu_link_buttons_module_scss__WEBPACK_IMPORTED_MODULE_1___default","menuLinks","concat","menu_link_buttons__wrapper","menuLink","i","url","FullWidthTile","_styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5__","_styles_components_full_width_tile_module_scss__WEBPACK_IMPORTED_MODULE_5___default","_public_images_roy_morgan_logo_png__WEBPACK_IMPORTED_MODULE_2__","_click_through_link__WEBPACK_IMPORTED_MODULE_3__","next_image__WEBPACK_IMPORTED_MODULE_4__","next_image__WEBPACK_IMPORTED_MODULE_4___default","_featuredImage_node","_featuredImage_node1","_featuredImage_node2","_featuredImage_node_mediaDetails","_featuredImage_node3","_featuredImage_node_mediaDetails1","_tileImage_mediaDetails","_tileImage_mediaDetails1","featuredImage","tileImage","link_text","excerpt","attributes","tileType","image_right","openInNewTab","showLink","isButton","linkPositionTop","image","Z","node","sourceUrl","src","height","mediaDetails","width","parseInt","id","anchor","full_width_tile__row","full_width_tile__image_wrapper","undefined","target","full_width_tile__image_link","alt","fill","style","objectFit","full_width_tile__col_right","full_width_tile__title_wrapper","full_width_tile__clickthrough_link","text","full_width_tile__excerpt","dangerouslySetInnerHTML","__html","Loader","jsx_runtime","loader_module","loader_module_default","next_image","image_default","classnames","classnames_default","rmr_loader","loader_wrapper","ListingPageHeader","_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5__","_styles_components_page_headers_listing_page_header_module_scss__WEBPACK_IMPORTED_MODULE_5___default","_common_menu_link_buttons__WEBPACK_IMPORTED_MODULE_1__","_blocks_RequestACallbackButton__WEBPACK_IMPORTED_MODULE_2__","_container__WEBPACK_IMPORTED_MODULE_3__","_breadcrumbs__WEBPACK_IMPORTED_MODULE_4__","pageBreadcrumb","description","showMenuButtons","showCallbackButton","callbackButton","showBackground","fullWidth","listing_page_header__wrapper","background","listing_page_header__inner","no_action_button","no_menu","no_background","full_width","listing_page_header__col_breadcrumb","listing_page_header__col_left","listing_page_header__content","listing_page_header__menu","listing_page_header__col_right","button_text","buttonText","modal_title","modalTitle","modal_text","modalText","modal_form_id","modalFormId","PAGE_META_LISTING","PAGE_META","r","__N_SSG","ProductsAndTools","products_and_tools_module","products_and_tools_module_default","next_router","products_and_tools_category_section_module","products_and_tools_category_section_module_default","full_width_tile","ProductsAndToolsCategorySection","name","productsAndTools","category_section__wrapper","category_section__wrapper_inner","category_section__header","category_section__header__excerpt","category_section__product","Object","values","post","_post_node","_post_node1","_post_node2","_post_node3","_post_node_productLink","productLink","openInANewTab","category_section__no_products","listing_page_header","layout","api","pageMeta","getAllProductsAndTools","cursor","data","I","mt","head","head_default","loader","react","TransitionGroup","CSSTransition","Testimonial","Newsletter","lib_account","loadPage","_allProductsAndTools_productsAndTools","_allProductsAndTools_productsAndToolsCategories","_allProductsAndTools_productsAndTools1","_allProductsAndTools_themeSettings","_allProductsAndTools_themeSettings1","allProductsAndTools","edges","themeProductsAndToolsListingPage","productsAndToolsCategories","pageInfo","header","generalSettings","themeSettings","menu","topmenu","footer","footerColOneMenu","footerColTwoMenu","footerColThreeMenu","footerConnectMenu","_data_header_themeSettings","_data_header_themeSettings1","_data_header_themeSettings2","_data_header","_data_header_generalSettings","_data_themeProductsAndToolsListingPage","_data_themeProductsAndToolsListingPage_productAndToolsListingPage","productsAndToolsData","router","useRouter","setData","useState","account","setAccount","useEffect","Br","fetchData","Mx","categories","headerDetails","listingPageHeaders","find","h","page","testimonial","listingPageTestimonials","newsletter","_category_node","_category_node1","category","isFallback","Fragment","content","requestCallbackButton","productAndToolsListingPage","showCategoryMenuButtons","_category_node2","products","filter","_product_node_productsAndToolsCategories_nodes_","_product_node","_product_node_productsAndToolsCategories","product","nodes","sort","productA","productB","localeCompare","timeout","products_and_tools__no_categories","products_and_tools__listing_testimonial","quote","quote_source","quoteSource","click_through_link","clickThroughLink","module","exports","esm_TransitionGroup","objectWithoutPropertiesLoose","esm_extends","inheritsLoose","TransitionGroupContext","getChildMapping","mapFn","result","create","Children","c","forEach","child","isValidElement","getProp","prop","obj","keys","k","_React$Component","context","_this","handleExited","call","bind","_assertThisInitialized","state","contextValue","isMounting","firstRender","_proto","prototype","componentDidMount","mounted","setState","componentWillUnmount","getDerivedStateFromProps","nextProps","_ref","nextChildMapping","prevChildMapping","cloneElement","onExited","in","appear","enter","exit","mergeChildMappings","prev","next","getValueForKey","nextKeysPending","pendingKeys","prevKey","childMapping","nextKey","pendingNextKey","hasPrev","hasNext","prevChild","isLeaving","currentChildMapping","render","_this$props","Component","component","childFactory","createElement","Provider","value","propTypes","defaultProps","O","s","_N_E"],"sourceRoot":""}