{"version":3,"file":"MediaCentreListing-6dde1f3136c9157aa63c.js","mappings":"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","sources":["webpack://simpson-millar/./src/stories/Components/Cards/ArticleCard/ArticleCard.styles.ts","webpack://simpson-millar/./src/helpers/image.ts","webpack://simpson-millar/./src/helpers/date.ts","webpack://simpson-millar/./src/img/icons/documents.svg","webpack://simpson-millar/./src/stories/Components/Cards/ArticleCard/ArticleCard.tsx","webpack://simpson-millar/./src/stories/Widgets/Aggregation/MediaCentreListing/MediaCentreListing.styles.ts","webpack://simpson-millar/./src/stories/Widgets/Aggregation/MediaCentreListing/MediaCentreListing.tsx"],"sourcesContent":["import { cubicEaseOut } from '@helpers/animate';\r\nimport { brand } from '@helpers/brand';\r\nimport fonts from '@helpers/fonts';\r\nimport { h6, paragraphMicro, paragraphSmall } from '@helpers/typography';\r\nimport styled from 'styled-components';\r\nconst Container = styled.article `\r\n display: flex;\r\n background: ${brand.white};\r\n border-radius: 16px;\r\n flex-direction: column;\r\n overflow: hidden;\r\n text-align: left;\r\n height: 100%;\r\n`;\r\nconst Link = styled.a `\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n color: currentColor;\r\n text-decoration: none;\r\n`;\r\nconst ImageWrapper = styled.div `\r\n position: relative;\r\n height: 0;\r\n overflow: hidden;\r\n padding-bottom: calc(280 / 480 * 100%);\r\n`;\r\nconst Image = styled.img `\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n display: block;\r\n height: 100%;\r\n object-fit: cover;\r\n object-position: center;\r\n transform: scale(1);\r\n transition: transform 1s ${cubicEaseOut};\r\n width: 100%;\r\n\r\n ${Link}:focus &,\r\n ${Link}:hover & {\r\n transform: scale(1.2);\r\n }\r\n`;\r\nconst ContentWrapper = styled.div `\r\n padding: 32px 24px;\r\n flex: 1 0 auto;\r\n display: flex;\r\n flex-direction: column;\r\n\r\n ${Container}[data-theme='grey'] & {\r\n background-color: ${brand.lightGrey};\r\n }\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 ArticleCardStyles = {\r\n Container,\r\n Content,\r\n ContentWrapper,\r\n CtaWrapper,\r\n Date,\r\n Image,\r\n ImageWrapper,\r\n Link,\r\n Metadata,\r\n Title,\r\n};\r\nexport default ArticleCardStyles;\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) {\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","export 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\nconst DEFAULT_DATE_OPTIONS = {\r\n day: '2-digit',\r\n month: 'short',\r\n year: 'numeric',\r\n};\r\nexport function formatDate(value, options = DEFAULT_DATE_OPTIONS) {\r\n let date = value;\r\n if (typeof date === 'string') {\r\n date = new Date(date);\r\n }\r\n return new Intl.DateTimeFormat(undefined, options).format(date);\r\n}\r\nconst DEFAULT_RELATIVE_TIME_OPTIONS = {\r\n numeric: 'auto',\r\n};\r\nconst DIVISIONS = [\r\n { amount: 60, name: 'seconds' },\r\n { amount: 60, name: 'minutes' },\r\n { amount: 24, name: 'hours' },\r\n { amount: 7, name: 'days' },\r\n { amount: 4.34524, name: 'weeks' },\r\n { amount: 12, name: 'months' },\r\n { amount: Number.POSITIVE_INFINITY, name: 'years' },\r\n];\r\nexport function formatRelativeTime(inputValue, inputSince = new Date(), options = DEFAULT_RELATIVE_TIME_OPTIONS) {\r\n let value = inputValue;\r\n let since = inputSince;\r\n if (typeof value === 'string') {\r\n value = new Date(value);\r\n }\r\n if (typeof since === 'string') {\r\n since = new Date(since);\r\n }\r\n let duration = (value.getTime() - since.getTime()) / 1000;\r\n const formatter = new Intl.RelativeTimeFormat(undefined, options);\r\n for (let i = 0; i <= DIVISIONS.length; i++) {\r\n const division = DIVISIONS[i];\r\n if (Math.abs(duration) < division.amount) {\r\n return formatter.format(Math.round(duration), division.name);\r\n }\r\n duration /= division.amount;\r\n }\r\n return '';\r\n}\r\n","var _defs, _g;\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\";\nconst SvgDocuments = props => /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 18,\n height: 24\n}, props), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"documents_svg__a\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Rectangle 4952\",\n fill: \"currentColor\",\n d: \"M0 0h18v24H0z\"\n})))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n \"data-name\": \"Group 33341\",\n clipPath: \"url(#documents_svg__a)\",\n fill: \"currentColor\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 13081\",\n d: \"M16.662 0H4.8a1.369 1.369 0 0 0-1.336 1.4v2.608H1.338A1.37 1.37 0 0 0 0 5.4v17.2A1.37 1.37 0 0 0 1.338 24H13.2a1.37 1.37 0 0 0 1.338-1.4v-2.608h2.126A1.37 1.37 0 0 0 18 18.6V1.4A1.369 1.369 0 0 0 16.662 0m-4.126 22H2V6.008h10.536ZM16 17.992h-1.464V5.4A1.37 1.37 0 0 0 13.198 4H5.464V2H16Z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 13082\",\n d: \"M10.787 8.854H3.755a.75.75 0 0 0 0 1.5h7.032a.75.75 0 1 0 0-1.5\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 13083\",\n d: \"M10.787 11.787H3.755a.75.75 0 0 0 0 1.5h7.032a.75.75 0 0 0 0-1.5\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 13084\",\n d: \"M10.787 14.721H3.755a.75.75 0 0 0 0 1.5h7.032a.75.75 0 0 0 0-1.5\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n \"data-name\": \"Path 13085\",\n d: \"M10.787 17.654H3.755a.75.75 0 0 0 0 1.5h7.032a.75.75 0 1 0 0-1.5\"\n}))));\nexport default SvgDocuments;","import { ThemeOption } from '@helpers/brand';\r\nimport { formatDate, formatDateISO } from '@helpers/date';\r\nimport { imageUrl } from '@helpers/image';\r\nimport SvgDocuments from '@img/icons/documents.svg';\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 './ArticleCard.styles';\r\nconst ArticleCard = (props) => {\r\n return (React.createElement(S.Container, { \"data-theme\": props.theme ? props.theme : ThemeOption.Default },\r\n React.createElement(S.Link, { href: props.url },\r\n React.createElement(S.ImageWrapper, null, props.image && (React.createElement(S.Image, { alt: props.image.altText, loading: props.order === 0 ? 'eager' : \"lazy\", role: props.image.altText ? undefined : 'presentation', sizes: \"100vw\", src: imageUrl(props.image, { width: 264, heightratio: 280 / 480 }), srcSet: [\r\n `${imageUrl(props.image, { width: 222, heightratio: 280 / 480 })} 320w`,\r\n `${imageUrl(props.image, { width: 344, heightratio: 280 / 480 })} 480w`,\r\n `${imageUrl(props.image, { width: 480, heightratio: 280 / 480 })} 767w`,\r\n ].join(','), width: \"480\", height: \"280\" }))),\r\n React.createElement(S.ContentWrapper, null,\r\n React.createElement(S.Metadata, null,\r\n \"Posted on:\",\r\n ' ',\r\n React.createElement(S.Date, { dateTime: formatDateISO(props.date) }, formatDate(props.date))),\r\n React.createElement(S.Title, null, props.title),\r\n React.createElement(S.Content, null, props.content),\r\n React.createElement(S.CtaWrapper, null,\r\n React.createElement(FakeButton, { buttonType: ButtonType.Outline, icon: React.createElement(SvgDocuments, null) }, \"Read More\"))))));\r\n};\r\nexport default ArticleCard;\r\n","import { Device, from } from '@helpers/media';\r\nimport styled from 'styled-components';\r\nconst ItemList = styled.div `\r\n display: grid;\r\n gap: 16px 0;\r\n grid-template-columns: repeat(12, 1fr);\r\n margin-top: var(--sectionMargin); \r\n\r\n @media ${from(Device.MobileLarge)} {\r\n gap: 32px;\r\n }\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n margin: 20px 0 0;\r\n }\r\n\r\n @media ${from(Device.DesktopSmall)} {\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 height: 100%;\r\n\r\n @media ${from(Device.TabletLarge)} {\r\n grid-column: span 6;\r\n }\r\n\r\n`;\r\nexport default {\r\n Item,\r\n ItemList,\r\n};\r\n","import { ARTICLE_LIST } from '@helpers/api';\r\nimport { withQueryParams } from '@hoc/withQueryParams';\r\nimport { useApi } from '@hooks/useApi';\r\nimport FilteredListing from '@stories/Components/Filtering/FilteredListing/FilteredListing';\r\nimport queryString from 'query-string';\r\nimport React from 'react';\r\nimport { JsonParam, NumberParam, StringParam, useQueryParams, withDefault } from 'use-query-params';\r\nimport S from './MediaCentreListing.styles';\r\nimport ArticleCard from '@stories/Components/Cards/ArticleCard/ArticleCard';\r\nimport { ThemeOption } from '@helpers/brand';\r\nimport { Helmet, HelmetData } from 'react-helmet-async';\r\nconst MediaCentreListing = ({ areaOfLaw, pageContext, initialData, mediaTypes, sortByOptions, errorText, staticAreaOfLaw, staticArticleType, }) => {\r\n const helmetData = new HelmetData({});\r\n // Define query string parameters.\r\n const [queryParams, setQueryParams] = useQueryParams({\r\n pageIndex: NumberParam,\r\n filter: withDefault(JsonParam, {}),\r\n searchTerm: StringParam,\r\n sortBy: StringParam,\r\n });\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 = 20;\r\n // Construct API url.\r\n const filter = {\r\n \"areaOfLaw\": staticAreaOfLaw ? [staticAreaOfLaw] : queryParams.filter.areaOfLaw,\r\n \"mediaTypes\": staticArticleType ? [staticArticleType] : queryParams.filter.mediaTypes\r\n };\r\n const parameters = queryString.stringify({\r\n docId: pageContext?.documentId,\r\n filter: JSON.stringify(filter),\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n sortBy: sortByValue,\r\n });\r\n const apiUrl = `${ARTICLE_LIST}?${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 = 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, { sideFilterProps: {\r\n checkboxFilters: [mediaTypes, areaOfLaw],\r\n sideDropDownFilter: [],\r\n activeSideFilter: filter,\r\n sideDropDownFilterValue: filterTemp,\r\n submitSideFilter: () => {\r\n setQueryParams({ filter: filterTemp, pageIndex: 1 }, 'pushIn');\r\n },\r\n onCheckboxChange: (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 }, errorText: errorText, error: error, filtersProps: {\r\n filters: [],\r\n sortByOptions: sortByOptions,\r\n sortByValue: sortByValue,\r\n onFilterChange: (key, val) => setQueryParams({ [key]: val, pageIndex: 1 }),\r\n onSortChange: (val) => (setQueryParams({ sortBy: val, pageIndex: 1 })),\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(ArticleCard, { ...item, order: i, theme: ThemeOption.Grey })))))), totalItems: totalItems, hideUserFilters: staticAreaOfLaw || staticArticleType ? true : false, onPageChange: (pageIndex) => {\r\n setQueryParams({ pageIndex });\r\n }, onReset: () => {\r\n setQueryParams({ filter: staticAreaOfLaw || staticArticleType ? filter : {}, pageIndex: 1 }, 'pushIn');\r\n setFilterTemp({});\r\n } })));\r\n};\r\nexport default withQueryParams(MediaCentreListing);\r\n"],"names":["Container","styled","article","withConfig","displayName","componentId","brand","white","Link","a","ImageWrapper","div","Image","img","cubicEaseOut","ContentWrapper","lightGrey","Metadata","paragraphMicro","Date","time","fonts","montserrat","bold","Title","h3","h6","Content","p","paragraphSmall","CtaWrapper","imageUrl","image","imageParams","params","rxy","focalPoint","left","top","undefined","rmode","upscale","paramsString","queryString","src","indexOf","formatDateISO","value","date","toISOString","DEFAULT_DATE_OPTIONS","day","month","year","formatDate","options","Intl","DateTimeFormat","format","DEFAULT_RELATIVE_TIME_OPTIONS","numeric","DIVISIONS","amount","name","Number","POSITIVE_INFINITY","formatRelativeTime","inputValue","inputSince","since","duration","getTime","formatter","RelativeTimeFormat","i","length","division","Math","abs","round","_defs","_g","_extends","Object","assign","bind","n","e","arguments","t","r","hasOwnProperty","call","apply","props","xmlns","width","height","id","fill","d","clipPath","React","S","theme","ThemeOption","Default","href","url","alt","altText","loading","order","role","sizes","heightratio","srcSet","join","dateTime","title","content","FakeButton","buttonType","ButtonType","Outline","icon","SvgDocuments","ItemList","from","Device","MobileLarge","TabletLarge","DesktopSmall","Item","withQueryParams","MediaCentreListing","areaOfLaw","pageContext","initialData","mediaTypes","sortByOptions","errorText","staticAreaOfLaw","staticArticleType","_queryParams$pageInde","_queryParams$sortBy","_data$items","_data$totalItems","helmetData","HelmetData","queryParams","setQueryParams","useQueryParams","pageIndex","NumberParam","filter","withDefault","JsonParam","searchTerm","StringParam","sortBy","filterTemp","setFilterTemp","sortByValue","parameters","docId","documentId","JSON","stringify","pageSize","apiUrl","ARTICLE_LIST","data","error","complete","useApi","items","totalItems","pageAmount","getAbsUrl","relativeUrl","window","location","origin","pathname","prevUrl","query","prevIndex","parseInt","getPrevPageUrl","nextUrl","nextIndex","getNextPageUrl","Helmet","rel","FilteredListing","sideFilterProps","checkboxFilters","sideDropDownFilter","activeSideFilter","sideDropDownFilterValue","submitSideFilter","onCheckboxChange","replace","update","passValues","values","Set","has","delete","add","size","filtersProps","filters","onFilterChange","key","val","onSortChange","renderItems","map","item","ArticleCard","Grey","hideUserFilters","onPageChange","onReset"],"sourceRoot":""}