{"version":3,"file":"7001.bundle.dfceca70f359b0c05597.js","mappings":"2JAgTA,IAtRsBA,IAAmB,IAAlB,UAAEC,GAAWD,EAChC,MAAME,GAAeC,EAAAA,EAAAA,KAAeC,OAC9BC,GAAmBC,EAAAA,EAAAA,QAAOJ,GAQhC,IANAK,EAAAA,EAAAA,YAAU,KACFF,EAAiBG,UAAYN,IAC7BG,EAAiBG,QAAUN,EAC/B,GACD,CAACA,KAECD,EACD,OAAO,KAGX,MAAMQ,EAAqB,SAAUR,EAAYA,EAAUS,KAAKC,eAAiB,OAC3EC,EAAsB,SAAUX,EAAYA,EAAUS,KAAKG,gBAAkB,OA8P7EC,EA5PeC,MACjB,MAOMC,EAAoBC,IAAsB,IAArB,aAAEC,GAAcD,EACvC,GAAIC,EAAaC,SACb,OAAOD,EAAaE,gBAAkBC,EAAAA,GAAgBC,YAAc,GAAK,GAE7E,GAAIJ,EAAaE,gBAAkBC,EAAAA,GAAgBC,YAAa,CAC5D,IAAKpB,EAAagB,EAAaP,gBAC3B,MAAO,GAEX,MAAMY,EAAmBC,MAAMC,QAAQvB,EAAagB,EAAaP,iBAC3DT,EAAagB,EAAaP,gBAC1B,CAACT,EAAagB,EAAaP,iBAEjC,OAAKY,EAAiBG,OAAMC,KAAST,EAAaU,QAAQC,MAAKC,GAAOA,EAAIC,QAAUJ,MAG7EJ,EAFI,EAGf,CACA,OAAIL,EAAaE,gBAAkBC,EAAAA,GAAgBW,aAC1Cd,EAAaU,QAAQC,MAAKC,GAAOA,EAAIC,QAAU7B,EAAagB,EAAaP,mBAGvET,EAAagB,EAAaP,iBAFtB,GAIoB,aAA/BO,EAAaE,cACwC,SAA9ClB,EAAagB,EAAaP,iBAAoC,GAElET,EAAagB,EAAaP,iBAAmB,EAAE,EAiBpDG,EAAS,IACRb,EAAUgC,UAAUC,QAAO,CAACC,EAAKjB,EAAckB,KAC9C,GAAmC,kCAA/BlB,EAAaE,cAAmD,CAChE,MAAMiB,GAAYC,EAAAA,EAAAA,IAAmB,CAAEC,IAAKH,IAC5C,OAAOlB,EAAasB,MAAMN,QACtB,CAACO,EAAUC,EAAcC,KAAoB,IACtCF,EACH,CAAC,GAADG,OAAIP,EAAS,KAAAO,OAAID,IAAoB3B,EAAkB,CAAEE,aAAcwB,OAE3EP,EAER,CAEA,GAAmC,2BAA/BjB,EAAaE,cAA4C,CACzD,MAAMiB,GAAYC,EAAAA,EAAAA,IAAmB,CAAEC,IAAKH,IAC5C,OAAOlB,EAAasB,MAAMN,QACtB,CAACO,EAAUC,EAAcC,KAAoB,IACtCF,EACH,CAAC,GAADG,OAAIP,EAAS,KAAAO,OAAID,IAAoB3B,EAAkB,CAAEE,aAAcwB,OAE3EP,EAER,CAEA,MAAO,IACAA,EACH,EAACG,EAAAA,EAAAA,IAAmB,CAAEC,IAAKH,KAAqBpB,EAAkB,CAAEE,iBACvE,GACF,CAAC,IAcR,OAVIjB,EAAU4C,UACV/B,EAAO+B,QAlFH5C,EAAU4C,QAAQ1B,SACX,GAEJjB,EAAaD,EAAU4C,QAAQlC,iBAAmBV,EAAU4C,QAAQC,cAAgB,IAiF3F7C,EAAU8C,OACVjC,EAAOiC,KAjDH9C,EAAU8C,KAAK5B,SACR,GAEJjB,EAAaD,EAAU8C,KAAKpC,iBAAmB,IAgDtDV,EAAU+C,OACVlC,EAAOkC,KA7CH/C,EAAU+C,KAAK7B,SACR,GAEJjB,EAAaD,EAAU+C,KAAKrC,iBAAmBV,EAAU+C,KAAKF,cAAgB,IA6ClFhC,CAAM,EA+JFC,GAEf,MAAO,CACHD,SACAmC,cAhKwBC,KAAgB,IAAf,OAAEpC,GAAQoC,EACnC,MAAMC,EAAYC,OAAOC,KAAKvC,GAAQoB,QAAO,CAACC,EAAKmB,KAE/C,IAAIC,EAAAA,EAAAA,IAAgBzC,EAAOwC,IACvB,OAAOnB,EAEX,IAAIqB,EAAAA,EAAAA,IAAkB,CAAEF,QAAQ,CAC5B,MAAMlB,GAAkBqB,EAAAA,EAAAA,IAAyB,CAAEH,QAC7CpC,EAAejB,EAAUgC,UAAUG,GAEzC,GAAmC,kCAA/BlB,EAAaE,cAAmD,CAChE,MAAMsC,GAAcC,EAAAA,EAAAA,IAAkD,CAAEL,QAClEM,EAAW1C,EAAasB,MAAMkB,GACpC,OAAIE,EAASzC,WAGbgB,EAAIyB,EAAS/C,iBAAmBC,EAAOwC,IAF5BnB,CAIf,CAEA,GAAmC,2BAA/BjB,EAAaE,cAA4C,CACzD,MAAMsC,GAAcG,EAAAA,EAAAA,IAA2C,CAAEP,QAC3DM,EAAW1C,EAAasB,MAAMkB,GACpC,OAAIE,EAASzC,WAGbgB,EAAIyB,EAAS/C,iBAAmBC,EAAOwC,IAF5BnB,CAIf,CAGA,OAAIjB,EAAaC,WAGjBgB,EAAIjB,EAAaL,iBAAmBC,EAAOwC,IAFhCnB,CAIf,CAEA,OAAIlC,EAAUqD,GAAKnC,WAGnBgB,EAAIlC,EAAUqD,GAAKzC,iBAAmBC,EAAOwC,IAFlCnB,CAGD,GACX,CAAC,GAMJ,OAJI1B,GAAsBG,GAAuBV,EAAaO,KAC1D0C,EAAUvC,GAAuBV,EAAaO,IAG3C0C,CAAS,EA+GDW,CAAoB,CAAEhD,WACrCiD,iCA7GqCC,IAAgB,IAAAC,EAAA,IAAf,OAAEnD,GAAQkD,EAChD,MAAME,EAAe,IACdhE,KAImB,QAAtB+D,EAAGhE,EAAUgC,iBAAS,IAAAgC,OAAA,EAAnBA,EAAqB/B,QAAO,CAACC,EAAKjB,EAAckB,KAC/C,GAAmC,kCAA/BlB,EAAaE,cACb,OAAOe,EAEX,MAAMgC,GAAe7B,EAAAA,EAAAA,IAAmB,CAAEC,IAAKH,IACzCgC,EAAchB,OAAOC,KAAKvC,GAC3BuD,QAAOC,GAAUA,EAAOC,WAAW,GAAD3B,OAAIuB,EAAY,QAClDjC,QACG,CAACsC,EAAaC,KAAgB,IACvBD,EACH,CAACC,GAAc3D,EAAO2D,MAE1B,CAAC,GAGHC,EAAuB,CAAC,EAC9B,IAAK,IAAIC,EAAI,EAAGA,EAAIzD,EAAasB,MAAMoC,OAAQD,IAAK,CAChD,MAAMf,EAAW1C,EAAasB,MAAMmC,GAC9BjB,EAAc,GAAHd,OAAMuB,EAAY,KAAAvB,OAAI+B,GAGlCvB,OAAOyB,OAAO/D,EAAQ4C,MAItBE,EAASkB,qBAAuBlB,EAASkB,oBAAoB,CAAEV,gBAChEM,EAAqBd,EAASjD,gBAAkBG,EAAO4C,GAC/CN,OAAOyB,OAAOH,EAAsBd,EAASjD,kBACrD+D,EAAqBd,EAASjD,gBAC1BiD,EAASxC,gBAAkBC,EAAAA,GAAgBC,YAAc,GAAK,IAE1E,CAEA,MAAO,IACAa,KACAuC,EACN,GACF,CAAC,MAEDtB,OAAOC,KAAKvC,GAAQoB,QAAO,CAACC,EAAKmB,KAChC,IAAIE,EAAAA,EAAAA,IAAkB,CAAEF,QAAQ,CAC5B,MAAMlB,GAAkBqB,EAAAA,EAAAA,IAAyB,CAAEH,QAC7CpC,EAAejB,EAAUgC,UAAUG,GAGzC,GAAmC,kCAA/BlB,EAAaE,cACb,OAAOe,EAGX,GAAmC,2BAA/BjB,EAAaE,cAA4C,CACzD,MAAM2D,GAAWlB,EAAAA,EAAAA,IAA2C,CAAEP,QAG9D,OADAnB,EADiBjB,EAAasB,MAAMuC,GACvBpE,gBAAkBG,EAAOwC,IAAQ,OACvCnB,CACX,CAGA,OADAA,EAAIjB,EAAaP,gBAAkBG,EAAOwC,GACnCnB,CACX,CAGA,OADAA,EAAIlC,EAAUqD,GAAK3C,gBAAkBG,EAAOwC,GACrCnB,CAAG,GACX,CAAC,IAIRiB,OAAOC,KAAKa,GAAcc,SAAQ1B,KAC1BC,EAAAA,EAAAA,IAAgBW,EAAaZ,YACtBY,EAAaZ,EACxB,IAIJ,MAAM2B,EAAgBzD,MAAM0D,KACxB,IAAIC,IAAI,IAAI/B,OAAOC,KAAKa,MAAkBd,OAAOC,KAAKhD,EAAiBG,YACzE0B,QAAO,CAACC,EAAKmB,KACPY,EAAaZ,KAASjD,EAAiBG,QAAQ8C,IAC/CnB,EAAIiD,KAAK9B,GAENnB,IACR,IAGH,OAAIlC,EAAU4C,SAAWoC,EAAcI,SAASpF,EAAU4C,QAAQlC,gBAEvDuD,EAAajE,EAAU4C,QAAQlC,gBAChC,CAAE,CAACV,EAAU4C,QAAQlC,gBAAiBuD,EAAajE,EAAU4C,QAAQlC,iBACrE,CAAC,GAIPF,GAAsBwE,EAAcK,MAAKhC,GAAOA,IAAQ7C,YACjDyD,EAAazD,GAGjByD,EAAY,EAStB,C,4NC7RE,MAAMqB,EAAqBvF,IAM5B,IAN6B,WAC/BwF,EAAU,WACVC,EAAU,gBACVC,EAAe,oBACfC,EAAmB,oBACnBC,GACH5F,EACG,MAAQ6F,aAAcC,EAAcC,SAAUC,GAAaR,EACrDS,GAAOC,EAAAA,EAAAA,IAAoBJ,EAAcN,EAAWW,YAsBnDC,EAAKC,IAAUC,EAAAA,EAAAA,IAAU,CAAEC,UAAW,EAAGC,aAAa,IAQ7D,OANAjG,EAAAA,EAAAA,YAAU,KACF8F,GAvBcI,MAClB,MAAMC,EAAO,CACTC,aAAcnB,EAAWmB,cAGzBlB,IACAiB,EAAKE,aAAenB,EACpBiB,EAAKG,gBAAkBnB,GAG3B,MAAMoB,EAAY,CACdC,KAAMC,EAAAA,GAAkBC,WACxBC,OAAQC,EAAAA,GACRC,SAAUC,EAAAA,GACVC,KAAMZ,IAGVa,EAAAA,EAAAA,IAAST,EAAU,EAOfL,EACJ,GACD,CAACJ,KAGAmB,EAAAA,EAAAA,KAACC,EAAAA,GAAgB,CACbC,eAAeF,EAAAA,EAAAA,KAACG,EAAAA,EAAkB,CAAC1B,KAAMA,EAAMrE,QAAS,CAAEgG,aAAchC,KACxEiC,aACIC,EAAAA,EAAAA,MAAAC,EAAAA,SAAA,CAAAC,SAAA,EACIR,EAAAA,EAAAA,KAACS,EAAAA,QAAO,CAAAD,UACJR,EAAAA,EAAAA,KAACU,EAAAA,EAAS,IAAKvC,EAAmBqC,SAAGxC,EAAW2C,WAEpDX,EAAAA,EAAAA,KAAA,OAAKY,UAAU,OAAMJ,UACjBR,EAAAA,EAAAA,KAACa,EAAAA,EAAY,CACTC,WAAY,IACZC,mBAAoB,IACpBC,kBAAmB7C,EACnB8C,eAAe,EACfC,cAAc,mCAAkCV,SAE/CxC,EAAWmD,iBAGpBnB,EAAAA,EAAAA,KAAA,OAAKY,UAAU,OAAOhC,IAAKA,EAAI4B,UAC3BF,EAAAA,EAAAA,MAACc,EAAAA,MAAK,CAACC,MAAM,SAASC,QAAQ,QAAQC,QAAQ,EAAKf,SAAA,EAC/CR,EAAAA,EAAAA,KAACoB,EAAAA,MAAMI,KAAI,CAAAhB,UACPR,EAAAA,EAAAA,KAACyB,EAAAA,EAAY,CAACC,KAAMlD,EAASmD,KAAMC,KAAK,QAAQC,KAAMzD,OAE1D4B,EAAAA,EAAAA,KAACoB,EAAAA,MAAMI,KAAI,CAACM,MAAM,EAAKtB,UACnBF,EAAAA,EAAAA,MAACyB,EAAAA,QAAO,CAAAvB,SAAA,CAAC,aACMhC,EAASwD,YAAY,QAAKC,EAAAA,EAAAA,IAAWjE,EAAWkE,8BAOrF,EAIVnE,EAAmBoE,UAAY,CAC3BnE,WAAYoE,IAAAA,MAAgB,CACxBjD,aAAciD,IAAAA,OAAiBC,WAC/B1B,MAAOyB,IAAAA,OAAiBC,WACxBlB,YAAaiB,IAAAA,OAAiBC,WAC9BH,eAAgBE,IAAAA,OAAiBC,WACjC1D,UAAWyD,IAAAA,MAAgB,CACvBE,GAAIF,IAAAA,OAAiBC,WACrBE,MAAOH,IAAAA,OAAiBC,WACxBG,MAAOJ,IAAAA,OAAiBC,eAE7BA,WACHlE,oBAAqBiE,IAAAA,MAAgB1B,EAAAA,EAAUyB,WAAWE,WAC1DjE,oBAAqBgE,IAAAA,KACrBnE,WAAYmE,IAAAA,OACZlE,gBAAiBkE,IAAAA,MAGrB,MAAMK,EAAyBhJ,IAAqE,IAApE,YAAEiJ,EAAW,oBAAEC,EAAmB,0BAAEC,GAA2BnJ,EAC3F,OACIuG,EAAAA,EAAAA,KAAC6C,EAAAA,GAAI,CAAArC,SACCkC,EAAYtF,OAERsF,EAAYI,KAAI,CAAC9E,EAAYjD,KACzBiF,EAAAA,EAAAA,KAAC+C,EAAAA,SAAc,CAAAvC,SACVoC,EAA0B,CAAE5E,aAAYI,oBAAqBrD,EAAM,KADnDiD,EAAWmB,gBAFpCwD,GAMH,EAIfF,EAAuBN,UAAY,CAC/BO,YAAaN,IAAAA,QAAkBA,IAAAA,QAAkBC,WACjDM,oBAAqBP,IAAAA,KAAeC,WACpCO,0BAA2BR,IAAAA,KAAeC,YAG9C,K,wEChIIW,EAAYpH,OAAOqH,eAEnBC,EAAgB,CAACC,EAAKrH,EAAKvB,IADT,EAAC4I,EAAKrH,EAAKvB,IAAUuB,KAAOqH,EAAMH,EAAUG,EAAKrH,EAAK,CAAEsH,YAAY,EAAMC,cAAc,EAAMC,UAAU,EAAM/I,UAAW4I,EAAIrH,GAAOvB,EACjHgJ,CAAgBJ,EAAoB,iBAARrH,EAAmBA,EAAM,GAAKA,EAAKvB,GAMpGiJ,EAA8B,IAAIC,IAClCC,EAA0B,IAAIC,QAC9BC,EAAS,EACTC,OAAmB,EAWvB,SAASC,EAAY1J,GACnB,OAAOwB,OAAOC,KAAKzB,GAASoB,OAAOqB,QAChCf,QAAyB,IAAjB1B,EAAQ0B,KACjBgH,KAAKhH,IACL,MAAO,GAAGA,KAAe,SAARA,GAXFiI,EAW6B3J,EAAQ2J,KAVjDA,GACDL,EAAQM,IAAID,KAChBH,GAAU,EACVF,EAAQO,IAAIF,EAAMH,EAAOM,aAFKR,EAAQS,IAAIJ,IADxB,KAU4C3J,EAAQ0B,KAXxE,IAAmBiI,CAW2D,IACzEG,UACL,CA6BA,SAASE,EAAQC,EAASC,EAAUlK,EAAU,CAAC,EAAGmK,EAAiBV,GACjE,QAA2C,IAAhCW,OAAOC,2BAA2D,IAAnBF,EAA2B,CACnF,MAAMG,EAASL,EAAQM,wBAUvB,OATAL,EAASC,EAAgB,CACvBK,eAAgBL,EAChBM,OAAQR,EACRS,kBAAgD,iBAAtB1K,EAAQ2E,UAAyB3E,EAAQ2E,UAAY,EAC/EgG,KAAM,EACNC,mBAAoBN,EACpBO,iBAAkBP,EAClBQ,WAAYR,IAEP,MAET,CACA,MAAM,GAAES,EAAE,SAAEC,EAAQ,SAAEC,GA3CxB,SAAwBjL,GACtB,MAAM+K,EAAKrB,EAAY1J,GACvB,IAAIkL,EAAW9B,EAAYW,IAAIgB,GAC/B,IAAKG,EAAU,CACb,MAAMD,EAA2B,IAAI5B,IACrC,IAAI8B,EACJ,MAAMH,EAAW,IAAIX,sBAAsBe,IACzCA,EAAQhI,SAASiI,IACf,IAAIC,EACJ,MAAM7G,EAAS4G,EAAMb,gBAAkBW,EAAWzH,MAAMiB,GAAc0G,EAAMX,mBAAqB/F,IAC7F3E,EAAQuL,sBAA8C,IAApBF,EAAMG,YAC1CH,EAAMG,UAAY/G,GAEiB,OAApC6G,EAAKL,EAASlB,IAAIsB,EAAMZ,UAA4Ba,EAAGlI,SAAS8G,IAC/DA,EAASzF,EAAQ4G,EAAM,GACvB,GACF,GACDrL,GACHmL,EAAaH,EAASG,aAAevL,MAAMC,QAAQG,EAAQ2E,WAAa3E,EAAQ2E,UAAY,CAAC3E,EAAQ2E,WAAa,IAClHuG,EAAW,CACTH,KACAC,WACAC,YAEF7B,EAAYS,IAAIkB,EAAIG,EACtB,CACA,OAAOA,CACT,CAgBqCO,CAAezL,GAC5C0L,EAAYT,EAASlB,IAAIE,IAAY,GAM3C,OALKgB,EAASrB,IAAIK,IAChBgB,EAASpB,IAAII,EAASyB,GAExBA,EAAUlI,KAAK0G,GACfc,EAAShB,QAAQC,GACV,WACLyB,EAAUC,OAAOD,EAAUE,QAAQ1B,GAAW,GACrB,IAArBwB,EAAU1I,SACZiI,EAASY,OAAO5B,GAChBe,EAASc,UAAU7B,IAEC,IAAlBgB,EAASzD,OACXwD,EAASe,aACT3C,EAAYyC,OAAOd,GAEvB,CACF,CAM2B,YAyG3B,SAASrG,GAAU,UACjBC,EAAS,MACTqH,EAAK,gBACLT,EAAe,WACfU,EAAU,KACVtC,EAAI,YACJ/E,EAAW,KACXsH,EAAI,cACJC,EAAa,eACbhC,EAAc,SACdiC,GACE,CAAC,GACH,IAAId,EACJ,MAAO9G,EAAK6H,GAAU,WAAgB,MAChCnC,EAAW,SAAckC,IACxBE,EAAOC,GAAY,WAAgB,CACxC9H,SAAU0H,EACVd,WAAO,IAETnB,EAAStL,QAAUwN,EACnB,aACE,KACE,GAAIF,IAAS1H,EAAK,OAClB,IAAIsH,EAyBJ,OAxBAA,EAAY9B,EACVxF,GACA,CAACC,EAAQ4G,KACPkB,EAAS,CACP9H,SACA4G,UAEEnB,EAAStL,SAASsL,EAAStL,QAAQ6F,EAAQ4G,GAC3CA,EAAMb,gBAAkB5F,GAAekH,IACzCA,IACAA,OAAY,EACd,GAEF,CACEnC,OACAsC,aACAtH,YAEA4G,kBAEAS,SAEF7B,GAEK,KACD2B,GACFA,GACF,CACD,GAIH,CAEElM,MAAMC,QAAQ8E,GAAaA,EAAUmF,WAAanF,EAClDH,EACAmF,EACAsC,EACArH,EACAsH,EACAX,EACApB,EACA6B,IAGJ,MAAMQ,EAAoC,OAArBlB,EAAKgB,EAAMjB,YAAiB,EAASC,EAAGb,OACvDgC,EAAsB,cAAc,GACrCjI,IAAOgI,GAAgB5H,GAAgBsH,GAAQO,EAAoB7N,UAAY4N,IAClFC,EAAoB7N,QAAU4N,EAC9BD,EAAS,CACP9H,SAAU0H,EACVd,WAAO,KAGX,MAAMqB,EAAS,CAACL,EAAQC,EAAM7H,OAAQ6H,EAAMjB,OAI5C,OAHAqB,EAAOlI,IAAMkI,EAAO,GACpBA,EAAOjI,OAASiI,EAAO,GACvBA,EAAOrB,MAAQqB,EAAO,GACfA,CACT,C","sources":["webpack://fieldlevel.app/./app-core/components/SearchFilters/useParamTools.js","webpack://fieldlevel.app/./app-core/routes/job-openings/components/JobOpeningsListDisplay.jsx","webpack://fieldlevel.app/./node_modules/react-intersection-observer/dist/index.mjs"],"sourcesContent":["import { useEffect, useRef } from 'react';\r\n\r\nimport useURLParams from '@appCore/hooks/routeTools/useURLParams/useURLParams';\r\n\r\nimport {\r\n deriveSecondaryKey,\r\n getIndexFromSecondaryKey,\r\n getIsEmptyValue,\r\n getIsSecondaryKey,\r\n SELECTION_TYPES,\r\n UNSTABLE_getGroupIndexFromCheckboxGroupKey,\r\n UNSTABLE_getGroupIndexFromDependentSelectGroupKey\r\n} from './utility';\r\n\r\n/**\r\n * This hook attempts to encapsulate some of the more commonly used functionality when working with\r\n * SearchFilters. It accepts a SearchFilters FilterDefinition and returns three functions (deriveValues(),\r\n * deriveRequestParams(), and deriveSearchParamsOnValuesChange()) which can be used to manage filter state on\r\n * any given page.\r\n *\r\n * In particular, it handles:\r\n * - Automatically parsing filter values from searchParams/defaults when configured in the filterDef\r\n * - Automatically parsing request params from given values when configured in the filterDef\r\n * - Automatically resetting filters when the primary filter changes\r\n * - Automatically resetting page-tracking filters when any filters change\r\n */\r\nconst useParamTools = ({ filterDef }) => {\r\n const searchParams = useURLParams().search;\r\n const prevSearchParams = useRef(searchParams);\r\n\r\n useEffect(() => {\r\n if (prevSearchParams.current !== searchParams) {\r\n prevSearchParams.current = searchParams;\r\n }\r\n }, [searchParams]);\r\n\r\n if (!filterDef) {\r\n return null;\r\n }\r\n\r\n const pageSearchParamKey = 'page' in filterDef ? filterDef.page.searchParamKey : 'page';\r\n const pageRequestParamKey = 'page' in filterDef ? filterDef.page.requestParamKey : 'page';\r\n\r\n const deriveValues = () => {\r\n const getPrimaryValue = () => {\r\n if (filterDef.primary.disabled) {\r\n return '';\r\n }\r\n return searchParams[filterDef.primary.searchParamKey] || filterDef.primary.defaultValue || '';\r\n };\r\n\r\n const getSecondaryValue = ({ secondaryDef }) => {\r\n if (secondaryDef.disabled) {\r\n return secondaryDef.selectionType === SELECTION_TYPES.multiSelect ? [] : '';\r\n }\r\n if (secondaryDef.selectionType === SELECTION_TYPES.multiSelect) {\r\n if (!searchParams[secondaryDef.searchParamKey]) {\r\n return [];\r\n }\r\n const multiSelectValue = Array.isArray(searchParams[secondaryDef.searchParamKey])\r\n ? searchParams[secondaryDef.searchParamKey]\r\n : [searchParams[secondaryDef.searchParamKey]];\r\n\r\n if (!multiSelectValue.every(val => !!secondaryDef.options.find(opt => opt.value === val))) {\r\n return [];\r\n }\r\n return multiSelectValue;\r\n }\r\n if (secondaryDef.selectionType === SELECTION_TYPES.singleSelect) {\r\n if (!secondaryDef.options.find(opt => opt.value === searchParams[secondaryDef.searchParamKey])) {\r\n return '';\r\n }\r\n return searchParams[secondaryDef.searchParamKey] || '';\r\n }\r\n if (secondaryDef.selectionType === 'checkbox') {\r\n return searchParams[secondaryDef.searchParamKey] === 'true' ? true : '';\r\n }\r\n return searchParams[secondaryDef.searchParamKey] || '';\r\n };\r\n\r\n const getTextValue = () => {\r\n if (filterDef.text.disabled) {\r\n return '';\r\n }\r\n return searchParams[filterDef.text.searchParamKey] || '';\r\n };\r\n\r\n const getSortValue = () => {\r\n if (filterDef.sort.disabled) {\r\n return '';\r\n }\r\n return searchParams[filterDef.sort.searchParamKey] || filterDef.sort.defaultValue || '';\r\n };\r\n\r\n const values = {\r\n ...filterDef.secondary.reduce((acc, secondaryDef, secondaryDefIdx) => {\r\n if (secondaryDef.selectionType === 'unstable_dependentSelectGroup') {\r\n const keyPrefix = deriveSecondaryKey({ idx: secondaryDefIdx });\r\n return secondaryDef.group.reduce(\r\n (groupAcc, groupItemDef, groupItemDefIdx) => ({\r\n ...groupAcc,\r\n [`${keyPrefix}.${groupItemDefIdx}`]: getSecondaryValue({ secondaryDef: groupItemDef })\r\n }),\r\n acc\r\n );\r\n }\r\n\r\n if (secondaryDef.selectionType === 'unstable_checkboxGroup') {\r\n const keyPrefix = deriveSecondaryKey({ idx: secondaryDefIdx });\r\n return secondaryDef.group.reduce(\r\n (groupAcc, groupItemDef, groupItemDefIdx) => ({\r\n ...groupAcc,\r\n [`${keyPrefix}.${groupItemDefIdx}`]: getSecondaryValue({ secondaryDef: groupItemDef })\r\n }),\r\n acc\r\n );\r\n }\r\n\r\n return {\r\n ...acc,\r\n [deriveSecondaryKey({ idx: secondaryDefIdx })]: getSecondaryValue({ secondaryDef })\r\n };\r\n }, {})\r\n };\r\n\r\n // Only attach a value for 'primary', 'text', and 'sort' if they exist in the definition (they're optional)\r\n if (filterDef.primary) {\r\n values.primary = getPrimaryValue();\r\n }\r\n if (filterDef.text) {\r\n values.text = getTextValue();\r\n }\r\n if (filterDef.sort) {\r\n values.sort = getSortValue();\r\n }\r\n\r\n return values;\r\n };\r\n\r\n const deriveRequestParams = ({ values }) => {\r\n const newParams = Object.keys(values).reduce((acc, key) => {\r\n // Don't account for empty values\r\n if (getIsEmptyValue(values[key])) {\r\n return acc;\r\n }\r\n if (getIsSecondaryKey({ key })) {\r\n const secondaryDefIdx = getIndexFromSecondaryKey({ key });\r\n const secondaryDef = filterDef.secondary[secondaryDefIdx];\r\n\r\n if (secondaryDef.selectionType === 'unstable_dependentSelectGroup') {\r\n const groupDefKey = UNSTABLE_getGroupIndexFromDependentSelectGroupKey({ key });\r\n const groupDef = secondaryDef.group[groupDefKey];\r\n if (groupDef.disabled) {\r\n return acc;\r\n }\r\n acc[groupDef.requestParamKey] = values[key];\r\n return acc;\r\n }\r\n\r\n if (secondaryDef.selectionType === 'unstable_checkboxGroup') {\r\n const groupDefKey = UNSTABLE_getGroupIndexFromCheckboxGroupKey({ key });\r\n const groupDef = secondaryDef.group[groupDefKey];\r\n if (groupDef.disabled) {\r\n return acc;\r\n }\r\n acc[groupDef.requestParamKey] = values[key];\r\n return acc;\r\n }\r\n\r\n // Don't derive requestParams from disabled secondary filters\r\n if (secondaryDef.disabled) {\r\n return acc;\r\n }\r\n acc[secondaryDef.requestParamKey] = values[key];\r\n return acc;\r\n }\r\n // Don't derive requestParams from disabled text/alt filters\r\n if (filterDef[key].disabled) {\r\n return acc;\r\n }\r\n acc[filterDef[key].requestParamKey] = values[key];\r\n return acc;\r\n }, {});\r\n\r\n if (pageSearchParamKey && pageRequestParamKey && searchParams[pageSearchParamKey]) {\r\n newParams[pageRequestParamKey] = searchParams[pageSearchParamKey];\r\n }\r\n\r\n return newParams;\r\n };\r\n\r\n const deriveSearchParamsOnValuesChange = ({ values }) => {\r\n const mergedParams = {\r\n ...searchParams,\r\n\r\n // Here we take special care in handling \"dependent select groups\", making sure that we only propagate\r\n // values that pass the specified dependency condition.\r\n ...filterDef.secondary?.reduce((acc, secondaryDef, secondaryDefIdx) => {\r\n if (secondaryDef.selectionType !== 'unstable_dependentSelectGroup') {\r\n return acc;\r\n }\r\n const secondaryKey = deriveSecondaryKey({ idx: secondaryDefIdx });\r\n const groupValues = Object.keys(values)\r\n .filter(valKey => valKey.startsWith(`${secondaryKey}.`))\r\n .reduce(\r\n (groupValAcc, groupValKey) => ({\r\n ...groupValAcc,\r\n [groupValKey]: values[groupValKey]\r\n }),\r\n {}\r\n );\r\n\r\n const validSearchParamKeys = {};\r\n for (let i = 0; i < secondaryDef.group.length; i++) {\r\n const groupDef = secondaryDef.group[i];\r\n const groupDefKey = `${secondaryKey}.${i}`;\r\n\r\n // If the current values change doesn't include these keys, don't update them!\r\n if (!Object.hasOwn(values, groupDefKey)) {\r\n continue;\r\n }\r\n\r\n if (!groupDef.dependencyCondition || groupDef.dependencyCondition({ groupValues })) {\r\n validSearchParamKeys[groupDef.searchParamKey] = values[groupDefKey];\r\n } else if (!Object.hasOwn(validSearchParamKeys, groupDef.searchParamKey)) {\r\n validSearchParamKeys[groupDef.searchParamKey] =\r\n groupDef.selectionType === SELECTION_TYPES.multiSelect ? [] : '';\r\n }\r\n }\r\n\r\n return {\r\n ...acc,\r\n ...validSearchParamKeys\r\n };\r\n }, {}),\r\n\r\n ...Object.keys(values).reduce((acc, key) => {\r\n if (getIsSecondaryKey({ key })) {\r\n const secondaryDefIdx = getIndexFromSecondaryKey({ key });\r\n const secondaryDef = filterDef.secondary[secondaryDefIdx];\r\n\r\n // We already handled this above\r\n if (secondaryDef.selectionType === 'unstable_dependentSelectGroup') {\r\n return acc;\r\n }\r\n\r\n if (secondaryDef.selectionType === 'unstable_checkboxGroup') {\r\n const groupIdx = UNSTABLE_getGroupIndexFromCheckboxGroupKey({ key });\r\n const groupDef = secondaryDef.group[groupIdx];\r\n acc[groupDef.searchParamKey] = values[key] && 'true';\r\n return acc;\r\n }\r\n\r\n acc[secondaryDef.searchParamKey] = values[key];\r\n return acc;\r\n }\r\n\r\n acc[filterDef[key].searchParamKey] = values[key];\r\n return acc;\r\n }, {})\r\n };\r\n\r\n // Now delete any empty keys\r\n Object.keys(mergedParams).forEach(key => {\r\n if (getIsEmptyValue(mergedParams[key])) {\r\n delete mergedParams[key];\r\n }\r\n });\r\n\r\n // Find the changed param keys from the previous\r\n const changedParams = Array.from(\r\n new Set([...Object.keys(mergedParams), ...Object.keys(prevSearchParams.current)])\r\n ).reduce((acc, key) => {\r\n if (mergedParams[key] !== prevSearchParams.current[key]) {\r\n acc.push(key);\r\n }\r\n return acc;\r\n }, []);\r\n\r\n // If the primary key changed, reset all filters\r\n if (filterDef.primary && changedParams.includes(filterDef.primary.searchParamKey)) {\r\n // Check to see if the primaryKey actually has a value here (it's possible it 'changed' because it was reset to ''), and if so, return the custom object. Otherwise return empty\r\n return mergedParams[filterDef.primary.searchParamKey]\r\n ? { [filterDef.primary.searchParamKey]: mergedParams[filterDef.primary.searchParamKey] }\r\n : {};\r\n }\r\n\r\n // If anything other than 'page' changed, reset page\r\n if (pageSearchParamKey && changedParams.some(key => key !== pageSearchParamKey)) {\r\n delete mergedParams[pageSearchParamKey];\r\n }\r\n\r\n return mergedParams;\r\n };\r\n\r\n const values = deriveValues();\r\n\r\n return {\r\n values,\r\n requestParams: deriveRequestParams({ values }),\r\n deriveSearchParamsOnValuesChange\r\n };\r\n};\r\n\r\nexport default useParamTools;\r\n","import React, { useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useInView } from 'react-intersection-observer';\r\n\r\nimport { Heading, Stack, Caption } from '@fieldlevel/playbook';\r\n\r\nimport WiredLink from '@appCore/components/WiredLink';\r\nimport ReadMoreText from '@appCore/components/ReadMoreText';\r\nimport UserHeadshot from '@appCore/components/UserHeadshot';\r\nimport TeamDetailsDisplay from '@appCore/components/TeamDetailsDisplay';\r\nimport { IndentedListItem, List } from '@appCore/components/SearchFilters/layouts/ListWithFilters/ListWithFilters';\r\nimport { convertToTeamObject } from '@appCore/utility/apiUtils';\r\nimport { formatDate } from '@appCore/utility/dateUtils';\r\nimport { logEvent, AnalyticsTypeEnum } from '@appCore/utility/natsAnalyticsUtils';\r\nimport { JOB_OPENINGS_ANALYTICS_CATEGORY, JOB_OPENINGS_ANALYTICS_LIST_ITEM_ACTION } from '@appCore/constants/analytics';\r\n\r\nexport const JobOpeningListItem = ({\r\n jobOpening,\r\n authUserId,\r\n isAthleteViewer,\r\n jobOpeningLinkProps,\r\n shouldLazyLoadLogos\r\n}) => {\r\n const { Organization: organization, PostedBy: postedBy } = jobOpening;\r\n const team = convertToTeamObject(organization, jobOpening.SportEnum);\r\n\r\n const logImpression = () => {\r\n const data = {\r\n JobOpeningId: jobOpening.JobOpeningId\r\n };\r\n\r\n if (authUserId) {\r\n data.ViewerUserId = authUserId;\r\n data.ViewerIsAthlete = isAthleteViewer;\r\n }\r\n\r\n const natsEvent = {\r\n Type: AnalyticsTypeEnum.Impression,\r\n Action: JOB_OPENINGS_ANALYTICS_LIST_ITEM_ACTION,\r\n Category: JOB_OPENINGS_ANALYTICS_CATEGORY,\r\n Data: data\r\n };\r\n\r\n logEvent(natsEvent);\r\n };\r\n\r\n const [ref, inView] = useInView({ threshold: 1, triggerOnce: true });\r\n\r\n useEffect(() => {\r\n if (inView) {\r\n logImpression();\r\n }\r\n }, [inView]);\r\n\r\n return (\r\n <IndentedListItem\r\n headerContent={<TeamDetailsDisplay team={team} options={{ lazyLoadLogo: shouldLazyLoadLogos }} />}\r\n bodyContent={\r\n <>\r\n <Heading>\r\n <WiredLink {...jobOpeningLinkProps}>{jobOpening.Title}</WiredLink>\r\n </Heading>\r\n <div className=\"mt-4\">\r\n <ReadMoreText\r\n truncateAt={175}\r\n truncateLongerThan={250}\r\n readMoreLinkProps={jobOpeningLinkProps}\r\n expandOnClick={false}\r\n readMoreLabel=\"Read more about this job opening\"\r\n >\r\n {jobOpening.Description}\r\n </ReadMoreText>\r\n </div>\r\n <div className=\"mt-6\" ref={ref}>\r\n <Stack align=\"center\" spacing=\"tight\" noWrap={true}>\r\n <Stack.Item>\r\n <UserHeadshot guid={postedBy.Guid} size=\"Small\" lazy={shouldLazyLoadLogos} />\r\n </Stack.Item>\r\n <Stack.Item fill={true}>\r\n <Caption>\r\n Posted by {postedBy.DisplayName} on {formatDate(jobOpening.DateCreatedUtc)}\r\n </Caption>\r\n </Stack.Item>\r\n </Stack>\r\n </div>\r\n </>\r\n }\r\n />\r\n );\r\n};\r\n\r\nJobOpeningListItem.propTypes = {\r\n jobOpening: PropTypes.shape({\r\n JobOpeningId: PropTypes.number.isRequired,\r\n Title: PropTypes.string.isRequired,\r\n Description: PropTypes.string.isRequired,\r\n DateCreatedUtc: PropTypes.string.isRequired,\r\n SportEnum: PropTypes.shape({\r\n Id: PropTypes.number.isRequired,\r\n Label: PropTypes.string.isRequired,\r\n Value: PropTypes.string.isRequired\r\n })\r\n }).isRequired,\r\n jobOpeningLinkProps: PropTypes.exact(WiredLink.propTypes).isRequired,\r\n shouldLazyLoadLogos: PropTypes.bool,\r\n authUserId: PropTypes.number,\r\n isAthleteViewer: PropTypes.bool\r\n};\r\n\r\nconst JobOpeningsListDisplay = ({ jobOpenings, emptyStateRendering, renderJobOpeningsListItem }) => {\r\n return (\r\n <List>\r\n {!jobOpenings.length\r\n ? emptyStateRendering\r\n : jobOpenings.map((jobOpening, idx) => (\r\n <React.Fragment key={jobOpening.JobOpeningId}>\r\n {renderJobOpeningsListItem({ jobOpening, shouldLazyLoadLogos: idx > 4 })}\r\n </React.Fragment>\r\n ))}\r\n </List>\r\n );\r\n};\r\n\r\nJobOpeningsListDisplay.propTypes = {\r\n jobOpenings: PropTypes.arrayOf(PropTypes.object).isRequired,\r\n emptyStateRendering: PropTypes.node.isRequired,\r\n renderJobOpeningsListItem: PropTypes.func.isRequired\r\n};\r\n\r\nexport default JobOpeningsListDisplay;\r\n","\"use client\";\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\n\n// src/InView.tsx\nimport * as React from \"react\";\n\n// src/observe.ts\nvar observerMap = /* @__PURE__ */ new Map();\nvar RootIds = /* @__PURE__ */ new WeakMap();\nvar rootId = 0;\nvar unsupportedValue = void 0;\nfunction defaultFallbackInView(inView) {\n unsupportedValue = inView;\n}\nfunction getRootId(root) {\n if (!root) return \"0\";\n if (RootIds.has(root)) return RootIds.get(root);\n rootId += 1;\n RootIds.set(root, rootId.toString());\n return RootIds.get(root);\n}\nfunction optionsToId(options) {\n return Object.keys(options).sort().filter(\n (key) => options[key] !== void 0\n ).map((key) => {\n return `${key}_${key === \"root\" ? getRootId(options.root) : options[key]}`;\n }).toString();\n}\nfunction createObserver(options) {\n const id = optionsToId(options);\n let instance = observerMap.get(id);\n if (!instance) {\n const elements = /* @__PURE__ */ new Map();\n let thresholds;\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n var _a;\n const inView = entry.isIntersecting && thresholds.some((threshold) => entry.intersectionRatio >= threshold);\n if (options.trackVisibility && typeof entry.isVisible === \"undefined\") {\n entry.isVisible = inView;\n }\n (_a = elements.get(entry.target)) == null ? void 0 : _a.forEach((callback) => {\n callback(inView, entry);\n });\n });\n }, options);\n thresholds = observer.thresholds || (Array.isArray(options.threshold) ? options.threshold : [options.threshold || 0]);\n instance = {\n id,\n observer,\n elements\n };\n observerMap.set(id, instance);\n }\n return instance;\n}\nfunction observe(element, callback, options = {}, fallbackInView = unsupportedValue) {\n if (typeof window.IntersectionObserver === \"undefined\" && fallbackInView !== void 0) {\n const bounds = element.getBoundingClientRect();\n callback(fallbackInView, {\n isIntersecting: fallbackInView,\n target: element,\n intersectionRatio: typeof options.threshold === \"number\" ? options.threshold : 0,\n time: 0,\n boundingClientRect: bounds,\n intersectionRect: bounds,\n rootBounds: bounds\n });\n return () => {\n };\n }\n const { id, observer, elements } = createObserver(options);\n const callbacks = elements.get(element) || [];\n if (!elements.has(element)) {\n elements.set(element, callbacks);\n }\n callbacks.push(callback);\n observer.observe(element);\n return function unobserve() {\n callbacks.splice(callbacks.indexOf(callback), 1);\n if (callbacks.length === 0) {\n elements.delete(element);\n observer.unobserve(element);\n }\n if (elements.size === 0) {\n observer.disconnect();\n observerMap.delete(id);\n }\n };\n}\n\n// src/InView.tsx\nfunction isPlainChildren(props) {\n return typeof props.children !== \"function\";\n}\nvar InView = class extends React.Component {\n constructor(props) {\n super(props);\n __publicField(this, \"node\", null);\n __publicField(this, \"_unobserveCb\", null);\n __publicField(this, \"handleNode\", (node) => {\n if (this.node) {\n this.unobserve();\n if (!node && !this.props.triggerOnce && !this.props.skip) {\n this.setState({ inView: !!this.props.initialInView, entry: void 0 });\n }\n }\n this.node = node ? node : null;\n this.observeNode();\n });\n __publicField(this, \"handleChange\", (inView, entry) => {\n if (inView && this.props.triggerOnce) {\n this.unobserve();\n }\n if (!isPlainChildren(this.props)) {\n this.setState({ inView, entry });\n }\n if (this.props.onChange) {\n this.props.onChange(inView, entry);\n }\n });\n this.state = {\n inView: !!props.initialInView,\n entry: void 0\n };\n }\n componentDidMount() {\n this.unobserve();\n this.observeNode();\n }\n componentDidUpdate(prevProps) {\n if (prevProps.rootMargin !== this.props.rootMargin || prevProps.root !== this.props.root || prevProps.threshold !== this.props.threshold || prevProps.skip !== this.props.skip || prevProps.trackVisibility !== this.props.trackVisibility || prevProps.delay !== this.props.delay) {\n this.unobserve();\n this.observeNode();\n }\n }\n componentWillUnmount() {\n this.unobserve();\n }\n observeNode() {\n if (!this.node || this.props.skip) return;\n const {\n threshold,\n root,\n rootMargin,\n trackVisibility,\n delay,\n fallbackInView\n } = this.props;\n this._unobserveCb = observe(\n this.node,\n this.handleChange,\n {\n threshold,\n root,\n rootMargin,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay\n },\n fallbackInView\n );\n }\n unobserve() {\n if (this._unobserveCb) {\n this._unobserveCb();\n this._unobserveCb = null;\n }\n }\n render() {\n const { children } = this.props;\n if (typeof children === \"function\") {\n const { inView, entry } = this.state;\n return children({ inView, entry, ref: this.handleNode });\n }\n const {\n as,\n triggerOnce,\n threshold,\n root,\n rootMargin,\n onChange,\n skip,\n trackVisibility,\n delay,\n initialInView,\n fallbackInView,\n ...props\n } = this.props;\n return React.createElement(\n as || \"div\",\n { ref: this.handleNode, ...props },\n children\n );\n }\n};\n\n// src/useInView.tsx\nimport * as React2 from \"react\";\nfunction useInView({\n threshold,\n delay,\n trackVisibility,\n rootMargin,\n root,\n triggerOnce,\n skip,\n initialInView,\n fallbackInView,\n onChange\n} = {}) {\n var _a;\n const [ref, setRef] = React2.useState(null);\n const callback = React2.useRef(onChange);\n const [state, setState] = React2.useState({\n inView: !!initialInView,\n entry: void 0\n });\n callback.current = onChange;\n React2.useEffect(\n () => {\n if (skip || !ref) return;\n let unobserve;\n unobserve = observe(\n ref,\n (inView, entry) => {\n setState({\n inView,\n entry\n });\n if (callback.current) callback.current(inView, entry);\n if (entry.isIntersecting && triggerOnce && unobserve) {\n unobserve();\n unobserve = void 0;\n }\n },\n {\n root,\n rootMargin,\n threshold,\n // @ts-ignore\n trackVisibility,\n // @ts-ignore\n delay\n },\n fallbackInView\n );\n return () => {\n if (unobserve) {\n unobserve();\n }\n };\n },\n // We break the rule here, because we aren't including the actual `threshold` variable\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n // If the threshold is an array, convert it to a string, so it won't change between renders.\n Array.isArray(threshold) ? threshold.toString() : threshold,\n ref,\n root,\n rootMargin,\n triggerOnce,\n skip,\n trackVisibility,\n fallbackInView,\n delay\n ]\n );\n const entryTarget = (_a = state.entry) == null ? void 0 : _a.target;\n const previousEntryTarget = React2.useRef(void 0);\n if (!ref && entryTarget && !triggerOnce && !skip && previousEntryTarget.current !== entryTarget) {\n previousEntryTarget.current = entryTarget;\n setState({\n inView: !!initialInView,\n entry: void 0\n });\n }\n const result = [setRef, state.inView, state.entry];\n result.ref = result[0];\n result.inView = result[1];\n result.entry = result[2];\n return result;\n}\nexport {\n InView,\n defaultFallbackInView,\n observe,\n useInView\n};\n//# sourceMappingURL=index.mjs.map"],"names":["_ref","filterDef","searchParams","useURLParams","search","prevSearchParams","useRef","useEffect","current","pageSearchParamKey","page","searchParamKey","pageRequestParamKey","requestParamKey","values","deriveValues","getSecondaryValue","_ref2","secondaryDef","disabled","selectionType","SELECTION_TYPES","multiSelect","multiSelectValue","Array","isArray","every","val","options","find","opt","value","singleSelect","secondary","reduce","acc","secondaryDefIdx","keyPrefix","deriveSecondaryKey","idx","group","groupAcc","groupItemDef","groupItemDefIdx","concat","primary","defaultValue","text","sort","requestParams","_ref3","newParams","Object","keys","key","getIsEmptyValue","getIsSecondaryKey","getIndexFromSecondaryKey","groupDefKey","UNSTABLE_getGroupIndexFromDependentSelectGroupKey","groupDef","UNSTABLE_getGroupIndexFromCheckboxGroupKey","deriveRequestParams","deriveSearchParamsOnValuesChange","_ref4","_filterDef$secondary","mergedParams","secondaryKey","groupValues","filter","valKey","startsWith","groupValAcc","groupValKey","validSearchParamKeys","i","length","hasOwn","dependencyCondition","groupIdx","forEach","changedParams","from","Set","push","includes","some","JobOpeningListItem","jobOpening","authUserId","isAthleteViewer","jobOpeningLinkProps","shouldLazyLoadLogos","Organization","organization","PostedBy","postedBy","team","convertToTeamObject","SportEnum","ref","inView","useInView","threshold","triggerOnce","logImpression","data","JobOpeningId","ViewerUserId","ViewerIsAthlete","natsEvent","Type","AnalyticsTypeEnum","Impression","Action","JOB_OPENINGS_ANALYTICS_LIST_ITEM_ACTION","Category","JOB_OPENINGS_ANALYTICS_CATEGORY","Data","logEvent","_jsx","IndentedListItem","headerContent","TeamDetailsDisplay","lazyLoadLogo","bodyContent","_jsxs","_Fragment","children","Heading","WiredLink","Title","className","ReadMoreText","truncateAt","truncateLongerThan","readMoreLinkProps","expandOnClick","readMoreLabel","Description","Stack","align","spacing","noWrap","Item","UserHeadshot","guid","Guid","size","lazy","fill","Caption","DisplayName","formatDate","DateCreatedUtc","propTypes","PropTypes","isRequired","Id","Label","Value","JobOpeningsListDisplay","jobOpenings","emptyStateRendering","renderJobOpeningsListItem","List","map","React","__defProp","defineProperty","__publicField","obj","enumerable","configurable","writable","__defNormalProp","observerMap","Map","RootIds","WeakMap","rootId","unsupportedValue","optionsToId","root","has","set","toString","get","observe","element","callback","fallbackInView","window","IntersectionObserver","bounds","getBoundingClientRect","isIntersecting","target","intersectionRatio","time","boundingClientRect","intersectionRect","rootBounds","id","observer","elements","instance","thresholds","entries","entry","_a","trackVisibility","isVisible","createObserver","callbacks","splice","indexOf","delete","unobserve","disconnect","delay","rootMargin","skip","initialInView","onChange","setRef","state","setState","entryTarget","previousEntryTarget","result"],"sourceRoot":""}