{"version":3,"sources":["webpack:///./src/helpers/fonts.ts","webpack:///./src/helpers/grid.ts","webpack:///./src/helpers/media.ts","webpack:///./src/stories/Components/Content/ArticleMeta/ArticleMeta.styles.ts","webpack:///./src/stories/Components/Content/ArticleMeta/ArticleMeta.tsx","webpack:///./src/helpers/video.ts","webpack:///./src/helpers/brand.ts","webpack:///./src/helpers/scrollbars.ts","webpack:///./src/helpers/fluid.ts","webpack:///./src/helpers/animate.ts","webpack:///./src/img/misc/cta-section-bg.svg","webpack:///./src/helpers/typography.ts","webpack:///./src/stories/Components/Breadcrumbs/Breadcrumbs.tsx","webpack:///./src/helpers/image.ts","webpack:///./src/img/misc/breadcrumb-separator.svg","webpack:///./src/stories/Components/Breadcrumbs/Breadcrumbs.styles.ts","webpack:///./src/helpers/date.ts"],"names":["altGothicNo2","regular","css","apercu","light","lightItalic","bold","SitePaddingMin","SiteWidthBreakpoint","SiteWidth","siteWide","fluid","baseGrid","Device","from","size","until","Container","styled","section","fonts","Tag","small","brand","yellow","ArticleMetaStyles","Date","time","white","ArticleMeta","props","React","S","theme","tag","dateTime","formatDateISO","date","formatDate","DEFAULT_OPTIONS","audio","format","videoUrl","id","options","combined","transformations","black","blackDark","grey","greyMidLight","greyMid","greyDark","pureBlack","green","availability","amber","red","validation","invalid","valid","DEFAULT_MIN_VALUE","TabletSmall","DEFAULT_MAX_VALUE","DesktopLarge","min","max","minWidth","maxWidth","minRem","maxRem","minWidthRem","maxWidthRem","slope","yAxisIntersection","clampMin","round","clampVal","clampMax","num","Math","rootMargin","cubicEaseOut","shouldAnimate","innerCss","transition","properties","duration","timing","titleFill","_path","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","SvgCtaSectionBg","xmlns","viewBox","d","fill","headerLink","MobileLarge","headingStyles","h1","h2","h3","h4","h5","h6","paragraphStyles","paragraphLarge","paragraphMedium","paragraphSmall","paragraphMicro","meta","link","table","blockquote","contentStyles","contentStylesSmall","Breadcrumbs","List","items","map","item","Item","ItemLink","href","url","title","text","undefined","cl","Cloudinary","cloud","cloudName","secure","imageUrl","image","imageParams","src","clImage","resizeAction","width","height","console","warn","crop","limitFill","widthratio","aspectRatio","heightratio","gravity","focusOn","face","autoGravity","getResizeAction","resize","delivery","formatAction","autoFormat","getFormatAction","quality","autoQuality","dpr","setVersion","process","CLOUDINARY_VERSION","toURL","getSrcs","upper","lower","steps","ratio","increment","Array","_","index","ceil","getRange","getRetinaSrcs","imgSrcRegex","cloudinaryPathRegex","transformCloudinarySrcsInHtmlString","HtmlString","images","replace","trim","matchAll","forEach","cloudinaryPath","match","indexOf","decodedPath","decodeURI","srcSet","join","BreadcrumbStyles","nav","ul","scrollbars","li","svgIcon","a","value","toISOString","formatString"],"mappings":"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","file":"default~BlogHero~InsightHero-7e3827ae41d683aaf12b.js","sourcesContent":["import { css } from 'styled-components';\r\nexport default {\r\n altGothicNo2: {\r\n regular: css `\r\n font-family: 'Alternate Gothic No2 D', sans-serif;\r\n font-style: normal;\r\n font-weight: 400;\r\n `,\r\n },\r\n apercu: {\r\n light: css `\r\n font-family: 'Apercu', sans-serif;\r\n font-style: normal;\r\n font-weight: 300;\r\n `,\r\n lightItalic: css `\r\n font-family: 'Apercu', sans-serif;\r\n font-style: italic;\r\n font-weight: 300;\r\n `,\r\n bold: css `\r\n font-family: 'Apercu', sans-serif;\r\n font-style: normal;\r\n font-weight: 700;\r\n `,\r\n },\r\n};\r\n","import { css } from 'styled-components';\r\nimport { fluid } from './fluid';\r\nexport const SitePaddingMin = 12;\r\nexport const SitePaddingMax = 64;\r\nexport const SiteWidth = 1756;\r\nexport const SiteWidthBreakpoint = SiteWidth + SitePaddingMax * 2;\r\nexport const siteWide = css `\r\n /* The minimum amount of space between the content and the edge of the viewport. */\r\n --sitePadding: ${fluid(SitePaddingMin, SitePaddingMax)};\r\n\r\n /* Max site container width */\r\n --siteWidth: calc(${SiteWidth}px + (var(--sitePadding) * 2));\r\n\r\n /* The amount of space between the edge of the site container and the viewport, will be 0px on smaller screens. */\r\n --siteMargin: calc((100vw - min(var(--siteWidth), 100vw)) / 2);\r\n\r\n margin: 0 auto;\r\n max-width: var(--siteWidth);\r\n padding: 0 var(--sitePadding);\r\n width: 100%;\r\n`;\r\nexport const baseGrid = css `\r\n --gutterWidth: ${fluid(10, 32)};\r\n\r\n display: grid;\r\n column-gap: var(--gutterWidth);\r\n grid-template-columns: repeat(12, 1fr);\r\n`;\r\n","export var Device;\r\n(function (Device) {\r\n Device[Device[\"MobileSmall\"] = 320] = \"MobileSmall\";\r\n Device[Device[\"Mobile\"] = 375] = \"Mobile\";\r\n Device[Device[\"MobileLarge\"] = 480] = \"MobileLarge\";\r\n Device[Device[\"TabletSmall\"] = 568] = \"TabletSmall\";\r\n Device[Device[\"Tablet\"] = 768] = \"Tablet\";\r\n Device[Device[\"TabletLarge\"] = 1024] = \"TabletLarge\";\r\n Device[Device[\"DesktopSmall\"] = 1280] = \"DesktopSmall\";\r\n Device[Device[\"Desktop\"] = 1366] = \"Desktop\";\r\n Device[Device[\"DesktopLarge\"] = 1600] = \"DesktopLarge\";\r\n Device[Device[\"ActualDesktop\"] = 1920] = \"ActualDesktop\";\r\n Device[Device[\"DesktopXL\"] = 2560] = \"DesktopXL\";\r\n})(Device || (Device = {}));\r\nexport function from(size) {\r\n return `(min-width: ${size}px)`;\r\n}\r\nexport function until(size) {\r\n return `(max-width: ${size - 1}px)`;\r\n}\r\nexport function between(start, end) {\r\n return `${from(start)} and ${until(end)}`;\r\n}\r\n","import brand from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport fonts from '@helpers/fonts';\r\nimport styled from 'styled-components';\r\nconst Container = styled.section `\r\n ${fonts.apercu.light};\r\n\r\n font-size: ${fluid(14, 18)};\r\n line-height: ${fluid(28, 28)};\r\n margin-bottom: 22px;\r\n`;\r\nconst Tag = styled.small `\r\n background-color: ${brand.yellow};\r\n margin: 0 ${fluid(15, 30)} 0 0;\r\n padding: 4px 10px;\r\n`;\r\nconst Date = styled.time `\r\n [data-theme='dark'] & {\r\n color: ${brand.white};\r\n }\r\n`;\r\nconst ArticleMetaStyles = {\r\n Container,\r\n Date,\r\n Tag,\r\n};\r\nexport default ArticleMetaStyles;\r\n","import * as React from 'react';\r\nimport S from './ArticleMeta.styles';\r\nimport { formatDate, formatDateISO } from '@helpers/date';\r\nconst ArticleMeta = (props) => {\r\n return (React.createElement(S.Container, { \"data-theme\": props.theme },\r\n props.tag && React.createElement(S.Tag, null, props.tag),\r\n React.createElement(S.Date, { dateTime: formatDateISO(props.date) }, formatDate(props.date))));\r\n};\r\nexport default ArticleMeta;\r\n","const CLOUD_NAME = 'essential-living';\r\nconst DEFAULT_OPTIONS = {\r\n audio: null,\r\n format: 'mp4',\r\n};\r\nexport function videoUrl(id, options = {}) {\r\n const combined = { ...DEFAULT_OPTIONS, ...options };\r\n let transformations = '';\r\n if (options.audio) {\r\n transformations += '/ac_none';\r\n }\r\n return `https://res.cloudinary.com/${CLOUD_NAME}/video/upload${transformations}/${id}.${combined.format}`;\r\n}\r\n","export default {\r\n black: '#282828',\r\n blackDark: '#121212',\r\n grey: '#f4f4f4',\r\n greyMidLight: '#BABABA',\r\n greyMid: '#707070',\r\n greyDark: '#4a4a4a',\r\n pureBlack: '#000000',\r\n white: '#ffffff',\r\n yellow: '#ffdc00',\r\n green: '#80C342',\r\n availability: {\r\n green: '#68F087',\r\n amber: '#FFA969',\r\n red: '#F84848',\r\n },\r\n validation: {\r\n invalid: '#da291c',\r\n valid: '#008c15',\r\n },\r\n};\r\n","import { css } from 'styled-components';\r\nimport brand from './brand';\r\nexport default css `\r\n /* @note: This is an attempt to use default scrollbars on touch devices */\r\n @media (hover: hover) or (pointer: fine) {\r\n &::-webkit-scrollbar-track {\r\n background-color: ${brand.grey};\r\n }\r\n\r\n &::-webkit-scrollbar {\r\n background-color: ${brand.grey};\r\n height: 6px;\r\n width: 6px;\r\n }\r\n\r\n &::-webkit-scrollbar-thumb {\r\n background-color: ${brand.yellow};\r\n border-radius: 0;\r\n cursor: pointer;\r\n }\r\n }\r\n`;\r\n","import { Device } from './media';\r\n/**\r\n * Base pixel value for the \"rem\" unit.\r\n */\r\nexport const PIXELS_PER_REM = 16;\r\n/**\r\n * Default pixel value for the min width.\r\n */\r\nexport const DEFAULT_MIN_VALUE = Device.TabletSmall;\r\n/**\r\n * Default pixel value for the max width.\r\n */\r\nexport const DEFAULT_MAX_VALUE = Device.DesktopLarge;\r\n/**\r\n * Define a fluid value between the min/max values at the min/max widths.\r\n */\r\nexport function fluid(min, max, minWidth = DEFAULT_MIN_VALUE, maxWidth = DEFAULT_MAX_VALUE) {\r\n const minRem = min / PIXELS_PER_REM;\r\n const maxRem = max / PIXELS_PER_REM;\r\n const minWidthRem = minWidth / PIXELS_PER_REM;\r\n const maxWidthRem = maxWidth / PIXELS_PER_REM;\r\n const slope = (maxRem - minRem) / (maxWidthRem - minWidthRem);\r\n const yAxisIntersection = -minWidthRem * slope + minRem;\r\n const clampMin = `${round(minRem)}rem`;\r\n const clampVal = `${round(yAxisIntersection)}rem + ${round(slope * 100)}vw`;\r\n const clampMax = `${round(maxRem)}rem`;\r\n return `clamp(${clampMin}, ${clampVal}, ${clampMax})`;\r\n}\r\n/**\r\n * Round to nearest hundredth.\r\n */\r\nfunction round(num) {\r\n return Math.round(num * 100) / 100;\r\n}\r\n","import { css } from 'styled-components';\r\nimport brand from './brand';\r\nexport const rootMargin = '0px 0px -33% 0px';\r\nexport const cubicEaseOut = `cubic-bezier(0.33, 1, 0.68, 1)`;\r\nexport const shouldAnimate = (innerCss) => {\r\n return css `\r\n @media (prefers-reduced-motion: no-preference) {\r\n ${innerCss}\r\n }\r\n `;\r\n};\r\nexport const transition = (properties, duration = 0.35, timing = cubicEaseOut) => {\r\n return shouldAnimate(css `\r\n transition-duration: ${typeof duration === 'string' ? duration : `${duration}s`};\r\n transition-property: ${properties};\r\n transition-timing-function: ${timing};\r\n will-change: ${properties};\r\n `);\r\n};\r\nconst TITLE_FILL_SPEED = '0.1s';\r\nexport const titleFill = shouldAnimate(css `\r\n @supports (background-clip: text) or (-webkit-background-clip: text) {\r\n ${transition('opacity, background-size', `0.25s, var(--duration, calc(var(--length) * var(--speed, ${TITLE_FILL_SPEED})))`)}\r\n transition-delay: var(--delay, 0.15s), calc(var(--delay, 0.15s) * 2);\r\n\r\n display: inline;\r\n -webkit-background-clip: text;\r\n background-clip: text;\r\n background-color: var(--textColor, ${brand.white});\r\n background-image: linear-gradient(\r\n to right,\r\n var(--fillColor, ${brand.yellow}),\r\n var(--fillColor, ${brand.yellow})\r\n );\r\n background-repeat: no-repeat;\r\n background-size: 0% 100%;\r\n color: transparent;\r\n opacity: 0;\r\n\r\n [data-animate='true'] & {\r\n background-size: 100% 100%;\r\n opacity: 1;\r\n }\r\n }\r\n`);\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgCtaSectionBg(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 724.1 724.1\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 119\",\n d: \"M0 0v724.1h724.1V470.6h-72.817v180.689H72.812V72.812h578.471v165.7L508.42 381.379l51.492 51.5 153.52-153.526 10.668-10.77V0z\",\n fill: \"currentColor\"\n })));\n}\n\nexport default __webpack_public_path__ + \"ec7938714f37ea5c75fd9c28f9f387f1.svg\";\nexport { SvgCtaSectionBg as ReactComponent };","import { css } from 'styled-components';\r\nimport { transition } from './animate';\r\nimport brand from './brand';\r\nimport { fluid } from './fluid';\r\nimport fonts from './fonts';\r\nimport { Device, until } from './media';\r\nexport const headerLink = css `\r\n ${transition('color, text-decoration-color')};\r\n\r\n display: inline;\r\n color: currentColor;\r\n text-decoration: underline;\r\n text-decoration-color: ${brand.yellow};\r\n text-underline-offset: -0.19em;\r\n text-underline-position: under;\r\n\r\n @media ${until(Device.MobileLarge)} {\r\n word-break: break-word;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n &:focus-visible {\r\n outline: auto;\r\n outline-width: thin;\r\n }\r\n\r\n &:focus,\r\n &:hover {\r\n text-decoration-color: currentColor; \r\n }\r\n`;\r\nexport const headingStyles = css `\r\n color: currentColor;\r\n ${fonts.altGothicNo2.regular};\r\n margin: 0 0 ${fluid(16, 24)};\r\n text-transform: uppercase;\r\n a{\r\n ${headerLink}\r\n }\r\n\r\n`;\r\nexport const h1 = css `\r\n ${headingStyles};\r\n font-size: ${fluid(45, 96)};\r\n line-height: ${fluid(45, 96)};\r\n`;\r\nexport const h2 = css `\r\n ${headingStyles};\r\n font-size: ${fluid(30, 56)};\r\n line-height: ${fluid(30, 54)};\r\n`;\r\nexport const h3 = css `\r\n ${headingStyles};\r\n font-size: ${fluid(24, 30)};\r\n line-height: ${fluid(24, 30)};\r\n`;\r\nexport const h4 = css `\r\n ${headingStyles};\r\n font-size: ${fluid(18, 20)};\r\n line-height: ${fluid(18, 18)};\r\n`;\r\nexport const h5 = css `\r\n ${headingStyles};\r\n font-size: ${fluid(18, 20)};\r\n line-height: ${fluid(18, 18)};\r\n`;\r\nexport const h6 = css `\r\n ${headingStyles};\r\n font-size: ${fluid(18, 18)};\r\n line-height: ${fluid(22, 22)};\r\n`;\r\nexport const paragraphStyles = css `\r\n color: currentColor;\r\n ${fonts.apercu.light};\r\n margin: 0 0 ${fluid(16, 24)};\r\n`;\r\nexport const paragraphLarge = css `\r\n ${paragraphStyles};\r\n font-size: ${fluid(18, 24)};\r\n line-height: ${fluid(28, 32)};\r\n`;\r\nexport const paragraphMedium = css `\r\n ${paragraphStyles};\r\n font-size: ${fluid(16, 18)};\r\n line-height: ${fluid(26, 26)};\r\n`;\r\nexport const paragraphSmall = css `\r\n ${paragraphStyles};\r\n font-size: ${fluid(14, 16)};\r\n line-height: ${fluid(24, 24)};\r\n`;\r\nexport const paragraphMicro = css `\r\n ${paragraphStyles};\r\n font-size: ${fluid(12, 14)};\r\n line-height: ${fluid(22, 24)};\r\n`;\r\nexport const meta = css `\r\n display: block;\r\n ${fonts.altGothicNo2.regular};\r\n font-size: ${fluid(18, 18)};\r\n line-height: ${fluid(22, 22)};\r\n letter-spacing: 0.01em;\r\n text-transform: uppercase;\r\n\r\n sup {\r\n font-size: 60%;\r\n }\r\n`;\r\nexport const link = css `\r\n ${transition('color, text-decoration-color')};\r\n\r\n display: inline;\r\n color: currentColor;\r\n text-decoration: underline;\r\n text-decoration-color: currentColor;\r\n text-underline-position: under;\r\n\r\n @media ${until(Device.MobileLarge)} {\r\n word-break: break-word;\r\n }\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n &:focus-visible {\r\n outline: auto;\r\n outline-width: thin;\r\n }\r\n\r\n &:focus,\r\n &:hover {\r\n text-decoration-color: ${brand.yellow};\r\n }\r\n`;\r\nexport const table = css `\r\n background: ${brand.white};\r\n border-collapse: collapse;\r\n color: ${brand.black};\r\n margin-bottom: 1em;\r\n width: 100%;\r\n\r\n thead {\r\n tr {\r\n background: ${brand.black};\r\n\r\n td,\r\n th {\r\n border: 2px solid ${brand.white};\r\n color: ${brand.white};\r\n ${fonts.altGothicNo2.regular};\r\n font-size: 18px;\r\n letter-spacing: -0.01em;\r\n line-height: 22px;\r\n padding: 12px 16px;\r\n text-align: left;\r\n text-transform: uppercase;\r\n }\r\n }\r\n }\r\n\r\n tbody {\r\n tr {\r\n &:nth-child(odd) {\r\n background: ${brand.white};\r\n }\r\n\r\n &:nth-child(even) {\r\n background: ${brand.white};\r\n }\r\n\r\n th {\r\n border: 2px solid ${brand.white};\r\n color: ${brand.white};\r\n ${fonts.altGothicNo2.regular};\r\n font-size: 18px;\r\n letter-spacing: -0.01em;\r\n line-height: 22px;\r\n padding: 12px 16px;\r\n text-align: left;\r\n text-transform: uppercase;\r\n }\r\n\r\n td {\r\n border: 2px solid ${brand.white};\r\n ${fonts.apercu.light};\r\n font-size: 16px;\r\n letter-spacing: -0.01em;\r\n line-height: 20px;\r\n padding: 12px 16px;\r\n text-align: left;\r\n }\r\n }\r\n }\r\n @media ${until(Device.TabletSmall)} {\r\n padding: 4px;\r\n }\r\n`;\r\nexport const blockquote = css `\r\n ${paragraphLarge}\r\n\r\n position: relative;\r\n border-left: 4px solid currentColor;\r\n padding-left: 16px;\r\n text-align: left;\r\n`;\r\nexport const contentStyles = css `\r\n h1,\r\n .h1-styles {\r\n ${h1}\r\n }\r\n\r\n h2,\r\n .h2-styles {\r\n ${h2}\r\n }\r\n\r\n h3,\r\n .h3-styles {\r\n ${h3}\r\n }\r\n\r\n h4,\r\n .h4-styles {\r\n ${h4}\r\n }\r\n\r\n h5,\r\n .h5-styles {\r\n ${h5}\r\n }\r\n\r\n p {\r\n ${paragraphLarge}\r\n }\r\n\r\n p.small {\r\n ${paragraphSmall}\r\n }\r\n\r\n a {\r\n ${link}\r\n }\r\n\r\n ol,\r\n ul {\r\n ${paragraphLarge};\r\n\r\n li {\r\n &::marker {\r\n color: ${brand.yellow};\r\n }\r\n }\r\n }\r\n\r\n ol {\r\n list-style: decimal;\r\n padding-left: 1.2em;\r\n }\r\n\r\n ul {\r\n list-style: disc;\r\n padding-left: 1.2em;\r\n }\r\n\r\n hr {\r\n display: block;\r\n background: currentColor;\r\n border: 0;\r\n height: 4px;\r\n margin: ${fluid(40, 80)} 0;\r\n padding: 0;\r\n width: 100%;\r\n }\r\n\r\n table {\r\n ${table};\r\n }\r\n\r\n blockquote {\r\n ${blockquote};\r\n }\r\n\r\n .responsive-table {\r\n position: relative;\r\n overflow-x: auto;\r\n }\r\n\r\n > *:first-child {\r\n margin-top: 0;\r\n }\r\n\r\n > *:last-child {\r\n margin-bottom: 0;\r\n }\r\n`;\r\nexport const contentStylesSmall = css `\r\n h1,\r\n .h1-styles {\r\n ${h1}\r\n }\r\n\r\n h2,\r\n .h2-styles {\r\n ${h2}\r\n }\r\n\r\n h3,\r\n .h3-styles {\r\n ${h3}\r\n }\r\n\r\n h4,\r\n .h4-styles {\r\n ${h4}\r\n }\r\n\r\n h5,\r\n .h5-styles {\r\n ${h5}\r\n }\r\n\r\n p {\r\n ${paragraphMedium}\r\n }\r\n\r\n p.small {\r\n ${paragraphSmall}\r\n }\r\n\r\n a {\r\n ${link}\r\n }\r\n\r\n ol,\r\n ul {\r\n ${paragraphMedium};\r\n\r\n li {\r\n &::marker {\r\n color: ${brand.yellow};\r\n }\r\n }\r\n }\r\n\r\n ol {\r\n list-style: decimal;\r\n padding-left: 1.2em;\r\n }\r\n\r\n ul {\r\n list-style: disc;\r\n padding-left: 1.2em;\r\n }\r\n\r\n hr {\r\n display: block;\r\n background: currentColor;\r\n border: 0;\r\n height: 4px;\r\n margin: ${fluid(40, 80)} 0;\r\n padding: 0;\r\n width: 100%;\r\n }\r\n\r\n table {\r\n ${table};\r\n }\r\n\r\n blockquote {\r\n ${blockquote};\r\n }\r\n\r\n .responsive-table {\r\n position: relative;\r\n overflow-x: auto;\r\n }\r\n\r\n > *:first-child {\r\n margin-top: 0;\r\n }\r\n\r\n > *:last-child {\r\n margin-bottom: 0;\r\n }\r\n`;\r\n","import * as React from 'react';\r\nimport S from './Breadcrumbs.styles';\r\nconst Breadcrumbs = ({ theme = 'light', ...props }) => {\r\n return (React.createElement(S.Container, { \"aria-label\": \"breadcrumb\", \"data-theme\": theme },\r\n React.createElement(S.List, null, props.items.map((item, i) => (React.createElement(S.Item, { key: `breadcrumb-${i}` },\r\n React.createElement(S.ItemLink, { href: item.url, title: item.text, \"aria-current\": i === props.items.length - 1 ? 'location' : undefined }, item.text)))))));\r\n};\r\nexport default Breadcrumbs;\r\n","import { Cloudinary } from '@cloudinary/url-gen';\r\nimport { dpr, format, quality } from '@cloudinary/url-gen/actions/delivery';\r\nimport { crop, fill, limitFill } from '@cloudinary/url-gen/actions/resize';\r\nimport { face } from '@cloudinary/url-gen/qualifiers/focusOn';\r\nimport { auto as autoFormat } from '@cloudinary/url-gen/qualifiers/format';\r\nimport { autoGravity, focusOn } from '@cloudinary/url-gen/qualifiers/gravity';\r\nimport { auto as autoQuality } from '@cloudinary/url-gen/qualifiers/quality';\r\nconst cl = new Cloudinary({\r\n cloud: {\r\n cloudName: 'essential-living',\r\n },\r\n url: {\r\n secure: true,\r\n },\r\n});\r\n/**\r\n * Create an image URL for ImageProcessor\r\n * @param image The image model\r\n * @param imageParams The image parameters\r\n * @returns The image URL\r\n */\r\nexport function imageUrl(image, imageParams) {\r\n if (!image?.src) {\r\n return '';\r\n }\r\n let clImage = cl.image(image.src);\r\n const resizeAction = getResizeAction(image, imageParams);\r\n if (resizeAction) {\r\n clImage = clImage.resize(resizeAction);\r\n }\r\n clImage = clImage.delivery(getFormatAction(imageParams)).delivery(quality(autoQuality()));\r\n if (imageParams.dpr) {\r\n clImage = clImage.delivery(dpr(imageParams.dpr));\r\n }\r\n // Set version to enable mass invalidation.\r\n clImage.setVersion(process.env.CLOUDINARY_VERSION ?? '1');\r\n return clImage.toURL();\r\n}\r\nfunction getResizeAction(image, imageParams) {\r\n if (!imageParams.width && !imageParams.height) {\r\n console.warn(`Image Not Resized: \"${image.src}\"`, image, imageParams);\r\n return undefined;\r\n }\r\n let resizeAction;\r\n switch (imageParams.crop) {\r\n case 'crop':\r\n resizeAction = crop();\r\n break;\r\n case 'fill':\r\n resizeAction = fill();\r\n break;\r\n case 'lfill':\r\n resizeAction = limitFill();\r\n break;\r\n default:\r\n resizeAction = fill();\r\n break;\r\n }\r\n if (imageParams.width) {\r\n resizeAction = resizeAction.width(imageParams.width);\r\n }\r\n else if (imageParams.widthratio) {\r\n resizeAction = resizeAction.aspectRatio(imageParams.widthratio);\r\n }\r\n if (imageParams.height) {\r\n resizeAction = resizeAction.height(imageParams.height);\r\n }\r\n else if (imageParams.heightratio) {\r\n resizeAction = resizeAction.aspectRatio(imageParams.heightratio);\r\n }\r\n if (imageParams.gravity === 'face') {\r\n resizeAction = resizeAction.gravity(focusOn(face()));\r\n }\r\n else {\r\n resizeAction = resizeAction.gravity(autoGravity());\r\n }\r\n return resizeAction;\r\n}\r\nfunction getFormatAction(imageParams) {\r\n let formatAction;\r\n if (imageParams.format) {\r\n formatAction = format(imageParams.format);\r\n }\r\n else {\r\n formatAction = format(autoFormat());\r\n }\r\n return formatAction;\r\n}\r\nexport function getSrcs(image, upper, lower, steps, ratio) {\r\n const sizes = getRange(upper, lower, steps);\r\n return sizes.map((size) => `${imageUrl(image, { width: size, heightratio: ratio })} ${size}w`);\r\n}\r\nexport function getRetinaSrcs(image, width, ratio) {\r\n const dprs = [1, 1.5, 2, 2.5, 3];\r\n return dprs.map((dpr) => `${imageUrl(image, { width: width, heightratio: ratio, dpr })} ${dpr}x`);\r\n}\r\nfunction getRange(upper, lower, steps) {\r\n const difference = upper - lower;\r\n const increment = difference / (steps - 1);\r\n return [\r\n lower,\r\n ...Array(steps - 2)\r\n .fill('')\r\n .map((_, index) => Math.ceil(lower + increment * (index + 1))),\r\n upper,\r\n ];\r\n}\r\nconst imgSrcRegex = /]*(src=\"[^\"]+\")[^>]*>/g;\r\nconst cloudinaryPathRegex = /res.cloudinary.com\\/[^/]*\\/image\\/upload\\/v[\\d]*\\/(.*)\"/;\r\nexport function transformCloudinarySrcsInHtmlString(HtmlString, imageParams, upper, lower, steps) {\r\n HtmlString = HtmlString.replace(/\\s+/g, ' ').trim();\r\n const images = HtmlString.matchAll(imgSrcRegex);\r\n let ratio = undefined;\r\n if (imageParams.heightratio && imageParams.widthratio) {\r\n ratio = imageParams.heightratio / imageParams.widthratio;\r\n }\r\n if (images) {\r\n Array.from(images).forEach((image) => {\r\n const cloudinaryPath = image[1].match(cloudinaryPathRegex);\r\n if (cloudinaryPath && cloudinaryPath[1] && image[0].indexOf('srcset') == -1) {\r\n const decodedPath = decodeURI(cloudinaryPath[1]);\r\n const src = imageUrl({ src: decodedPath }, imageParams);\r\n const srcSet = getSrcs({ src: decodedPath }, upper, lower, steps, ratio).join(',');\r\n HtmlString = HtmlString.replace(image[1], `src=\"${src}\" srcset=\"${srcSet}\"`);\r\n }\r\n });\r\n }\r\n return HtmlString;\r\n}\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nfunction SvgBreadcrumbSeparator(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-0.15 -0.15 5.46 9.92\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n stroke: \"#ebebeb\",\n d: \"M.354.354l4.458 4.457L.354 9.27\"\n })));\n}\n\nexport default __webpack_public_path__ + \"bd2a1d6f9282b6c1096d0e0116416a8b.svg\";\nexport { SvgBreadcrumbSeparator as ReactComponent };","import { transition } from '@helpers/animate';\r\nimport brand from '@helpers/brand';\r\nimport fonts from '@helpers/fonts';\r\nimport scrollbars from '@helpers/scrollbars';\r\nimport svgIcon from '@img/misc/breadcrumb-separator.svg';\r\nimport styled from 'styled-components';\r\nconst Container = styled.nav `\r\n @media print {\r\n display: none;\r\n }\r\n\r\n &[data-theme='dark'],\r\n &[data-theme='transparent'] {\r\n --fgColor: ${brand.white};\r\n }\r\n\r\n &[data-theme='light'] {\r\n --bgColor: ${brand.white};\r\n --fgColor: ${brand.black};\r\n }\r\n\r\n &[data-theme='dark'] {\r\n --bgColor: ${brand.black};\r\n }\r\n\r\n &[data-theme='transparent'] {\r\n --bgColor: transparent;\r\n }\r\n\r\n color: var(--fgColor);\r\n min-width: 0;\r\n`;\r\nconst List = styled.ul `\r\n ${scrollbars};\r\n\r\n display: flex;\r\n align-items: center;\r\n overflow-x: auto;\r\n padding-bottom: 2px;\r\n white-space: nowrap;\r\n`;\r\nconst Item = styled.li `\r\n ${fonts.apercu.light};\r\n\r\n display: inline-flex;\r\n align-items: center;\r\n font-size: 16px;\r\n line-height: 1.4em;\r\n margin-right: 8px;\r\n\r\n &:not(:last-child)::after {\r\n content: '';\r\n display: inline-block;\r\n background: url(${svgIcon}) no-repeat center;\r\n height: 11px;\r\n margin-left: 8px;\r\n width: 9px;\r\n\r\n [data-theme='light'] & {\r\n /* Results in a match to brand.black (#282828) */\r\n filter: invert(0.905);\r\n }\r\n }\r\n`;\r\nconst ItemLink = styled.a `\r\n ${transition('text-decoration-color')};\r\n\r\n display: inline-block;\r\n color: currentColor;\r\n text-decoration: underline;\r\n text-underline-position: under;\r\n text-decoration-color: var(--bgColor);\r\n\r\n &[aria-current='location'],\r\n &:hover {\r\n text-decoration: underline;\r\n text-decoration-color: var(--fgColor);\r\n }\r\n`;\r\nconst BreadcrumbStyles = {\r\n Container,\r\n List,\r\n Item,\r\n ItemLink,\r\n};\r\nexport default BreadcrumbStyles;\r\n","import format from 'date-fns/format';\r\nexport function formatDateISO(value) {\r\n let date = value;\r\n if (typeof date === 'string') {\r\n date = new Date(date);\r\n }\r\n return date.toISOString();\r\n}\r\nexport function formatDate(value, formatString = 'do MMMM yyyy') {\r\n let date = value;\r\n if (typeof date === 'string') {\r\n date = new Date(date);\r\n }\r\n return format(date, formatString);\r\n}\r\n"],"sourceRoot":""}