{"version":3,"file":"script.min.js","sources":["../../../../block-editor/blocks/member-directory/script.js","../../../../assets/js/base/_debounce.js"],"sourcesContent":["import debounce from '../../../assets/js/base/_debounce.js';\n\nconst form = document.querySelector( '.member-directory' );\n\nif ( form ) {\n\tconst results = form.querySelectorAll( '.member-directory__result' );\n\tconst empty = form.querySelector( '.member-directory__empty' );\n\tconst filterInput = form.querySelector( 'input[name=\"filter\"]' );\n\tconst stateSelect = form.querySelector( 'select[name=\"state\"]' );\n\tconst typeSelect = form.querySelector( 'select[name=\"type\"]' );\n\n\tconst members = Array.from( results ).map( result => {\n\t\treturn {\n\t\t\tnode : result,\n\t\t\ttext : result.textContent.toLowerCase().replace( /\\s/g, '' ),\n\t\t\tstate: result.dataset.state,\n\t\t\ttype : result.dataset.type,\n\t\t}\n\t} );\n\n\tconst applyFilters = () => {\n\t\tconst filterValue = filterInput.value.toLowerCase().replace(/\\s/g, '');\n\t\tlet visible = 0;\n\n\t\tmembers.forEach( member => {\n\t\t\tmember.node.classList.remove( 'nth-child-odd' );\n\t\t\tmember.node.classList.remove( 'nth-child-even' );\n\t\t\tlet matches = true;\n\n\t\t\tif ( filterValue || typeSelect.value || stateSelect.value ) {\n\t\t\t\tconst appliedFilterResults = [];\n\n\t\t\t\tif ( filterValue ) {\n\t\t\t\t\tappliedFilterResults.push( member.text.indexOf( filterValue ) > -1 );\n\t\t\t\t}\n\n\t\t\t\tif ( typeSelect.value ) {\n\t\t\t\t\tappliedFilterResults.push( member.type === typeSelect.value );\n\t\t\t\t}\n\n\t\t\t\tif ( stateSelect.value ) {\n\t\t\t\t\tappliedFilterResults.push( member.state === stateSelect.value );\n\t\t\t\t}\n\n\t\t\t\tif ( appliedFilterResults.filter( v => ! v ).length ) {\n\t\t\t\t\tmatches = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( matches ) {\n\t\t\t\tvisible++;\n\t\t\t\tmember.node.classList.add( visible % 2 === 0 ? 'nth-child-even' : 'nth-child-odd' );\n\t\t\t\tmember.node.removeAttribute('hidden');\n\t\t\t} else {\n\t\t\t\tmember.node.hidden = true;\n\t\t\t}\n\n\t\t} );\n\n\t\tif ( visible > 0 ) {\n\t\t\t// if ( visible > 0 || ( ! filterValue && ! typeSelect.value && ! stateSelect.value ) ) {\n\t\t\tempty.hidden = true;\n\t\t} else {\n\t\t\tempty.removeAttribute( 'hidden' );\n\t\t}\n\t}\n\n\tstateSelect.addEventListener( 'change', applyFilters );\n\ttypeSelect.addEventListener( 'change', applyFilters );\n\tfilterInput.addEventListener( 'input', debounce( applyFilters, 200 ) );\n\tapplyFilters();\n}\n","export default function(fn, time = 100) {\n\tlet timer = null;\n\n\tconst cancel = () => {\n\t\tclearTimeout(timer);\n\t\ttimer = null;\n\t};\n\n\tfunction debouncedFn(...args) {\n\t\tcancel();\n\n\t\ttimer = setTimeout( () => {\n\t\t\tfn(...args);\n\t\t}, time )\n\t}\n\n\tdebouncedFn.cancel = cancel;\n\n\treturn debouncedFn;\n}\n"],"names":["form","document","querySelector","results","querySelectorAll","empty","filterInput","stateSelect","typeSelect","members","Array","from","map","result","node","text","textContent","toLowerCase","replace","state","dataset","type","applyFilters","filterValue","value","visible","forEach","member","classList","remove","matches","appliedFilterResults","push","indexOf","filter","v","length","add","removeAttribute","hidden","addEventListener","fn","time","timer","cancel","clearTimeout","debouncedFn","_len","arguments","args","_key","setTimeout","apply","debounce"],"mappings":"yBAEA,IAAMA,EAAOC,SAASC,cAAe,qBAErC,GAAKF,EAAO,CACX,IAAMG,EAAcH,EAAKI,iBAAkB,6BACrCC,EAAcL,EAAKE,cAAe,4BAClCI,EAAcN,EAAKE,cAAe,wBAClCK,EAAcP,EAAKE,cAAe,wBAClCM,EAAcR,EAAKE,cAAe,uBAElCO,EAAUC,MAAMC,KAAMR,GAAUS,KAAK,SAAAC,GACnC,MAAA,CACNC,KAAOD,EACPE,KAAOF,EAAOG,YAAYC,cAAcC,QAAS,MAAO,IACxDC,MAAON,EAAOO,QAAQD,MACtBE,KAAOR,EAAOO,QAAQC,SAIlBC,EAAe,WACpB,IAAMC,EAAcjB,EAAYkB,MAAMP,cAAcC,QAAQ,MAAO,IAC/DO,EAAU,EAEdhB,EAAQiB,SAAS,SAAAC,GAChBA,EAAOb,KAAKc,UAAUC,OAAQ,iBAC9BF,EAAOb,KAAKc,UAAUC,OAAQ,kBAC1BC,IAAAA,GAAU,EAETP,GAAAA,GAAef,EAAWgB,OAASjB,EAAYiB,MAAQ,CACrDO,IAAAA,EAAuB,GAExBR,GACJQ,EAAqBC,KAAML,EAAOZ,KAAKkB,QAASV,IAAiB,GAG7Df,EAAWgB,OACfO,EAAqBC,KAAML,EAAON,OAASb,EAAWgB,OAGlDjB,EAAYiB,OAChBO,EAAqBC,KAAML,EAAOR,QAAUZ,EAAYiB,OAGpDO,EAAqBG,QAAQ,SAAAC,GAAC,OAAMA,KAAIC,SAC5CN,GAAU,GAIPA,GACJL,IACAE,EAAOb,KAAKc,UAAUS,IAAKZ,EAAU,GAAM,EAAI,iBAAmB,iBAClEE,EAAOb,KAAKwB,gBAAgB,WAE5BX,EAAOb,KAAKyB,QAAS,KAKlBd,EAAU,EAEdpB,EAAMkC,QAAS,EAEflC,EAAMiC,gBAAiB,WAIzB/B,EAAYiC,iBAAkB,SAAUlB,GACxCd,EAAWgC,iBAAkB,SAAUlB,GACvChB,EAAYkC,iBAAkB,QCrEhB,SAASC,GAAIC,IAAAA,yDAAO,IAC9BC,EAAQ,KAENC,EAAS,WACdC,aAAaF,GACbA,EAAQ,MAGT,SAASG,IAAqB,IAAA,IAAAC,EAAAC,UAAAZ,OAANa,EAAM,IAAAvC,MAAAqC,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAAND,EAAMC,GAAAF,UAAAE,GAC7BN,IAEAD,EAAQQ,YAAY,WACnBV,EAAAW,WAAA,EAAMH,KACJP,GAKJ,OAFAI,EAAYF,OAASA,EAEdE,EDmDgCO,CAAU/B,EAAc,MAC/DA"}