{"version":3,"file":"a2b198f4dc62bb5b38762b1149bf8fbbf76cd187-b29f6b368cfc394af5c1.js","mappings":"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","sources":["webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/src/hooks/useKatexCss.tsx","webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/src/utils/experiments.ts","webpack://@taboola/venus-time/./node_modules/@mui/material/internal/svg-icons/MoreHoriz.js","webpack://@taboola/venus-time/./node_modules/@mui/material/Breadcrumbs/BreadcrumbCollapsed.js","webpack://@taboola/venus-time/./node_modules/@mui/material/Breadcrumbs/breadcrumbsClasses.js","webpack://@taboola/venus-time/./node_modules/@mui/material/Breadcrumbs/Breadcrumbs.js","webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/src/components/breadcrumbs/breadcrumbs.tsx","webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/src/components/breadcrumbs/index.ts","webpack://@taboola/venus-time/./src/@taboola/venus-core/components/breadcrumbs/index.tsx","webpack://@taboola/venus-time/./src/@taboola/venus-core/templates/article-template/default/hero.tsx","webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/static/pencil.svg","webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/src/components/blocks/display-date/display-date.tsx","webpack://@taboola/venus-time/./static/x.svg","webpack://@taboola/venus-time/./src/@taboola/venus-core/templates/article-template/article-details.tsx","webpack://@taboola/venus-time/./src/@taboola/venus-core/templates/article-template/default/main.tsx","webpack://@taboola/venus-time/./src/@taboola/venus-core/templates/article-template/media/main.tsx","webpack://@taboola/venus-time/./src/@taboola/venus-core/templates/article-template/default-no-image/hero.tsx","webpack://@taboola/venus-time/./src/@taboola/venus-core/templates/article-template/media/hero.tsx","webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/src/templates/article-template/seo.tsx","webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/src/hooks/useActiveElementId.tsx","webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/src/components/table-of-contents/impl/placeholder.tsx","webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/src/components/table-of-contents/impl/table-of-contents.tsx","webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/src/components/table-of-contents/index.ts","webpack://@taboola/venus-time/./src/@taboola/venus-core/components/blocks/related/impl/ArticlesBlock.tsx","webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/src/templates/article-template/side/placeholder.tsx","webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/src/templates/article-template/side/side.tsx","webpack://@taboola/venus-time/./src/@taboola/venus-core/templates/article-template/side/side.tsx","webpack://@taboola/venus-time/./src/@taboola/venus-core/templates/article-template/article-template.tsx","webpack://@taboola/venus-time/./src/@taboola/venus-core/templates/article-template/article-components.ts","webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/src/templates/article-template/index.tsx","webpack://@taboola/venus-time/./node_modules/@taboola/venus-core/src/templates/article-template/landing-page/main.tsx","webpack://@taboola/venus-time/./node_modules/lodash/_createFind.js","webpack://@taboola/venus-time/./node_modules/lodash/find.js","webpack://@taboola/venus-time/./node_modules/lodash/findIndex.js","webpack://@taboola/venus-time/./node_modules/lodash/mapKeys.js"],"sourcesContent":["import { isTruthy } from '../utils/lang';\n\nconst useKatex = (value) => {\n // can improve the accuracy of this condition if will use the mdxAST,\n // but that will require querying it specifically in every entity that uses markdown\n if (isTruthy(value)) {\n import('katex/dist/katex.min.css');\n }\n};\n\nexport default useKatex;\n","import mapKeys from 'lodash/mapKeys';\nimport omitBy from 'lodash/omitBy';\nimport find from 'lodash/find';\n\nimport isEmpty from './node/is-empty';\n\nconst mergeExperimentOverrides = ({ article, experimentData }) => {\n const variants = article?.variants || [];\n // TODO: didnt take in mind several active variants with article overrides...\n // TODO: This needs to be discussed/fixed ASAP\n const [firstVariantWithOverrides] = variants.filter(({ layer, key: variant, ...rest }) => {\n const isActive = find(experimentData, { layer, variant });\n const hasOverrideFields = Object.entries(rest).some(([key, value]) => key.endsWith('Override') && !isEmpty(value));\n\n return isActive && hasOverrideFields;\n });\n let articleOverrides = omitBy(firstVariantWithOverrides, isEmpty);\n articleOverrides = mapKeys(articleOverrides, (value, key) => key.replace('Override', ''));\n\n return { ...article, ...articleOverrides };\n};\n\nexport default mergeExperimentOverrides;\n","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from '../../utils/createSvgIcon';\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon( /*#__PURE__*/_jsx(\"path\", {\n d: \"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z\"\n}), 'MoreHoriz');","'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"slots\", \"slotProps\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { emphasize } from '@mui/system/colorManipulator';\nimport styled from '../styles/styled';\nimport MoreHorizIcon from '../internal/svg-icons/MoreHoriz';\nimport ButtonBase from '../ButtonBase';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst BreadcrumbCollapsedButton = styled(ButtonBase)(({\n theme\n}) => _extends({\n display: 'flex',\n marginLeft: `calc(${theme.spacing(1)} * 0.5)`,\n marginRight: `calc(${theme.spacing(1)} * 0.5)`\n}, theme.palette.mode === 'light' ? {\n backgroundColor: theme.palette.grey[100],\n color: theme.palette.grey[700]\n} : {\n backgroundColor: theme.palette.grey[700],\n color: theme.palette.grey[100]\n}, {\n borderRadius: 2,\n '&:hover, &:focus': _extends({}, theme.palette.mode === 'light' ? {\n backgroundColor: theme.palette.grey[200]\n } : {\n backgroundColor: theme.palette.grey[600]\n }),\n '&:active': _extends({\n boxShadow: theme.shadows[0]\n }, theme.palette.mode === 'light' ? {\n backgroundColor: emphasize(theme.palette.grey[200], 0.12)\n } : {\n backgroundColor: emphasize(theme.palette.grey[600], 0.12)\n })\n}));\nconst BreadcrumbCollapsedIcon = styled(MoreHorizIcon)({\n width: 24,\n height: 16\n});\n\n/**\n * @ignore - internal component.\n */\nfunction BreadcrumbCollapsed(props) {\n const {\n slots = {},\n slotProps = {}\n } = props,\n otherProps = _objectWithoutPropertiesLoose(props, _excluded);\n const ownerState = props;\n return /*#__PURE__*/_jsx(\"li\", {\n children: /*#__PURE__*/_jsx(BreadcrumbCollapsedButton, _extends({\n focusRipple: true\n }, otherProps, {\n ownerState: ownerState,\n children: /*#__PURE__*/_jsx(BreadcrumbCollapsedIcon, _extends({\n as: slots.CollapsedIcon,\n ownerState: ownerState\n }, slotProps.collapsedIcon))\n }))\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? BreadcrumbCollapsed.propTypes = {\n /**\n * The props used for the CollapsedIcon slot.\n * @default {}\n */\n slotProps: PropTypes.shape({\n collapsedIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the BreadcumbCollapsed.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n CollapsedIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object\n} : void 0;\nexport default BreadcrumbCollapsed;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getBreadcrumbsUtilityClass(slot) {\n return generateUtilityClass('MuiBreadcrumbs', slot);\n}\nconst breadcrumbsClasses = generateUtilityClasses('MuiBreadcrumbs', ['root', 'ol', 'li', 'separator']);\nexport default breadcrumbsClasses;","'use client';\n\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"component\", \"slots\", \"slotProps\", \"expandText\", \"itemsAfterCollapse\", \"itemsBeforeCollapse\", \"maxItems\", \"separator\"];\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport { useSlotProps } from '@mui/base/utils';\nimport composeClasses from '@mui/utils/composeClasses';\nimport styled from '../styles/styled';\nimport { useDefaultProps } from '../DefaultPropsProvider';\nimport Typography from '../Typography';\nimport BreadcrumbCollapsed from './BreadcrumbCollapsed';\nimport breadcrumbsClasses, { getBreadcrumbsUtilityClass } from './breadcrumbsClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n li: ['li'],\n ol: ['ol'],\n separator: ['separator']\n };\n return composeClasses(slots, getBreadcrumbsUtilityClass, classes);\n};\nconst BreadcrumbsRoot = styled(Typography, {\n name: 'MuiBreadcrumbs',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [{\n [`& .${breadcrumbsClasses.li}`]: styles.li\n }, styles.root];\n }\n})({});\nconst BreadcrumbsOl = styled('ol', {\n name: 'MuiBreadcrumbs',\n slot: 'Ol',\n overridesResolver: (props, styles) => styles.ol\n})({\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n padding: 0,\n margin: 0,\n listStyle: 'none'\n});\nconst BreadcrumbsSeparator = styled('li', {\n name: 'MuiBreadcrumbs',\n slot: 'Separator',\n overridesResolver: (props, styles) => styles.separator\n})({\n display: 'flex',\n userSelect: 'none',\n marginLeft: 8,\n marginRight: 8\n});\nfunction insertSeparators(items, className, separator, ownerState) {\n return items.reduce((acc, current, index) => {\n if (index < items.length - 1) {\n acc = acc.concat(current, /*#__PURE__*/_jsx(BreadcrumbsSeparator, {\n \"aria-hidden\": true,\n className: className,\n ownerState: ownerState,\n children: separator\n }, `separator-${index}`));\n } else {\n acc.push(current);\n }\n return acc;\n }, []);\n}\nconst Breadcrumbs = /*#__PURE__*/React.forwardRef(function Breadcrumbs(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiBreadcrumbs'\n });\n const {\n children,\n className,\n component = 'nav',\n slots = {},\n slotProps = {},\n expandText = 'Show path',\n itemsAfterCollapse = 1,\n itemsBeforeCollapse = 1,\n maxItems = 8,\n separator = '/'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n const [expanded, setExpanded] = React.useState(false);\n const ownerState = _extends({}, props, {\n component,\n expanded,\n expandText,\n itemsAfterCollapse,\n itemsBeforeCollapse,\n maxItems,\n separator\n });\n const classes = useUtilityClasses(ownerState);\n const collapsedIconSlotProps = useSlotProps({\n elementType: slots.CollapsedIcon,\n externalSlotProps: slotProps.collapsedIcon,\n ownerState\n });\n const listRef = React.useRef(null);\n const renderItemsBeforeAndAfter = allItems => {\n const handleClickExpand = () => {\n setExpanded(true);\n\n // The clicked element received the focus but gets removed from the DOM.\n // Let's keep the focus in the component after expanding.\n // Moving it to the <ol> or <nav> does not cause any announcement in NVDA.\n // By moving it to some link/button at least we have some announcement.\n const focusable = listRef.current.querySelector('a[href],button,[tabindex]');\n if (focusable) {\n focusable.focus();\n }\n };\n\n // This defends against someone passing weird input, to ensure that if all\n // items would be shown anyway, we just show all items without the EllipsisItem\n if (itemsBeforeCollapse + itemsAfterCollapse >= allItems.length) {\n if (process.env.NODE_ENV !== 'production') {\n console.error(['MUI: You have provided an invalid combination of props to the Breadcrumbs.', `itemsAfterCollapse={${itemsAfterCollapse}} + itemsBeforeCollapse={${itemsBeforeCollapse}} >= maxItems={${maxItems}}`].join('\\n'));\n }\n return allItems;\n }\n return [...allItems.slice(0, itemsBeforeCollapse), /*#__PURE__*/_jsx(BreadcrumbCollapsed, {\n \"aria-label\": expandText,\n slots: {\n CollapsedIcon: slots.CollapsedIcon\n },\n slotProps: {\n collapsedIcon: collapsedIconSlotProps\n },\n onClick: handleClickExpand\n }, \"ellipsis\"), ...allItems.slice(allItems.length - itemsAfterCollapse, allItems.length)];\n };\n const allItems = React.Children.toArray(children).filter(child => {\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The Breadcrumbs component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n return /*#__PURE__*/React.isValidElement(child);\n }).map((child, index) => /*#__PURE__*/_jsx(\"li\", {\n className: classes.li,\n children: child\n }, `child-${index}`));\n return /*#__PURE__*/_jsx(BreadcrumbsRoot, _extends({\n ref: ref,\n component: component,\n color: \"text.secondary\",\n className: clsx(classes.root, className),\n ownerState: ownerState\n }, other, {\n children: /*#__PURE__*/_jsx(BreadcrumbsOl, {\n className: classes.ol,\n ref: listRef,\n ownerState: ownerState,\n children: insertSeparators(expanded || maxItems && allItems.length <= maxItems ? allItems : renderItemsBeforeAndAfter(allItems), classes.separator, separator, ownerState)\n })\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Breadcrumbs.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────â”\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Override the default label for the expand button.\n *\n * For localization purposes, you can use the provided [translations](/material-ui/guides/localization/).\n * @default 'Show path'\n */\n expandText: PropTypes.string,\n /**\n * If max items is exceeded, the number of items to show after the ellipsis.\n * @default 1\n */\n itemsAfterCollapse: integerPropType,\n /**\n * If max items is exceeded, the number of items to show before the ellipsis.\n * @default 1\n */\n itemsBeforeCollapse: integerPropType,\n /**\n * Specifies the maximum number of breadcrumbs to display. When there are more\n * than the maximum number, only the first `itemsBeforeCollapse` and last `itemsAfterCollapse`\n * will be shown, with an ellipsis in between.\n * @default 8\n */\n maxItems: integerPropType,\n /**\n * Custom separator node.\n * @default '/'\n */\n separator: PropTypes.node,\n /**\n * The props used for each slot inside the Breadcumb.\n * @default {}\n */\n slotProps: PropTypes.shape({\n collapsedIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside the Breadcumb.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n CollapsedIcon: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Breadcrumbs;","import React from 'react';\nimport classnames from 'classnames';\nimport { BreadcrumbJsonLd } from '@taboola/gatsby-plugin-next-seo';\nimport MBreadcrumbs, { BreadcrumbsProps } from '@mui/material/Breadcrumbs';\nimport 'twin.macro';\n\nimport { siteMetadata } from '../../config/siteMetadata';\nimport { withPreviewPlaceholder } from '../../cms/utils/with-preview-placeholder';\nimport { resolveUrl } from '../../utils/node/url';\nimport { Link } from '../link';\n\nexport interface CategoryFields {\n slug: string;\n name: string;\n parentCategory?: CategoryFields;\n}\n\nexport type BreadcrumbsPropsType = {\n breadCrumbTrail: CategoryFields[];\n title: string;\n includeTitle: boolean;\n includeHome: boolean;\n homeTitle: string;\n} & BreadcrumbsProps;\n\nconst siteTitle = siteMetadata?.title;\n\nexport const constructTrail = (category: CategoryFields): CategoryFields[] => {\n const parentCategory = category?.parentCategory;\n\n if (!category) {\n return [];\n }\n\n if (!parentCategory) {\n return [category];\n }\n\n return [parentCategory, category];\n};\n\nconst Breadcrumbs = ({\n className,\n breadCrumbTrail,\n includeTitle = false,\n title,\n includeHome = true,\n homeTitle = 'Home',\n ...rest\n}: BreadcrumbsPropsType) => {\n // doing this twice for CMS\n const trail = constructTrail(breadCrumbTrail[0]);\n\n return (\n <MBreadcrumbs className={classnames(className, 'root')} {...rest}>\n {includeHome && (\n <Link className=\"link home\" to=\"/\" title={`Home · ${siteTitle}`}>\n {homeTitle}\n </Link>\n )}\n {trail.map(({ slug, name }) => (\n <Link className=\"link\" to={`/category/${slug}`} key={`bcrumbs-${slug}`}>\n {name}\n </Link>\n ))}\n {includeTitle && <span className=\"title\">{title}</span>}\n </MBreadcrumbs>\n );\n};\n\nconst BreadCrumbsWrapper = ({\n breadCrumbTrail,\n ...rest\n}: BreadcrumbsPropsType) => {\n // doing this twice for CMS\n const trail = constructTrail(breadCrumbTrail[0]);\n const jsonLdTrail = trail.map(({ name, slug }, position) => ({\n position: position + 1,\n name,\n item: resolveUrl('/category/' + slug, true),\n }));\n\n return (\n <>\n <BreadcrumbJsonLd itemListElements={jsonLdTrail} />\n <Breadcrumbs {...rest} breadCrumbTrail={trail} />\n </>\n );\n};\n\nexport default withPreviewPlaceholder(BreadCrumbsWrapper, Breadcrumbs);\n","import styled from 'styled-components';\nimport tw from 'twin.macro';\n\nimport Breadcrumbs from './breadcrumbs';\n\nconst StyledBreadcrumbs = styled(Breadcrumbs)`\n &.root {\n ${tw`text-xs`}\n }\n`;\n\nexport default StyledBreadcrumbs;\n","import React from 'react';\nimport startCase from 'lodash/startCase';\nimport styled from 'styled-components';\nimport tw from 'twin.macro';\n\nimport { siteMetadata } from '@taboola/venus-core/src/config/siteMetadata';\nimport _Breadcrumbs from '@taboola/venus-core/src/components/breadcrumbs';\n\nconst formattedPrefix = startCase(siteMetadata?.pathPrefix);\n\nconst StyledBreadcrumbs = styled(_Breadcrumbs)`\n ${tw`flex justify-center`}\n\n .MuiBreadcrumbs-separator {\n ${tw`text-red-200 text-xl leading-none mx-1`}\n }\n\n .link {\n ${tw`font-primary uppercase font-bold text-red-200`}\n }\n`;\n\nconst Breadcrumbs = (props) => (\n <StyledBreadcrumbs\n {...props}\n includeHome\n homeTitle={formattedPrefix}\n separator=\"•\"\n />\n);\n\nexport default Breadcrumbs;\n","import React from 'react';\nimport styled from 'styled-components';\nimport 'twin.macro';\n\nimport { IArticle } from '@taboola/venus-core/src/model';\nimport _Image from '@taboola/venus-core/src/components/image';\nimport ImageCredit from '@taboola/venus-core/src/components/image/image-credit';\nimport Breadcrumbs from '@taboola/venus-core/src/components/breadcrumbs';\nimport { getArticleImage } from '@taboola/venus-core/src/templates/article-template/article-utils';\n\ntype Props = {\n article: IArticle;\n showBreadCrumbBar: boolean;\n};\n\nconst Image = styled(_Image)`\n .preview-image {\n width: 909px;\n height: 547px;\n }\n`;\n\nconst Hero = (props: Props) => {\n const article = props?.article;\n const title = article?.title;\n const categories = article?.categories;\n const image = getArticleImage(article);\n const imageSource = article?.image?.imageSource;\n const photographer = article?.image?.photographer;\n const alt = article?.image?.alt || '';\n const imageTitle = article?.image?.imageTitle;\n const showBreadCrumbBar = props?.showBreadCrumbBar;\n\n return (\n <>\n <div tw=\"max-w-[909px] mx-auto\">\n {showBreadCrumbBar && <Breadcrumbs breadCrumbTrail={categories} />}\n <h1 tw=\"text-center mt-3 font-medium text-[28px] leading-[30px] md:(text-[39px] leading-[47px])\">\n {title}\n </h1>\n </div>\n <div tw=\"flex flex-col justify-center max-w-[909px] mx-auto\">\n {image && (\n <>\n <Image image={image} alt={alt} title={imageTitle} />\n <ImageCredit\n imageSource={imageSource}\n photographer={photographer}\n />\n </>\n )}\n </div>\n </>\n );\n};\n\nexport default Hero;\n","var _path, _path2, _path3, _path4;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgPencil = function SvgPencil(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 22.176,\n height: 26.142\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.896 23.406a.33.33 0 0 1-.158-.04L.174 20.883a.33.33 0 0 1-.133-.449L9.558 2.942a.33.33 0 0 1 .2-.16.33.33 0 0 1 .252.027l4.564 2.483a.33.33 0 0 1 .133.449L5.19 23.234a.33.33 0 0 1-.2.159.3.3 0 0 1-.094.013M.781 20.459l3.982 2.167 9.2-16.911-3.982-2.167Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m14.549 6.032-5.146-2.8L10.784.694a1.33 1.33 0 0 1 1.8-.531l2.813 1.53a1.32 1.32 0 0 1 .639.79 1.32 1.32 0 0 1-.107 1.011Zm-4.247-3.065 3.982 2.167 1.065-1.956a.66.66 0 0 0 .054-.507.66.66 0 0 0-.32-.4L12.27.741a.67.67 0 0 0-.9.267Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.168 10.117a.3.3 0 0 1-.158-.04.33.33 0 0 1-.133-.449l2.962-5.445a.33.33 0 0 1 .449-.133.33.33 0 0 1 .133.449L9.459 9.944a.33.33 0 0 1-.291.173M.527 26.142a.33.33 0 0 1-.155-.039.33.33 0 0 1-.176-.28l-.2-5.22a.33.33 0 0 1 .156-.294.33.33 0 0 1 .333-.01l4.564 2.483a.33.33 0 0 1 .173.281.33.33 0 0 1-.155.291L.699 26.091a.33.33 0 0 1-.172.051m.157-4.982.153 4.066 3.4-2.132Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.845 26.143H.645a.33.33 0 0 1-.331-.331.33.33 0 0 1 .331-.331h21.2a.33.33 0 0 1 .331.331.33.33 0 0 1-.331.331\"\n })));\n};\nexport default SvgPencil;","import React, { ReactNode } from 'react';\nimport classnames from 'classnames';\nimport 'twin.macro';\n\nimport Pencil from '../../../../static/pencil.svg';\nimport getDateForDisplay from '../../../utils/dates';\n\ninterface Props {\n className?: string;\n date: string | Date;\n labelPrefix?: string;\n icon?: ReactNode;\n showIcon?: boolean;\n}\n// TODO: create 1 component from time-to-read/display-date\nconst DisplayDate = ({\n className,\n date,\n labelPrefix = 'Updated:',\n icon,\n showIcon = true,\n}: Props) => (\n <div\n className={classnames(className)}\n tw=\"flex items-center space-x-5 md:(flex-col items-start space-x-0 space-y-1)\"\n >\n {showIcon && (icon || <Pencil tw=\"mr-2\" />)}\n <span>\n {labelPrefix && <span className=\"label-prefix\">{labelPrefix} </span>}\n <span>{getDateForDisplay(date)}</span>\n </span>\n </div>\n);\n\nexport default DisplayDate;\n","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar SvgX = function SvgX(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 15,\n height: 15,\n fill: \"none\",\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 1200 1227\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#000\",\n d: \"M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284zM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854z\"\n })));\n};\nexport default SvgX;","import React, { Fragment } from 'react';\nimport styled from 'styled-components';\nimport tw from 'twin.macro';\n\nimport { isNotEmpty } from '@taboola/venus-core/src/utils/node/collections';\nimport _AuthorBlock from '@taboola/venus-core/src/components/blocks/author';\nimport DisplayDate from '@taboola/venus-core/src/components/blocks/display-date';\nimport ExternalLink from '@taboola/venus-core/src/components/external-link/external-link';\n\nimport FaTwitter from '../../../../../static/x.svg';\n\nconst AuthorBlock = styled(_AuthorBlock)`\n a {\n ${tw`font-bold text-red-200`}\n }\n`;\n\nconst AuthorContainer = styled.div`\n ${tw`flex flex-wrap-reverse gap-x-1.5`}\n ${({ $hasEditors }) => $hasEditors && tw`mr-20`}\n`;\n\nconst showSeparator = (index, arr) => {\n return arr.length > 1 && index < arr.length - 1;\n};\n\nconst getTwitterLink = (author) => {\n return author?.socialLinks?.find(\n (link) => link.includes('twitter.com') || link.includes('x.com')\n )\n};\n\nconst ArticleDetails = ({ article }) => {\n const authors = article?.authors;\n const editors = article?.editors || [];\n const hasEditor = isNotEmpty(editors);\n const updatedAt = article?.updatedAt;\n\n return (\n <div tw=\"flex justify-between items-center flex-wrap uppercase text-[#8b8d91] text-xs font-heading leading-[1.85]\">\n <AuthorContainer $hasEditors={hasEditor}>\n <div tw=\"inline-flex flex-wrap gap-x-1.5\">\n {authors.map((author, index) => (\n <span tw=\"inline-flex gap-1.5\" key={index}>\n <AuthorBlock\n author={author}\n labelPrefix={index === 0 ? 'by' : ''}\n showBio={false}\n showImage={false}\n withBookmark={false}\n withLink={true}\n />\n {getTwitterLink(author) && (\n <ExternalLink\n tw=\"flex items-center\"\n href={getTwitterLink(author)}\n title={`${author?.name} X account`}\n aria-label={`Go to ${author?.name} X account`}\n >\n <FaTwitter tw=\"w-[15px] h-[15px]\" />\n </ExternalLink>\n )}\n {showSeparator(index, authors) && (\n <span aria-hidden=\"true\">|</span>\n )}\n </span>\n ))}\n </div>\n \n <DisplayDate\n className=\"display-date\"\n labelPrefix=\"updated:\"\n date={updatedAt}\n showIcon={false}\n />\n </AuthorContainer>\n {hasEditor && (\n <div tw=\"flex flex-wrap gap-x-1.5\">\n {editors.map((editor, index) => (\n <Fragment key={index}>\n <AuthorBlock\n author={editor}\n labelPrefix={index === 0 ? 'edited by' : ''}\n showBio={false}\n showImage={false}\n withBookmark={false}\n withLink={true}\n />\n {showSeparator(index, editors) && (\n <span aria-hidden=\"true\">|</span>\n )}\n </Fragment>\n ))}\n </div>\n )}\n </div>\n );\n};\n\nexport default ArticleDetails;\n","import React from 'react';\nimport 'twin.macro';\n\nimport { getArticleHero } from '@taboola/venus-core/src/templates/article-template/article-utils';\nimport * as textBlockContext from '@taboola/venus-core/src/components/shortcodes/text-block/context';\nimport ArticleDetails from '@taboola/venus-core/src/templates/article-template/article-details';\n\nimport Disclaimer from '../../../../../components/disclaimer/disclaimer';\nimport { StyledMDXdWrapper } from '../../../components/mdx-styled-renderer';\n\nconst Main = ({ className, article, children }) => {\n const contentHeroSlug = getArticleHero(article);\n const HeroTextBlock = textBlockContext?.[contentHeroSlug];\n\n return (\n <div className={className} tw=\"space-y-6\">\n {contentHeroSlug && (\n <StyledMDXdWrapper>\n <HeroTextBlock />\n </StyledMDXdWrapper>\n )}\n <ArticleDetails article={article} variant={'horizontal'} />\n {children && (\n <StyledMDXdWrapper tw=\"drop-cap\">{children}</StyledMDXdWrapper>\n )}\n <Disclaimer tw=\"bg-primary-50\" />\n </div>\n );\n};\n\nexport default Main;\n","import React from 'react';\nimport 'twin.macro';\n\nimport ArticleDetails from '@taboola/venus-core/src/templates/article-template/article-details';\nimport {\n ArticleSeparator,\n getArticleCategory,\n getArticleAuthor,\n} from '@taboola/venus-core/src/templates/article-template/article-utils';\n\nimport { StyledMDXdWrapper } from '../../../components/mdx-styled-renderer';\n\nconst Main = ({ article, children }) => {\n const category = getArticleCategory(article);\n const author = getArticleAuthor(article);\n\n return (\n <>\n <ArticleDetails article={article} variant={'horizontal'} tw=\"mb-0\" />\n {children && (\n <StyledMDXdWrapper tw=\"drop-cap\">{children}</StyledMDXdWrapper>\n )}\n </>\n );\n};\n\nexport default Main;\n","import React from 'react';\nimport 'twin.macro';\n\nimport { IArticle } from '@taboola/venus-core/src/model';\nimport Breadcrumbs from '@taboola/venus-core/src/components/breadcrumbs';\n\ntype Props = {\n article: IArticle;\n showBreadCrumbBar: boolean;\n};\n\nconst Hero = (props: Props) => {\n const article = props?.article;\n const title = article?.title;\n const categories = article?.categories;\n const showBreadCrumbBar = props?.showBreadCrumbBar;\n\n return (\n <div tw=\"max-w-[909px] mx-auto py-2 md:(px-[24px]) lg:(px-14)\">\n {showBreadCrumbBar && <Breadcrumbs tw=\"justify-start\" breadCrumbTrail={categories} />}\n <h1 tw=\"mt-3 font-medium text-[28px] leading-[30px] md:(text-[39px] leading-[47px])\">\n {title}\n </h1>\n </div>\n );\n};\n\nexport default Hero;\n","import React from 'react';\nimport 'twin.macro';\n\nimport { IArticle } from '@taboola/venus-core/src/model';\nimport Breadcrumbs from '@taboola/venus-core/src/components/breadcrumbs';\n\ntype Props = {\n article: IArticle;\n showBreadCrumbBar: boolean;\n};\n\nconst Hero = (props: Props) => {\n const article = props?.article;\n const title = article?.title;\n const categories = article?.categories;\n const showBreadCrumbBar = props?.showBreadCrumbBar;\n\n return (\n <div tw=\"max-w-[909px] mx-auto py-2 md:(px-[24px]) lg:(px-14)\">\n {showBreadCrumbBar && <Breadcrumbs tw=\"justify-start\" breadCrumbTrail={categories} />}\n <h1 tw=\"mt-3 mb-0 font-medium text-[28px] leading-[30px] md:(text-[39px] leading-[47px])\">\n {title}\n </h1>\n </div>\n );\n};\n\nexport default Hero;\n","import React from 'react';\nimport { ArticleJsonLd } from '@taboola/gatsby-plugin-next-seo';\n\nimport { withPreviewPlaceholder } from '../../cms/utils/with-preview-placeholder';\nimport MetaSEO from '../../components/seo';\nimport { getArticleUrls, getArticleImage, getArticleCategory, getArticleCategoryNamesList } from './article-utils';\n\nconst createPersonEntity = (list) => list?.map((item) => ({\n '@type': 'Person',\n name: item?.name,\n}));\n\nconst ArticleSeo = ({ article, siteMetadata }) => {\n const {\n slug,\n abTestSlug,\n description,\n createdAt,\n updatedAt,\n publishedAt,\n author,\n editors = [],\n title,\n seo,\n } = article;\n const imgSharp = getArticleImage(article);\n const { pageUrl, imageUrl, siteImageUrl } = getArticleUrls(article, siteMetadata);\n const siteTitle = siteMetadata?.title;\n const section = siteMetadata?.pathPrefix?.slice(1);\n const category = getArticleCategory(article)?.name;\n const affilimateCustomTags = {\n ...siteMetadata?.affilimate?.tags,\n category: getArticleCategoryNamesList(article),\n };\n const seoEditors = createPersonEntity(editors);\n const seoAuthors = createPersonEntity([author]);\n\n return (\n <>\n <MetaSEO\n seo={seo}\n slug={abTestSlug || slug}\n title={title}\n description={description}\n createdAt={createdAt}\n publishedAt={publishedAt}\n updatedAt={updatedAt}\n image={imgSharp}\n author={author?.name}\n category={category}\n urlPart=\"article\"\n type=\"article\"\n section={section}\n amTags={affilimateCustomTags}\n />\n <ArticleJsonLd\n url={pageUrl}\n headline={`${title} · ${siteTitle}`}\n images={imageUrl ? [imageUrl] : []}\n datePublished={createdAt}\n dateModified={publishedAt || updatedAt}\n publisherName={siteTitle}\n publisherLogo={siteImageUrl}\n description={description}\n overrides={{\n editor: seoEditors,\n author: seoAuthors,\n }}\n />\n </>\n );\n};\n\nexport default withPreviewPlaceholder(ArticleSeo, null);\n","import { useEffect, useState } from 'react';\n\nenum IntersectionObserverFunctions {\n OBSERVE = 'observe',\n UNOBSERVE = 'unobserve',\n}\n\ntype toggleObserveArgs = {\n itemIds: string[];\n observer: IntersectionObserver;\n observerFunc?: IntersectionObserverFunctions;\n}\n\nconst toggleObserve = ({ itemIds, observer, observerFunc = IntersectionObserverFunctions.OBSERVE }: toggleObserveArgs) => {\n itemIds.forEach((id: string) => {\n const elm = document?.getElementById(id);\n\n if (elm) {\n observer[observerFunc](elm);\n }\n });\n};\n\nconst useActiveElementId = (itemIds: string[]): string => {\n const [activeId, setActiveId] = useState('');\n useEffect(() => {\n const observer = new IntersectionObserver((entries) => {\n const activeEntry = entries.find((entry) => entry?.isIntersecting);\n\n if (activeEntry) {\n setActiveId(activeEntry?.target?.id);\n }\n }, { rootMargin: '0% 0% -75% 0%' });\n\n toggleObserve({ itemIds, observer });\n\n return () => toggleObserve({\n itemIds,\n observer,\n observerFunc: IntersectionObserverFunctions.UNOBSERVE,\n });\n }, [itemIds]);\n\n return activeId;\n};\n\nexport default useActiveElementId;\n","import React from 'react';\nimport { Skeleton } from '@mui/material';\n\nimport 'twin.macro';\n\nconst Placeholder = () => (\n <div tw=\"space-y-2\">\n <h3 className=\"heading\">Table of Contents</h3>\n <div tw=\"space-y-4\">\n {[1, 2, 3, 4].map((i) => (\n <Skeleton key={`toc-placeholder-${i}`} animation={false} variant='text' height={30} />\n ))}\n </div>\n </div>\n);\n\nexport default Placeholder;\n","import React, { useEffect, useMemo, useState } from 'react';\nimport classnames from 'classnames';\nimport kebabCase from 'lodash/kebabCase';\nimport Paper, { PaperProps } from '@mui/material/Paper';\nimport 'twin.macro';\n\nimport useActiveElementId from '../../../hooks/useActiveElementId';\nimport { isNotEmpty } from '../../../utils/collections';\nimport { withPreviewPlaceholder } from '../../../cms/utils/with-preview-placeholder';\nimport Placeholder from './placeholder';\n\ntype TocItem = {\n url: string;\n title: string;\n items?: TocItem[];\n};\n\nexport type Props = {\n tableOfContents: {\n items: TocItem[];\n };\n topItem: string;\n header: string;\n} & PaperProps;\n\nconst TableOfContentItem = ({ className, linkClassName, url, children }) => (\n <li className={className}>\n <a href={url} className={linkClassName}>\n {children}\n </a>\n </li>\n);\n\nconst TableOfContents = ({\n header = 'Table Of Contents',\n topItem,\n tableOfContents,\n className,\n ...rest\n}: Props) => {\n const [topUrl, setTopUrl] = useState('#');\n const items = tableOfContents?.items;\n\n if (!items) {\n return null;\n }\n\n const itemIds = useMemo(\n () => [\n ...items.map(({ url }: TocItem) => url?.slice(1)).filter(isNotEmpty),\n topUrl?.slice(1),\n ],\n [items, topUrl]\n );\n const activeId = useActiveElementId(itemIds);\n\n useEffect(() => {\n const firstHeader = document?.body?.querySelector('h1');\n let id = firstHeader?.id;\n\n if (firstHeader && !id) {\n id = `${kebabCase(firstHeader?.innerText)}-top`;\n firstHeader.id = id;\n setTopUrl(`#${id}`);\n }\n }, []);\n\n return (\n <Paper {...rest} className={classnames('root', className)} elevation={0}>\n <h3 className=\"heading\">{header}</h3>\n <ul className=\"list\">\n {topItem && (\n <TableOfContentItem\n className=\"item\"\n linkClassName={classnames('link', 'top-item', {\n active: `#${activeId}` === topUrl,\n })}\n url={topUrl}\n >\n {topItem}\n </TableOfContentItem>\n )}\n {items.map(({ url, title }: TocItem) => (\n <TableOfContentItem\n key={`toc-item-${url}`}\n className=\"item\"\n linkClassName={classnames('link', {\n active: `#${activeId}` === url,\n })}\n url={url}\n >\n {title}\n </TableOfContentItem>\n ))}\n </ul>\n </Paper>\n );\n};\n\nexport default withPreviewPlaceholder(TableOfContents, Placeholder);\n","import tw from 'twin.macro';\nimport styled from 'styled-components';\n\nimport InnerTableOfContents from './impl/table-of-contents';\n\nconst TableOfContents = styled(InnerTableOfContents)`\n &.root {\n ${tw`space-y-2 bg-transparent`}\n \n .list {\n ${tw`overflow-auto space-y-4`}\n }\n \n .link {\n ${tw`text-black`}\n \n &.active {\n ${tw`font-bold`}\n }\n }\n }\n`;\n\nexport { TableOfContents };\nexport default TableOfContents;\n","import React from 'react';\nimport styled from 'styled-components';\nimport tw from 'twin.macro';\n\nimport isEmpty from '@taboola/venus-core/src/utils/node/is-empty';\nimport _ArticleCard from '@taboola/venus-core/src/components/articles/article-card';\n\nconst ArticleCard = styled(_ArticleCard)`\n & > div {\n ${tw`border-none`}\n }\n\n .details {\n h2 {\n ${tw`p-0 m-0 text-[1rem] font-normal font-roboto leading-5`}\n }\n\n ${tw`py-0 pr-0`}\n }\n\n .title {\n ${tw`line-clamp-2`}\n }\n\n .author {\n ${tw`text-xs`}\n }\n\n a.content {\n ${tw`mr-2 mb-0`}\n }\n\n .content .gatsby-image-wrapper {\n ${tw`w-[100px] h-auto mb-0`}\n }\n\n .metadata {\n ${tw`font-normal`}\n }\n`;\n\nexport const RelatedArticlesBlock = ({ articles }) =>\n isEmpty(articles) ? null : (\n <div tw=\"space-y-2\" id=\"related-articles\">\n <h3>Related Articles</h3>\n {articles.map((article) => (\n <ArticleCard\n tw=\"border-0\"\n variant=\"horizontal\"\n key={`related-${article?.slug}`}\n article={article}\n showCategory={false}\n showDate={false}\n showDescription={false}\n showImage\n showAuthor\n linkToAuthor={false}\n />\n ))}\n </div>\n );\n","import React from 'react';\nimport { Skeleton } from '@mui/material';\n\nimport 'twin.macro';\n\nconst Placeholder = () => (\n <div tw=\"space-y-2\">\n <h3 className=\"heading\">List Text Block</h3>\n <Skeleton animation={false} variant='rect' height={250} />\n </div>\n);\n\nexport default Placeholder;\n","import React, { Fragment } from 'react';\nimport styled from 'styled-components';\nimport tw from 'twin.macro';\n\nimport { isNotEmpty } from '../../../utils/collections';\nimport { AsideBlockType } from '../../../model';\nimport _TableOfContents from '../../../components/table-of-contents';\nimport { RelatedArticlesBlock } from '../../../components/blocks/related';\nimport TextBlock from '../../../components/shortcodes/text-block/text-block';\nimport { ArticleSeparator, getTopArticleCategory } from '../article-utils';\nimport Placeholder from './placeholder';\n\nconst STICKY = 'sticky';\nconst TABLE_OF_CONTENTS_SLUG = ['table-of-contents', `${STICKY}-table-of-contents`];\nconst CATEGORY_RELATED_ARTICLES = ['related-articles', `${STICKY}-related-articles`];\n\nconst TableOfContents = styled(_TableOfContents)`\n &.root {\n .link.active {\n ${({ $category }) => [\n $category === 'Car Insurance' && tw`text-car`,\n $category === 'Home Insurance' && tw`text-home`,\n $category === 'Health Insurance' && tw`text-health`,\n $category === 'Life Insurance' && tw`text-life`,\n $category === 'Other Insurance' && tw`text-other`\n ]} \n }\n }\n`;\n\nconst Sticky = styled.div`\n ${tw`sticky top-0 first:top-10`}\n`;\n\n// this because TOC is hidden in breakpoint < md\nconst TableOfContentsWithSep = ({ className, categoryName, topItem, tableOfContents, isFirst }) => (\n <div className={className}>\n <ArticleSeparator $category={categoryName} $isFirst={isFirst} />\n <TableOfContents\n $category={categoryName}\n topItem={topItem}\n tableOfContents={tableOfContents}\n />\n </div>\n);\n\nconst SideItems = ({ items, article, isFirstGuard }) => items.map((item, i) => {\n const category = getTopArticleCategory(article);\n const isFirst = isFirstGuard && (i === 0);\n const slug = item?.slug;\n const type = item?.type;\n const isTableOfContent = TABLE_OF_CONTENTS_SLUG.includes(slug);\n const isRelatedArticles = CATEGORY_RELATED_ARTICLES.includes(slug);\n const isPlaceholder = type === AsideBlockType.AsidePlaceholder;\n\n return (\n <Fragment key={`aside-item-${slug}`}>\n {!isTableOfContent && (\n <ArticleSeparator $category={category?.name} $isFirst={isFirst} />\n )}\n {isTableOfContent && (\n <TableOfContentsWithSep\n tw=\"hidden md:block\"\n categoryName={category?.name}\n topItem={article?.title}\n tableOfContents={article?.tableOfContents}\n isFirst={isFirst}\n />\n )}\n {isRelatedArticles && (\n <RelatedArticlesBlock articles={article?.related} category={category} />\n )}\n {(!isTableOfContent && !isRelatedArticles && !isPlaceholder) && (\n <TextBlock slug={slug} />\n )}\n {(!isTableOfContent && !isRelatedArticles && isPlaceholder) && (\n <Placeholder />\n )}\n </Fragment>\n );\n});\n\nconst Side = ({ article, className }) => {\n const aside = article?.aside;\n const firstStickyIndex = isNotEmpty(aside) ? aside.findIndex((item) => item?.slug.startsWith(STICKY)) : -1;\n const hasSticky = firstStickyIndex !== -1;\n const nonStickyASide = hasSticky ? aside.slice(0, firstStickyIndex) : aside;\n const stickyASide = hasSticky ? aside.slice(firstStickyIndex) : [];\n const isEmptyNonStickyAside = !isNotEmpty(nonStickyASide);\n\n return (\n <div className={className} tw=\"text-sm h-full mb-16\">\n {!isEmptyNonStickyAside && (\n <SideItems items={nonStickyASide} article={article} isFirstGuard />\n )}\n {isNotEmpty(stickyASide) && (\n <Sticky className=\"sticky-container\">\n <SideItems items={stickyASide} article={article} isFirstGuard={isEmptyNonStickyAside} />\n </Sticky>\n )}\n </div>\n );\n};\n\nexport default Side;\n","import styled from 'styled-components';\nimport tw from 'twin.macro';\n\nimport _Side from '@taboola/venus-core/src/templates/article-template/side/side'\n\nconst Side = styled(_Side)`\n .sticky-container {\n ${tw`top-28`}\n }\n .heading {\n ${tw`first:mt-0`}\n }\n`;\n\n\nexport default Side;\n","import React from 'react';\nimport 'twin.macro';\n\nimport { TaboolaFeedPageType } from '@taboola/venus-core/src/model';\nimport { Layout } from '@taboola/venus-core/src/layouts';\nimport mergeExperimentOverrides from '@taboola/venus-core/src/utils/experiments';\nimport { getSelectedComponents } from '@taboola/venus-core/src/templates/article-template/article-components';\nimport ArticleSeo from '@taboola/venus-core/src/templates/article-template/seo';\nimport Side from '@taboola/venus-core/src/templates/article-template/side/side';\nimport { siteMetadata } from '@taboola/venus-core/src/config/siteMetadata';\nimport { useParseArticleText } from '@taboola/venus-core/src/hooks/useParseArticleText';\nimport { isNotEmpty } from '@taboola/venus-core/src/utils/node/collections';\nimport { ArticleGridHero } from '@taboola/venus-core/src/components/articles';\n\nconst ArticleTemplate = (props: any) => {\n const experimentData = props?.experimentData;\n const article = props?.article;\n const children = props?.children;\n let articleWithOverrides = mergeExperimentOverrides({ article, experimentData });\n articleWithOverrides = useParseArticleText(articleWithOverrides);\n const template = articleWithOverrides?.template;\n const relatedArticles = articleWithOverrides?.related;\n const { Hero, Main, variant, showBreadCrumbBar, TaboolaFeed } = getSelectedComponents(template);\n\n return (\n <>\n <ArticleSeo article={articleWithOverrides} siteMetadata={siteMetadata} />\n <Layout\n hero={Hero && <Hero article={articleWithOverrides} showBreadCrumbBar={showBreadCrumbBar} />}\n side={<Side article={articleWithOverrides} />}\n title={articleWithOverrides?.title}\n breadCrumbTrail={articleWithOverrides?.categories}\n variant={variant}\n showBreadCrumbBar={false}\n >\n <div tw=\"max-w-[909px] mx-auto space-y-12 md:(px-[24px]) lg:(px-14)\">\n <Main article={articleWithOverrides}>{children}</Main>\n {isNotEmpty(relatedArticles) && (\n <div>\n <h3 className=\"header\">Featured Articles</h3>\n <ArticleGridHero\n header=\"Featured Articles\"\n articles={relatedArticles}\n showCategory={false}\n showDate={false}\n showDescription={true}\n />\n </div>\n )}\n {TaboolaFeed && (\n <div id=\"taboola-feed-container\">\n <TaboolaFeed\n pageType={TaboolaFeedPageType.ARTICLE}\n mode=\"thumbnails-a\"\n placement={siteMetadata?.taboola?.placementName}\n />\n </div>\n )}\n </div>\n </Layout>\n </>\n );\n};\n\nexport default ArticleTemplate;\n","import TaboolaFeedContainer from '@taboola/venus-core/src/components/third-parties/taboola-feed/container';\nimport DefaultHero from '@taboola/venus-core/src/templates/article-template/default/hero';\nimport DefaultMain from '@taboola/venus-core/src/templates/article-template/default/main';\nimport MediaMain from '@taboola/venus-core/src/templates/article-template/media/main';\nimport LandingPageMain from '@taboola/venus-core/src/templates/article-template/landing-page/main';\n\nimport NoImageHero from './default-no-image/hero';\nimport MediaHero from './media/hero';\n\nexport const getSelectedComponents = (template) => {\n if (template.startsWith('media')) {\n return {\n preset: 'media',\n Hero: MediaHero,\n Main: MediaMain,\n variant: 'full',\n showBreadCrumbBar: true,\n };\n }\n\n if (template.startsWith('landing-page')) {\n return {\n preset: 'default',\n Main: LandingPageMain,\n variant: 'full',\n showBreadCrumbBar: false,\n };\n }\n\n if (template.includes('no-image')) {\n return {\n preset: 'default',\n Hero: NoImageHero,\n Main: DefaultMain,\n variant: 'full',\n showBreadCrumbBar: true,\n TaboolaFeed: TaboolaFeedContainer,\n };\n }\n\n return {\n preset: 'default',\n Hero: DefaultHero,\n Main: DefaultMain,\n variant: 'full',\n showBreadCrumbBar: true,\n TaboolaFeed: TaboolaFeedContainer,\n };\n};\n","import React from 'react';\nimport { graphql, PageProps } from 'gatsby';\n\nimport { isNotEmpty } from '../../utils/collections';\nimport { IArticle } from '../../model';\nimport useKatexCss from '../../hooks/useKatexCss';\nimport ArticleTemplate from './article-template';\nimport { ArticleDataContextProvider } from './article-data-context';\nimport { flattenArticles, flattenInlineImages } from './article-utils';\nimport { siteMetadata } from '../../config/siteMetadata';\n\nconst ArticlePage = (props: PageProps) => {\n const data = props?.data;\n const useKatex = data?.mdx?.fields?.useKatex;\n const children = props?.children;\n const experimentData = props?.pageContext?.experimentData;\n const site = data?.site;\n const relatedAbTests = data?.relatedAbTests?.nodes;\n const articleData = data?.articleData;\n\n const article: IArticle = {\n ...flattenArticles([data?.mdx])?.[0],\n related: flattenArticles(data?.relatedArticles?.nodes),\n abTestSlug: isNotEmpty(relatedAbTests) && relatedAbTests?.[0]?.originalArticle?.childMdx?.slug,\n };\n\n const articleDataContextValue = {\n products: articleData?.products,\n slug: article?.slug,\n cmsProducts: articleData?.cmsProducts,\n hubProducts: articleData?.hubProducts,\n affiliateLinks: articleData?.affiliateLinks,\n hideAffiliateLinks: !!data?.mdx?.frontmatter?.config?.hideAffiliateLinks || !!siteMetadata?.hideAffiliateLinks,\n images: flattenInlineImages(articleData?.fields?.contentImages),\n renderedItems: {\n productCards: 0,\n },\n };\n\n useKatexCss(useKatex);\n\n return (\n <ArticleDataContextProvider value={articleDataContextValue}>\n <ArticleTemplate site={site} article={article} experimentData={experimentData}>\n {children}\n </ArticleTemplate>\n </ArticleDataContextProvider>\n );\n};\n\nexport default ArticlePage;\n\nexport const query = graphql`\n query ArticlePage($id: String!, $categories: [String!]) {\n site {\n siteMetadata {\n title\n siteUrl\n image\n }\n }\n relatedAbTests: allAbTestsYaml(\n filter: {\n enabled: { eq: true }\n experiments: { elemMatch: { experimentDetails: { article: { childMdx: { id: { eq: $id } } } } } }\n }\n ) {\n nodes {\n originalArticle {\n childMdx {\n slug\n }\n }\n }\n }\n relatedArticles: allArticles(\n limit: 4\n filter: {\n frontmatter: { type: { eq: \"Article\" }, seo: { noindex: { in: [false, null] } } }\n id: { ne: $id }\n fields: { categories: { in: $categories } }\n }\n sort: { fields: { dateModified: DESC } }\n ) {\n nodes {\n id\n slug\n frontmatter {\n title\n type\n authors {\n childMdx {\n slug\n frontmatter {\n name\n }\n }\n }\n }\n }\n }\n mdx(id: { eq: $id }) {\n slug\n body\n tableOfContents\n timeToRead\n fields {\n datePublished\n dateModified\n useKatex\n }\n frontmatter {\n title\n description\n template\n tags\n publishedAt\n config {\n hideAffiliateLinks\n }\n hero {\n childMdx {\n slug\n }\n }\n seo {\n canonicalSlug\n description\n nofollow\n noindex\n title\n imageFile {\n childImageSharp {\n gatsbyImageData(transformOptions: { cropFocus: ENTROPY }, width: 1024, aspectRatio: 1.5)\n }\n }\n }\n image {\n alt\n photographer\n imageSource\n imageFile {\n childImageSharp {\n gatsbyImageData(transformOptions: { cropFocus: ENTROPY }, width: 1024, aspectRatio: 1.5)\n }\n }\n }\n authors {\n childMdx {\n slug\n body\n frontmatter {\n name\n image {\n alt\n title\n imageFile {\n childImageSharp {\n gatsbyImageData(transformOptions: { grayscale: true }, width: 100, aspectRatio: 1)\n }\n }\n }\n }\n }\n }\n editors {\n childMdx {\n slug\n frontmatter {\n name\n }\n }\n }\n categories {\n childMdx {\n slug\n frontmatter {\n name\n parentCategory {\n childMdx {\n slug\n frontmatter {\n name\n }\n }\n }\n }\n }\n }\n aside {\n textBlock {\n childMdx {\n slug\n }\n }\n curatedList {\n childMdx {\n slug\n frontmatter {\n name\n entities {\n textBlock {\n childMdx {\n slug\n }\n }\n }\n }\n }\n }\n }\n variants {\n key\n layer\n titleOverride\n imageOverride {\n alt\n title\n imageFile {\n childImageSharp {\n gatsbyImageData(transformOptions: { cropFocus: ENTROPY }, width: 1024, aspectRatio: 1.5)\n }\n }\n }\n }\n }\n }\n articleData: mdx(id: { eq: $id }) {\n ...ArticleProducts\n ...ArticleCMSProducts\n ...AffiliateLinksQuery\n ...ArticleImages\n }\n }\n`;\n","import React from 'react';\nimport classNames from 'classnames';\nimport 'twin.macro';\n\nimport isEmpty from '../../../utils/node/is-empty';\nimport { StyledMDXdWrapper } from '../../../components/mdx-styled-renderer';\n\nconst Main = ({ className, children }) =>\n isEmpty(children) ? null : (\n <StyledMDXdWrapper tw=\"max-w-3xl mx-auto\" className={classNames('landing-page-main', className)}>\n {children}\n </StyledMDXdWrapper>\n );\n\nexport default Main;\n","var baseIteratee = require('./_baseIteratee'),\n isArrayLike = require('./isArrayLike'),\n keys = require('./keys');\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\nmodule.exports = createFind;\n","var createFind = require('./_createFind'),\n findIndex = require('./findIndex');\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\nmodule.exports = find;\n","var baseFindIndex = require('./_baseFindIndex'),\n baseIteratee = require('./_baseIteratee'),\n toInteger = require('./toInteger');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\nmodule.exports = findIndex;\n","var baseAssignValue = require('./_baseAssignValue'),\n baseForOwn = require('./_baseForOwn'),\n baseIteratee = require('./_baseIteratee');\n\n/**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\nfunction mapKeys(object, iteratee) {\n var result = {};\n iteratee = baseIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n}\n\nmodule.exports = mapKeys;\n"],"names":["value","isTruthy","_ref","article","experimentData","variants","firstVariantWithOverrides","filter","_ref2","layer","key","variant","rest","isActive","find","hasOverrideFields","Object","entries","some","_ref3","endsWith","isEmpty","articleOverrides","omitBy","mapKeys","replace","createSvgIcon","d","_excluded","BreadcrumbCollapsedButton","styled","ButtonBase","theme","display","marginLeft","spacing","marginRight","palette","mode","backgroundColor","grey","color","borderRadius","boxShadow","shadows","BreadcrumbCollapsedIcon","MoreHoriz","width","height","props","slots","slotProps","otherProps","ownerState","children","focusRipple","as","CollapsedIcon","collapsedIcon","getBreadcrumbsUtilityClass","slot","generateUtilityClass","generateUtilityClasses","BreadcrumbsRoot","Typography","name","overridesResolver","styles","li","root","BreadcrumbsOl","ol","flexWrap","alignItems","padding","margin","listStyle","BreadcrumbsSeparator","separator","userSelect","insertSeparators","items","className","reduce","acc","current","index","length","concat","push","inProps","ref","component","expandText","itemsAfterCollapse","itemsBeforeCollapse","maxItems","other","expanded","setExpanded","classes","composeClasses","useUtilityClasses","collapsedIconSlotProps","useSlotProps","elementType","externalSlotProps","listRef","allItems","toArray","child","map","clsx","slice","onClick","focusable","querySelector","focus","renderItemsBeforeAndAfter","siteTitle","siteMetadata","title","constructTrail","category","parentCategory","Breadcrumbs","breadCrumbTrail","includeTitle","includeHome","homeTitle","trail","React","MBreadcrumbs","assign","classnames","Link","to","slug","withPreviewPlaceholder","jsonLdTrail","_ref4","position","item","resolveUrl","BreadcrumbJsonLd","itemListElements","withConfig","displayName","componentId","formattedPrefix","startCase","pathPrefix","StyledBreadcrumbs","_Breadcrumbs","Image","_Image","_path","_path2","_path3","_path4","_article$image","_article$image2","_article$image3","_article$image4","categories","image","getArticleImage","imageSource","photographer","alt","imageTitle","showBreadCrumbBar","_StyledDiv","_StyledH","_StyledDiv2","ImageCredit","_extends","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","xmlns","date","labelPrefix","icon","showIcon","_StyledPencil","getDateForDisplay","_styled","_styled2","Pencil","fill","viewBox","AuthorBlock","_AuthorBlock","AuthorContainer","div","$hasEditors","showSeparator","arr","getTwitterLink","author","_author$socialLinks","socialLinks","link","includes","authors","editors","hasEditor","isNotEmpty","updatedAt","_StyledSpan","showBio","showImage","withBookmark","withLink","_StyledExternalLink","href","_StyledFaTwitter","DisplayDate","_StyledDiv3","editor","Fragment","ExternalLink","FaTwitter","contentHeroSlug","getArticleHero","HeroTextBlock","textBlockContext","StyledMDXdWrapper","ArticleDetails","_StyledStyledMDXdWrapper","_StyledDisclaimer","_styled3","Disclaimer","getArticleCategory","getArticleAuthor","_StyledArticleDetails","_StyledBreadcrumbs","createPersonEntity","list","_siteMetadata$pathPre","_getArticleCategory","_siteMetadata$affilim","abTestSlug","description","createdAt","publishedAt","seo","imgSharp","pageUrl","imageUrl","siteImageUrl","getArticleUrls","section","affilimateCustomTags","affilimate","tags","getArticleCategoryNamesList","seoEditors","seoAuthors","MetaSEO","urlPart","type","amTags","ArticleJsonLd","url","headline","images","datePublished","dateModified","publisherName","publisherLogo","overrides","IntersectionObserverFunctions","toggleObserve","itemIds","observer","observerFunc","OBSERVE","forEach","id","_document","elm","document","getElementById","activeId","setActiveId","useState","useEffect","IntersectionObserver","activeEntry","entry","isIntersecting","_activeEntry$target","target","rootMargin","UNOBSERVE","Placeholder","i","Skeleton","animation","TableOfContentItem","linkClassName","header","topItem","tableOfContents","topUrl","setTopUrl","useMemo","_toConsumableArray","useActiveElementId","_document$body","firstHeader","body","kebabCase","innerText","Paper","elevation","active","InnerTableOfContents","ArticleCard","_ArticleCard","_StyledArticleCard","RelatedArticlesBlock","articles","showCategory","showDate","showDescription","showAuthor","linkToAuthor","STICKY","TABLE_OF_CONTENTS_SLUG","CATEGORY_RELATED_ARTICLES","TableOfContents","_TableOfContents","$category","Sticky","_StyledTableOfContentsWithSep","categoryName","isFirst","ArticleSeparator","$isFirst","SideItems","isFirstGuard","getTopArticleCategory","isTableOfContent","isRelatedArticles","isPlaceholder","AsideBlockType","AsidePlaceholder","related","TextBlock","aside","firstStickyIndex","findIndex","startsWith","hasSticky","nonStickyASide","stickyASide","isEmptyNonStickyAside","_Side","_articleWithOverrides","_articleWithOverrides2","_articleWithOverrides3","_articleWithOverrides4","_siteMetadata$taboola","articleWithOverrides","mergeExperimentOverrides","useParseArticleText","template","relatedArticles","Hero","Main","TaboolaFeed","preset","MediaHero","MediaMain","LandingPageMain","NoImageHero","DefaultMain","TaboolaFeedContainer","DefaultHero","getSelectedComponents","ArticleSeo","Layout","hero","side","Side","ArticleGridHero","pageType","TaboolaFeedPageType","ARTICLE","placement","taboola","placementName","_data$mdx","_data$mdx$fields","_props$pageContext","_data$relatedAbTests","_flattenArticles","_data$relatedArticles","_relatedAbTests$","_relatedAbTests$$orig","_relatedAbTests$$orig2","_data$mdx2","_data$mdx2$frontmatte","_data$mdx2$frontmatte2","_articleData$fields","data","useKatex","mdx","fields","pageContext","site","relatedAbTests","nodes","articleData","flattenArticles","originalArticle","childMdx","articleDataContextValue","products","cmsProducts","hubProducts","affiliateLinks","hideAffiliateLinks","frontmatter","config","flattenInlineImages","contentImages","renderedItems","productCards","useKatexCss","ArticleDataContextProvider","ArticleTemplate","classNames","baseIteratee","isArrayLike","keys","module","exports","findIndexFunc","collection","predicate","fromIndex","iterable","iteratee","undefined","createFind","baseFindIndex","toInteger","nativeMax","Math","max","array","baseAssignValue","baseForOwn","object","result"],"sourceRoot":""}