{"version":3,"sources":["webpack:///./src/helpers/media.ts","webpack:///./src/stories/Components/SectionWrapper/SectionWrapper.tsx","webpack:///./src/img/icons/favourite-star.svg","webpack:///./src/stories/Components/FavouriteToggle/FavouriteToggle.styles.ts","webpack:///./src/stories/Components/FavouriteToggle/FavouriteToggle.tsx","webpack:///./src/stories/Components/Global/Typography/Heading.styles.ts","webpack:///./src/helpers/api.ts","webpack:///./src/stories/Components/SectionWrapper/SectionWrapper.styles.ts","webpack:///./src/stories/Components/Global/Typography/Paragraph.styles.ts","webpack:///./src/img/icons/download.svg","webpack:///./src/img/icons/padlock.svg","webpack:///./src/stories/Components/Cards/ResourceCard/ResourceCard.styles.ts","webpack:///./src/stories/Components/Cards/ResourceCard/ResourceCard.tsx","webpack:///./src/stories/Components/Buttons/LinkButton/LinkButton.tsx","webpack:///./src/helpers/brand.ts","webpack:///./src/helpers/cssVar.ts","webpack:///./src/helpers/fonts.ts","webpack:///./src/stories/Components/Buttons/LinkButton/LinkButton.styles.ts","webpack:///./src/helpers/image.ts","webpack:///./src/stories/Components/Global/SiteWide/SiteWide.styles.ts","webpack:///./src/stories/Components/Global/SiteWide/SiteWide.tsx"],"names":["Device","from","size","until","between","start","end","SectionWrapper","React","children","className","flush","fullWidth","innerWidth","padding","otherProps","ref","S","Container","SiteWide","width","displayName","_path","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","SvgFavouriteStar","props","xmlns","viewBox","d","Button","styled","button","cssVar","Text","span","srOnly","Icon","Tablet","brand","htaRebrand","greenAlt","Tooltip","div","fonts","sourceSansPro","regular","black","white","FavouriteToggle","id","initialValue","isLoggedIn","value","setValue","useState","showTooltip","setShowTooltip","createElement","onClick","async","event","preventDefault","newValue","result","payload","res","fetch","API_URLS","favourites","body","JSON","stringify","headers","accepts","method","json","error","setFavourite","as","H1Styles","css","bold","Desktop","DesktopLarge","H2Styles","H3Styles","H4Styles","semiBold","H5Styles","H6Styles","Heading","h1","visual","advice","courses","landscapers","landscapersTypeahead","members","supportersFull","supportersProv","memberLocations","events","news","preferences","profile","projects","resources","mydocuments","typeahead","products","accountdetails","pages","createAccountDetails","readAccountDetails","updateAccountDetails","deleteAccountDetails","createProject","readProject","updateProject","deleteProject","createPublicProfile","readPublicProfile","updatePublicProfile","deletePublicProfile","createTeam","readTeam","updateTeam","deleteTeam","createTestimonial","readTestimonial","updateTestimonial","deleteTestimonial","accountProducts","checkout","updateBasket","updateBasketBulk","orders","section","setCssVar","TabletLarge","StyledSiteWide","LargeStyles","RegularStyles","SmallStyles","XSmallStyles","Paragraph","p","_g","SvgDownload","fill","stroke","strokeLinecap","strokeLinejoin","SvgPadlock","gatedFade","article","hta","green","grey","hortHouse","greyVeryLight","Inner","Title","h3","lineClamp","Tag","DesktopSmall","Content","ParagraphStyles","img","Lock","CtaWrapper","DownloadButton","LinkButton","Login","a","ResourceCard","download","favourite","gated","icon","login","summary","tag","title","alt","src","imageUrl","SvgLock","accessibleText","href","url","text","SvgChevronRight","themeOption","iconComponent","SBS","undefined","greyLight","pending","greenDark","greenLight","purple","tableBg","greenLightAlt","greenBright","apl","greyMid","orange","rss","validation","warning","success","name","light","lightItalic","regularItalic","medium","mediumItalic","semiBoldItalic","boldItalic","sharedButtonStyles","buttonTheme","bgColor","borderColor","fgColor","rgba","image","imageParams","imageSource","split","params","bgcolor","height","getImageHeight","quality","rmode","rxy","focalPoint","left","top","getImageWidth","queryString","widthratio","heightratio","SitePadding","SiteWidth"],"mappings":"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","file":"default~MyDocuments~RelatedResources~ResourceListing-46ed79e8147405b66d1c.js","sourcesContent":["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[\"DesktopMedium\"] = 1440] = \"DesktopMedium\";\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 * as React from 'react';\r\nimport S from './SectionWrapper.styles';\r\nconst SectionWrapper = React.forwardRef(({ children, className, flush = 'none', fullWidth = false, innerWidth = 'default', padding = false, ...otherProps }, ref) => {\r\n return (React.createElement(S.Container, { ref: ref, className: className, flush: flush, padding: padding, ...otherProps }, fullWidth ? children : React.createElement(S.SiteWide, { width: innerWidth }, children)));\r\n});\r\nSectionWrapper.displayName = 'SectionWrapper';\r\nexport default SectionWrapper;\r\n","var _path;\n\nfunction _extends() { _extends = Object.assign || 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 SvgFavouriteStar(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 23.811 24.023\"\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.406.847a.535.535 0 011 0l2.709 7.679h7.647a.535.535 0 01.348.941l-6.39 5.3 2.674 8.034a.535.535 0 01-.824.6l-6.665-4.89-6.672 4.885a.535.535 0 01-.821-.6l2.674-8.034-6.391-5.3a.535.535 0 01.348-.941h7.648z\"\n })));\n}\n\nexport default __webpack_public_path__ + \"d797647f7a057d0c84e7816d00dfd6b5.svg\";\nexport { SvgFavouriteStar as ReactComponent };","import brand from '@helpers/brand';\r\nimport { cssVar } from '@helpers/cssVar';\r\nimport fonts from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport srOnly from '@helpers/srOnly';\r\nimport styled from 'styled-components';\r\nconst Button = styled.button `\r\n display: flex;\r\n align-items: center;\r\n background: none;\r\n border: 0;\r\n color: currentColor;\r\n height: 36px;\r\n justify-content: center;\r\n margin: 0;\r\n padding: 0;\r\n width: 36px;\r\n\r\n &[data-active='true'] {\r\n fill: ${cssVar('accentColor')};\r\n stroke: red;\r\n\r\n \r\n }\r\n`;\r\nconst Text = styled.span `\r\n ${srOnly}\r\n`;\r\nconst Icon = styled.span `\r\n height: 17px;\r\n width: 17px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n height: 22px;\r\n width: 22px;\r\n }\r\n\r\n path {\r\n fill: none;\r\n stroke: currentColor;\r\n }\r\n\r\n ${Button}[data-active='true'] & {\r\n path {\r\n fill: ${cssVar('accentColor')};\r\n }\r\n\r\n .theme-hta & {\r\n path {\r\n fill: ${brand.htaRebrand.greenAlt};\r\n }\r\n }\r\n }\r\n`;\r\nconst Tooltip = styled.div `\r\n ${fonts.sourceSansPro.regular}\r\n font-size: 14px;\r\n position: absolute;\r\n top: 100%;\r\n right: 1px;\r\n background-color: ${brand.black};\r\n color: ${brand.white};\r\n display: none;\r\n width: 150px;\r\n padding: 5px 10px;\r\n box-shadow: 0 0 10px 0px rgba(0,0,0,0.27);\r\n z-index: 1;\r\n \r\n &:after {\r\n bottom: 100%;\r\n right: 12px;\r\n border: solid transparent;\r\n content: \"\";\r\n height: 0;\r\n width: 0;\r\n position: absolute;\r\n pointer-events: none;\r\n border-color: rgba(black, 0);\r\n border-bottom-color: ${brand.black};\r\n border-width: 5px;\r\n margin-left: -5px;\r\n }\r\n\r\n [data-show-tooltip='true'] & {\r\n display: block;\r\n }\r\n`;\r\nexport default {\r\n Button,\r\n Icon,\r\n Text,\r\n Tooltip,\r\n};\r\n","import { API_URLS } from '@helpers/api';\r\nimport { ReactComponent as SvgFavouriteStar } from '@img/icons/favourite-star.svg';\r\nimport React from 'react';\r\nimport S from './FavouriteToggle.styles';\r\nconst FavouriteToggle = ({ className, id, initialValue, isLoggedIn, }) => {\r\n const [value, setValue] = React.useState(initialValue);\r\n const [showTooltip, setShowTooltip] = React.useState(false);\r\n return (React.createElement(S.Button, { className: className, \"data-active\": value, \"data-show-tooltip\": showTooltip, onClick: async (event) => {\r\n event.preventDefault();\r\n const newValue = !value;\r\n if (isLoggedIn) {\r\n // Optimistic update.\r\n setValue(newValue);\r\n // Hit API and set status based on response.\r\n const result = await setFavourite({ id, value: newValue });\r\n if (result.value !== newValue) {\r\n setValue(result.value);\r\n }\r\n }\r\n else {\r\n setShowTooltip(!showTooltip);\r\n }\r\n } },\r\n React.createElement(S.Text, null, \"Toggle Favourite Status\"),\r\n React.createElement(S.Icon, { as: SvgFavouriteStar }),\r\n React.createElement(S.Tooltip, null, \"Please log in to use this feature\")));\r\n};\r\nexport default FavouriteToggle;\r\n/**\r\n * Call API to update the favourite status of the specified item.\r\n */\r\nasync function setFavourite(payload) {\r\n try {\r\n const res = await fetch(API_URLS.favourites, {\r\n body: JSON.stringify(payload),\r\n headers: {\r\n accepts: 'application/json',\r\n 'content-type': 'application/json',\r\n },\r\n method: 'post',\r\n });\r\n const data = (await res.json());\r\n return data;\r\n }\r\n catch (error) {\r\n return { value: payload.value };\r\n }\r\n}\r\n","import fonts from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport styled, { css } from 'styled-components';\r\nconst H1Styles = css `\r\n ${fonts.sourceSansPro.bold};\r\n font-size: 30px;\r\n line-height: 40px;\r\n margin-bottom: 16px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 40px;\r\n line-height: 50px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n font-size: 60px;\r\n line-height: 70px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 70px;\r\n line-height: 80px;\r\n }\r\n\r\n .theme-apl & {\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 60px;\r\n line-height: 70px;\r\n }\r\n }\r\n`;\r\nconst H2Styles = css `\r\n ${fonts.sourceSansPro.bold};\r\n font-size: 25px;\r\n line-height: 35px;\r\n margin-bottom: 16px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 35px;\r\n line-height: 45px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n font-size: 55px;\r\n line-height: 65px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 60px;\r\n line-height: 70px;\r\n }\r\n\r\n .theme-apl & {\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 55px;\r\n line-height: 65px;\r\n }\r\n }\r\n`;\r\nconst H3Styles = css `\r\n ${fonts.sourceSansPro.bold};\r\n font-size: 20px;\r\n line-height: 30px;\r\n margin-bottom: 16px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 30px;\r\n line-height: 40px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n font-size: 45px;\r\n line-height: 60px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 50px;\r\n line-height: 60px;\r\n }\r\n`;\r\nconst H4Styles = css `\r\n ${fonts.sourceSansPro.semiBold};\r\n font-size: 24px;\r\n line-height: 32px;\r\n margin-bottom: 16px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 25px;\r\n line-height: 35px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n font-size: 35px;\r\n line-height: 45px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 45px;\r\n line-height: 55px;\r\n }\r\n`;\r\nconst H5Styles = css `\r\n ${fonts.sourceSansPro.semiBold};\r\n font-size: 18px;\r\n line-height: 24px;\r\n margin-bottom: 16px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 22px;\r\n line-height: 32px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n font-size: 25px;\r\n line-height: 35px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 30px;\r\n line-height: 38px;\r\n }\r\n`;\r\nconst H6Styles = css `\r\n ${fonts.sourceSansPro.semiBold};\r\n font-size: 18px;\r\n line-height: 24px;\r\n margin-bottom: 16px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 22px;\r\n line-height: 32px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n font-size: 25px;\r\n line-height: 35px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 30px;\r\n line-height: 38px;\r\n }\r\n`;\r\nconst Heading = styled.h1 `\r\n ${({ visual }) => {\r\n switch (visual) {\r\n case 'h1':\r\n return H1Styles;\r\n case 'h2':\r\n return H2Styles;\r\n case 'h3':\r\n return H3Styles;\r\n case 'h4':\r\n return H4Styles;\r\n case 'h5':\r\n return H5Styles;\r\n case 'h6':\r\n return H6Styles;\r\n default:\r\n break;\r\n }\r\n}}\r\n`;\r\nexport default {\r\n H1Styles,\r\n H2Styles,\r\n H3Styles,\r\n H4Styles,\r\n H5Styles,\r\n H6Styles,\r\n Heading,\r\n};\r\n","export const API_URLS = {\r\n advice: '/api/advice',\r\n courses: '/umbraco/api/courseapi/getcoursesundernode',\r\n favourites: '/umbraco/api/favouritesapi/postfavouriteupdate',\r\n landscapers: '/umbraco/api/aplmembersapi/getlandscapers',\r\n landscapersTypeahead: '/umbraco/api/aplmembersapi/getlandscaperstypeahead',\r\n members: '/umbraco/api/memberslistingapi/getmembers',\r\n supportersFull: '/umbraco/api/memberslistingapi/GetSupporters?supporterTypeFilter=full',\r\n supportersProv: '/umbraco/api/memberslistingapi/GetSupporters?supporterTypeFilter=provisional',\r\n memberLocations: '/api/memberLocations',\r\n events: '/umbraco/api/eventsapi/geteventsundernode',\r\n news: '/umbraco/api/articlesapi/getarticlesundernode',\r\n preferences: '/umbraco/api/accountapi/updatepreferences',\r\n profile: '/umbraco/api/teammemberapi/getteammemberbio',\r\n projects: '/umbraco/api/projectsapi/getprojectsundernode',\r\n resources: '/umbraco/api/resourcesapi/getresourcesundernode',\r\n mydocuments: '/umbraco/surface/documentsapi/getdocuments',\r\n typeahead: '/umbraco/api/typeahead/getsearch',\r\n products: '/umbraco/api/productsapi/getproductsundernode',\r\n accountdetails: '/umbraco/api/accountapi/updatedetails',\r\n pages: '/umbraco/api/pagesapi/getpagesundernode',\r\n // APL Dashboard APIs\r\n createAccountDetails: '/api/accountdetails',\r\n readAccountDetails: '/api/accountdetails',\r\n updateAccountDetails: '/api/accountdetails',\r\n deleteAccountDetails: '/api/accountdetails',\r\n createProject: '/api/project',\r\n readProject: '/api/project',\r\n updateProject: '/api/project',\r\n deleteProject: '/api/project',\r\n createPublicProfile: '/api/publicprofile',\r\n readPublicProfile: '/api/publicprofile',\r\n updatePublicProfile: '/api/publicprofile',\r\n deletePublicProfile: '/api/publicprofile',\r\n createTeam: '/api/teammember',\r\n readTeam: '/api/teammember',\r\n updateTeam: '/api/teammember',\r\n deleteTeam: '/api/teammember',\r\n createTestimonial: '/api/testimonial',\r\n readTestimonial: '/api/testimonial',\r\n updateTestimonial: '/api/testimonial',\r\n deleteTestimonial: '/api/testimonial',\r\n // Account Area APIs\r\n accountProducts: '/umbraco/api/storeproductsapi/searchproducts',\r\n checkout: '/umbraco/api/ordersapi/createorder',\r\n updateBasket: '/umbraco/api/basketapi/update',\r\n updateBasketBulk: '/umbraco/api/basketapi/bulkupdate',\r\n orders: '/umbraco/api/ordersapi/searchorders',\r\n};\r\n","import { cssVar, setCssVar } from '@helpers/cssVar';\r\nimport { Device, from } from '@helpers/media';\r\nimport styled, { css } from 'styled-components';\r\nimport SiteWide from '../Global/SiteWide/SiteWide';\r\nconst Container = styled.section `\r\n color: ${cssVar('fgColor')};\r\n ${setCssVar('sectionMargin', '32px')};\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n ${setCssVar('sectionMargin', '80px')};\r\n }\r\n\r\n ${({ flush, padding }) => css `\r\n ${padding\r\n ? css `\r\n padding-top: ${cssVar('sectionMargin')};\r\n padding-bottom: ${cssVar('sectionMargin')};\r\n `\r\n : css `\r\n margin-top: ${cssVar('sectionMargin')};\r\n margin-bottom: ${cssVar('sectionMargin')};\r\n `}\r\n\r\n ${() => flush === 'top' &&\r\n css `\r\n margin-top: 0;\r\n padding-top: 0;\r\n `}\r\n\r\n ${() => flush === 'bottom' &&\r\n css `\r\n margin-bottom: 0;\r\n padding-bottom: 0;\r\n `}\r\n\r\n ${() => flush === 'both' &&\r\n css `\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n padding-top: 0;\r\n padding-bottom: 0;\r\n `}\r\n `}\r\n`;\r\nconst StyledSiteWide = styled(SiteWide) ``;\r\nexport default {\r\n Container,\r\n SiteWide: StyledSiteWide,\r\n};\r\n","import fonts from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport styled, { css } from 'styled-components';\r\nconst LargeStyles = css `\r\n ${fonts.sourceSansPro.regular};\r\n font-size: 20px;\r\n letter-spacing: normal;\r\n line-height: 30px;\r\n margin-bottom: 16px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 20px;\r\n line-height: 30px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n font-size: 22px;\r\n line-height: 34px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 26px;\r\n line-height: 36px;\r\n }\r\n\r\n .theme-apl & {\r\n font-size: 18px;\r\n line-height: 28px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 20px;\r\n line-height: 30px;\r\n }\r\n @media ${from(Device.Desktop)} {\r\n font-size: 22px;\r\n line-height: 34px;\r\n }\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 22px;\r\n line-height: 34px;\r\n }\r\n }\r\n`;\r\nconst RegularStyles = css `\r\n ${fonts.sourceSansPro.regular};\r\n font-size: 16px;\r\n letter-spacing: normal;\r\n line-height: 26px;\r\n margin-bottom: 16px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 18px;\r\n line-height: 28px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n font-size: 18px;\r\n line-height: 28px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 22px;\r\n line-height: 34px;\r\n }\r\n\r\n .theme-apl & {\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 18px;\r\n line-height: 28px;\r\n }\r\n }\r\n`;\r\nconst SmallStyles = css `\r\n ${fonts.sourceSansPro.regular};\r\n font-size: 16px;\r\n letter-spacing: normal;\r\n line-height: 26px;\r\n margin-bottom: 16px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 16px;\r\n line-height: 26px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n font-size: 16px;\r\n line-height: 26px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 18px;\r\n line-height: 28px;\r\n }\r\n\r\n .theme-apl & {\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 16px;\r\n line-height: 26px;\r\n }\r\n }\r\n\r\n .theme-rss & {\r\n @media ${from(Device.Desktop)} {\r\n font-size: 20px;\r\n }\r\n }\r\n`;\r\nconst XSmallStyles = css `\r\n ${fonts.sourceSansPro.regular};\r\n font-size: 16px;\r\n letter-spacing: normal;\r\n line-height: 24px;\r\n margin-bottom: 16px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 16px;\r\n line-height: 24px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n font-size: 16px;\r\n line-height: 24px;\r\n }\r\n`;\r\nconst Paragraph = styled.p `\r\n ${({ size }) => {\r\n switch (size) {\r\n case 'large':\r\n return LargeStyles;\r\n case 'regular':\r\n return RegularStyles;\r\n case 'small':\r\n return SmallStyles;\r\n case 'xsmall':\r\n return XSmallStyles;\r\n default:\r\n break;\r\n }\r\n}}\r\n`;\r\nexport default {\r\n Paragraph,\r\n XSmallStyles,\r\n SmallStyles,\r\n RegularStyles,\r\n LargeStyles,\r\n};\r\n","var _g;\n\nfunction _extends() { _extends = Object.assign || 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 SvgDownload(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 17.339 17.4\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M.5 11.279V16.9h16.339v-5.621\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.107 7.5l4.716 4.716L13.539 7.5\",\n strokeLinejoin: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.823 11.5V.5\"\n }))));\n}\n\nexport default __webpack_public_path__ + \"315b206b70aaf29c74e06429ec2f7be4.svg\";\nexport { SvgDownload as ReactComponent };","var _g;\n\nfunction _extends() { _extends = Object.assign || 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 SvgPadlock(props) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 36.541 41.226\"\n }, props), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 15007\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 218\",\n d: \"M18.27 0A12.949 12.949 0 005.431 13.067v1.656H3.287A3.168 3.168 0 000 17.745v20.459a3.168 3.168 0 003.287 3.021h29.967a3.168 3.168 0 003.287-3.021V17.745a3.168 3.168 0 00-3.287-3.021h-2.145v-1.656A12.949 12.949 0 0018.27 0zm0 1.963a10.942 10.942 0 0110.864 11.1v1.656H7.407v-1.656a10.942 10.942 0 0110.864-11.1zM3.287 16.687h29.967a1.184 1.184 0 011.312 1.058v20.459a1.184 1.184 0 01-1.312 1.058H3.287a1.184 1.184 0 01-1.312-1.058V17.745a1.184 1.184 0 011.312-1.058zm14.984 5.4a3.46 3.46 0 00-3.457 3.435v4.908a3.457 3.457 0 006.913 0v-4.908a3.46 3.46 0 00-3.457-3.437zm0 1.963a1.453 1.453 0 011.481 1.472v4.908a1.482 1.482 0 01-2.963 0v-4.908a1.453 1.453 0 011.481-1.473z\",\n fill: \"currentColor\"\n }))));\n}\n\nexport default __webpack_public_path__ + \"c83fbd399792bf127d677d5b8969585c.svg\";\nexport { SvgPadlock as ReactComponent };","import brand from '@helpers/brand';\r\nimport { cssVar, setCssVar } from '@helpers/cssVar';\r\nimport fonts from '@helpers/fonts';\r\nimport { lineClamp } from '@helpers/global';\r\nimport { Device, from, until } from '@helpers/media';\r\nimport LinkButton from '@stories/Components/Buttons/LinkButton/LinkButton';\r\nimport FavouriteToggle from '@stories/Components/FavouriteToggle/FavouriteToggle';\r\nimport ParagraphStyles from '@stories/Components/Global/Typography/Paragraph.styles';\r\nimport styled, { css } from 'styled-components';\r\nconst gatedFade = css `\r\n [data-gated='true'] & {\r\n cursor: default;\r\n opacity: 0.6;\r\n pointer-events: none;\r\n }\r\n`;\r\nconst Container = styled.article `\r\n ${setCssVar('accentColor', brand.hta.green)};\r\n ${setCssVar('bgColor', brand.grey)};\r\n ${setCssVar('fgColor', brand.white)};\r\n\r\n .theme-hh & {\r\n ${setCssVar('accentColor', brand.hortHouse.green)};\r\n ${setCssVar('fgColor', brand.black)};\r\n ${setCssVar('bgColor', brand.greyVeryLight)};\r\n }\r\n\r\n display: block;\r\n background: ${cssVar('bgColor')};\r\n border-radius: 11px;\r\n color: ${cssVar('fgColor')};\r\n height: 100%;\r\n padding: 20px 14px;\r\n\r\n @media ${until(Device.Tablet)} {\r\n padding-bottom: 40px;\r\n }\r\n`;\r\nconst Inner = styled.div `\r\n position: relative;\r\n display: flex;\r\n align-items: flex-start;\r\n flex-direction: column;\r\n height: 100%;\r\n`;\r\nconst Title = styled.h3 `\r\n ${gatedFade};\r\n\r\n ${lineClamp(3, 'block')};\r\n ${fonts.sourceSansPro.semiBold};\r\n font-size: 16px;\r\n line-height: 24px;\r\n margin-bottom: 8px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 22px;\r\n line-height: 32px;\r\n }\r\n\r\n @media ${from(Device.Desktop)} {\r\n font-size: 24px;\r\n line-height: 32px;\r\n }\r\n\r\n @media ${from(Device.DesktopLarge)} {\r\n font-size: 24px;\r\n line-height: 32px;\r\n }\r\n`;\r\nconst Tag = styled.span `\r\n ${gatedFade};\r\n\r\n display: block;\r\n color: ${cssVar('accentColor')};\r\n ${fonts.sourceSansPro.regular};\r\n font-size: 14px;\r\n letter-spacing: 0.1em;\r\n line-height: 18px;\r\n margin-bottom: 8px;\r\n text-transform: uppercase;\r\n\r\n @media ${from(Device.Tablet)} {\r\n font-size: 16px;\r\n line-height: 20px;\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n font-size: 18px;\r\n line-height: 22px;\r\n }\r\n`;\r\nconst Content = styled.p `\r\n ${gatedFade};\r\n\r\n ${lineClamp(3, 'block')};\r\n ${ParagraphStyles.SmallStyles};\r\n margin: 0 0 20px;\r\n\r\n @media ${until(Device.Tablet)} {\r\n display: none;\r\n }\r\n`;\r\nconst Icon = styled.img `\r\n ${gatedFade};\r\n\r\n display: block;\r\n height: 40px;\r\n margin: 0 0 16px;\r\n object-fit: contain;\r\n object-position: left center;\r\n width: 40px;\r\n\r\n @media ${until(Device.Tablet)} {\r\n height: 24px;\r\n width: auto;\r\n }\r\n`;\r\nconst Lock = styled.span `\r\n position: absolute;\r\n top: 0;\r\n right: 0;\r\n display: block;\r\n height: 40px;\r\n width: 40px;\r\n color: ${cssVar('fgColor')};\r\n\r\n @media ${until(Device.Tablet)} {\r\n height: 24px;\r\n width: auto;\r\n }\r\n`;\r\nconst CtaWrapper = styled.div `\r\n display: flex;\r\n align-items: center;\r\n height: 48px;\r\n margin-top: auto;\r\n`;\r\nconst DownloadButton = styled(LinkButton) `\r\n ${gatedFade};\r\n`;\r\nconst Login = styled.a `\r\n display: flex;\r\n align-items: center;\r\n color: currentColor;\r\n ${fonts.sourceSansPro.semiBold};\r\n font-size: 18px;\r\n line-height: 26px;\r\n text-decoration: none;\r\n\r\n @media ${until(Device.Tablet)} {\r\n font-size: 16px;\r\n }\r\n\r\n > svg {\r\n display: inline-block;\r\n height: 10px;\r\n margin-left: 8px;\r\n width: 10px;\r\n }\r\n\r\n &:focus,\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n`;\r\nconst StyledFavouriteToggle = styled(FavouriteToggle) `\r\n ${gatedFade};\r\n\r\n position: absolute;\r\n bottom: -40px;\r\n right: -15px;\r\n\r\n @media ${from(Device.Tablet)} {\r\n bottom: 0;\r\n right: 0;\r\n }\r\n`;\r\nexport default {\r\n Container,\r\n Content,\r\n CtaWrapper,\r\n DownloadButton,\r\n FavouriteToggle: StyledFavouriteToggle,\r\n Icon,\r\n Inner,\r\n Lock,\r\n Login,\r\n Tag,\r\n Title,\r\n};\r\n","import { imageUrl } from '@helpers/image';\r\nimport { ReactComponent as SvgChevronRight } from '@img/icons/chevron-right.svg';\r\nimport { ReactComponent as SvgDownload } from '@img/icons/download.svg';\r\nimport { ReactComponent as SvgLock } from '@img/icons/padlock.svg';\r\nimport React from 'react';\r\nimport S from './ResourceCard.styles';\r\nconst ResourceCard = ({ id, download, favourite = false, gated, icon, login, isLoggedIn, summary, tag, title, }) => {\r\n return (React.createElement(S.Container, { \"data-gated\": gated },\r\n React.createElement(S.Inner, null,\r\n React.createElement(S.Icon, { alt: \"\", src: imageUrl(icon, {}) }),\r\n gated && React.createElement(S.Lock, { as: SvgLock }),\r\n React.createElement(S.Tag, null, tag),\r\n React.createElement(S.Title, null, title),\r\n React.createElement(S.Content, null, summary),\r\n React.createElement(S.CtaWrapper, null,\r\n download && (React.createElement(S.DownloadButton, { \"aria-label\": download.accessibleText, href: download.url, icon: SvgDownload, target: download.target, title: download.text })),\r\n login && !isLoggedIn && (React.createElement(S.Login, { \"aria-label\": login.accessibleText, href: login.url, target: login.target },\r\n React.createElement(\"span\", null, login.text),\r\n React.createElement(SvgChevronRight, null)))),\r\n React.createElement(S.FavouriteToggle, { id: id, initialValue: favourite, isLoggedIn: isLoggedIn }))));\r\n};\r\nexport default ResourceCard;\r\n","import React from 'react';\r\nimport * as SBS from '../ButtonShared.styles';\r\nimport S from './LinkButton.styles';\r\nconst LinkButton = ({ className, icon, themeOption = 'green', title, ...otherProps }) => {\r\n let iconComponent;\r\n if (typeof icon === 'string') {\r\n iconComponent = (React.createElement(SBS.Icon, { as: \"svg\", \"aria-label\": title },\r\n React.createElement(\"use\", { href: icon })));\r\n }\r\n else if (typeof icon !== 'undefined') {\r\n iconComponent = React.createElement(SBS.Icon, { as: icon, \"aria-label\": title });\r\n }\r\n else {\r\n iconComponent = undefined;\r\n }\r\n return (React.createElement(S.Button, { className: className, themeOption: themeOption, ...otherProps },\r\n React.createElement(SBS.Text, null, title),\r\n iconComponent));\r\n};\r\nexport default LinkButton;\r\n","export default {\r\n // SHARED\r\n black: '#121212',\r\n white: '#FFFFFF',\r\n grey: '#555658',\r\n greyLight: '#93958F',\r\n greyVeryLight: '#F2F2F2',\r\n pending: '#FCE1C0',\r\n // HTA\r\n hta: {\r\n green: '#8FB433',\r\n greenAlt: '#6F8B27',\r\n greenDark: '#206142',\r\n greenLight: '#DCE8BF',\r\n purple: '#602366',\r\n tableBg: '#EEF1E9',\r\n },\r\n // HTA rebrand\r\n htaRebrand: {\r\n green: '#206142',\r\n greenAlt: '#8FB433',\r\n greenDark: '#14432C',\r\n greenLight: '#559677',\r\n greenLightAlt: '#628D78',\r\n greenBright: '#66B429',\r\n purple: '#602366',\r\n },\r\n // APL\r\n apl: {\r\n green: '#66BC29',\r\n greenAlt: '#56A022',\r\n greenLight: '#BAE19F',\r\n },\r\n // HORT HOUSE\r\n hortHouse: {\r\n green: '#8FB433',\r\n greenAlt: '#6F8B27',\r\n greenDark: '#4D7F42',\r\n greenLight: '#DCE8BF',\r\n greyMid: '#747474',\r\n orange: '#EB7820',\r\n },\r\n // RSS\r\n rss: {\r\n green: '#95C11F',\r\n greenDark: '#688816',\r\n greenLight: '#D1EA8D',\r\n grey: '#333333',\r\n greyLight: '#464646',\r\n },\r\n validation: {\r\n error: '#d90000',\r\n warning: '#e06e1b',\r\n success: '#56a022',\r\n },\r\n};\r\n","const variables = [\r\n 'fgColor',\r\n 'fgColorAlt',\r\n 'bgColor',\r\n 'bgColorAlt',\r\n 'accentColor',\r\n 'accentColorAlt',\r\n 'accentColor2',\r\n 'siteWidth',\r\n 'sitePadding',\r\n 'sectionMargin',\r\n 'buttonBgColor',\r\n 'buttonBorderColor',\r\n 'buttonColor',\r\n];\r\nfunction cssVar(name) {\r\n return `var(--${name})`;\r\n}\r\nfunction setCssVar(name, value) {\r\n return `--${name}: ${value}`;\r\n}\r\nexport { cssVar, setCssVar };\r\n","import { css } from 'styled-components';\r\nexport default {\r\n sourceSansPro: {\r\n light: css `\r\n font-family: 'Source Sans Pro', sans-serif;\r\n font-style: normal;\r\n font-weight: 300;\r\n `,\r\n lightItalic: css `\r\n font-family: 'Source Sans Pro', sans-serif;\r\n font-weight: 300;\r\n font-style: italic;\r\n `,\r\n regular: css `\r\n font-family: 'Source Sans Pro', sans-serif;\r\n font-style: normal;\r\n font-weight: 400;\r\n `,\r\n regularItalic: css `\r\n font-family: 'Source Sans Pro', sans-serif;\r\n font-weight: 400;\r\n font-style: italic;\r\n `,\r\n medium: css `\r\n font-family: 'Source Sans Pro', sans-serif;\r\n font-style: normal;\r\n font-weight: 500;\r\n `,\r\n mediumItalic: css `\r\n font-family: 'Source Sans Pro', sans-serif;\r\n font-weight: 500;\r\n font-style: italic;\r\n `,\r\n semiBold: css `\r\n font-family: 'Source Sans Pro', sans-serif;\r\n font-style: normal;\r\n font-weight: 600;\r\n `,\r\n semiBoldItalic: css `\r\n font-family: 'Source Sans Pro', sans-serif;\r\n font-weight: 600;\r\n font-style: italic;\r\n `,\r\n bold: css `\r\n font-family: 'Source Sans Pro', sans-serif;\r\n font-style: normal;\r\n font-weight: 700;\r\n `,\r\n boldItalic: css `\r\n font-family: 'Source Sans Pro', sans-serif;\r\n font-weight: 700;\r\n font-style: italic;\r\n `,\r\n },\r\n};\r\n","import brand from '@helpers/brand';\r\nimport { rgba } from 'polished';\r\nimport styled, { css } from 'styled-components';\r\nimport { buttonTheme, sharedButtonStyles } from '../ButtonShared.styles';\r\nconst Button = styled.a `\r\n ${sharedButtonStyles};\r\n\r\n ${({ themeOption }) => themeOption === 'green' &&\r\n css `\r\n ${buttonTheme({\r\n bgColor: brand.htaRebrand.green,\r\n borderColor: brand.htaRebrand.green,\r\n fgColor: brand.white,\r\n })}\r\n\r\n .theme-hh & {\r\n ${buttonTheme({\r\n bgColor: brand.htaRebrand.greenAlt,\r\n borderColor: brand.htaRebrand.greenAlt,\r\n fgColor: brand.white,\r\n })}\r\n }\r\n\r\n &:focus,\r\n &:hover {\r\n ${buttonTheme({\r\n bgColor: brand.htaRebrand.greenLight,\r\n borderColor: brand.htaRebrand.greenLight,\r\n fgColor: brand.white,\r\n })}\r\n }\r\n\r\n &:active {\r\n ${buttonTheme({\r\n bgColor: brand.htaRebrand.greenDark,\r\n borderColor: brand.htaRebrand.greenDark,\r\n fgColor: brand.white,\r\n })}\r\n }\r\n `}\r\n\r\n ${({ themeOption }) => themeOption === 'greenOriginal' &&\r\n css `\r\n ${buttonTheme({\r\n bgColor: brand.hta.green,\r\n borderColor: brand.hta.green,\r\n fgColor: brand.black,\r\n })}\r\n\r\n &:focus,\r\n &:hover {\r\n ${buttonTheme({\r\n bgColor: brand.hta.greenLight,\r\n borderColor: brand.hta.greenLight,\r\n fgColor: brand.black,\r\n })}\r\n }\r\n\r\n &:active {\r\n ${buttonTheme({\r\n bgColor: brand.hta.greenDark,\r\n borderColor: brand.hta.greenDark,\r\n fgColor: brand.white,\r\n })}\r\n }\r\n `}\r\n\r\n ${({ themeOption }) => themeOption === 'greenOutline' &&\r\n css `\r\n ${buttonTheme({\r\n bgColor: rgba(brand.hta.green, 0),\r\n borderColor: brand.htaRebrand.green,\r\n fgColor: brand.black,\r\n })}\r\n\r\n &:focus,\r\n &:hover {\r\n ${buttonTheme({\r\n bgColor: brand.htaRebrand.greenLightAlt,\r\n borderColor: brand.htaRebrand.green,\r\n fgColor: brand.white,\r\n })}\r\n }\r\n\r\n &:active {\r\n ${buttonTheme({\r\n bgColor: brand.htaRebrand.greenDark,\r\n borderColor: brand.htaRebrand.greenAlt,\r\n fgColor: brand.white,\r\n })}\r\n }\r\n `}\r\n\r\n ${({ themeOption }) => themeOption === 'greenLightOutline' &&\r\n css `\r\n ${buttonTheme({\r\n bgColor: brand.white,\r\n borderColor: brand.htaRebrand.greenBright,\r\n fgColor: brand.black,\r\n })}\r\n\r\n &:focus,\r\n &:hover {\r\n ${buttonTheme({\r\n bgColor: brand.htaRebrand.greenLightAlt,\r\n borderColor: brand.htaRebrand.greenBright,\r\n fgColor: brand.white,\r\n })}\r\n }\r\n\r\n &:active {\r\n ${buttonTheme({\r\n bgColor: brand.htaRebrand.greenDark,\r\n borderColor: brand.htaRebrand.greenBright,\r\n fgColor: brand.white,\r\n })}\r\n }\r\n `}\r\n\r\n ${({ themeOption }) => themeOption === 'aplGreen' &&\r\n css `\r\n ${buttonTheme({\r\n bgColor: brand.apl.green,\r\n borderColor: brand.apl.green,\r\n fgColor: brand.black,\r\n })}\r\n\r\n &:focus,\r\n &:hover {\r\n ${buttonTheme({\r\n bgColor: brand.apl.greenLight,\r\n borderColor: brand.apl.greenLight,\r\n fgColor: brand.black,\r\n })}\r\n }\r\n `}\r\n\r\n ${({ themeOption }) => themeOption === 'aplGreenOutline' &&\r\n css `\r\n ${buttonTheme({\r\n bgColor: rgba(brand.apl.green, 0),\r\n borderColor: brand.apl.green,\r\n fgColor: brand.black,\r\n })}\r\n\r\n &:focus,\r\n &:hover {\r\n ${buttonTheme({\r\n bgColor: brand.apl.greenLight,\r\n borderColor: brand.apl.green,\r\n fgColor: brand.black,\r\n })}\r\n }\r\n `}\r\n\r\n ${({ themeOption }) => themeOption === 'white' &&\r\n css `\r\n ${buttonTheme({\r\n bgColor: brand.white,\r\n borderColor: brand.white,\r\n fgColor: brand.black,\r\n })}\r\n\r\n &:focus,\r\n &:hover {\r\n ${buttonTheme({\r\n bgColor: '#383838',\r\n borderColor: brand.white,\r\n fgColor: brand.white,\r\n })}\r\n }\r\n `}\r\n\r\n ${({ themeOption }) => themeOption === 'whiteOutline' &&\r\n css `\r\n ${buttonTheme({\r\n bgColor: rgba('#383838', 0),\r\n borderColor: brand.white,\r\n fgColor: brand.white,\r\n })}\r\n\r\n &:focus,\r\n &:hover {\r\n ${buttonTheme({\r\n bgColor: '#383838',\r\n borderColor: brand.white,\r\n fgColor: brand.white,\r\n })}\r\n }\r\n `}\r\n\r\n ${({ themeOption }) => themeOption === 'blackOutline' &&\r\n css `\r\n ${buttonTheme({\r\n bgColor: rgba('#383838', 0),\r\n borderColor: brand.black,\r\n fgColor: brand.black,\r\n })}\r\n\r\n &:focus,\r\n &:hover {\r\n ${buttonTheme({\r\n bgColor: '#383838',\r\n borderColor: brand.black,\r\n fgColor: brand.white,\r\n })}\r\n }\r\n `}\r\n`;\r\nexport default {\r\n Button,\r\n};\r\n","import queryString from 'query-string';\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 || !image.src) {\r\n return '';\r\n }\r\n /**\r\n * Remove any query param string to ensure paramsString is applied correctly and\r\n * there are no double definitions (setting a param twice prevents any tranformations)\r\n */\r\n const imageSource = image.src.split('?')[0];\r\n const params = {\r\n bgcolor: imageParams.bgcolor,\r\n height: getImageHeight(imageParams),\r\n // Define default quality as 95 to ensure some reduction in size for all but the smallest images\r\n quality: imageParams.width && imageParams.width > 400 ? 95 : undefined,\r\n rmode: imageParams.rmode ?? 'crop',\r\n rxy: image.focalPoint ? `${image.focalPoint.left},${image.focalPoint.top}` : undefined,\r\n width: getImageWidth(imageParams),\r\n };\r\n const paramsString = queryString.stringify(params);\r\n return `${imageSource}${paramsString ? `?${queryString.stringify(params)}` : ''}`;\r\n}\r\nconst getImageWidth = (imageParams) => {\r\n if (imageParams.width) {\r\n return imageParams.width;\r\n }\r\n if (imageParams.widthratio && imageParams.height) {\r\n return imageParams.widthratio * imageParams.height;\r\n }\r\n return undefined;\r\n};\r\nconst getImageHeight = (imageParams) => {\r\n if (imageParams.height) {\r\n return imageParams.height;\r\n }\r\n if (imageParams.heightratio && imageParams.width) {\r\n return imageParams.heightratio * imageParams.width;\r\n }\r\n return undefined;\r\n};\r\n","import { cssVar, setCssVar } from '@helpers/cssVar';\r\nimport { Device, from } from '@helpers/media';\r\nimport styled, { css } from 'styled-components';\r\nexport const SitePadding = 18;\r\nexport const SiteWidth = 1638;\r\nexport const SiteWidthNarrow = 1082;\r\nexport const SiteWidthThin = 800;\r\nconst Container = styled.div `\r\n ${setCssVar('sitePadding', `${SitePadding}px`)};\r\n ${setCssVar('siteWidth', `${SiteWidth}px`)};\r\n\r\n margin-left: auto;\r\n margin-right: auto;\r\n max-width: calc(${cssVar('siteWidth')} + (${cssVar('sitePadding')} * 2));\r\n padding-left: ${cssVar('sitePadding')};\r\n padding-right: ${cssVar('sitePadding')};\r\n width: 100%;\r\n\r\n ${({ width }) => {\r\n switch (width) {\r\n case 'default':\r\n return css `\r\n @media ${from(Device.DesktopLarge)} {\r\n }\r\n `;\r\n case 'narrow':\r\n return css `\r\n @media ${from(Device.TabletLarge)} {\r\n ${setCssVar('siteWidth', `${SiteWidthNarrow}px`)};\r\n }\r\n `;\r\n case 'thin':\r\n return css `\r\n @media ${from(Device.TabletLarge)} {\r\n ${setCssVar('siteWidth', `${SiteWidthThin}px`)};\r\n }\r\n `;\r\n }\r\n}}\r\n`;\r\nexport default {\r\n Container,\r\n};\r\n","import React from 'react';\r\nimport S from './SiteWide.styles';\r\nconst SiteWide = ({ children, className, width = 'default' }) => {\r\n return (React.createElement(S.Container, { className: className, width: width }, children));\r\n};\r\nexport default SiteWide;\r\n"],"sourceRoot":""}