{"version":3,"sources":["webpack:///./src/js/components/react/Dropdown.js","webpack:///./src/js/modules/awardsListing/components/AwardsFacetList.js","webpack:///./src/js/modules/awardsListing/components/AwardsCard.js","webpack:///./src/js/modules/awardsListing/hooks/useFetch.js","webpack:///./src/js/modules/awardsListing/index.js"],"names":["Dropdown","label","placeholder","selectedOption","options","onChange","disabled","compareAttr","style","useState","open","toggle","cursor","setCursor","guid","useRef","uuidv4","listboxGuid","nativeEl","dropdownEl","triggerEl","listingEl","useEffect","handleClickOutside","e","container","current","target","contains","document","addEventListener","removeEventListener","focus","index","findIndex","option","getDisplayLabel","className","htmlFor","isDevice","ref","id","find","value","Value","tabIndex","aria-label","map","i","key","role","type","aria-haspopup","aria-expanded","aria-controls","onClick","aria-activedescendant","onKeyDown","keyCode","preventDefault","length","aria-selected","handleOptionClick","propTypes","PropTypes","string","shape","oneOfType","number","bool","arrayOf","object","func","isRequired","AwardsFacetList","initialFacets","selectedFacets","onFiltersChange","onResetFilters","resetBtnLabel","getSelectedOption","facet","keyword","name","Object","keys","array","AwardsCard","imageUrlWebp","award","imageUrl","imageAlt","title","url","indexOf","CommonInnerMarkup","srcSet","src","alt","parse","viewBox","href","useFetch","endpoint","language","page","filters","results","setResults","totalPages","setTotalPages","facets","setFacets","loading","setLoading","params","forEach","Axios","method","data","resultListing","totalResults","resultsPerPage","updatedFacets","Math","ceil","concat","console","log","fetchData","AwardsCardListing","noResultsLabel","awardtypes","setPage","setSelectedFacets","awa","React","memo"],"mappings":"i6CAKA,IAAMA,EAAW,SAAC,GASZ,IARJC,EAQI,EARJA,MACAC,EAOI,EAPJA,YACAC,EAMI,EANJA,eAMI,IALJC,eAKI,MALM,GAKN,EAJJC,EAII,EAJJA,SAII,IAHJC,gBAGI,aAFJC,mBAEI,MAFU,QAEV,EADJC,EACI,EADJA,MACI,IACmBC,oBAAS,GAD5B,GACGC,EADH,KACSC,EADT,SAEwBF,mBAAS,MAFjC,GAEGG,EAFH,KAEWC,EAFX,KAGEC,EAAOC,iBAAOC,eACdC,EAAcF,iBAAOC,eACrBE,EAAWH,iBAAO,MAClBI,EAAaJ,iBAAO,MACpBK,EAAYL,iBAAO,MACnBM,EAAYN,iBAAO,MAEzBO,qBAAU,WACR,IAAMC,EAAqB,SAAAC,GACzB,IAAMC,EAAYN,EAAWO,QAEzBD,IACEA,IAAcD,EAAEG,QAAWF,EAAUG,SAASJ,EAAEG,SAClDhB,GAAO,KAOb,OAFAkB,SAASC,iBAAiB,QAASP,GAE5B,WACLM,SAASE,oBAAoB,QAASR,MAEvC,IAEHD,qBAAU,WACJZ,GACFW,EAAUK,QAAQM,UAEnB,CAACtB,IAEJY,qBAAU,WACR,GAAInB,EAAgB,CAClB,IAAM8B,EAAQ7B,EAAQ8B,WACpB,SAAAC,GAAM,OAAIA,EAAO5B,KAAiBJ,EAAeI,MAEnDM,EAAUoB,QAEVpB,EAAU,QAEX,CAACN,EAAaH,EAASD,IAE1B,IA0DMiC,EAAkB,WACtB,OAAIjC,EACF,UAAUA,EAAeF,OAEpBC,GAAe,MAGxB,OACE,yBAAKmC,UAAS,yCAAoC/B,EAAW,eAAiB,KAC5E,2BAAOgC,QAASxB,EAAKY,QAASW,UAAU,cACrCpC,GAEH,yBACEoC,UAAS,kBAAaE,cAAa,oBAAsB,IAAhD,OACP/B,EAAQ,cAAH,OAAiBA,GAAU,IAElCgC,IAAKrB,GAEL,4BACEsB,GAAI3B,EAAKY,QACTrB,SAjEmB,SAAAmB,GACzB,IAAMW,EAAS/B,EAAQsC,MAAK,SAAAP,GAAM,OAAIA,EAAOQ,QAAUnB,EAAEG,OAAOgB,SAChEtC,EAAS8B,GACTxB,GAAO,IA+DDgC,MAAOxC,EAAiBA,EAAeyC,MAAQ,GAC/CC,SAAS,KACTC,aAAA,UAAe7C,GAAS,GAAxB,YAA8BmC,KAC9BI,IAAKtB,GAEJd,EAAQ2C,KAAI,SAACZ,EAAQa,GACpB,OACE,4BAAQC,IAAKD,EAAGL,MAAOR,EAAOQ,OACT,WAAlB,EAAOR,GAAsBA,EAAOlC,MAAQkC,OAKrD,4BACEE,UAAS,2BAAsBlC,EAAiB,aAAe,IAC/D+C,KAAK,WACLC,KAAK,SACLL,aAAA,UAAe7C,GAAS,GAAxB,YAA8BmC,KAC9BgB,gBAAc,UACdC,gBAAe3C,EACf4C,gBAAerC,EAAYS,QAC3B6B,QApGmB,SAAA/B,GACrBe,eAIJ5B,GAAQD,IAgGFJ,SAAUA,EACVkC,IAAKpB,GAEJgB,KAEH,wBACEc,KAAK,UACLT,GAAIxB,EAAYS,QAChB8B,wBACa,OAAX5C,EAAA,UAAqBE,EAAKY,QAA1B,YAAqCd,GAAW,KAElDiC,SAAS,KACTR,UAAU,iBACVG,IAAKnB,EACLoC,UAhGc,SAAAjC,GAEpB,OAAQA,EAAEkC,SACR,KAAK,GACHlC,EAAEmC,iBAEA9C,EADED,EACQA,EAAS,EAETR,EAAQwD,OAAS,GAE7B,MACF,KAAK,GACHpC,EAAEmC,iBACa,OAAX/C,GAAmBA,EAASR,EAAQwD,OAAS,EAC/C/C,EAAUD,EAAS,GAEnBC,EAAU,GAEZ,MACF,KAAK,GACHW,EAAEmC,iBACFhD,GAAO,GACPS,EAAUM,QAAQM,QAClB,MACF,KAAK,GACHR,EAAEmC,iBACa,OAAX/C,GACFP,EAASD,EAAQQ,IAEnBD,GAAO,GACPS,EAAUM,QAAQM,QAClB,MACF,KAAK,EACHrB,GAAO,MAiEJP,EAAQ2C,KAAI,SAACZ,EAAQa,GAAT,OACX,wBACEE,KAAK,SACLD,IAAKD,EACLP,GAAE,UAAK3B,EAAKY,QAAV,YAAqBsB,GACvBX,UAAU,iBACVwB,gBAAejD,IAAWoC,EAC1BO,QAAS,kBApHK,SAAApB,GACxB9B,EAAS8B,GACTxB,GAAO,GAkHkBmD,CAAkB3B,KAEd,WAAlB,EAAOA,GAAsBA,EAAOlC,MAAQkC,UAS3DnC,EAAS+D,UAAY,CACnB9D,MAAO+D,IAAUC,OACjB/D,YAAa8D,IAAUC,OACvB9D,eAAgB6D,IAAUE,MAAM,CAC9BvB,MAAOqB,IAAUA,UAAUG,UAAU,CACnCH,IAAUC,OACVD,IAAUI,OACVJ,IAAUK,OAEZpE,MAAO+D,IAAUC,SAEnB7D,QAAS4D,IAAUM,QAAQN,IAAUO,QACrClE,SAAU2D,IAAUQ,KAAKC,WACzBnE,SAAU0D,IAAUK,KACpB9D,YAAayD,IAAUC,OACvBzD,MAAOwD,IAAUC,QAGJjE,O,64BChNf,IAAM0E,EAAkB,SAAC,GAMnB,IALJC,EAKI,EALJA,cACAC,EAII,EAJJA,eACAC,EAGI,EAHJA,gBACAC,EAEI,EAFJA,eACAC,EACI,EADJA,cAEMC,EAAoB,SAAAC,GACxB,GAAIL,EAAeK,EAAMC,SAAU,CACjC,IAAM/C,EAAS8C,EAAM7E,QAAQsC,MAC3B,SAAAP,GAAM,OAAIA,EAAOQ,QAAUiC,EAAeK,EAAMC,YAGlD,GAAI/C,EACF,cACKA,GADL,IAEElC,MAAOkC,EAAOgD,SAKtB,OACE,yBAAK9C,UAAU,qBACZsC,EAAc5B,KAAI,SAAAkC,GAAK,OACtB,kBAACjF,EAAA,EAAD,CACEiD,IAAKgC,EAAMC,QACX9E,QAAS6E,EAAM7E,QAAQ2C,KAAI,SAAAZ,GAAM,MAAK,CACpCQ,MAAOR,EAAOQ,MACd1C,MAAOkC,EAAOgD,SAEhBjF,YAAa+E,EAAM/E,YACnBC,eAAgB6E,EAAkBC,GAClChF,MAAOgF,EAAMhF,MACbI,SAAU,SAAAmB,GACRqD,EAAgBI,EAAMC,QAAS1D,EAAEmB,QAEnCrC,UAAW2E,EAAM7E,QAAQwD,cAI1BwB,OAAOC,KAAKT,GAAgBhB,QAC7B,yBAAKvB,UAAU,4BACb,4BAAQA,UAAU,iCAAiCkB,QAASuB,GAC1D,yBAAKzC,UAAU,eAAe0C,OAQ1CL,EAAgBX,UAAY,CAC1BY,cAAeX,IAAUsB,MACzBP,cAAef,IAAUC,QAGZS,Q,kBCZAa,EA7CI,SAAC,GAAc,IAS5BC,EATgBC,EAAY,EAAZA,MAElBC,EAKED,EALFC,SACAC,EAIEF,EAJFE,SACAC,EAGEH,EAHFG,MACAC,EAEEJ,EAFFI,IACAlE,EACE8D,EADF9D,OAKE+D,IAEAF,GAD6B,IAA3BE,EAASI,QAAQ,KACJ,GAAH,OAAMJ,EAAN,gBAEG,GAAH,OAAMA,EAAN,iBAIhB,IAAMK,EACJ,kBAAC,WAAD,KACE,yBAAK1D,UAAU,sBACZqD,GACC,6BAASrD,UAAU,sBACjB,4BAAQ2D,OAASR,EAAcrC,KAAK,eACpC,yBAAK8C,IAAKP,EAAUQ,IAAKP,KAG7B,yBAAKtD,UAAU,wBAAwB8D,YAAMP,KAE/C,0BAAMvD,UAAU,iEACd,yBAAK+D,QAAQ,aACX,yBAAKC,KAAK,wBAMlB,OACE,uBAAGhE,UAAU,cAAcgE,KAAMR,EAAKlE,OAAQA,GAC3CoE,I,ymCCxCP,IA0DeO,EA1DE,SAACC,EAAUC,EAAUC,EAAMC,GAAY,QACxBjG,mBAAS,IADe,GAC/CkG,EAD+C,KACtCC,EADsC,SAElBnG,mBAAS,GAFS,GAE/CoG,EAF+C,KAEnCC,EAFmC,SAG1BrG,mBAAS,IAHiB,GAG/CsG,EAH+C,KAGvCC,EAHuC,SAIxBvG,oBAAS,GAJe,GAI/CwG,EAJ+C,KAItCC,EAJsC,KAuDtD,OAjDA5F,qBAAU,YACO,e,EAAA,G,EAAA,yBAAG,sHAChB4F,GAAW,GACLC,EAAS,GACXX,IACFW,EAAOX,SAAWA,GAGhBC,IACFU,EAAOV,KAAOA,GAGZC,GACFtB,OAAOC,KAAKqB,GAASU,SAAQ,SAAAnE,GACN,KAAjByD,EAAQzD,GACVkE,EAAOlE,GAAO,GAEdkE,EAAOlE,GAAOyD,EAAQzD,MAhBZ,kBA6BJoE,IAAM,CACdC,OAAQ,OACRzB,IAAKU,EACLgB,KAAMJ,IAhCM,oBAuBZI,KACEC,EAxBU,EAwBVA,cACAC,EAzBU,EAyBVA,aACAC,EA1BU,EA0BVA,eACQC,EA3BE,EA2BVZ,OAQJD,EAAcc,KAAKC,KAAKJ,EAAeC,IACvCd,EAAWH,EAAO,EAAIE,EAAQmB,OAAON,GAAiBA,GACtDR,EAAUW,GArCI,kDAuCdI,QAAQC,IAAR,MAvCc,yBAyCdd,GAAW,GAzCG,4E,+KAAH,qDA6Cfe,KACC,CAAC1B,EAAUE,EAAMC,EAASF,IAEtB,CAAEK,aAAYF,UAASI,SAAQE,Y,8nDClDxC,IAAMiB,EAAoB,SAAC,GAOrB,IANJ3B,EAMI,EANJA,SACAC,EAKI,EALJA,SACA2B,EAII,EAJJA,eACApD,EAGI,EAHJA,cACAa,EAEI,EAFJA,MACAwC,EACI,EADJA,WACI,IACoB3H,mBAAS,GAD7B,GACGgG,EADH,KACS4B,EADT,SAEwC5H,mBAAS,CAAE2H,eAFnD,GAEGxD,EAFH,KAEmB0D,EAFnB,OAG6ChC,EAC/CC,EACAC,EACAC,EACA7B,GAJMiC,EAHJ,EAGIA,WAAYF,EAHhB,EAGgBA,QAASI,EAHzB,EAGyBA,OAAQE,EAHjC,EAGiCA,QA0BrC,OACE,oCACGrB,EAAS,wBAAIvD,UAAU,yBAAyBuD,GAAgB,GACjE,yBAAKvD,UAAU,2BACb,kBAAC,EAAD,CACEsC,cAAeoC,EACfnC,eAAgBA,EAChBC,gBAjBc,SAACK,EAASvC,GAC9B,IAAMgF,EAAgB,OACjB/C,GADc,QAEhBM,EAAUvC,IAGb2F,EAAkBX,GAClBU,EAAQ,IAWFvD,eAvBY,WAClBwD,EAAkB,IAClBD,EAAQ,IAsBFtD,cAAeA,KAGnB,6BACIkC,IAAYN,aAAD,EAACA,EAAS/C,QAGrB,yBAAKvB,UAAU,2BACZsE,aADH,EACGA,EAAS5D,KAAI,SAACwF,EAAKvF,GAAN,OACZ,kBAAC,EAAD,CAAYC,IAAKD,EAAGyC,MAAO8C,QAJ/B,2BAAIJ,GAQLlB,GACMR,EAAOI,GACN,yBAAKxE,UAAU,6BACb,4BACEc,KAAK,SACLd,UAAU,sBACVkB,QAAS,WA9CrBkD,EAAOI,GAAYwB,EAAQ5B,EAAO,KAiDtB,yBAAKpE,UAAU,eACb,iDAUtB6F,EAAkBnE,UAAY,CAC5BwC,SAAUvC,IAAUC,OAAOQ,WAC3B+B,SAAUxC,IAAUC,OAAOQ,WAC3B0D,eAAgBnE,IAAUC,OAAOQ,WACjCM,cAAef,IAAUC,OAAOQ,WAChCmB,MAAO5B,IAAUC,QAGJuE,cAAMC,KAAKP","file":"35.4b852348bebe52cd83c8.js","sourcesContent":["import React, { useState, useEffect, useRef, useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { isDevice } from '../../helpers';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nconst Dropdown = ({\r\n label,\r\n placeholder,\r\n selectedOption,\r\n options = [],\r\n onChange,\r\n disabled = false,\r\n compareAttr = 'value',\r\n style\r\n}) => {\r\n const [open, toggle] = useState(false);\r\n const [cursor, setCursor] = useState(null);\r\n const guid = useRef(uuidv4());\r\n const listboxGuid = useRef(uuidv4());\r\n const nativeEl = useRef(null);\r\n const dropdownEl = useRef(null);\r\n const triggerEl = useRef(null);\r\n const listingEl = useRef(null);\r\n\r\n useEffect(() => {\r\n const handleClickOutside = e => {\r\n const container = dropdownEl.current;\r\n\r\n if (container) {\r\n if (container !== e.target && !container.contains(e.target)) {\r\n toggle(false);\r\n }\r\n }\r\n };\r\n\r\n document.addEventListener('click', handleClickOutside);\r\n\r\n return () => {\r\n document.removeEventListener('click', handleClickOutside);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (open) {\r\n listingEl.current.focus();\r\n }\r\n }, [open]);\r\n\r\n useEffect(() => {\r\n if (selectedOption) {\r\n const index = options.findIndex(\r\n option => option[compareAttr] === selectedOption[compareAttr]\r\n );\r\n setCursor(index);\r\n } else {\r\n setCursor(null);\r\n }\r\n }, [compareAttr, options, selectedOption]);\r\n\r\n const handleTriggerClick = e => {\r\n if (isDevice()) {\r\n return;\r\n }\r\n\r\n toggle(!open);\r\n };\r\n\r\n const handleOptionClick = option => {\r\n onChange(option);\r\n toggle(false);\r\n };\r\n\r\n const handleOptionChange = e => {\r\n const option = options.find(option => option.value === e.target.value);\r\n onChange(option);\r\n toggle(false);\r\n };\r\n\r\n const handleKeyDown = e => {\r\n /* eslint-disable indent */\r\n switch (e.keyCode) {\r\n case 38: // up\r\n e.preventDefault();\r\n if (cursor) {\r\n setCursor(cursor - 1);\r\n } else {\r\n setCursor(options.length - 1);\r\n }\r\n break;\r\n case 40: // down\r\n e.preventDefault();\r\n if (cursor !== null && cursor < options.length - 1) {\r\n setCursor(cursor + 1);\r\n } else {\r\n setCursor(0);\r\n }\r\n break;\r\n case 27: // esc\r\n e.preventDefault();\r\n toggle(false);\r\n triggerEl.current.focus();\r\n break;\r\n case 13: // enter\r\n e.preventDefault();\r\n if (cursor !== null) {\r\n onChange(options[cursor]);\r\n }\r\n toggle(false);\r\n triggerEl.current.focus();\r\n break;\r\n case 9: // tab\r\n toggle(false);\r\n break;\r\n }\r\n /* eslint-enable indent */\r\n };\r\n\r\n const getDisplayLabel = () => {\r\n if (selectedOption) {\r\n return `${selectedOption.label}`;\r\n }\r\n return placeholder || null;\r\n };\r\n\r\n return (\r\n
{noResultsLabel}
\r\n ) : (\r\n