{"version":3,"file":"2082-828d4468a8129d8f1e06.js","mappings":"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","sources":["webpack://ess-mep/./src/helpers/animate.ts","webpack://ess-mep/./src/helpers/brand.ts","webpack://ess-mep/./src/helpers/fluid.ts","webpack://ess-mep/./src/helpers/fonts.ts","webpack://ess-mep/./src/helpers/grid.ts","webpack://ess-mep/./src/helpers/media.ts","webpack://ess-mep/./src/stories/Widgets/Global/Breadcrumbs/Breadcrumbs.styles.ts","webpack://ess-mep/./src/stories/Widgets/Global/Breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import { css } from 'styled-components';\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\n","export default {\r\n global: {\r\n /** Hex: #CD202C */\r\n red: '#CD202C',\r\n /** Hex: #BC1D28 */\r\n darkRed: '#BC1D28',\r\n /** Hex: #fff */\r\n white: '#fff',\r\n /** Hex: #f7f7f7 */\r\n background: '#f7f7f7',\r\n },\r\n ess: {\r\n /** Hex: #000 */\r\n primary: '#000',\r\n secondary: {\r\n /** Hex: #EDEDED */\r\n lightestGrey: '#EDEDED',\r\n /** Hex: #E2DFDF */\r\n lightGrey: '#E2DFDF',\r\n /** Hex: #939598 */\r\n midGrey: '#939598',\r\n /** Hex: #58595B */\r\n darkGrey: '#58595B',\r\n /** Hex: #373737 */\r\n darkestGrey: '#373737',\r\n },\r\n },\r\n mep: {\r\n /** Hex: #3D3C3E */\r\n primary: '#3D3C3E',\r\n secondary: {\r\n /** Hex: ##F4F4F4 */\r\n lightestGrey: '#F4F4F4',\r\n /** Hex: #EEEEEF */\r\n lightGrey: '#EEEEEF',\r\n /** Hex: #E6E6E6 */\r\n midGrey: '#E6E6E6',\r\n /** Hex: #8C8E91 */\r\n darkGrey: '#8C8E91',\r\n /** Hex: #58595B */\r\n darkestGrey: '#58595B',\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.TabletLarge;\r\n/**\r\n * Default pixel value for the max width.\r\n */\r\nexport const DEFAULT_MAX_VALUE = Device.ActualDesktop;\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 * Define a fluid value between the min/max values at the min/max widths.\r\n */\r\nexport function fluidUnit(min, max, unit = '', minWidth = DEFAULT_MIN_VALUE, maxWidth = DEFAULT_MAX_VALUE) {\r\n const slope = (max - min) / (maxWidth - minWidth);\r\n const yAxisIntersection = -minWidth * slope + min;\r\n const clampMin = `${round(min)}`;\r\n const clampVal = `${round(yAxisIntersection)}${unit} + ${round(slope * 100)}vw`;\r\n const clampMax = `${round(max)}`;\r\n return `clamp(${clampMin}${unit}, ${clampVal}, ${clampMax}${unit})`;\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\nexport default {\r\n daxWide: {\r\n light: css `\r\n font-family: 'DaxWide', sans-serif;\r\n font-style: normal;\r\n font-weight: 300;\r\n `,\r\n regular: css `\r\n font-family: 'DaxWide', sans-serif;\r\n font-style: normal;\r\n font-weight: 400;\r\n `,\r\n medium: css `\r\n font-family: 'DaxWide', sans-serif;\r\n font-style: normal;\r\n font-weight: 500;\r\n `,\r\n bold: css `\r\n font-family: 'DaxWide', sans-serif;\r\n font-style: normal;\r\n font-weight: 700;\r\n `,\r\n extraBold: css `\r\n font-family: 'DaxWide', sans-serif;\r\n font-style: normal;\r\n font-weight: 900;\r\n `,\r\n },\r\n museoSlab: {\r\n medium: css `\r\n font-family: 'museo-slab', serif;\r\n font-style: normal;\r\n font-weight: 500;\r\n `,\r\n bold: css `\r\n font-family: 'museo-slab', serif;\r\n font-style: normal;\r\n font-weight: 700;\r\n `,\r\n },\r\n};\r\n","import { fluid } from '@helpers/fluid';\r\nimport { css } from 'styled-components';\r\nimport { Device, from } from './media';\r\nexport const SitePadding = fluid(16, 64);\r\nexport const SiteWidth = 1916;\r\nexport const GutterWidth = fluid(10, 24);\r\nexport const siteWide = css `\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 display: grid;\r\n column-gap: var(--gutterWidth);\r\n grid-template-columns: repeat(6, 1fr);\r\n\r\n @media ${from(Device.Tablet)} {\r\n grid-template-columns: repeat(8, 1fr);\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n grid-template-columns: repeat(12, 1fr);\r\n }\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 { transition } from '@helpers/animate';\r\nimport brand from '@helpers/brand';\r\nimport { fluid } from '@helpers/fluid';\r\nimport fonts from '@helpers/fonts';\r\nimport { siteWide } from '@helpers/grid';\r\nimport { Device, from } from '@helpers/media';\r\nimport styled from 'styled-components';\r\nconst Container = styled.nav `\r\n color: var(--fgColour);\r\n background: var(--bgColour);\r\n padding: 14px 0;\r\n\r\n &[data-site='ess'] {\r\n --bgColour: ${brand.ess.secondary.midGrey};\r\n --fgColour: ${brand.global.white};\r\n }\r\n\r\n &[data-site='mep'] {\r\n --bgColour: ${brand.global.white};\r\n --fgColour: ${brand.mep.secondary.darkGrey};\r\n }\r\n`;\r\nconst Inner = styled.div `\r\n ${siteWide};\r\n`;\r\nconst List = styled.ul ``;\r\nconst Item = styled.li `\r\n ${fonts.daxWide.regular};\r\n\r\n display: none;\r\n align-items: center;\r\n font-size: ${fluid(14, 16)};\r\n line-height: ${fluid(20, 24)};\r\n margin-right: 1ch;\r\n\r\n &:first-child,\r\n &:nth-last-child(-n + 3) {\r\n display: inline;\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n display: inline;\r\n\r\n &:first-child {\r\n display: none;\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-decoration-thickness: 1px;\r\n text-underline-offset: 3px;\r\n text-decoration-color: transparent;\r\n\r\n &:focus {\r\n outline: none;\r\n }\r\n\r\n &.focus-ring {\r\n outline: auto;\r\n outline-offset: 3px;\r\n outline-width: 2px;\r\n outline-style: solid;\r\n }\r\n\r\n &.focus-ring,\r\n &:hover {\r\n text-decoration-color: currentColor;\r\n }\r\n\r\n &[aria-current] {\r\n ${fonts.daxWide.medium};\r\n }\r\n`;\r\nconst BreadcrumbStyles = {\r\n Container,\r\n Inner,\r\n Item,\r\n ItemLink,\r\n List,\r\n};\r\nexport default BreadcrumbStyles;\r\n","import * as React from 'react';\r\nimport { FocusRing } from 'react-aria';\r\nimport S from './Breadcrumbs.styles';\r\nconst Breadcrumbs = (props) => {\r\n return (React.createElement(S.Container, { \"aria-label\": \"breadcrumb\", \"data-site\": props.site },\r\n React.createElement(S.Inner, null,\r\n React.createElement(S.List, null,\r\n React.createElement(S.Item, null, \"\\u2026\"),\r\n React.createElement(S.Item, null,\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\r\n React.createElement(S.ItemLink, { href: \"/\" }, \"Home\"))),\r\n props.items.map((item, i) => (React.createElement(React.Fragment, { key: item.id },\r\n React.createElement(S.Item, null, \"/\"),\r\n React.createElement(S.Item, null,\r\n React.createElement(FocusRing, { focusRingClass: \"focus-ring\" },\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"],"names":["rootMargin","cubicEaseOut","shouldAnimate","innerCss","css","transition","properties","duration","arguments","length","undefined","timing","global","red","darkRed","white","background","ess","primary","secondary","lightestGrey","lightGrey","midGrey","darkGrey","darkestGrey","mep","PIXELS_PER_REM","DEFAULT_MIN_VALUE","Device","DEFAULT_MAX_VALUE","fluid","min","max","minRem","maxRem","minWidthRem","slope","yAxisIntersection","round","fluidUnit","unit","minWidth","num","Math","daxWide","light","regular","medium","bold","extraBold","museoSlab","SiteWidth","siteWide","baseGrid","from","size","until","between","start","end","Container","styled","displayName","componentId","brand","Inner","List","Item","fonts","ItemLink","props","React","S","site","FocusRing","focusRingClass","href","items","map","item","i","key","id","url","title","text"],"sourceRoot":""}