{"version":3,"sources":["../node_modules/react-use/esm/misc/util.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/react-waypoint/es/index.js","../node_modules/consolidated-events/lib/index.esm.js","../node_modules/react-waypoint/node_modules/react-is/index.js","../node_modules/react-waypoint/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/@sitecore-jss/sitecore-jss-react/dist/esm/components/Link.js","../node_modules/react-use/esm/useMedia.js"],"names":["noop","on","obj","args","_i","arguments","length","addEventListener","apply","off","removeEventListener","isBrowser","window","_toConsumableArray","arr","Array","isArray","arrayLikeToArray","iter","Symbol","iterator","from","unsupportedIterableToArray","TypeError","computeOffsetPixels","offset","contextHeight","str","pixelOffset","isNaN","parseFloat","isFinite","slice","percentOffset","parseOffsetAsPercentage","ABOVE","INSIDE","BELOW","INVISIBLE","isDOMElement","Component","type","timeout","timeoutQueue","onNextTick","cb","push","setTimeout","item","shift","isSubscribed","index","indexOf","splice","clearTimeout","hasWindow","defaultProps","debug","scrollableAncestor","undefined","children","topOffset","bottomOffset","horizontal","onEnter","onLeave","onPositionChange","fireOnRapidScroll","Waypoint","_React$PureComponent","props","_this","call","this","refElement","e","_ref","_inheritsLoose","_proto","prototype","componentDidMount","_this2","cancelOnNextTick","_this2$props","ref","Error","ensureRefIsProvidedByChild","_handleScroll","bind","_findScrollableAncestor","scrollEventListenerUnsubscribe","passive","resizeEventListenerUnsubscribe","componentDidUpdate","_this3","componentWillUnmount","_this$props","global","resolveScrollableAncestorProp","node","parentNode","document","body","style","getComputedStyle","overflow","getPropertyValue","event","bounds","_getBounds","currentPosition","viewportBottom","viewportTop","waypointTop","waypointBottom","getCurrentPosition","previousPosition","_previousPosition","_this$props2","callbackArg","contextScrollTop","_this$props3","_this$_ref$getBoundin","getBoundingClientRect","left","top","right","bottom","innerWidth","innerHeight","offsetWidth","offsetHeight","_this$props4","render","_this4","React","createElement","fontSize","isForwardRef","cloneElement","current","innerRef","PureComponent","above","below","inside","invisible","displayName","CAN_USE_DOM","memoized","canUsePassiveEventListeners","Object","defineProperty","supportsPassiveOption","opts","get","testPassiveEventListeners","ensureCanMutateNextEventHandlers","eventHandlers","handlers","nextHandlers","TargetEventHandlers","target","events","getEventHandlers","eventName","options","normalizedEventOptions","key","String","capture","once","handleEvent","forEach","handler","add","listener","EVENT_HANDLERS_KEY","eventOptions","normalizeEventOptions","module","exports","require","b","c","d","f","g","h","k","l","m","n","p","q","r","u","v","w","x","y","a","t","$$typeof","z","A","B","C","D","E","F","G","H","I","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","__rest","s","hasOwnProperty","getOwnPropertySymbols","i","propertyIsEnumerable","Link","_a","field","editable","showLinkTextWithChildrenPresent","otherProps","dynamicField","editableFirstPart","value","href","resultTags","markup","editableLastPart","htmlProps","assign","className","dangerouslySetInnerHTML","__html","link","anchorAttrs","title","rel","linkText","text","LinkPropTypes","PropTypes","oneOfType","shape","string","object","isRequired","bool","propTypes","useMedia","query","defaultState","useState","matchMedia","matches","getInitialState","state","setState","useEffect","mounted","mql","onChange","addListener","removeListener"],"mappings":";iIAAA,wIAAO,IAAIA,EAAO,aACX,SAASC,EAAGC,GAEf,IADA,IAAIC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACpCD,EAAKC,EAAK,GAAKC,UAAUD,GAEzBF,GAAOA,EAAIK,kBACXL,EAAIK,iBAAiBC,MAAMN,EAAKC,GAGjC,SAASM,EAAIP,GAEhB,IADA,IAAIC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUC,OAAQF,IACpCD,EAAKC,EAAK,GAAKC,UAAUD,GAEzBF,GAAOA,EAAIQ,qBACXR,EAAIQ,oBAAoBF,MAAMN,EAAKC,GAGpC,IAAIQ,EAA8B,qBAAXC,Q,6FCff,SAASC,EAAmBC,GACzC,OCJa,SAA4BA,GACzC,GAAIC,MAAMC,QAAQF,GAAM,OAAO,OAAAG,EAAA,GAAiBH,GDGzC,CAAkBA,IELZ,SAA0BI,GACvC,GAAsB,qBAAXC,QAAmD,MAAzBD,EAAKC,OAAOC,WAA2C,MAAtBF,EAAK,cAAuB,OAAOH,MAAMM,KAAKH,GFInF,CAAgBJ,IAAQ,OAAAQ,EAAA,GAA2BR,IGLvE,WACb,MAAM,IAAIS,UAAU,wIHIwE,K,kCIL9F,4FAyDA,SAASC,EAAoBC,EAAQC,GACnC,IAnB2BC,EAmBvBC,GAnBuBD,EAmBWF,GAlBjCI,MAAMC,WAAWH,KAASI,SAASJ,GAC/BG,WAAWH,GAGE,OAAlBA,EAAIK,OAAO,GACNF,WAAWH,EAAIK,MAAM,GAAI,SADlC,GAgBA,GAA2B,kBAAhBJ,EACT,OAAOA,EAGT,IAAIK,EA9CN,SAAiCN,GAC/B,GAAsB,MAAlBA,EAAIK,OAAO,GACb,OAAOF,WAAWH,EAAIK,MAAM,GAAI,IAAM,IA4CpBE,CAAwBT,GAE5C,MAA6B,kBAAlBQ,EACFA,EAAgBP,OADzB,EAOF,IAAIS,EAAQ,QACRC,EAAS,SACTC,EAAQ,QACRC,EAAY,YAkBhB,SAASC,EAAaC,GACpB,MAAiC,kBAAnBA,EAAUC,KAG1B,IAsDIC,EACJ,IAAIC,EAAe,GACnB,SAASC,EAAWC,GAClBF,EAAaG,KAAKD,GAEbH,IACHA,EAAUK,YAAW,WAGnB,IAAIC,EAEJ,IAJAN,EAAU,KAIHM,EAAOL,EAAaM,SACzBD,MAED,IAGL,IAAIE,GAAe,EACnB,OAAO,WACL,GAAKA,EAAL,CAIAA,GAAe,EACf,IAAIC,EAAQR,EAAaS,QAAQP,IAElB,IAAXM,IAIJR,EAAaU,OAAOF,EAAO,IAEtBR,EAAarC,QAAUoC,IAC1BY,aAAaZ,GACbA,EAAU,SAgBhB,IAAIa,EAA8B,qBAAX3C,OACnB4C,EAAe,CACjBC,OAAO,EACPC,wBAAoBC,EACpBC,cAAUD,EACVE,UAAW,MACXC,aAAc,MACdC,YAAY,EACZC,QAAS,aACTC,QAAS,aACTC,iBAAkB,aAClBC,mBAAmB,GAGjBC,EAAwB,SAAUC,GAGpC,SAASD,EAASE,GAChB,IAAIC,EAQJ,OANAA,EAAQF,EAAqBG,KAAKC,KAAMH,IAAUG,MAE5CC,WAAa,SAAUC,GAC3BJ,EAAMK,KAAOD,GAGRJ,EAXTM,YAAeT,EAAUC,GAczB,IAAIS,EAASV,EAASW,UAuStB,OArSAD,EAAOE,kBAAoB,WACzB,IAAIC,EAASR,KAERlB,IAOLkB,KAAKS,iBAAmBtC,GAAW,WACjCqC,EAAOC,iBAAmB,KAC1B,IAAIC,EAAeF,EAAOX,MACtBV,EAAWuB,EAAavB,SAChBuB,EAAa1B,OA5I/B,SAAoCG,EAAUwB,GAC5C,GAAIxB,IAAarB,EAAaqB,KAAcwB,EAC1C,MAAM,IAAIC,MAXK,mMAuJbC,CAA2B1B,EAAUqB,EAAOL,MAC5CK,EAAOM,cAAgBN,EAAOM,cAAcC,KAAKP,GACjDA,EAAOvB,mBAAqBuB,EAAOQ,0BAMnCR,EAAOS,+BAAiCnF,YAAiB0E,EAAOvB,mBAAoB,SAAUuB,EAAOM,cAAe,CAClHI,SAAS,IAEXV,EAAOW,+BAAiCrF,YAAiBK,OAAQ,SAAUqE,EAAOM,cAAe,CAC/FI,SAAS,IAGXV,EAAOM,cAAc,WAIzBT,EAAOe,mBAAqB,WAC1B,IAAIC,EAASrB,KAERlB,GAIAkB,KAAKf,qBAYNe,KAAKS,mBAITT,KAAKS,iBAAmBtC,GAAW,WACjCkD,EAAOZ,iBAAmB,KAE1BY,EAAOP,cAAc,YAIzBT,EAAOiB,qBAAuB,WACvBxC,IAIDkB,KAAKiB,gCACPjB,KAAKiB,iCAGHjB,KAAKmB,gCACPnB,KAAKmB,iCAGHnB,KAAKS,kBACPT,KAAKS,qBAaTJ,EAAOW,wBAA0B,WAC/B,IAAIO,EAAcvB,KAAKH,MACnBP,EAAaiC,EAAYjC,WACzBL,EAAqBsC,EAAYtC,mBAErC,GAAIA,EACF,OA5IN,SAAuCA,GAIrC,MAA2B,WAAvBA,EACKuC,EAAOrF,OAGT8C,EAoIIwC,CAA8BxC,GAKvC,IAFA,IAAIyC,EAAO1B,KAAKG,KAETuB,EAAKC,YAAY,CAGtB,IAFAD,EAAOA,EAAKC,cAECC,SAASC,KAEpB,OAAO1F,OAGT,IAAI2F,EAAQ3F,OAAO4F,iBAAiBL,GAEhCM,GADgB1C,EAAawC,EAAMG,iBAAiB,cAAgBH,EAAMG,iBAAiB,gBAC/DH,EAAMG,iBAAiB,YAEvD,GAAiB,SAAbD,GAAoC,WAAbA,GAAsC,YAAbA,EAClD,OAAON,EAMX,OAAOvF,QASTkE,EAAOS,cAAgB,SAAuBoB,GAC5C,GAAKlC,KAAKG,KAAV,CAKA,IAAIgC,EAASnC,KAAKoC,aAEdC,EA3PR,SAA4BF,GAC1B,OAAIA,EAAOG,eAAiBH,EAAOI,cAAgB,EAC1C1E,EAILsE,EAAOI,aAAeJ,EAAOK,aAAeL,EAAOK,aAAeL,EAAOG,gBAKzEH,EAAOI,aAAeJ,EAAOM,gBAAkBN,EAAOM,gBAAkBN,EAAOG,gBAK/EH,EAAOK,aAAeL,EAAOI,aAAeJ,EAAOG,gBAAkBH,EAAOM,eATvE9E,EAaLwE,EAAOG,eAAiBH,EAAOK,YAC1B5E,EAGLuE,EAAOK,YAAcL,EAAOI,YACvB7E,EAGFG,EA+NiB6E,CAAmBP,GACrCQ,EAAmB3C,KAAK4C,kBACxBC,EAAe7C,KAAKH,MAEpBJ,GADQoD,EAAa7D,MACF6D,EAAapD,kBAChCF,EAAUsD,EAAatD,QACvBC,EAAUqD,EAAarD,QACvBE,EAAoBmD,EAAanD,kBAUrC,GAFAM,KAAK4C,kBAAoBP,EAErBM,IAAqBN,EAAzB,CAKA,IAAIS,EAAc,CAChBT,gBAAiBA,EACjBM,iBAAkBA,EAClBT,MAAOA,EACPM,YAAaL,EAAOK,YACpBC,eAAgBN,EAAOM,eACvBF,YAAaJ,EAAOI,YACpBD,eAAgBH,EAAOG,gBAEzB7C,EAAiBM,KAAKC,KAAM8C,GAExBT,IAAoB1E,EACtB4B,EAAQQ,KAAKC,KAAM8C,GACVH,IAAqBhF,GAC9B6B,EAAQO,KAAKC,KAAM8C,GAMjBpD,IAHoBiD,IAAqB/E,GAASyE,IAAoB3E,GACpDiF,IAAqBjF,GAAS2E,IAAoBzE,KAKtE2B,EAAQQ,KAAKC,KAAM,CACjBqC,gBAAiB1E,EACjBgF,iBAAkBA,EAClBT,MAAOA,EACPM,YAAaL,EAAOK,YACpBC,eAAgBN,EAAOM,eACvBF,YAAaJ,EAAOI,YACpBD,eAAgBH,EAAOG,iBAEzB9C,EAAQO,KAAKC,KAAM,CACjBqC,gBAAiBA,EACjBM,iBAAkBhF,EAClBuE,MAAOA,EACPM,YAAaL,EAAOK,YACpBC,eAAgBN,EAAOM,eACvBF,YAAaJ,EAAOI,YACpBD,eAAgBH,EAAOG,qBAK7BjC,EAAO+B,WAAa,WAClB,IAYInF,EACA8F,EAbAC,EAAehD,KAAKH,MACpBP,EAAa0D,EAAa1D,WAG1B2D,GAFQD,EAAahE,MAEGgB,KAAKG,KAAK+C,yBAClCC,EAAOF,EAAsBE,KAC7BC,EAAMH,EAAsBG,IAC5BC,EAAQJ,EAAsBI,MAC9BC,EAASL,EAAsBK,OAE/Bd,EAAclD,EAAa6D,EAAOC,EAClCX,EAAiBnD,EAAa+D,EAAQC,EAItCtD,KAAKf,qBAAuB9C,QAC9Bc,EAAgBqC,EAAanD,OAAOoH,WAAapH,OAAOqH,YACxDT,EAAmB,IAEnB9F,EAAgBqC,EAAaU,KAAKf,mBAAmBwE,YAAczD,KAAKf,mBAAmByE,aAC3FX,EAAmBzD,EAAaU,KAAKf,mBAAmBiE,wBAAwBC,KAAOnD,KAAKf,mBAAmBiE,wBAAwBE,KAUzI,IAAIO,EAAe3D,KAAKH,MACpBR,EAAesE,EAAatE,aAKhC,MAAO,CACLmD,YAAaA,EACbC,eAAgBA,EAChBF,YAAaQ,EANGhG,EADF4G,EAAavE,UACoBnC,GAO/CqF,eALkBS,EAAmB9F,EADlBF,EAAoBsC,EAAcpC,KAczDoD,EAAOuD,OAAS,WACd,IAAIC,EAAS7D,KAETb,EAAWa,KAAKH,MAAMV,SAE1B,IAAKA,EAGH,OAAoB2E,IAAMC,cAAc,OAAQ,CAC9CpD,IAAKX,KAAKC,WACV6B,MAAO,CACLkC,SAAU,KAKhB,GAAIlG,EAAaqB,IAAa8E,uBAAa9E,GAAW,CAapD,OAAoB2E,IAAMI,aAAa/E,EAAU,CAC/CwB,IAbQ,SAAae,GACrBmC,EAAO5D,WAAWyB,GAEdvC,EAASwB,MACiB,oBAAjBxB,EAASwB,IAClBxB,EAASwB,IAAIe,GAEbvC,EAASwB,IAAIwD,QAAUzC,MAU/B,OAAoBoC,IAAMI,aAAa/E,EAAU,CAC/CiF,SAAUpE,KAAKC,cAIZN,EAtTmB,CAuT1BmE,IAAMO,eAiCR1E,EAAS2E,MAAQ5G,EACjBiC,EAAS4E,MAAQ3G,EACjB+B,EAAS6E,OAAS7G,EAClBgC,EAAS8E,UAAY5G,EACrB8B,EAASZ,aAAeA,EACxBY,EAAS+E,YAAc,a,mDCrjBvB,sCAAIC,IAAmC,qBAAXxI,SAA0BA,OAAOyF,WAAYzF,OAAOyF,SAASmC,eAmCzF,IAAIa,OAAW,EAEf,SAASC,IAIP,YAHiB3F,IAAb0F,IACFA,EAnCJ,WACE,IAAKD,EACH,OAAO,EAGT,IAAKxI,OAAOL,mBAAqBK,OAAOF,sBAAwB6I,OAAOC,eACrE,OAAO,EAGT,IAAIC,GAAwB,EAC5B,IACE,IAAIC,EAAOH,OAAOC,eAAe,GAAI,UAAW,CAE9CG,IACE,WACEF,GAAwB,KAM1BzJ,EAAO,aACXY,OAAOL,iBAAiB,0BAA2BP,EAAM0J,GACzD9I,OAAOF,oBAAoB,0BAA2BV,EAAM0J,GAC5D,MAAO/E,IAIT,OAAO8E,EAOMG,IAENP,EAiDT,SAASQ,EAAiCC,GACpCA,EAAcC,WAAaD,EAAcE,eAE3CF,EAAcE,aAAeF,EAAcC,SAAS/H,SAIxD,SAASiI,EAAoBC,GAC3BzF,KAAKyF,OAASA,EACdzF,KAAK0F,OAAS,GAGhBF,EAAoBlF,UAAUqF,iBAC5B,SAA0BC,EAAWC,GACnC,IAvCqBC,EAuCjBC,EAAMC,OAAOJ,GAAa,IAAMI,QAvCfF,EAuCsCD,IAhC9B,IAA3BC,EACK,KAWKA,EAAuBG,SAAW,IAClCH,EAAuB5E,SAAW,IACrC4E,EAAuBI,MAAQ,GAnBjC,GA+CP,OARKlG,KAAK0F,OAAOK,KACf/F,KAAK0F,OAAOK,GAAO,CACjBT,SAAU,GACVa,iBAAajH,GAEfc,KAAK0F,OAAOK,GAAKR,aAAevF,KAAK0F,OAAOK,GAAKT,UAG5CtF,KAAK0F,OAAOK,IAMvBP,EAAoBlF,UAAU6F,YAC5B,SAAqBP,EAAWC,EAAS3D,GACvC,IAAImD,EAAgBrF,KAAK2F,iBAAiBC,EAAWC,GACrDR,EAAcC,SAAWD,EAAcE,aACvCF,EAAcC,SAASc,SAAQ,SAAUC,GACnCA,GAKFA,EAAQnE,OAQhBsD,EAAoBlF,UAAUgG,IAC5B,SAAaV,EAAWW,EAAUV,GAChC,IAAI/F,EAAQE,KAGRqF,EAAgBrF,KAAK2F,iBAAiBC,EAAWC,GAErDT,EAAiCC,GAES,IAAtCA,EAAcE,aAAa1J,SAC7BwJ,EAAcc,YAAcnG,KAAKmG,YAAYpF,KAAKf,KAAM4F,EAAWC,GAEnE7F,KAAKyF,OAAO3J,iBAAiB8J,EAAWP,EAAcc,YAAaN,IAGrER,EAAcE,aAAalH,KAAKkI,GAEhC,IAAI9H,GAAe,EAgCnB,OA9BE,WACE,GAAKA,EAAL,CAIAA,GAAe,EAEf2G,EAAiCC,GACjC,IAAI3G,EAAQ2G,EAAcE,aAAa5G,QAAQ4H,GAC/ClB,EAAcE,aAAa3G,OAAOF,EAAO,GAEC,IAAtC2G,EAAcE,aAAa1J,SAIzBiE,EAAM2F,QAMR3F,EAAM2F,OAAOxJ,oBAAoB2J,EAAWP,EAAcc,YAAaN,GAGzER,EAAcc,iBAAcjH,MAYtC,IAAIsH,EAAqB,mCAGzB,SAAS1K,EAAiB2J,EAAQG,EAAWW,EAAUV,GAChDJ,EAAOe,KAEVf,EAAOe,GAAsB,IAAIhB,EAAoBC,IAEvD,IAAIK,EA7JN,SAA+BW,GAC7B,GAAKA,EAIL,OAAK5B,IAQE4B,IAHIA,EAAaR,QAmJKS,CAAsBb,GACnD,OAAOJ,EAAOe,GAAoBF,IAAIV,EAAWW,EAAUT,K,iCCvM3Da,EAAOC,QAAUC,EAAQ,M,iCCKd,IAAIC,EAAE,MAAMC,EAAE,MAAMC,EAAE,MAAM9G,EAAE,MAAM+G,EAAE,MAAMC,EAAE,MAAMC,EAAE,MAAMC,EAAE,MAAMC,EAAE,MAAMC,EAAE,MAAMC,EAAE,MAAMC,EAAE,MAAMC,EAAE,MAAMC,EAAE,MAAMC,EAAE,MAAMC,EAAE,MAAMC,EAAE,MACnJ,GAAG,oBAAoBnL,QAAQA,OAAM,IAAK,CAAC,IAAIoL,EAAEpL,OAAM,IAAKoK,EAAEgB,EAAE,iBAAiBf,EAAEe,EAAE,gBAAgBd,EAAEc,EAAE,kBAAkB5H,EAAE4H,EAAE,qBAAqBb,EAAEa,EAAE,kBAAkBZ,EAAEY,EAAE,kBAAkBX,EAAEW,EAAE,iBAAiBV,EAAEU,EAAE,qBAAqBT,EAAES,EAAE,kBAAkBR,EAAEQ,EAAE,uBAAuBP,EAAEO,EAAE,cAAcN,EAAEM,EAAE,cAAcL,EAAEK,EAAE,eAAeJ,EAAEI,EAAE,sBAAsBH,EAAEG,EAAE,qBAAqBF,EAAEE,EAAE,0BAA0BD,EAAEC,EAAE,uBAC3a,SAASC,EAAEC,GAAG,GAAG,kBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAIC,EAAED,EAAEE,SAAS,OAAOD,GAAG,KAAKnB,EAAE,OAAOkB,EAAEA,EAAEhK,MAAQ,KAAKgJ,EAAE,KAAKC,EAAE,KAAK/G,EAAE,KAAKmH,EAAE,KAAKC,EAAE,OAAOU,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAEE,UAAY,KAAKf,EAAE,KAAKC,EAAE,KAAKI,EAAE,KAAKD,EAAE,KAAKL,EAAE,OAAOc,EAAE,QAAQ,OAAOC,GAAG,KAAKlB,EAAE,OAAOkB,IAAI,IAAIE,EAAEjB,EAAEkB,EAAEtB,EAAEuB,EAAEjB,EAAEkB,EAAEtB,EAAEuB,EAAEf,EAAEgB,EAAEjB,EAAEkB,EAAE1B,EAAE2B,EAAEzB,EAAE0B,EAAEzI,EAAE0I,EAAEvB,EAAET,EAAQiC,gBAAgB1B,EAAEP,EAAQkC,gBAAgBX,EAAEvB,EAAQmC,QAAQX,EAAExB,EAAQoC,WAAWX,EAAEzB,EAAQqC,SAASX,EAAE1B,EAAQsC,KAAKX,EAAE3B,EAAQuC,KAAKX,EAAE5B,EAAQwC,OAAOX,EAAE7B,EAAQyC,SAASX,EAAE9B,EAAQ0C,WAAWX,EAClf/B,EAAQ2C,SAASX,EAAEhC,EAAQ4C,YAAY,WAAW,OAAM,GAAI5C,EAAQ6C,iBAAiB,WAAW,OAAM,GAAI7C,EAAQ8C,kBAAkB,SAAS1B,GAAG,OAAOD,EAAEC,KAAKb,GAAGP,EAAQ+C,kBAAkB,SAAS3B,GAAG,OAAOD,EAAEC,KAAKd,GAAGN,EAAQgD,UAAU,SAAS5B,GAAG,MAAM,kBAAkBA,GAAG,OAAOA,GAAGA,EAAEE,WAAWpB,GAAGF,EAAQ3C,aAAa,SAAS+D,GAAG,OAAOD,EAAEC,KAAKZ,GAAGR,EAAQiD,WAAW,SAAS7B,GAAG,OAAOD,EAAEC,KAAKhB,GAAGJ,EAAQkD,OAAO,SAAS9B,GAAG,OAAOD,EAAEC,KAAKR,GAAGZ,EAAQmD,OAAO,SAAS/B,GAAG,OAAOD,EAAEC,KAAKT,GACleX,EAAQoD,SAAS,SAAShC,GAAG,OAAOD,EAAEC,KAAKjB,GAAGH,EAAQqD,WAAW,SAASjC,GAAG,OAAOD,EAAEC,KAAKf,GAAGL,EAAQsD,aAAa,SAASlC,GAAG,OAAOD,EAAEC,KAAK9H,GAAG0G,EAAQuD,WAAW,SAASnC,GAAG,OAAOD,EAAEC,KAAKX,GAAGT,EAAQwD,mBAAmB,SAASpC,GAAG,MAAM,kBAAkBA,GAAG,oBAAoBA,GAAGA,IAAIhB,GAAGgB,IAAIf,GAAGe,IAAIJ,GAAGI,IAAI9H,GAAG8H,IAAIX,GAAGW,IAAIV,GAAGU,IAAIH,GAAG,kBAAkBG,GAAG,OAAOA,IAAIA,EAAEE,WAAWV,GAAGQ,EAAEE,WAAWX,GAAGS,EAAEE,WAAWhB,GAAGc,EAAEE,WAAWf,GAAGa,EAAEE,WAAWd,GAAGY,EAAEE,WAAWP,GAAGK,EAAEE,WAAWT,GAAGO,EAAE,KAAKN,IACjed,EAAQyD,OAAOtC,G,iCCbf,uEAAIuC,EAAkC,SAAUC,EAAGrK,GAC/C,IAAI+H,EAAI,GACR,IAAK,IAAIT,KAAK+C,EAAOzF,OAAOxE,UAAUkK,eAAezK,KAAKwK,EAAG/C,IAAMtH,EAAEvB,QAAQ6I,GAAK,IAC9ES,EAAET,GAAK+C,EAAE/C,IACb,GAAS,MAAL+C,GAAqD,oBAAjCzF,OAAO2F,sBACtB,KAAIC,EAAI,EAAb,IAAgBlD,EAAI1C,OAAO2F,sBAAsBF,GAAIG,EAAIlD,EAAE3L,OAAQ6O,IAC3DxK,EAAEvB,QAAQ6I,EAAEkD,IAAM,GAAK5F,OAAOxE,UAAUqK,qBAAqB5K,KAAKwK,EAAG/C,EAAEkD,MACvEzC,EAAET,EAAEkD,IAAMH,EAAE/C,EAAEkD,KAE1B,OAAOzC,GAIE2C,EAAO,SAACC,GACjB,IAAMC,EAA+DD,EAA/DC,MAAOC,EAAwDF,EAAxDE,SAAU5L,EAA8C0L,EAA9C1L,SAAU6L,EAAoCH,EAApCG,gCAAwCC,EAAaX,EAAOO,EAAI,CAAC,QAAS,WAAY,WAAY,oCAC7HK,EAAeJ,EACrB,IAAKA,IACCI,EAAaC,oBACVD,EAAaE,QACbF,EAAaG,KAClB,OAAO,KAEX,IAAMC,EAAa,GAEnB,GAAIP,GAAYG,EAAaC,kBAAmB,CAC5C,IAAMI,EAASL,EAAaC,kBAAoBD,EAAaM,iBAKvDC,EAAY3G,OAAO4G,OAAO5G,OAAO4G,OAAO,CAAEC,UAAW,kBAAmBC,wBAAyB,CAC/FC,OAAQN,IACPN,GAAa,CAAElF,IAAK,aAI7B,GAHAuF,EAAWjN,KAAKyF,IAAMC,cAAc,OAAQe,OAAO4G,OAAO,GAAID,MAGzDtM,EACD,OAAOmM,EAAW,GAI1B,IAAMQ,EAAOZ,EAAaG,KACpBP,EACAI,EAAaE,MACnB,IAAKU,EACD,OAAO,KAEX,IAAMC,EAAc,CAChBV,KAAMS,EAAKT,KACXM,UAAWG,EAAI,MACfE,MAAOF,EAAKE,MACZvG,OAAQqG,EAAKrG,QAEU,WAAvBsG,EAAYtG,QAAwBsG,EAAYE,MAEhDF,EAAYE,IAAM,uBAEtB,IAAMC,EAAWlB,IAAoC7L,EAAW2M,EAAKK,MAAQL,EAAKT,KAAO,KAEzF,OADAC,EAAWjN,KAAKyF,IAAMC,cAAc,IAAKe,OAAO4G,OAAO5G,OAAO4G,OAAO5G,OAAO4G,OAAO,GAAIK,GAAcd,GAAa,CAAElF,IAAK,SAAWmG,EAAU/M,IACvI2E,IAAMC,cAAcD,IAAMmF,SAAU,KAAMqC,IAExCc,EAAgB,CACzBtB,MAAOuB,IAAUC,UAAU,CACvBD,IAAUE,MAAM,CACZlB,KAAMgB,IAAUG,SAEpBH,IAAUE,MAAM,CACZnB,MAAOiB,IAAUI,OACjBtB,kBAAmBkB,IAAUG,OAC7BhB,iBAAkBa,IAAUG,WAEjCE,WACH3B,SAAUsB,IAAUM,KACpBxN,SAAUkN,IAAU3K,KACpBsJ,gCAAiCqB,IAAUM,MAE/C/B,EAAKgC,UAAYR,EACjBxB,EAAK7L,aAAe,CAChBgM,UAAU,GAEdH,EAAKlG,YAAc,Q,iCChFnB,oBAoCemI,IApBA,SAAUC,EAAOC,GAC5B,IAAIlC,EAAKmC,mBAfS,SAAUF,EAAOC,GAEnC,YAAqB7N,IAAjB6N,EACOA,IAEP7Q,KACOC,OAAO8Q,WAAWH,GAAOI,QASlBC,CAAgBL,EAAOC,IAAgBK,EAAQvC,EAAG,GAAIwC,EAAWxC,EAAG,GAiBtF,OAhBAyC,qBAAU,WACN,IAAIC,GAAU,EACVC,EAAMrR,OAAO8Q,WAAWH,GACxBW,EAAW,WACNF,GAGLF,IAAWG,EAAIN,UAInB,OAFAM,EAAIE,YAAYD,GAChBJ,EAASG,EAAIN,SACN,WACHK,GAAU,EACVC,EAAIG,eAAeF,MAExB,CAACX,IACGM","file":"static/js/121.a7e6e28b.chunk.js","sourcesContent":["export var noop = function () { };\nexport function on(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.addEventListener) {\n obj.addEventListener.apply(obj, args);\n }\n}\nexport function off(obj) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (obj && obj.removeEventListener) {\n obj.removeEventListener.apply(obj, args);\n }\n}\nexport var isBrowser = typeof window !== 'undefined';\nexport var isNavigator = typeof navigator !== 'undefined';\n","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport { addEventListener } from 'consolidated-events';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { isForwardRef } from 'react-is';\n\n/**\n * Attempts to parse the offset provided as a prop as a percentage. For\n * instance, if the component has been provided with the string \"20%\" as\n * a value of one of the offset props. If the value matches, then it returns\n * a numeric version of the prop. For instance, \"20%\" would become `0.2`.\n * If `str` isn't a percentage, then `undefined` will be returned.\n *\n * @param {string} str The value of an offset prop to be converted to a\n * number.\n * @return {number|undefined} The numeric version of `str`. Undefined if `str`\n * was not a percentage.\n */\nfunction parseOffsetAsPercentage(str) {\n if (str.slice(-1) === '%') {\n return parseFloat(str.slice(0, -1)) / 100;\n }\n\n return undefined;\n}\n\n/**\n * Attempts to parse the offset provided as a prop as a pixel value. If\n * parsing fails, then `undefined` is returned. Three examples of values that\n * will be successfully parsed are:\n * `20`\n * \"20px\"\n * \"20\"\n *\n * @param {string|number} str A string of the form \"{number}\" or \"{number}px\",\n * or just a number.\n * @return {number|undefined} The numeric version of `str`. Undefined if `str`\n * was neither a number nor string ending in \"px\".\n */\nfunction parseOffsetAsPixels(str) {\n if (!isNaN(parseFloat(str)) && isFinite(str)) {\n return parseFloat(str);\n }\n\n if (str.slice(-2) === 'px') {\n return parseFloat(str.slice(0, -2));\n }\n\n return undefined;\n}\n\n/**\n * @param {string|number} offset\n * @param {number} contextHeight\n * @return {number} A number representing `offset` converted into pixels.\n */\n\nfunction computeOffsetPixels(offset, contextHeight) {\n var pixelOffset = parseOffsetAsPixels(offset);\n\n if (typeof pixelOffset === 'number') {\n return pixelOffset;\n }\n\n var percentOffset = parseOffsetAsPercentage(offset);\n\n if (typeof percentOffset === 'number') {\n return percentOffset * contextHeight;\n }\n\n return undefined;\n}\n\nvar ABOVE = 'above';\nvar INSIDE = 'inside';\nvar BELOW = 'below';\nvar INVISIBLE = 'invisible';\n\nfunction debugLog() {\n if (process.env.NODE_ENV !== 'production') {\n var _console;\n\n (_console = console).log.apply(_console, arguments); // eslint-disable-line no-console\n\n }\n}\n\n/**\n * When an element's type is a string, it represents a DOM node with that tag name\n * https://facebook.github.io/react/blog/2015/12/18/react-components-elements-and-instances.html#dom-elements\n *\n * @param {React.element} Component\n * @return {bool} Whether the component is a DOM Element\n */\nfunction isDOMElement(Component) {\n return typeof Component.type === 'string';\n}\n\nvar errorMessage = ' needs a DOM element to compute boundaries. The child you passed is neither a ' + 'DOM element (e.g.
) nor does it use the innerRef prop.\\n\\n' + 'See https://goo.gl/LrBNgw for more info.';\n/**\n * Raise an error if \"children\" is not a DOM Element and there is no ref provided to Waypoint\n *\n * @param {?React.element} children\n * @param {?HTMLElement} ref\n * @return {undefined}\n */\n\nfunction ensureRefIsProvidedByChild(children, ref) {\n if (children && !isDOMElement(children) && !ref) {\n throw new Error(errorMessage);\n }\n}\n\n/**\n * @param {object} bounds An object with bounds data for the waypoint and\n * scrollable parent\n * @return {string} The current position of the waypoint in relation to the\n * visible portion of the scrollable parent. One of the constants `ABOVE`,\n * `BELOW`, `INSIDE` or `INVISIBLE`.\n */\n\nfunction getCurrentPosition(bounds) {\n if (bounds.viewportBottom - bounds.viewportTop === 0) {\n return INVISIBLE;\n } // top is within the viewport\n\n\n if (bounds.viewportTop <= bounds.waypointTop && bounds.waypointTop <= bounds.viewportBottom) {\n return INSIDE;\n } // bottom is within the viewport\n\n\n if (bounds.viewportTop <= bounds.waypointBottom && bounds.waypointBottom <= bounds.viewportBottom) {\n return INSIDE;\n } // top is above the viewport and bottom is below the viewport\n\n\n if (bounds.waypointTop <= bounds.viewportTop && bounds.viewportBottom <= bounds.waypointBottom) {\n return INSIDE;\n }\n\n if (bounds.viewportBottom < bounds.waypointTop) {\n return BELOW;\n }\n\n if (bounds.waypointTop < bounds.viewportTop) {\n return ABOVE;\n }\n\n return INVISIBLE;\n}\n\nvar timeout;\nvar timeoutQueue = [];\nfunction onNextTick(cb) {\n timeoutQueue.push(cb);\n\n if (!timeout) {\n timeout = setTimeout(function () {\n timeout = null; // Drain the timeoutQueue\n\n var item; // eslint-disable-next-line no-cond-assign\n\n while (item = timeoutQueue.shift()) {\n item();\n }\n }, 0);\n }\n\n var isSubscribed = true;\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n var index = timeoutQueue.indexOf(cb);\n\n if (index === -1) {\n return;\n }\n\n timeoutQueue.splice(index, 1);\n\n if (!timeoutQueue.length && timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n };\n}\n\nfunction resolveScrollableAncestorProp(scrollableAncestor) {\n // When Waypoint is rendered on the server, `window` is not available.\n // To make Waypoint easier to work with, we allow this to be specified in\n // string form and safely convert to `window` here.\n if (scrollableAncestor === 'window') {\n return global.window;\n }\n\n return scrollableAncestor;\n}\n\nvar hasWindow = typeof window !== 'undefined';\nvar defaultProps = {\n debug: false,\n scrollableAncestor: undefined,\n children: undefined,\n topOffset: '0px',\n bottomOffset: '0px',\n horizontal: false,\n onEnter: function onEnter() {},\n onLeave: function onLeave() {},\n onPositionChange: function onPositionChange() {},\n fireOnRapidScroll: true\n}; // Calls a function when you scroll to the element.\n\nvar Waypoint = /*#__PURE__*/function (_React$PureComponent) {\n _inheritsLoose(Waypoint, _React$PureComponent);\n\n function Waypoint(props) {\n var _this;\n\n _this = _React$PureComponent.call(this, props) || this;\n\n _this.refElement = function (e) {\n _this._ref = e;\n };\n\n return _this;\n }\n\n var _proto = Waypoint.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n if (!hasWindow) {\n return;\n } // this._ref may occasionally not be set at this time. To help ensure that\n // this works smoothly and to avoid layout thrashing, we want to delay the\n // initial execution until the next tick.\n\n\n this.cancelOnNextTick = onNextTick(function () {\n _this2.cancelOnNextTick = null;\n var _this2$props = _this2.props,\n children = _this2$props.children,\n debug = _this2$props.debug; // Berofe doing anything, we want to check that this._ref is avaliable in Waypoint\n\n ensureRefIsProvidedByChild(children, _this2._ref);\n _this2._handleScroll = _this2._handleScroll.bind(_this2);\n _this2.scrollableAncestor = _this2._findScrollableAncestor();\n\n if (process.env.NODE_ENV !== 'production' && debug) {\n debugLog('scrollableAncestor', _this2.scrollableAncestor);\n }\n\n _this2.scrollEventListenerUnsubscribe = addEventListener(_this2.scrollableAncestor, 'scroll', _this2._handleScroll, {\n passive: true\n });\n _this2.resizeEventListenerUnsubscribe = addEventListener(window, 'resize', _this2._handleScroll, {\n passive: true\n });\n\n _this2._handleScroll(null);\n });\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n var _this3 = this;\n\n if (!hasWindow) {\n return;\n }\n\n if (!this.scrollableAncestor) {\n // The Waypoint has not yet initialized.\n return;\n } // The element may have moved, so we need to recompute its position on the\n // page. This happens via handleScroll in a way that forces layout to be\n // computed.\n //\n // We want this to be deferred to avoid forcing layout during render, which\n // causes layout thrashing. And, if we already have this work enqueued, we\n // can just wait for that to happen instead of enqueueing again.\n\n\n if (this.cancelOnNextTick) {\n return;\n }\n\n this.cancelOnNextTick = onNextTick(function () {\n _this3.cancelOnNextTick = null;\n\n _this3._handleScroll(null);\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (!hasWindow) {\n return;\n }\n\n if (this.scrollEventListenerUnsubscribe) {\n this.scrollEventListenerUnsubscribe();\n }\n\n if (this.resizeEventListenerUnsubscribe) {\n this.resizeEventListenerUnsubscribe();\n }\n\n if (this.cancelOnNextTick) {\n this.cancelOnNextTick();\n }\n }\n /**\n * Traverses up the DOM to find an ancestor container which has an overflow\n * style that allows for scrolling.\n *\n * @return {Object} the closest ancestor element with an overflow style that\n * allows for scrolling. If none is found, the `window` object is returned\n * as a fallback.\n */\n ;\n\n _proto._findScrollableAncestor = function _findScrollableAncestor() {\n var _this$props = this.props,\n horizontal = _this$props.horizontal,\n scrollableAncestor = _this$props.scrollableAncestor;\n\n if (scrollableAncestor) {\n return resolveScrollableAncestorProp(scrollableAncestor);\n }\n\n var node = this._ref;\n\n while (node.parentNode) {\n node = node.parentNode;\n\n if (node === document.body) {\n // We've reached all the way to the root node.\n return window;\n }\n\n var style = window.getComputedStyle(node);\n var overflowDirec = horizontal ? style.getPropertyValue('overflow-x') : style.getPropertyValue('overflow-y');\n var overflow = overflowDirec || style.getPropertyValue('overflow');\n\n if (overflow === 'auto' || overflow === 'scroll' || overflow === 'overlay') {\n return node;\n }\n } // A scrollable ancestor element was not found, which means that we need to\n // do stuff on window.\n\n\n return window;\n }\n /**\n * @param {Object} event the native scroll event coming from the scrollable\n * ancestor, or resize event coming from the window. Will be undefined if\n * called by a React lifecyle method\n */\n ;\n\n _proto._handleScroll = function _handleScroll(event) {\n if (!this._ref) {\n // There's a chance we end up here after the component has been unmounted.\n return;\n }\n\n var bounds = this._getBounds();\n\n var currentPosition = getCurrentPosition(bounds);\n var previousPosition = this._previousPosition;\n var _this$props2 = this.props,\n debug = _this$props2.debug,\n onPositionChange = _this$props2.onPositionChange,\n onEnter = _this$props2.onEnter,\n onLeave = _this$props2.onLeave,\n fireOnRapidScroll = _this$props2.fireOnRapidScroll;\n\n if (process.env.NODE_ENV !== 'production' && debug) {\n debugLog('currentPosition', currentPosition);\n debugLog('previousPosition', previousPosition);\n } // Save previous position as early as possible to prevent cycles\n\n\n this._previousPosition = currentPosition;\n\n if (previousPosition === currentPosition) {\n // No change since last trigger\n return;\n }\n\n var callbackArg = {\n currentPosition: currentPosition,\n previousPosition: previousPosition,\n event: event,\n waypointTop: bounds.waypointTop,\n waypointBottom: bounds.waypointBottom,\n viewportTop: bounds.viewportTop,\n viewportBottom: bounds.viewportBottom\n };\n onPositionChange.call(this, callbackArg);\n\n if (currentPosition === INSIDE) {\n onEnter.call(this, callbackArg);\n } else if (previousPosition === INSIDE) {\n onLeave.call(this, callbackArg);\n }\n\n var isRapidScrollDown = previousPosition === BELOW && currentPosition === ABOVE;\n var isRapidScrollUp = previousPosition === ABOVE && currentPosition === BELOW;\n\n if (fireOnRapidScroll && (isRapidScrollDown || isRapidScrollUp)) {\n // If the scroll event isn't fired often enough to occur while the\n // waypoint was visible, we trigger both callbacks anyway.\n onEnter.call(this, {\n currentPosition: INSIDE,\n previousPosition: previousPosition,\n event: event,\n waypointTop: bounds.waypointTop,\n waypointBottom: bounds.waypointBottom,\n viewportTop: bounds.viewportTop,\n viewportBottom: bounds.viewportBottom\n });\n onLeave.call(this, {\n currentPosition: currentPosition,\n previousPosition: INSIDE,\n event: event,\n waypointTop: bounds.waypointTop,\n waypointBottom: bounds.waypointBottom,\n viewportTop: bounds.viewportTop,\n viewportBottom: bounds.viewportBottom\n });\n }\n };\n\n _proto._getBounds = function _getBounds() {\n var _this$props3 = this.props,\n horizontal = _this$props3.horizontal,\n debug = _this$props3.debug;\n\n var _this$_ref$getBoundin = this._ref.getBoundingClientRect(),\n left = _this$_ref$getBoundin.left,\n top = _this$_ref$getBoundin.top,\n right = _this$_ref$getBoundin.right,\n bottom = _this$_ref$getBoundin.bottom;\n\n var waypointTop = horizontal ? left : top;\n var waypointBottom = horizontal ? right : bottom;\n var contextHeight;\n var contextScrollTop;\n\n if (this.scrollableAncestor === window) {\n contextHeight = horizontal ? window.innerWidth : window.innerHeight;\n contextScrollTop = 0;\n } else {\n contextHeight = horizontal ? this.scrollableAncestor.offsetWidth : this.scrollableAncestor.offsetHeight;\n contextScrollTop = horizontal ? this.scrollableAncestor.getBoundingClientRect().left : this.scrollableAncestor.getBoundingClientRect().top;\n }\n\n if (process.env.NODE_ENV !== 'production' && debug) {\n debugLog('waypoint top', waypointTop);\n debugLog('waypoint bottom', waypointBottom);\n debugLog('scrollableAncestor height', contextHeight);\n debugLog('scrollableAncestor scrollTop', contextScrollTop);\n }\n\n var _this$props4 = this.props,\n bottomOffset = _this$props4.bottomOffset,\n topOffset = _this$props4.topOffset;\n var topOffsetPx = computeOffsetPixels(topOffset, contextHeight);\n var bottomOffsetPx = computeOffsetPixels(bottomOffset, contextHeight);\n var contextBottom = contextScrollTop + contextHeight;\n return {\n waypointTop: waypointTop,\n waypointBottom: waypointBottom,\n viewportTop: contextScrollTop + topOffsetPx,\n viewportBottom: contextBottom - bottomOffsetPx\n };\n }\n /**\n * @return {Object}\n */\n ;\n\n _proto.render = function render() {\n var _this4 = this;\n\n var children = this.props.children;\n\n if (!children) {\n // We need an element that we can locate in the DOM to determine where it is\n // rendered relative to the top of its context.\n return /*#__PURE__*/React.createElement(\"span\", {\n ref: this.refElement,\n style: {\n fontSize: 0\n }\n });\n }\n\n if (isDOMElement(children) || isForwardRef(children)) {\n var ref = function ref(node) {\n _this4.refElement(node);\n\n if (children.ref) {\n if (typeof children.ref === 'function') {\n children.ref(node);\n } else {\n children.ref.current = node;\n }\n }\n };\n\n return /*#__PURE__*/React.cloneElement(children, {\n ref: ref\n });\n }\n\n return /*#__PURE__*/React.cloneElement(children, {\n innerRef: this.refElement\n });\n };\n\n return Waypoint;\n}(React.PureComponent);\n\nif (process.env.NODE_ENV !== 'production') {\n Waypoint.propTypes = {\n children: PropTypes.element,\n debug: PropTypes.bool,\n onEnter: PropTypes.func,\n onLeave: PropTypes.func,\n onPositionChange: PropTypes.func,\n fireOnRapidScroll: PropTypes.bool,\n // eslint-disable-next-line react/forbid-prop-types\n scrollableAncestor: PropTypes.any,\n horizontal: PropTypes.bool,\n // `topOffset` can either be a number, in which case its a distance from the\n // top of the container in pixels, or a string value. Valid string values are\n // of the form \"20px\", which is parsed as pixels, or \"20%\", which is parsed\n // as a percentage of the height of the containing element.\n // For instance, if you pass \"-20%\", and the containing element is 100px tall,\n // then the waypoint will be triggered when it has been scrolled 20px beyond\n // the top of the containing element.\n topOffset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n // `bottomOffset` can either be a number, in which case its a distance from the\n // bottom of the container in pixels, or a string value. Valid string values are\n // of the form \"20px\", which is parsed as pixels, or \"20%\", which is parsed\n // as a percentage of the height of the containing element.\n // For instance, if you pass \"20%\", and the containing element is 100px tall,\n // then the waypoint will be triggered when it has been scrolled 20px beyond\n // the bottom of the containing element.\n // Similar to `topOffset`, but for the bottom of the container.\n bottomOffset: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n };\n}\n\nWaypoint.above = ABOVE;\nWaypoint.below = BELOW;\nWaypoint.inside = INSIDE;\nWaypoint.invisible = INVISIBLE;\nWaypoint.defaultProps = defaultProps;\nWaypoint.displayName = 'Waypoint';\n\nexport { Waypoint };\n","var CAN_USE_DOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n// Adapted from Modernizr\n// https://github.com/Modernizr/Modernizr/blob/acb3f0d9/feature-detects/dom/passiveeventlisteners.js#L26-L37\nfunction testPassiveEventListeners() {\n if (!CAN_USE_DOM) {\n return false;\n }\n\n if (!window.addEventListener || !window.removeEventListener || !Object.defineProperty) {\n return false;\n }\n\n var supportsPassiveOption = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line getter-return\n get: function () {\n function get() {\n supportsPassiveOption = true;\n }\n\n return get;\n }()\n });\n var noop = function noop() {};\n window.addEventListener('testPassiveEventSupport', noop, opts);\n window.removeEventListener('testPassiveEventSupport', noop, opts);\n } catch (e) {\n // do nothing\n }\n\n return supportsPassiveOption;\n}\n\nvar memoized = void 0;\n\nfunction canUsePassiveEventListeners() {\n if (memoized === undefined) {\n memoized = testPassiveEventListeners();\n }\n return memoized;\n}\n\nfunction normalizeEventOptions(eventOptions) {\n if (!eventOptions) {\n return undefined;\n }\n\n if (!canUsePassiveEventListeners()) {\n // If the browser does not support the passive option, then it is expecting\n // a boolean for the options argument to specify whether it should use\n // capture or not. In more modern browsers, this is passed via the `capture`\n // option, so let's just hoist that value up.\n return !!eventOptions.capture;\n }\n\n return eventOptions;\n}\n\n/* eslint-disable no-bitwise */\n\n/**\n * Generate a unique key for any set of event options\n */\nfunction eventOptionsKey(normalizedEventOptions) {\n if (!normalizedEventOptions) {\n return 0;\n }\n\n // If the browser does not support passive event listeners, the normalized\n // event options will be a boolean.\n if (normalizedEventOptions === true) {\n return 100;\n }\n\n // At this point, the browser supports passive event listeners, so we expect\n // the event options to be an object with possible properties of capture,\n // passive, and once.\n //\n // We want to consistently return the same value, regardless of the order of\n // these properties, so let's use binary maths to assign each property to a\n // bit, and then add those together (with an offset to account for the\n // booleans at the beginning of this function).\n var capture = normalizedEventOptions.capture << 0;\n var passive = normalizedEventOptions.passive << 1;\n var once = normalizedEventOptions.once << 2;\n return capture + passive + once;\n}\n\nfunction ensureCanMutateNextEventHandlers(eventHandlers) {\n if (eventHandlers.handlers === eventHandlers.nextHandlers) {\n // eslint-disable-next-line no-param-reassign\n eventHandlers.nextHandlers = eventHandlers.handlers.slice();\n }\n}\n\nfunction TargetEventHandlers(target) {\n this.target = target;\n this.events = {};\n}\n\nTargetEventHandlers.prototype.getEventHandlers = function () {\n function getEventHandlers(eventName, options) {\n var key = String(eventName) + ' ' + String(eventOptionsKey(options));\n\n if (!this.events[key]) {\n this.events[key] = {\n handlers: [],\n handleEvent: undefined\n };\n this.events[key].nextHandlers = this.events[key].handlers;\n }\n\n return this.events[key];\n }\n\n return getEventHandlers;\n}();\n\nTargetEventHandlers.prototype.handleEvent = function () {\n function handleEvent(eventName, options, event) {\n var eventHandlers = this.getEventHandlers(eventName, options);\n eventHandlers.handlers = eventHandlers.nextHandlers;\n eventHandlers.handlers.forEach(function (handler) {\n if (handler) {\n // We need to check for presence here because a handler function may\n // cause later handlers to get removed. This can happen if you for\n // instance have a waypoint that unmounts another waypoint as part of an\n // onEnter/onLeave handler.\n handler(event);\n }\n });\n }\n\n return handleEvent;\n}();\n\nTargetEventHandlers.prototype.add = function () {\n function add(eventName, listener, options) {\n var _this = this;\n\n // options has already been normalized at this point.\n var eventHandlers = this.getEventHandlers(eventName, options);\n\n ensureCanMutateNextEventHandlers(eventHandlers);\n\n if (eventHandlers.nextHandlers.length === 0) {\n eventHandlers.handleEvent = this.handleEvent.bind(this, eventName, options);\n\n this.target.addEventListener(eventName, eventHandlers.handleEvent, options);\n }\n\n eventHandlers.nextHandlers.push(listener);\n\n var isSubscribed = true;\n var unsubscribe = function () {\n function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextEventHandlers(eventHandlers);\n var index = eventHandlers.nextHandlers.indexOf(listener);\n eventHandlers.nextHandlers.splice(index, 1);\n\n if (eventHandlers.nextHandlers.length === 0) {\n // All event handlers have been removed, so we want to remove the event\n // listener from the target node.\n\n if (_this.target) {\n // There can be a race condition where the target may no longer exist\n // when this function is called, e.g. when a React component is\n // unmounting. Guarding against this prevents the following error:\n //\n // Cannot read property 'removeEventListener' of undefined\n _this.target.removeEventListener(eventName, eventHandlers.handleEvent, options);\n }\n\n eventHandlers.handleEvent = undefined;\n }\n }\n\n return unsubscribe;\n }();\n return unsubscribe;\n }\n\n return add;\n}();\n\nvar EVENT_HANDLERS_KEY = '__consolidated_events_handlers__';\n\n// eslint-disable-next-line import/prefer-default-export\nfunction addEventListener(target, eventName, listener, options) {\n if (!target[EVENT_HANDLERS_KEY]) {\n // eslint-disable-next-line no-param-reassign\n target[EVENT_HANDLERS_KEY] = new TargetEventHandlers(target);\n }\n var normalizedEventOptions = normalizeEventOptions(options);\n return target[EVENT_HANDLERS_KEY].add(eventName, listener, normalizedEventOptions);\n}\n\nexport { addEventListener };\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","var __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React from 'react';\nimport PropTypes from 'prop-types';\nexport const Link = (_a) => {\n var { field, editable, children, showLinkTextWithChildrenPresent } = _a, otherProps = __rest(_a, [\"field\", \"editable\", \"children\", \"showLinkTextWithChildrenPresent\"]);\n const dynamicField = field;\n if (!field ||\n (!dynamicField.editableFirstPart &&\n !dynamicField.value &&\n !dynamicField.href)) {\n return null;\n }\n const resultTags = [];\n // EXPERIENCE EDITOR RENDERING\n if (editable && dynamicField.editableFirstPart) {\n const markup = dynamicField.editableFirstPart + dynamicField.editableLastPart;\n // in an ideal world, we'd pre-render React children here and inject them between editableFirstPart and editableLastPart.\n // However, we cannot combine arbitrary unparsed HTML (innerHTML) based components with actual vDOM components (the children)\n // because the innerHTML is not parsed - it'd make a discontinuous vDOM. So, we'll go for the next best compromise of rendering the link field and children separately\n // as siblings. Should be \"good enough\" for most cases - and write your own helper if it isn't. Or bring xEditor out of 2006.\n const htmlProps = Object.assign(Object.assign({ className: 'sc-link-wrapper', dangerouslySetInnerHTML: {\n __html: markup,\n } }, otherProps), { key: 'editable' });\n resultTags.push(React.createElement(\"span\", Object.assign({}, htmlProps)));\n // don't render normal link tag when editing, if no children exist\n // this preserves normal-ish behavior if not using a link body (no hacks required)\n if (!children) {\n return resultTags[0];\n }\n }\n // handle link directly on field for forgetful devs\n const link = dynamicField.href\n ? field\n : dynamicField.value;\n if (!link) {\n return null;\n }\n const anchorAttrs = {\n href: link.href,\n className: link.class,\n title: link.title,\n target: link.target,\n };\n if (anchorAttrs.target === '_blank' && !anchorAttrs.rel) {\n // information disclosure attack prevention keeps target blank site from getting ref to window.opener\n anchorAttrs.rel = 'noopener noreferrer';\n }\n const linkText = showLinkTextWithChildrenPresent || !children ? link.text || link.href : null;\n resultTags.push(React.createElement('a', Object.assign(Object.assign(Object.assign({}, anchorAttrs), otherProps), { key: 'link' }), linkText, children));\n return React.createElement(React.Fragment, null, resultTags);\n};\nexport const LinkPropTypes = {\n field: PropTypes.oneOfType([\n PropTypes.shape({\n href: PropTypes.string,\n }),\n PropTypes.shape({\n value: PropTypes.object,\n editableFirstPart: PropTypes.string,\n editableLastPart: PropTypes.string,\n }),\n ]).isRequired,\n editable: PropTypes.bool,\n children: PropTypes.node,\n showLinkTextWithChildrenPresent: PropTypes.bool,\n};\nLink.propTypes = LinkPropTypes;\nLink.defaultProps = {\n editable: true,\n};\nLink.displayName = 'Link';\n","import { useEffect, useState } from 'react';\nimport { isBrowser } from './misc/util';\nvar getInitialState = function (query, defaultState) {\n // Prevent a React hydration mismatch when a default value is provided by not defaulting to window.matchMedia(query).matches.\n if (defaultState !== undefined) {\n return defaultState;\n }\n if (isBrowser) {\n return window.matchMedia(query).matches;\n }\n // A default value has not been provided, and you are rendering on the server, warn of a possible hydration mismatch when defaulting to false.\n if (process.env.NODE_ENV !== 'production') {\n console.warn('`useMedia` When server side rendering, defaultState should be defined to prevent a hydration mismatches.');\n }\n return false;\n};\nvar useMedia = function (query, defaultState) {\n var _a = useState(getInitialState(query, defaultState)), state = _a[0], setState = _a[1];\n useEffect(function () {\n var mounted = true;\n var mql = window.matchMedia(query);\n var onChange = function () {\n if (!mounted) {\n return;\n }\n setState(!!mql.matches);\n };\n mql.addListener(onChange);\n setState(mql.matches);\n return function () {\n mounted = false;\n mql.removeListener(onChange);\n };\n }, [query]);\n return state;\n};\nexport default useMedia;\n"],"sourceRoot":""}