1/*! For license information please see 303.530ef3e267dfc7ea81e4.js.LICENSE.txt */ 2"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[303,886,960],{2887(e,t,r){r.d(t,{u:()=>n});var n="/assets/static/images/svg/"},1886(e,t,r){r.r(t),r.d(t,{default:()=>a});var n=r(3696);const a=function(e){var t=e.title,r=e.shortDescription,a=e.tag,o=e.label,i=e.image,c=e.imageStyle,l=e.url,u=e.type,s=e.className,f=e.onMouseOver,d=e.onMouseOut,h=e.inactive,p=e.showSkeleton;return n.createElement("a",{href:l,className:"c-card c-card--link ".concat(u?"c-card--".concat(u):""," ").concat(h?"c-card--inactive":""," ").concat("circle"===c?"c-card--circle-image":""," ").concat(s||""),onMouseOver:f,onMouseOut:d},n.createElement("div",{className:"c-card__container"},n.createElement("div",{className:"c-card__image-container"},i&&n.createElement("div",{className:"c-card__image o-image o-image--fit ".concat(p?"u-skeleton":"")},n.createElement("picture",null,n.createElement("source",{media:"(min-width: 767px)",srcSet:i}),n.createElement("img",{src:i,alt:"",loading:"lazy"})))),n.createElement("div",{className:"c-card__content-container"},a&&n.createElement("div",{className:"c-card__info-bar"},a&&n.createElement("div",{className:"c-tag ".concat(p?"u-skeleton":"")},a)),n.createElement("div",{className:"c-card__content"},n.createElement("div",{className:"c-card__title ".concat(p?"u-skeleton":"")},t),o&&n.createElement("div",{className:"c-card__label ".concat(p?"u-skeleton":"")},o),r&&n.createElement("div",{className:"c-card__text ".concat(p?"u-skeleton":"")},r)),n.createElement("div",{className:"c-card__link ".concat(p?"u-hidden-visually":"")},n.createElement("span",{className:"arrow-link arrow-link--small"},"Read more")))))}},1303(e,t,r){r.r(t),r.d(t,{default:()=>i});var n=r(2960),a=r(3696),o=r(3383);const i=function(e){return a.createElement(o.l,null,a.createElement(n.default,e))}},2960(e,t,r){r.r(t),r.d(t,{default:()=>b});var n=r(3696),a=r(1886),o=r(2887),i=r(2864),c=r.n(i),l=r(2511),u=r(275),s=r(4917);function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function d(){d=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},a="function"==typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",i=a.asyncIterator||"@@asyncIterator",c=a.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function u(e,t,r,a){var o=t&&t.prototype instanceof p?t:p,i=Object.create(o.prototype),c=new N(a||[]);return n(i,"_invoke",{value:S(e,r,c)}),i}function s(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var h={};function p(){}function m(){}function v(){}var y={};l(y,o,(function(){return this}));var g=Object.getPrototypeOf,b=g&&g(g(L([])));b&&b!==t&&r.call(b,o)&&(y=b);var w=v.prototype=p.prototype=Object.create(y);function E(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function x(e,t){function a(n,o,i,c){var l=s(e[n],e,o);if("throw"!==l.type){var u=l.arg,d=u.value;return d&&"object"==f(d)&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){a("next",e,i,c)}),(function(e){a("throw",e,i,c)})):t.resolve(d).then((function(e){u.value=e,i(u)}),(function(e){return a("throw",e,i,c)}))}c(l.arg)}var o;n(this,"_invoke",{value:function(e,r){function n(){return new t((function(t,n){a(e,r,t,n)}))}return o=o?o.then(n,n):n()}})}function S(e,t,r){var n="suspendedStart";return function(a,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw o;return k()}for(r.method=a,r.arg=o;;){var i=r.delegate;if(i){var c=O(i,r);if(c){if(c===h)continue;return c}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=s(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===h)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}function O(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&
vendor: 4,622 bytes, line 2
2(t.method="return",t.arg=void 0,O(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),h;var a=s(n,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,h;var o=a.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,h):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,h)}function j(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function N(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(j,this),this.reset(!0)}function L(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return a.next=a}}return{next:k}}function k(){return{value:void 0,done:!0}}return m.prototype=v,n(w,"constructor",{value:v,configurable:!0}),n(v,"constructor",{value:m,configurable:!0}),m.displayName=l(v,c,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===m||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,v):(e.__proto__=v,l(e,c,"GeneratorFunction")),e.prototype=Object.create(w),e},e.awrap=function(e){return{__await:e}},E(x.prototype),l(x.prototype,i,(function(){return this})),e.AsyncIterator=x,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new x(u(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(e){return e.done?e.value:i.next()}))},E(w),l(w,c,"Generator"),l(w,o,(function(){return this})),l(w,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=L,N.prototype={constructor:N,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return i.type="throw",i.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var o=this.tryEntries[a],i=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var c=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(c&&l){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(c){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?(this.method="next",this.next=o.finallyLoc,h):this.complete(i)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;_(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:L(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),h}},e}function h(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};
2t%2?h(Object(r),!0).forEach((function(t){m(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):h(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function m(e,t,r){return(t=function(e){var t=function(e,t){if("object"!==f(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==f(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===f(t)?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function v(e,t,r,n,a,o,i){try{var c=e[o](i),l=c.value}catch(e){return void r(e)}c.done?t(l):Promise.resolve(l).then(n,a)}function y(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,i,c=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return c}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return g(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return g(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function g(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}const b=function(e){var t,r,i,f=e.urlParams,h=e.categories,m=e.articles,g=e.paging,b=(e.title,e.disablePagination),w=((0,n.useContext)(u.A).isMobile,new URLSearchParams(f.value)),E=(0,n.useRef)(null),x=(0,n.useRef)(!0),S=y((0,n.useState)(void 0!==m?m:null),2),O=S[0],j=S[1],_=y((0,n.useState)(null),2),N=_[0],L=_[1],k=y((0,n.useState)(null),2),P=k[0],A=k[1],C=y((0,n.useState)(void 0!==m),2),I=C[0],T=C[1],D=y((0,n.useState)(!1),2),M=D[0],R=D[1],F=y((0,n.useState)(null!==(t=(null==g?void 0:g.page)-1)&&void 0!==t?t:0),2),G=F[0],U=F[1],z=null!==(r=null==N||null===(i=N.paging)||void 0===i?void 0:i.count)&&void 0!==r?r:g.count,H=function(){return w.get("category")?parseInt(w.get("category"),10):null},W=y((0,n.useState)(H()),2),$=W[0],B=W[1],Y=function(){var e,t=(e=d().mark((function e(){var t,r,n;return d().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t="",null!==$&&(t+="".concat(t.includes("?")?"&":"?","category=").concat($)),t+="".concat(t.includes("?")?"&":"?","page=").concat(G+1),history.pushState({},"",window.location.origin+window.location.pathname+t),e.prev=6,t+="".concat(t.includes("?")?"&":"?","size=").concat(9),e.next=10,s.A.get("/umbraco/api/search/projects"+t);case 10:r=e.sent,n=p({},r.data),L(n),j(n.data),e.next=20;break;case 17:e.prev=17,e.t0=e.catch(6),A(e.t0.message);case 20:return e.prev=20,T(!0),R(!1),e.finish(20);case 24:case"end":return e.stop()}}),e,null,[[6,17,20,24]])})),function(){var t=this,r=arguments;return new Promise((function(n,a){var o=e.apply(t,r);function i(e){v(o,n,a,i,c,"next",e)}function c(e){v(o,n,a,i,c,"throw",e)}i(void 0)}))});return function(){return t.apply(this,arguments)}}();return(0,n.useEffect)((function(){var e;if(x.current)return window.addEventListener("popstate",(function(){var e=new URLSearchParams(window.location.search);U(e.get("page")?e.get("page")-1:0)})),void(x.current=!1);Y();var t=null===(e=E.current)||void 0===e?void 0:e.getBoundingClientRect();void 0!==t&&window.scrollTo({behavior:"smooth",top:t.top-document.body.getBoundingClientRect().top-120})}),[G]),(0,n.useEffect)((function(){if(x.current)return Y(!0),window.addEventListener("popstate",(function(){w=new URLSearchParams(window.location.search),U(w.get("page")?w.get("page")-1:0),B(H())})),void(x.current=!1);R(!0),Y(!0)}),[$]),P?n.createElement("div",{className:"u-text-center u-spacer-lg"},n.createElement("h4",null,"Sorry, something went wrong."),n.createElement("p",null,"Please try again later.")):n.createElement("div",{className:"article-listing",ref:E},h&&h.length&&n.createElement("div",{className:"article-listing__filters u-flex u-flex-justify-center u-spacer-bottom-lg","data-aos":"fade-in"},n.createElement("div",{className:"filter-list"},n.createElement("span",null,"Filter by"),n.createElement("div",{className:"filter-list__options"},n.createElement("button",{type:"button",className:"btn btn--chip ".concat(null===$?"btn--dark":"btn--outline"),key:"article-category_all",onClick:function(){return B(null)}},"All",null===$&&n.createElement(l.k,{src:"".concat(o.u,"icon-check.svg")})),h.map((function(e){return n.createElement("button",{type:"button",className:"btn btn--chip ".concat($===e.value?"btn--dark":"btn--outline"),key:"article-category_".concat(e.value),onClick:function(){return B(e.value)}},e.name,$===e.value&&n.createElement(l.k,{src:"".concat(o.u,"icon-check.svg")}))}))))),I?n.createElement(n.Fragment,null,O&&O.length>0?n.createElement(n.Fragment,null,n.createElement("div",{className:"article-listing__cards"},O.map((function(e,t){var r,o="";null!==e.image&&(o=null!==(r=e.image.thumbnails.find((function(e){return"card"===e.alias})).url)&&void 0!==r?r:e.image.url);return n.createElement(a.default,{key:"article-card_".concat(e.key),tag:e.category.name,label:e.projectDate,title:""!==e.title?e.title:e.name,shortDe
2scription:""!==e.headline?e.headline:"",image:o,url:e.url,type:"project",showSkeleton:M})}))),z>1&&!b&&n.createElement("div",{className:"u-flex u-flex-justify-center u-spacer-top-xl"},n.createElement(c(),{forcePage:G,previousLabel:"Prev",previousAriaLabel:"Previous page",nextLabel:"Next",nextAriaLabel:"Next page",pageCount:z,pageRangeDisplayed:5,marginPagesDisplayed:1,containerClassName:"c-pagination",onPageChange:function(e){return U(e.selected)}}))):n.createElement("div",{className:"u-spacer-xl u-text-center"},n.createElement("div",{className:"h6"},"No results found"),n.createElement("p",null,"Try updating your search criteria."))):n.createElement("div",{className:"u-spacer-xl u-flex u-flex-center u-flex-column u-flex-gap-xs"},n.createElement("div",{className:"o-loader"}),n.createElement("span",{className:"o-label o-label--bold"},"Loading")))}},275(e,t,r){r.d(t,{A:()=>n});const n=(0,r(3696).createContext)()},3383(e,t,r){r.d(t,{l:()=>f});var n=r(3696),a=r(275);function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,i,c=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return c}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return i(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var c=function(){var e=window;return{windowWidth:e.innerWidth,windowHeight:e.innerHeight}};const l=function(){var e=!(arguments.length>
20&&void 0!==arguments[0])||arguments[0],t=o((0,n.useState)(c()),2),r=t[0],a=t[1];return e&&(0,n.useEffect)((function(){var e=function(){a(c())};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),r};function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o,i,c=[],l=!0,u=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=o.call(r)).done)&&(c.push(n.value),c.length!==t);l=!0);}catch(e){u=!0,a=e}finally{try{if(!l&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(u)throw a}}return c}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return s(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var f=function(e){var t=l(),r=t.windowWidth,o=t.windowHeight,i=function(){return r>=1024},c=function(){return r>=768&&r<1024},s=function(){return r<768},f=u((0,n.useState)(i()),2),d=f[0],h=f[1],p=u((0,n.useState)(c()),2),m=p[0],v=p[1],y=u((0,n.useState)(s()),2),g=y[0],b=y[1];return(0,n.useEffect)((function(){h(i()),v(c()),b(s())}),[r]),n.createElement(a.A.Provider,{value:{isDesktop:d,isTablet:m,isMobile:g,windowWidth:r,windowHeight:o}},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.