{"version":3,"file":"OurPeopleListing-5477b818d2a7a1995cce.js","mappings":"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","sources":["webpack://simpson-millar/./src/helpers/image.ts","webpack://simpson-millar/./src/stories/Components/Cards/OurPeopleCard/OurPeopleCard.styles.ts","webpack://simpson-millar/./src/stories/Components/Cards/OurPeopleCard/OurPeopleCard.tsx","webpack://simpson-millar/./src/stories/Widgets/Aggregation/OurPeopleListing/OurPeopleListing.styles.ts","webpack://simpson-millar/./src/stories/Widgets/Aggregation/OurPeopleListing/OurPeopleListing.tsx"],"sourcesContent":["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) {\r\n return '';\r\n }\r\n const params = {\r\n rxy: image.focalPoint ? `${image.focalPoint.left},${image.focalPoint.top}` : undefined,\r\n rmode: 'crop',\r\n upscale: true,\r\n ...imageParams,\r\n };\r\n const paramsString = queryString.stringify(params);\r\n return `${image.src}${paramsString ? `${(image.src.indexOf('?') > -1 ? '&' : '?')}${queryString.stringify(params)}` : ''}`;\r\n}\r\n","import { brand } from '@helpers/brand';\r\nimport fonts from '@helpers/fonts';\r\nimport { Device, from } from '@helpers/media';\r\nimport { h4, h6, paragraph, paragraphMicro, paragraphSmall } from '@helpers/typography';\r\nimport styled from 'styled-components';\r\nconst Container = styled.article `\r\n --avatarBorder: 8px;\r\n --avatarSize: 128px;\r\n --avatarTotalSize: calc(var(--avatarSize) + (var(--avatarBorder) * 2));\r\n padding: 0 12px;\r\n\r\n @media ${from(Device.MobileLarge)} {\r\n --avatarBorder: 10px;\r\n --avatarSize: 200px;\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n --avatarBorder: 12px;\r\n --avatarSize: 280px;\r\n }\r\n`;\r\nconst ItemInner = styled.a `\r\n display: flex;\r\n align-items: center;\r\n background: var(--accentColor);\r\n border-radius: 14px;\r\n flex-direction: column;\r\n padding: 0 24px 40px;\r\n height: 100%;\r\n text-decoration: none;\r\n color: ${brand.black};\r\n`;\r\nconst ImageWrapper = styled.div `\r\n position: relative;\r\n margin-top: calc(var(--avatarTotalSize) / 2 * -1);\r\n`;\r\nconst Image = styled.img `\r\n display: block;\r\n border: 8px solid var(--bgColor);\r\n border-radius: 50%;\r\n height: var(--avatarTotalSize);\r\n width: var(--avatarTotalSize);\r\n`;\r\nconst ItemName = styled.h3 `\r\n ${h4}\r\n margin: 24px 0 0;\r\n`;\r\nconst ItemJobTitle = styled.p `\r\n ${paragraph}\r\n margin: 16px 0 0;\r\n`;\r\nconst ContentWrapper = styled.div `\r\n padding: 32px 24px;\r\n`;\r\nconst Metadata = styled.div `\r\n ${paragraphMicro}\r\n margin-bottom: 14px;\r\n`;\r\nconst Date = styled.time `\r\n ${fonts.montserrat.bold}\r\n`;\r\nconst Title = styled.h3 `\r\n ${h6}\r\n margin-bottom: 24px;\r\n`;\r\nconst Content = styled.p `\r\n ${paragraphSmall}\r\n margin-bottom: 0;\r\n`;\r\nconst CtaWrapper = styled.div `\r\n margin-top: auto;\r\n padding-top: 24px;\r\n`;\r\nconst OurPeopleCardStyles = {\r\n Container,\r\n Content,\r\n ContentWrapper,\r\n CtaWrapper,\r\n Date,\r\n Image,\r\n ImageWrapper,\r\n ItemInner,\r\n ItemJobTitle,\r\n ItemName,\r\n Metadata,\r\n Title,\r\n};\r\nexport default OurPeopleCardStyles;\r\n","import { imageUrl } from '@helpers/image';\r\nimport { ButtonType } from '@stories/Components/Buttons/Button/ButtonType';\r\nimport FakeButton from '@stories/Components/Buttons/FakeButton/FakeButton';\r\nimport * as React from 'react';\r\nimport S from './OurPeopleCard.styles';\r\nconst OurPeopleCard = (props) => {\r\n return (React.createElement(S.Container, null,\r\n React.createElement(S.ItemInner, { ...(props.cta ? {\r\n as: 'a',\r\n href: props.cta.url,\r\n target: props.cta.target ?? '_self',\r\n 'aria-label': props.cta.text,\r\n } : {}) },\r\n React.createElement(S.ImageWrapper, null,\r\n React.createElement(S.Image, { alt: props.image.altText, loading: \"lazy\", role: props.image.altText ? undefined : 'presentation', src: imageUrl(props.image, { width: 304, height: 304 }), srcSet: [\r\n `${imageUrl(props.image, { width: 144, height: 144 })} 320w`,\r\n `${imageUrl(props.image, { width: 220, height: 220 })} 480w`,\r\n `${imageUrl(props.image, { width: 304, height: 304 })} 767w`,\r\n ].join(','), width: \"304\", height: \"304\" })),\r\n React.createElement(S.ItemName, null, props.name),\r\n React.createElement(S.ItemJobTitle, null, props.jobTitle),\r\n props.cta &&\r\n React.createElement(S.CtaWrapper, null,\r\n React.createElement(FakeButton, { buttonType: ButtonType.ThinOutline }, props.cta.text)))));\r\n};\r\nexport default OurPeopleCard;\r\n","import { brand } from '@helpers/brand';\r\nimport { Device, from } from '@helpers/media';\r\nimport styled from 'styled-components';\r\nconst ItemList = styled.div `\r\n --avatarBorder: 8px;\r\n --avatarSize: 128px;\r\n --avatarTotalSize: calc(var(--avatarSize) + (var(--avatarBorder) * 2));\r\n display: grid;\r\n gap: 90px 0;\r\n grid-template-columns: repeat(12, 1fr);\r\n margin-top: var(--sectionMargin);\r\n padding-top: calc(var(--avatarTotalSize) / 2); \r\n\r\n @media ${from(Device.MobileLarge)} {\r\n --avatarBorder: 10px;\r\n --avatarSize: 200px;\r\n gap: 150px 0;\r\n }\r\n\r\n @media ${from(Device.Tablet)} {\r\n --avatarBorder: 12px;\r\n --avatarSize: 280px;\r\n gap: 200px 0;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n margin: 32px -16px 0;\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n gap: 200px 0;\r\n justify-content: center;\r\n margin-top: 20px;\r\n transition: none;\r\n }\r\n`;\r\nconst Item = styled.div `\r\n grid-column: span 12;\r\n\r\n &:nth-child(odd) {\r\n --accentColor: ${brand.green.beige};\r\n }\r\n\r\n &:nth-child(even) {\r\n --accentColor: ${brand.green.seafoam};\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n grid-column: span 6;\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\r\n grid-column: span 4;\r\n }\r\n`;\r\nexport default {\r\n Item,\r\n ItemList,\r\n};\r\n","import { OUR_PEOPLE } from '@helpers/api';\r\nimport { withQueryParams } from '@hoc/withQueryParams';\r\nimport { useApi } from '@hooks/useApi';\r\nimport OurPeopleCard from '@stories/Components/Cards/OurPeopleCard/OurPeopleCard';\r\nimport FilteredListing from '@stories/Components/Filtering/FilteredListing/FilteredListing';\r\nimport { Helmet, HelmetData } from 'react-helmet-async';\r\nimport queryString from 'query-string';\r\nimport React from 'react';\r\nimport { BooleanParam, JsonParam, NumberParam, StringParam, useQueryParams, withDefault, } from 'use-query-params';\r\nimport S from './OurPeopleListing.styles';\r\nimport { ceil } from 'lodash';\r\nconst OurPeopleListing = ({ pageContext, initialData, expertiseFilter, sortByOptions, officeFilter, errorText, }) => {\r\n // Define query string parameters.\r\n const [queryParams, setQueryParams] = useQueryParams({\r\n favourites: BooleanParam,\r\n filter: withDefault(JsonParam, {}),\r\n pageIndex: NumberParam,\r\n sortBy: StringParam,\r\n });\r\n const helmetData = new HelmetData({});\r\n const [filterTemp, setFilterTemp] = React.useState(queryParams.filter);\r\n // Get page index or default.\r\n const pageIndex = queryParams.pageIndex ?? 1;\r\n // Get sort by or default.\r\n const sortByValue = queryParams.sortBy ?? sortByOptions[0].value;\r\n const pageSize = 9;\r\n // Construct API url.\r\n const parameters = queryString.stringify({\r\n docId: pageContext?.documentId,\r\n filter: JSON.stringify(queryParams.filter),\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n sortBy: sortByValue,\r\n });\r\n const apiUrl = `${OUR_PEOPLE}?${parameters}`;\r\n // Fetch data.\r\n const { data, error, complete } = useApi(apiUrl);\r\n // Get items from response or initial items.\r\n const items = data?.items ?? initialData.items;\r\n const totalItems = data?.totalItems ?? initialData.totalItems;\r\n const pageAmount = ceil(totalItems / pageSize);\r\n function getAbsUrl(relativeUrl) {\r\n if (typeof window !== \"undefined\") {\r\n return window.location.origin + window.location.pathname + relativeUrl;\r\n }\r\n return undefined;\r\n }\r\n function getNextPageUrl(query) {\r\n const nextIndex = (parseInt(query.pageIndex, 10) || 1) + 1;\r\n if (nextIndex > pageAmount) {\r\n return undefined;\r\n }\r\n const search = queryString.stringify({\r\n pageIndex: nextIndex,\r\n });\r\n return getAbsUrl(`?${search}`);\r\n }\r\n function getPrevPageUrl(query) {\r\n const prevIndex = (parseInt(query.pageIndex, 10) || 1) - 1;\r\n if (prevIndex < 1) {\r\n return undefined;\r\n }\r\n const search = queryString.stringify({\r\n pageIndex: prevIndex,\r\n });\r\n return getAbsUrl(`?${search}`);\r\n }\r\n const prevUrl = getPrevPageUrl(queryParams);\r\n const nextUrl = getNextPageUrl(queryParams);\r\n return (React.createElement(React.Fragment, null,\r\n React.createElement(Helmet, { helmetData: helmetData },\r\n prevUrl ? React.createElement(\"link\", { rel: \"prev\", href: prevUrl }) : null,\r\n nextUrl ? React.createElement(\"link\", { rel: \"next\", href: nextUrl }) : null),\r\n React.createElement(FilteredListing, { errorText: errorText, error: error, filtersProps: {\r\n filters: [expertiseFilter, officeFilter],\r\n filterValue: filterTemp,\r\n sortByOptions: sortByOptions,\r\n sortByValue: sortByValue,\r\n onSortChange: (val) => setQueryParams({ sortBy: val, pageIndex: 1 }),\r\n onSubmitFilter: () => {\r\n setQueryParams({ filter: filterTemp, pageIndex: 1 }, 'pushIn');\r\n },\r\n onFilterChange: (name, value, replace, update) => {\r\n if (replace) {\r\n setFilterTemp({ ...filterTemp, [name]: [value] });\r\n if (value === '') {\r\n const filter = { ...filterTemp };\r\n delete filter[name];\r\n setFilterTemp(filter);\r\n }\r\n return;\r\n }\r\n const passValues = filterTemp[name];\r\n const values = new Set(passValues ?? []);\r\n if (values.has(value)) {\r\n values.delete(value);\r\n }\r\n else {\r\n values.add(value);\r\n }\r\n // Remove key altogether if no values.\r\n if (values.size === 0) {\r\n if (update) {\r\n const filter = { ...filterTemp };\r\n delete filter[name];\r\n setFilterTemp(filter);\r\n setQueryParams({ filter, pageIndex: 1 }, 'pushIn');\r\n }\r\n else {\r\n const filter = { ...filterTemp };\r\n delete filter[name];\r\n setFilterTemp(filter);\r\n }\r\n return;\r\n }\r\n // Otherwise updated filter with new values.\r\n setFilterTemp({ ...filterTemp, [name]: [...values] });\r\n // Used to remove filter values from the query string if they are already present and need removing\r\n if (update) {\r\n setQueryParams({ filter: { ...queryParams.filter, [name]: [...values], pageIndex: 1 } }, 'pushIn');\r\n }\r\n }\r\n }, items: items, complete: complete, pageSize: pageSize, pageIndex: pageIndex, renderItems: (items) => (React.createElement(S.ItemList, null, items.map((item, i) => (React.createElement(S.Item, { key: i },\r\n React.createElement(OurPeopleCard, { ...item })))))), totalItems: totalItems, onPageChange: (pageIndex) => {\r\n setQueryParams({ pageIndex });\r\n } })));\r\n};\r\nexport default withQueryParams(OurPeopleListing);\r\n"],"names":["imageUrl","image","imageParams","params","rxy","focalPoint","left","top","undefined","rmode","upscale","paramsString","queryString","src","indexOf","Container","styled","article","withConfig","displayName","componentId","from","Device","MobileLarge","Tablet","ItemInner","a","brand","black","ImageWrapper","div","Image","img","ItemName","h3","h4","ItemJobTitle","p","paragraph","ContentWrapper","Metadata","paragraphMicro","Date","time","fonts","montserrat","bold","Title","h6","Content","paragraphSmall","CtaWrapper","props","_props$cta$target","React","S","cta","as","href","url","target","text","alt","altText","loading","role","width","height","srcSet","join","name","jobTitle","FakeButton","buttonType","ButtonType","ThinOutline","ItemList","TabletLarge","DesktopSmall","Item","green","beige","seafoam","withQueryParams","OurPeopleListing","pageContext","initialData","expertiseFilter","sortByOptions","officeFilter","errorText","_queryParams$pageInde","_queryParams$sortBy","_data$items","_data$totalItems","queryParams","setQueryParams","useQueryParams","favourites","BooleanParam","filter","withDefault","JsonParam","pageIndex","NumberParam","sortBy","StringParam","helmetData","HelmetData","filterTemp","setFilterTemp","sortByValue","value","parameters","docId","documentId","JSON","stringify","pageSize","apiUrl","OUR_PEOPLE","data","error","complete","useApi","items","totalItems","pageAmount","ceil","getAbsUrl","relativeUrl","window","location","origin","pathname","prevUrl","query","prevIndex","parseInt","getPrevPageUrl","nextUrl","nextIndex","getNextPageUrl","Helmet","rel","FilteredListing","filtersProps","filters","filterValue","onSortChange","val","onSubmitFilter","onFilterChange","replace","update","passValues","values","Set","has","delete","add","size","renderItems","map","item","i","key","OurPeopleCard","onPageChange"],"sourceRoot":""}