construct-hub-webapp 0.1.248 → 0.1.252

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/build/asset-manifest.json +41 -39
  2. package/build/index.html +1 -1
  3. package/build/service-worker.js +1 -1
  4. package/build/service-worker.js.map +1 -1
  5. package/build/static/js/{0.3c441159.chunk.js → 0.eac96593.chunk.js} +2 -2
  6. package/build/static/js/{0.3c441159.chunk.js.map → 0.eac96593.chunk.js.map} +1 -1
  7. package/build/static/js/1.f1cf5c72.chunk.js +2 -0
  8. package/build/static/js/1.f1cf5c72.chunk.js.map +1 -0
  9. package/build/static/js/10.67470f34.chunk.js +2 -0
  10. package/build/static/js/10.67470f34.chunk.js.map +1 -0
  11. package/build/static/js/{11.3e7ab347.chunk.js → 11.7a407d94.chunk.js} +3 -3
  12. package/build/static/js/{11.3e7ab347.chunk.js.LICENSE.txt → 11.7a407d94.chunk.js.LICENSE.txt} +0 -0
  13. package/build/static/js/{11.3e7ab347.chunk.js.map → 11.7a407d94.chunk.js.map} +1 -1
  14. package/build/static/js/12.6ec7141c.chunk.js +2 -0
  15. package/build/static/js/12.6ec7141c.chunk.js.map +1 -0
  16. package/build/static/js/{12.180c2643.chunk.js → 13.6a8b9e20.chunk.js} +2 -2
  17. package/build/static/js/{12.180c2643.chunk.js.map → 13.6a8b9e20.chunk.js.map} +1 -1
  18. package/build/static/js/{13.51138a32.chunk.js → 14.024c1a38.chunk.js} +2 -2
  19. package/build/static/js/{13.51138a32.chunk.js.map → 14.024c1a38.chunk.js.map} +1 -1
  20. package/build/static/js/{14.04d06b74.chunk.js → 15.ed72dbe0.chunk.js} +3 -3
  21. package/build/static/js/{14.04d06b74.chunk.js.LICENSE.txt → 15.ed72dbe0.chunk.js.LICENSE.txt} +0 -0
  22. package/build/static/js/{14.04d06b74.chunk.js.map → 15.ed72dbe0.chunk.js.map} +1 -1
  23. package/build/static/js/{15.a6d03254.chunk.js → 16.5f5aad89.chunk.js} +2 -2
  24. package/build/static/js/{15.a6d03254.chunk.js.map → 16.5f5aad89.chunk.js.map} +1 -1
  25. package/build/static/js/{3.c48117e3.chunk.js → 4.33ed4462.chunk.js} +3 -3
  26. package/build/static/js/{3.c48117e3.chunk.js.LICENSE.txt → 4.33ed4462.chunk.js.LICENSE.txt} +0 -0
  27. package/build/static/js/{3.c48117e3.chunk.js.map → 4.33ed4462.chunk.js.map} +1 -1
  28. package/build/static/js/{4.07f80d65.chunk.js → 5.31f776a0.chunk.js} +3 -3
  29. package/build/static/js/{4.07f80d65.chunk.js.LICENSE.txt → 5.31f776a0.chunk.js.LICENSE.txt} +0 -0
  30. package/build/static/js/5.31f776a0.chunk.js.map +1 -0
  31. package/build/static/js/6.cb540adf.chunk.js +2 -0
  32. package/build/static/js/6.cb540adf.chunk.js.map +1 -0
  33. package/build/static/js/{8.0c7361ec.chunk.js → 7.415d3d06.chunk.js} +2 -2
  34. package/build/static/js/{8.0c7361ec.chunk.js.map → 7.415d3d06.chunk.js.map} +1 -1
  35. package/build/static/js/{9.6620eb5b.chunk.js → 8.24ecd2ff.chunk.js} +2 -2
  36. package/build/static/js/{9.6620eb5b.chunk.js.map → 8.24ecd2ff.chunk.js.map} +1 -1
  37. package/build/static/js/9.214e3382.chunk.js +2 -0
  38. package/build/static/js/9.214e3382.chunk.js.map +1 -0
  39. package/build/static/js/main.e071d0b6.chunk.js +2 -0
  40. package/build/static/js/{main.809e79d6.chunk.js.map → main.e071d0b6.chunk.js.map} +1 -1
  41. package/build/static/js/runtime-main.0ec50908.js +2 -0
  42. package/build/static/js/runtime-main.0ec50908.js.map +1 -0
  43. package/package.json +4 -4
  44. package/build/static/js/10.5038f4e4.chunk.js +0 -2
  45. package/build/static/js/10.5038f4e4.chunk.js.map +0 -1
  46. package/build/static/js/4.07f80d65.chunk.js.map +0 -1
  47. package/build/static/js/5.8a1668dc.chunk.js +0 -2
  48. package/build/static/js/5.8a1668dc.chunk.js.map +0 -1
  49. package/build/static/js/6.11aee62c.chunk.js +0 -2
  50. package/build/static/js/6.11aee62c.chunk.js.map +0 -1
  51. package/build/static/js/7.c53ed1ae.chunk.js +0 -2
  52. package/build/static/js/7.c53ed1ae.chunk.js.map +0 -1
  53. package/build/static/js/main.809e79d6.chunk.js +0 -2
  54. package/build/static/js/runtime-main.1cbbf81f.js +0 -2
  55. package/build/static/js/runtime-main.1cbbf81f.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["constants/pageInfo.ts","components/Page/Page.tsx","components/Picture/Picture.tsx","components/PackageTag/PackageTag.tsx","../../../src/ChevronRight.tsx","components/CatalogCard/testIds.ts","components/CatalogCard/CatalogCardContainer.tsx","components/CatalogCard/CatalogCardSkeleton.tsx","components/CatalogCard/CatalogCard.tsx","components/Results/ResultsGrid.tsx","components/Results/ResultsSkeleton.tsx","components/Results/Results.tsx","../../../src/image.tsx","../../../src/use-image.ts","../../../src/tag.tsx","../../../src/ArrowForward.tsx","../../../src/ChevronLeft.tsx","../../../src/skeleton.tsx","../../../src/use-previous.ts","views/Home/testIds.ts","views/Home/HomePageControls.tsx","views/Home/Home.tsx"],"names":["pageInfo","home","event","name","faq","packageProfile","search","siteTerms","notFound","page","pageType","Page","children","meta","pageName","trackPageView","usePageView","useEffect","suffix","title","description","formattedTitle","Helmet","process","content","charSet","property","Picture","forwardRef","ref","sources","props","as","map","source","idx","media","srcSet","displayName","PackageTag","language","value","label","zIndex","tagProps","NavLink","to","getSearchPath","query","_hover","textDecoration","ChevronRightIcon","createIcon","d","testIds","createTestIds","CardContainer","Card","h","p","w","overflow","templateColumns","templateRows","CatalogCardContainer","isLink","bg","container","CatalogCardSkeleton","spacing","align","direction","px","py","CatalogCard","currentLanguage","pkg","publishDate","metadata","date","Time","Date","fontSize","format","author","languages","targets","Object","keys","getUrl","params","getPackagePath","version","authorName","maxH","maxW","Link","color","fontWeight","isTruncated","ml","Flex","tags","flexWrap","startsWith","mr","variant","keywords","filter","Boolean","slice","tag","noOfLines","Stack","entries","LANGUAGE_RENDER_MAP","sort","left","right","LANGUAGES","indexOf","lang","info","isSupportedByLibrary","Language","TypeScript","includes","isSupportedByConstructHub","TEMP_SUPPORTED_LANGUAGES","has","Icon","icon","opacity","LanguageSupportTooltip","ResultsGrid","columns","base","sm","md","lg","xl","ResultsSkeletonComponent","noOfItems","skeletons","i","push","ResultsSkeleton","memo","ResultsComponent","results","skeleton","loading","Results","NativeImage","alt","width","height","Image","crossOrigin","shouldIgnore","fallbackSrc","fallback","status","ignoreFallback","useState","setStatus","src","imageRef","useRef","load","useCallback","flush","img","onLoad","error","onError","sizes","useSafeLayoutEffect","useImage","shared","objectFit","objectPosition","rest","omit","className","Tag","styles","useMultiStyleConfig","ownProps","omitThemingProps","containerStyles","display","verticalAlign","alignItems","maxWidth","__css","TagLabel","useStyles","TagLeftIcon","marginEnd","TagRightIcon","marginStart","TagCloseIcon","viewBox","fill","ArrowForwardIcon","ChevronLeftIcon","StyledSkeleton","chakra","baseStyle","boxShadow","backgroundClip","cursor","pointerEvents","userSelect","visibility","fade","keyframes","from","Skeleton","useStyleConfig","isFirstRender","React","useIsFirstRender","wasPreviouslyLoaded","usePrevious","_className","cx","animation","fadeDuration","speed","iconBtnProps","borderRadius","borderColor","colorScheme","mx","iconProps","HomePageControls","offset","pageLimit","setOffset","nextDisabled","prevDisabled","getNextPage","pt","colStart","justifySelf","nextPageBtn","disabled","onClick","rightIcon","ArrowForward","justify","prevIcon","ChevronLeft","nextIcon","ChevronRight","optimal","Home","searchAPI","useCatalogSearch","useCatalogResults","limit","displayable","position","top","m","headings","textAlign","size","mb","length","CatalogSearch","pb"],"mappings":"0LAAaA,EAAW,CACtBC,KAAM,CACJC,MAAO,CACLC,KAAM,cAGVC,IAAK,CACHF,MAAO,CACLC,KAAM,oCAGVE,eAAgB,CACdH,MAAO,CACLC,KAAM,yBAGVG,OAAQ,CACNJ,MAAO,CACLC,KAAM,gBAGVI,UAAW,CACTL,MAAO,CACLC,KAAM,oBAGVK,SAAU,CACRC,KAAM,CACJC,SAAU,aAEZR,MAAO,CACLC,KAAM,mB,gBCjBCQ,EAAqC,SAAC,GAI5C,IAHLC,EAGI,EAHJA,SACAC,EAEI,EAFJA,KACAC,EACI,EADJA,SAEMC,EAAgBC,YAAYhB,EAASc,IAE3CG,qBAAU,WACRF,MACC,CAACA,IAEJ,MAA8CF,EAAtCK,cAAR,SAAuBC,EAAuBN,EAAvBM,MAAOC,EAAgBP,EAAhBO,YACxBC,EAAiBH,EAAM,UAAMC,EAAN,oBAAgCA,EAE7D,OACE,qCACE,eAACG,EAAA,EAAD,YACGC,EAOD,sBAAMC,QAAQ,sCAAsCrB,KAAK,aACzD,sBAAMsB,QAAQ,UAEd,gCAAQJ,IACR,sBAAMG,QAASH,EAAgBK,SAAS,aACxC,sBAAMF,QAASH,EAAgBlB,KAAK,kBACpC,sBAAMqB,QAAQ,UAAUrB,KAAK,iBAE7B,sBAAMqB,QAASJ,EAAajB,KAAK,gBACjC,sBAAMqB,QAASJ,EAAaM,SAAS,mBACrC,sBAAMF,QAASJ,EAAajB,KAAK,2BAElCS,O,qICvCMe,EAAUC,aACrB,WAAwBC,GAAxB,IAAGC,EAAH,EAAGA,QAAYC,EAAf,wBACE,eAAC,IAAD,CAAKC,GAAG,UAAR,iBACGF,QADH,IACGA,OADH,EACGA,EAASG,KAAI,SAACC,EAAQC,GAAT,OACZ,wBAAkBC,MAAOF,EAAOE,MAAOC,OAAQH,EAAOG,QAAzCF,MAEf,cAAC,IAAD,aAAON,IAAKA,GAASE,UAK3BJ,EAAQW,YAAc,W,yKCTTC,EAAiD,SAAC,GAOxD,IANL3B,EAMI,EANJA,SACA4B,EAKI,EALJA,SACAC,EAII,EAJJA,MAII,IAHJC,aAGI,MAHID,EAGJ,EAFJE,EAEI,EAFJA,OACGC,EACC,iBACJ,OACE,cAACC,EAAA,EAAD,CACE,4BAAoBH,GACpBI,GAAIC,YAAc,CAAEC,MAAM,GAAD,OAAKP,GAASD,aACvCG,OAAQA,EAHV,SAKE,cAAC,IAAD,yBACEM,OAAQ,CACNC,eAAgB,cAEdN,GAJN,aAME,cAAC,IAAD,UAAWhC,W,iCCjCnB,8CAEauC,EAAmBC,YAAW,CACzCC,EADyC,iDAEzCf,YAAa,sB,gPCSAgB,EAXCC,YAAc,cAAe,CAC3C,YACA,OACA,UACA,OACA,cACA,OACA,SACA,c,OCLIC,EAAmC,SAAC,GAAD,IAAG5C,EAAH,EAAGA,SAAH,OACvC,cAAC6C,EAAA,EAAD,CAAMC,EAAG,GAAIC,EAAG,EAAGC,EAAE,OAArB,SACE,cAAC,IAAD,CACE5B,GAAG,UACH0B,EAAE,OACFG,SAAS,SACTC,gBAAgB,MAChBC,aAAa,UALf,SAOGnD,OAKMoD,EAAgE,SAAC,GAGvE,IAFLpD,EAEI,EAFJA,SAGA,OADI,EADJqD,OAGE,cAAC,IAAD,CACEhB,OAAQ,CACN,iBAAkB,CAChBiB,GAAI,YAGR,cAAaZ,EAAQa,UANvB,SAQE,cAAC,EAAD,UAAgBvD,MAGlB,cAAC,EAAD,UAAgBA,K,SChCPwD,EAAyC,kBACpD,qCACE,eAAC,IAAD,CAAOT,EAAG,EAAGU,QAAS,EAAtB,UACE,cAAC,IAAD,CAAUX,EAAG,EAAGE,EAAE,QAClB,eAAC,IAAD,CAAOU,MAAM,SAASC,UAAU,MAAMF,QAAS,EAA/C,UACE,cAAC,IAAD,CAAUX,EAAG,EAAGE,EAAG,KACnB,cAAC,IAAD,CAAUF,EAAG,EAAGE,EAAG,KACnB,cAAC,IAAD,CAAUF,EAAG,EAAGE,EAAG,QAErB,cAAC,IAAD,CAAUF,EAAG,EAAGE,EAAE,QAClB,cAAC,IAAD,CAAUF,EAAG,EAAGE,EAAE,WAEpB,eAAC,IAAD,WACE,cAAC,IAAD,IACA,eAAC,IAAD,CAAOY,GAAI,EAAGC,GAAI,EAAGJ,QAAS,EAA9B,UACE,cAAC,IAAD,CAAUX,EAAG,EAAGE,EAAE,QAClB,eAAC,IAAD,CAAOU,MAAM,SAASC,UAAU,MAAMF,QAAS,EAA/C,UACE,cAAC,IAAD,CAAUX,EAAG,EAAGE,EAAG,KACnB,cAAC,IAAD,CAAUF,EAAG,EAAGE,EAAG,KACnB,cAAC,IAAD,CAAUF,EAAG,EAAGE,EAAG,KACnB,cAAC,IAAD,CAAUF,EAAG,EAAGE,EAAG,kBCehBc,EAAmD,SAAC,GAG1D,IAAD,MAFMC,EAEN,EAFJnC,SACAoC,EACI,EADJA,IAEA,IAAKA,EACH,OACE,cAAC,EAAD,UACE,cAAC,EAAD,MAKN,IAAMC,GAAc,UAAAD,EAAIE,gBAAJ,eAAcC,MAChC,cAACC,EAAA,EAAD,CACED,KAAM,IAAIE,KAAKL,EAAIE,SAASC,MAC5BG,SAAS,KACTC,OAAO,kBAEP,KAEEC,EAAM,UAAGR,EAAIQ,cAAP,QAAiB,GACvBC,EAAS,UAAGT,EAAIS,iBAAP,QAAoB,GAC7BC,EAAUC,OAAOC,KAAKH,GAEtBI,EAAS,SAACC,GAAD,OACbC,YAAe,aACbxF,KAAMyE,EAAIzE,KACVyF,QAAShB,EAAIgB,QACbpD,SAAUmC,GACPe,KAGDG,EAA+B,kBAAXT,EAAsBA,EAASA,EAAOjF,KAEhE,OACE,eAAC,EAAD,CAAsB8D,QAAM,EAA5B,UACE,eAAC,IAAD,CAAO6B,KAAK,OAAOC,KAAK,OAAOlC,SAAS,SAASF,EAAG,EAAGU,QAAS,EAAhE,UAEE,cAAC,IAAD,CAAarC,GAAIgE,IAAMlD,GAAI2C,IAA3B,SACE,eAAC,IAAD,CACEQ,MAAM,WACN,cAAa3C,EAAQnD,KACrB+F,WAAW,WACXC,aAAW,EAJb,UAMGvB,EAAIzE,KAEL,cAAC,IAAD,CACE6B,GAAG,OACHiE,MAAM,WACN,cAAa3C,EAAQsC,QACrBV,SAAS,KACTkB,GAAI,EALN,SAOGxB,EAAIgB,eAMX,cAAC,IAAD,CACE5D,GAAIqE,IACJ,cAAa/C,EAAQgD,KACrBC,SAAS,OACTT,KAAM,EACNjC,SAAS,SALX,UAQIe,EAAIzE,KAAKqG,WAAW,aAClB,cAACjE,EAAA,EAAD,CAEEG,MAAM,WACNF,SAAUmC,EACV8B,GAAI,EACJhE,MAAM,WACNiE,QAAQ,WANV,qBACM,YASJ,MAnBR,mBAoBO9B,EAAI+B,SACJC,OAAOC,SACPC,MAAM,EAAG,GACT7E,KAAI,SAAC8E,GACJ,OACE,cAACxE,EAAA,EAAD,CAEEC,SAAUmC,EACV8B,GAAI,EACJhE,MAAK,WAAMsE,EAAN,KACLpE,OAAO,eALT,SAOGoE,GANIA,UAYjB,cAAC,IAAD,CAAM,cAAazD,EAAQlC,YAAa8D,SAAS,KAAK8B,UAAW,EAAjE,SACGpC,EAAIxD,iBAKT,eAAC,IAAD,WACE,cAAC,IAAD,IACA,eAAC,IAAD,CAAO2E,KAAK,OAAOlC,SAAS,SAASW,GAAI,EAAGC,GAAI,EAAGJ,QAAS,EAA5D,UACE,cAAC,IAAD,CAAM,cAAaf,EAAQyB,KAAMG,SAAS,KAAKiB,aAAW,EAA1D,SACGtB,IAGH,cAAC,IAAD,CACE7C,GAAIgE,IACJC,MAAM,WACN,cAAa3C,EAAQ8B,OACrBF,SAAS,KACTpC,GAAIC,YAAc,CAAEC,MAAO6C,IAL7B,SAOGA,IAIH,cAAC,IAAD,CACEvB,MAAM,SACNtC,GAAIiF,IACJ,cAAa3D,EAAQ+B,UACrBd,UAAU,MAJZ,SAMGgB,OAAO2B,QAAQC,KAEbC,MACC,kBAAEC,EAAF,oBAAUC,EAAV,2BACEC,IAAUC,QAAQH,GAClBE,IAAUC,QAAQF,MAErBrF,KAAI,YAAmB,IAAD,mBAAhBwF,EAAgB,KAAVC,EAAU,KACflF,EAAWiF,EAEXE,EACJnF,IAAaoF,IAASC,YACtBvC,EAAQwC,SAAStF,GAEbuF,EACJvF,IAAaoF,IAASC,YAEtBG,IAAyBC,IAAIzF,GAE/B,IAAKmF,EAAsB,OAAO,KAElC,IAAQxH,EAAqBuH,EAArBvH,KAAY+H,EAASR,EAAfS,KAERA,EACJ,cAACD,EAAD,CACE,gCAAwB/H,GACxBuD,EAAG,EACH0E,QAASL,EAA4B,EAAI,GACzCnE,EAAG,IAIP,OACE,cAACyE,EAAA,EAAD,CAAuC7F,SAAUA,EAAjD,SACGuF,EACC,cAAC,IAAD,CACE,6CAAqCvF,GACrCM,GAAI2C,EAAO,CAAEjD,aAFf,SAIG2F,IAGHA,GATyB3F,kB,SCpMlC8F,EAAiC,SAAC,GAAD,IAAG1H,EAAH,EAAGA,SAAH,OAC5C,cAAC,IAAD,CACE2H,QAAS,CACPC,KAAM,EACNC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJC,GAAI,EACJ,MAAO,GAETvE,QAAS,EATX,SAWGzD,KCPCiI,EAAoE,SAAC,GAKzE,IAHK,IADLC,EACI,EADJA,UAEMC,EAAY,GAETC,EAAI,EAAGA,EAAIF,EAAWE,GAAK,EAClCD,EAAUE,KAAK,cAAC,EAAD,GAAkBD,IAGnC,OAAO,cAAC,EAAD,UAAcD,KAGVG,EAAkBC,eAC7BN,GCLIO,EAAoD,SAAC,GAIpD,IAHL5G,EAGI,EAHJA,SACA6G,EAEI,EAFJA,QACAC,EACI,EADJA,SAEA,cAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAUC,SACL,cAACL,EAAD,CAAiBJ,UAAWQ,EAASR,YAI5C,cAAC,EAAD,UACGO,EAAQpH,KAAI,SAAC2C,EAAKzC,GAAN,OACX,cAAC,EAAD,CAAwCK,SAAUA,EAAUoC,IAAKA,GAAjE,UAAqBA,EAAIzE,KAAzB,YAAiCgC,UAM5BqH,EAAUL,eAAKC,I,mdCV5B,IAAMK,EAAc,cAClB,cACE,IAAM,EAAN,EAAM,YAAN,EAAM,WAAyBC,EAA/B,EAA+BA,IAA/B,wCACA,OACE,yBACEC,MADF,EAEEC,OAFF,EAGE/H,IAHF,EAIE6H,IAAKA,GALT,OAyDSG,EAAQjI,aAA8B,cACjD,IAAM,EAAN,EAAM,cAAN,EAAM,WAAN,EAAM,MAAN,EAAM,SAAN,EAAM,QAAN,EAAM,MAAN,EAAM,UAAN,EAAM,eASJkI,EATF,EASEA,YATF,wGAiBMC,EACJR,iBAECS,YArB8D,IAqBjCC,EAE1BC,EC3CD,SAAkBnI,GACvB,IAAM,EAAN,EAAM,UAAN,EAAM,MAAN,EAAM,SAAN,EAAM,SAAN,EAAM,UAAN,EAAM,cAAN,EAAM,MAQJoI,EARF,EAQEA,eAGF,EAA4BC,mBAA5B,8BAAM,EAAN,KAAM,EAAN,KAEAnJ,qBAAU,WACRoJ,EAAUC,EAAM,UAAhBD,aACC,CAFHpJ,IAIA,IAAMsJ,EAAWC,mBAEXC,EAAOC,uBAAY,WACvB,MAEAC,IAEA,IAAMC,EAAM,IAAZ,MACAA,QACA,IAAiBA,iBACjB,IAAYA,YACZ,IAAWA,WACX,IAAaA,aAEbA,SAAc1K,YACZyK,IACAN,YACAQ,eAEFD,UAAeE,YACbH,IACAN,YACAU,eAGFR,eACC,CAACD,EAAKR,EAAazH,EAAQ2I,EAAOH,EAAQE,EAxB7C,IA0BMJ,EAAQ,WACRJ,EAAJ,UACEA,sBACAA,uBACAA,iBAuBJ,OAnBAU,aAAoB,WAKlB,MAKA,MAHA,YAAIf,GACFO,IAEK,WACLE,OAED,CAACT,EAAQO,EAbZQ,IAmBOd,EAAiB,SAAxB,ED9Bee,CAAS,EAAD,MAErBf,eAAgBJ,KAGZoB,EAAS,EAAH,CACVtJ,MACAuJ,UAFU,EAGVC,eAAgB/G,GACZyF,EAAeuB,EAAOC,YAAKD,EAAM,CAAC,UAJxC,YAOA,iBAAIpB,EAKF,GAGE,gBAAC,IAAD,OACElI,GADF,EAEEwJ,UAFF,4BAGElB,IAAKN,GAJT,IAWA,gBAAC,IAAD,OACEhI,GADF,EAEEsI,IAFF,EAGEjI,OAHF,EAIEyH,YAJF,EAKEP,QALF,EAMEiC,UAAU,gBAPd,OAuBE,EAAJ,IACE3B,wB,wXExIK,IAAM4B,EAAM7J,aAA6B,cAC9C,IAAM8J,EAASC,YAAoB,MAAnC,GACMC,EAAWC,YAAjB,GAEMC,EAAqC,EAAH,CACtCC,QADsC,cAEtCC,cAFsC,MAGtCC,WAHsC,SAItCC,SAAU,QACPR,EALL,WAQA,OACE,qBAAgBjJ,MAAOiJ,GACrB,gBAAC,IAAD,QAAa7J,IAAKA,GAAlB,GAAqCsK,MAAOL,SAK9C,EAAJ,IACEL,qBAKK,IAAMW,EAAWxK,aAAkC,cACxD,IAAM8J,EAASW,cACf,OAAO,gBAAC,IAAD,QAAaxK,IAAb,EAAuBsE,aAAW,GAAlC,GAA8CgG,MAAOT,EAAOhJ,YAGjE,EAAJ,IACE0J,0BAGK,IAAME,EAAc1K,aAA6B,qBACtD,uBAAMC,IAAN,EAAgBmK,cAAhB,MAAoCO,UAAU,UADzC,OAIH,EAAJ,IACED,6BAGK,IAAME,EAAe5K,aAA6B,qBACvD,uBAAMC,IAAN,EAAgBmK,cAAhB,MAAoCS,YAAY,UAD3C,OAIH,EAAJ,IACED,8BAGF,IAAME,EAAqC3K,YAAD,OACxC,uBAAMiK,cAAN,UAA8BW,QAAQ,eAAtC,GACE,wBACEC,KADF,eAEEvJ,EAAE,iIAKJ,EAAJ,IACEqJ,8BAsCE,EAAJ,G,iCC1HA,8CAEaG,EAAmBzJ,YAAW,CACzCC,EADyC,4DAEzCf,YAAa,sB,iCCJf,8CAEawK,EAAkB1J,YAAW,CACxCC,EADwC,gDAExCf,YAAa,qB,sgBCsCf,IAAMyK,EAAiBC,YAAO,MAAO,CACnCC,UAAW,CACTC,UADS,OAETC,eAFS,cAGTC,OAHS,UAITnH,MAJS,cAKToH,cALS,OAMTC,WANS,OAOT,yBAA0B,CACxBC,WAAY,aAYZC,EAAOC,YAAU,CACrBC,KAAM,CAAEtF,QAAS,GACjBtF,GAAI,CAAEsF,QAAS,KAaJuF,EAAW/L,aAAiC,cACvD,IAAM8J,EAASkC,YAAe,WAA9B,GACMC,EAZiB,WACvB,IAAMA,EAAgBC,UAAtB,GAMA,OAJAA,aAAgB,WACdD,eADFC,IAIOD,EAAP,QAKsBE,GAEtB,EAQIlC,YARJ,GAAM,EAAN,EAAM,WAAN,EAAM,aAMJL,EANF,EAMEA,UANF,+EAUMwC,EC1FD,YACL,IAAMnM,EAAM2I,mBAMZ,OAJAvJ,qBAAU,WACRY,cACC,CAFHZ,IAIOY,EAAP,QDmF4BoM,CAA5B,GAEMC,EAAaC,YAAG,kBAAtB,GAEA,KAAc,CACZ,IAAMC,EACJP,YAAmDL,EAAnDK,MADF,IAGA,OACE,gBAAC,IAAD,OACEhM,IADF,EAEE2J,UAFF,EAGEW,MAAO,CAAEiC,cAJb,IAUF,OACE,qBAAgBvM,IAAhB,EAA0B2J,UAAW0C,GAArC,GAA2D/B,MAAOT,QAItEiC,eAAwB,CACtBU,aADsB,GAEtBC,MAAO,IAGL,EAAJ,IACEX,0BAsFE,EAAJ,EASI,EAAJ,G,+SE9MerK,EARCC,YAAc,OAAQ,CACpC,WACA,UACA,cACA,WACA,a,OCEIgL,EAAe,CACnBC,aAAc,KACdC,YAAa,WACbC,YAAa,OACbC,GAAI,EACJjL,EAAG,GACHE,EAAG,GACH8C,QAAS,WAGLkI,EAAY,CAChB3I,MAAO,WACPvC,EAAG,EACHE,EAAG,GASQiL,EAA6D,SAAC,GAIpE,IAHLC,EAGI,EAHJA,OACAC,EAEI,EAFJA,UACAC,EACI,EADJA,UAEMC,EAAeH,IAAWC,EAC1BG,EAA0B,IAAXJ,EAEfK,EAAc,WAClBH,EAAUF,EAAS,IAOrB,OACE,eAAC,IAAD,CACE7C,WAAW,SACXmD,GAAI,EACJtL,gBAAgB,iBAChBC,aAAa,MAJf,UAME,cAAC,IAAD,CAAUsL,SAAU,EAAGC,YAAY,SAAnC,SACE,cAAC,IAAD,CACEZ,YAAY,OACZ,cAAapL,EAAQiM,YACrBC,SAAUP,EACVQ,QAASN,EACTO,UAAW,cAACC,EAAA,EAAD,CAAkB1J,MAAM,UALrC,yBAUF,cAAC,IAAD,CAAUoJ,SAAU,EAAGC,YAAY,MAAnC,SACE,eAAC,IAAD,CAAMhL,MAAM,SAASsL,QAAQ,SAASnL,GAAI,EAA1C,UACE,cAAC,IAAD,aACE,aAAW,gBACX,cAAanB,EAAQuM,SACrBL,SAAUN,EACV/G,KAAM,cAAC2H,EAAA,EAAD,eAAqBlB,IAC3Ba,QA7BU,WAClBT,EAAUF,EAAS,KA6BPP,IAEN,cAAC,IAAD,aACE,aAAW,YACX,cAAajL,EAAQyM,SACrBP,SAAUP,EACV9G,KAAM,cAAC6H,EAAA,EAAD,eAAsBpB,IAC5Ba,QAASN,GACLZ,aCtEVzM,EAAU,CACdmO,QAAS,CACP,CAAE7N,MAAO,qBAAsBC,OAAQ,wBACvC,CAAED,MAAO,qBAAsBC,OAAQ,yBACvC,CAAED,MAAO,qBAAsBC,OAAQ,yBAEzC4H,SAAU,uBAGCiG,EAA0B,WACrC,IAAMC,EAAYC,cAClB,EAA4BhG,mBAAS,GAArC,mBAAO0E,EAAP,KAAeE,EAAf,KAEA,EAAqDqB,YAAkB,CACrEvB,SACAwB,MAAO,GACPtN,MAAO,GACPR,SAAU,OAJJ6G,EAAR,EAAQA,QAASkH,EAAjB,EAAiBA,YAAahH,EAA9B,EAA8BA,QAASwF,EAAvC,EAAuCA,UAOvC,OACE,cAACpO,EAAA,EAAD,CACEE,KAAM,CACJM,MAAO,gBACPC,YACE,0IACFF,QAAQ,GAEVJ,SAAS,OAPX,SASE,eAAC,IAAD,CAAK0P,SAAS,WAAd,UACE,cAAC7O,EAAA,EAAD,CACE+H,IAAK,GACLhG,EAAE,QACF8M,SAAS,WACT1O,QAASA,EAAQmO,QACjB3F,IAAKxI,EAAQmI,SACbwG,IAAI,IACJ7M,EAAE,OACFjB,OAAO,SAGT,eAAC,IAAD,CACE2B,MAAM,UACNC,UAAU,SACVqL,QAAQ,SACRc,EAAE,SACF3K,KAAK,eACLpC,EAAG,CAAC,GAAI,GAAI,IACZU,QAAS,EAPX,UASE,eAAC,IAAD,CACE4B,MAAM,WACN,cAAa3C,EAAQqN,SACrBtM,QAAS,EACTuM,UAAU,SAJZ,UAME,cAAC,IAAD,CAASC,KAAK,MAAd,kEAGA,cAAC,IAAD,CAAS7O,GAAG,KAAK6O,KAAK,KAAtB,8DAGA,eAAC,IAAD,CAAS7O,GAAG,KAAK8O,GAAI,EAAGD,KAAK,KAA7B,wBACc,IACVxH,EAAQ0H,OAGR,cAAC,IAAD,CAAK/O,GAAG,OAAOiE,MAAM,WAArB,SACGoD,EAAQ0H,SAHX,cAAC,IAAD,CAAUhF,QAAQ,eAAerI,EAAG,EAAGE,EAAG,IAKzC,IARL,4BAYF,cAACoN,EAAA,EAAD,eAAmBb,OAIrB,eAAC,IAAD,CAAKxM,EAAG,EAAGsN,GAAI,EAAf,UACE,cAACzH,EAAA,EAAD,CACEH,QAASkH,EACTjH,SAAU,CAAEC,UAAST,UAAW,MAElC,cAAC,EAAD,CACEgG,OAAQA,EACRC,UAAWA,EACXC,UAAWA","file":"static/js/7.c53ed1ae.chunk.js","sourcesContent":["export const pageInfo = {\n home: {\n event: {\n name: \"Home Load\",\n },\n },\n faq: {\n event: {\n name: \"Frequently Asked Questions Load\",\n },\n },\n packageProfile: {\n event: {\n name: \"Package Profile Load\",\n },\n },\n search: {\n event: {\n name: \"Search Load\",\n },\n },\n siteTerms: {\n event: {\n name: \"Site Terms Load\",\n },\n },\n notFound: {\n page: {\n pageType: \"errorPage\",\n },\n event: {\n name: \"404 Page Load\",\n },\n },\n} as const;\n","import { FunctionComponent, useEffect } from \"react\";\nimport { Helmet } from \"react-helmet\";\nimport { pageInfo } from \"../../constants/pageInfo\";\nimport { usePageView } from \"../../contexts/Analytics\";\n\nexport interface PageProps {\n pageName: keyof typeof pageInfo;\n meta: {\n suffix?: boolean;\n title: string;\n description: string;\n };\n}\n\nexport const Page: FunctionComponent<PageProps> = ({\n children,\n meta,\n pageName,\n}) => {\n const trackPageView = usePageView(pageInfo[pageName]);\n\n useEffect(() => {\n trackPageView();\n }, [trackPageView]);\n\n const { suffix = true, title, description } = meta;\n const formattedTitle = suffix ? `${title} - Construct Hub` : title;\n\n return (\n <>\n <Helmet>\n {process.env.NODE_ENV === \"development\" && (\n <meta\n content=\"default-src 'self' 'unsafe-inline' https://*.awsstatic.com https://amazonwebservices.d2.sc.omtrdc.net; connect-src 'self' https://*.shortbread.aws.dev ws://localhost:3000 https://*.awsstatic.com https://amazonwebservices.d2.sc.omtrdc.net; frame-src 'none'; img-src 'self' https://* http://*.omtrdc.net; object-src 'none'; style-src 'self' 'unsafe-inline';\"\n httpEquiv=\"Content-Security-Policy\"\n />\n )}\n\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <meta charSet=\"utf-8\" />\n\n <title>{formattedTitle}</title>\n <meta content={formattedTitle} property=\"og:title\" />\n <meta content={formattedTitle} name=\"twitter:title\" />\n <meta content=\"summary\" name=\"twitter:card\" />\n\n <meta content={description} name=\"description\" />\n <meta content={description} property=\"og:description\" />\n <meta content={description} name=\"twitter:description\" />\n </Helmet>\n {children}\n </>\n );\n};\n","import { Box, HTMLChakraProps, forwardRef, Image } from \"@chakra-ui/react\";\n\nexport interface PictureProps extends HTMLChakraProps<\"img\"> {\n alt: string;\n src: string;\n sources?: {\n media?: string;\n srcSet: string;\n }[];\n}\n\nexport const Picture = forwardRef<PictureProps, \"img\">(\n ({ sources, ...props }, ref) => (\n <Box as=\"picture\">\n {sources?.map((source, idx) => (\n <source key={idx} media={source.media} srcSet={source.srcSet} />\n ))}\n <Image ref={ref} {...props} />\n </Box>\n )\n);\n\nPicture.displayName = \"Picture\";\n","import { Tag, TagLabel, TagProps } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Language } from \"../../constants/languages\";\nimport { getSearchPath } from \"../../util/url\";\nimport { NavLink } from \"../NavLink\";\n\nexport interface PackageTagProps extends TagProps {\n language?: Language;\n value: string;\n label?: string;\n zIndex?: string | number;\n}\n\nexport const PackageTag: FunctionComponent<PackageTagProps> = ({\n children,\n language,\n value,\n label = value,\n zIndex,\n ...tagProps\n}) => {\n return (\n <NavLink\n aria-label={`Tag: ${label}`}\n to={getSearchPath({ query: `${value}`, language })}\n zIndex={zIndex}\n >\n <Tag\n _hover={{\n textDecoration: \"underline\",\n }}\n {...tagProps}\n >\n <TagLabel>{children}</TagLabel>\n </Tag>\n </NavLink>\n );\n};\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const ChevronRightIcon = createIcon({\n d: \"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\",\n displayName: \"ChevronRightIcon\",\n})\n","import { createTestIds } from \"../../util/createTestIds\";\n\nconst testIds = createTestIds(\"catalogCard\", [\n \"container\",\n \"name\",\n \"version\",\n \"tags\",\n \"description\",\n \"date\",\n \"author\",\n \"languages\",\n] as const);\n\nexport default testIds;\n","import { Grid, LinkBox } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Card } from \"../Card\";\nimport testIds from \"./testIds\";\n\nconst CardContainer: FunctionComponent = ({ children }) => (\n <Card h={64} p={0} w=\"100%\">\n <Grid\n as=\"article\"\n h=\"100%\"\n overflow=\"hidden\"\n templateColumns=\"1fr\"\n templateRows=\"2fr 1fr\"\n >\n {children}\n </Grid>\n </Card>\n);\n\nexport const CatalogCardContainer: FunctionComponent<{ isLink?: boolean }> = ({\n children,\n isLink,\n}) => {\n return isLink ? (\n <LinkBox\n _hover={{\n \"> :first-child\": {\n bg: \"gray.50\",\n },\n }}\n data-testid={testIds.container}\n >\n <CardContainer>{children}</CardContainer>\n </LinkBox>\n ) : (\n <CardContainer>{children}</CardContainer>\n );\n};\n","import { Box, Divider, Skeleton, Stack } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\n\nexport const CatalogCardSkeleton: FunctionComponent = () => (\n <>\n <Stack p={4} spacing={4}>\n <Skeleton h={5} w=\"50%\" />\n <Stack align=\"center\" direction=\"row\" spacing={2}>\n <Skeleton h={5} w={10} />\n <Skeleton h={5} w={10} />\n <Skeleton h={5} w={10} />\n </Stack>\n <Skeleton h={3} w=\"75%\" />\n <Skeleton h={3} w=\"50%\" />\n </Stack>\n <Box>\n <Divider />\n <Stack px={4} py={2} spacing={2}>\n <Skeleton h={5} w=\"25%\" />\n <Stack align=\"center\" direction=\"row\" spacing={2}>\n <Skeleton h={5} w={10} />\n <Skeleton h={5} w={10} />\n <Skeleton h={5} w={10} />\n <Skeleton h={5} w={10} />\n </Stack>\n </Stack>\n </Box>\n </>\n);\n","import {\n Box,\n Divider,\n Flex,\n LinkBox,\n Link as UILink,\n LinkOverlay,\n Stack,\n Text,\n} from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { CatalogPackage } from \"../../api/package/packages\";\nimport {\n Language,\n LANGUAGES,\n LANGUAGE_RENDER_MAP,\n TEMP_SUPPORTED_LANGUAGES,\n} from \"../../constants/languages\";\nimport { getPackagePath, getSearchPath } from \"../../util/url\";\nimport { LanguageSupportTooltip } from \"../LanguageSupportTooltip\";\nimport { PackageTag } from \"../PackageTag\";\nimport { Time } from \"../Time\";\nimport { CatalogCardContainer } from \"./CatalogCardContainer\";\nimport { CatalogCardSkeleton } from \"./CatalogCardSkeleton\";\nimport testIds from \"./testIds\";\n\nexport interface CatalogCardProps {\n /**\n * Specifies the language to link to by default\n */\n language?: Language;\n /**\n * If undefined, will render a skeleton\n */\n pkg?: CatalogPackage;\n}\n\nexport const CatalogCard: FunctionComponent<CatalogCardProps> = ({\n language: currentLanguage,\n pkg,\n}) => {\n if (!pkg) {\n return (\n <CatalogCardContainer>\n <CatalogCardSkeleton />\n </CatalogCardContainer>\n );\n }\n\n const publishDate = pkg.metadata?.date ? (\n <Time\n date={new Date(pkg.metadata.date)}\n fontSize=\"sm\"\n format=\"MMMM dd, yyyy\"\n />\n ) : null;\n\n const author = pkg.author ?? {};\n const languages = pkg.languages ?? {};\n const targets = Object.keys(languages) as Language[];\n\n const getUrl = (params?: Partial<Parameters<typeof getPackagePath>[0]>) =>\n getPackagePath({\n name: pkg.name,\n version: pkg.version,\n language: currentLanguage,\n ...params,\n });\n\n const authorName = typeof author === \"string\" ? author : author.name;\n\n return (\n <CatalogCardContainer isLink>\n <Stack maxH=\"100%\" maxW=\"100%\" overflow=\"hidden\" p={4} spacing={0}>\n {/* Name & Version */}\n <LinkOverlay as={Link} to={getUrl()}>\n <Text\n color=\"blue.800\"\n data-testid={testIds.name}\n fontWeight=\"semibold\"\n isTruncated\n >\n {pkg.name}\n\n <Text\n as=\"span\"\n color=\"blue.500\"\n data-testid={testIds.version}\n fontSize=\"xs\"\n ml={2}\n >\n {pkg.version}\n </Text>\n </Text>\n </LinkOverlay>\n\n {/* Tags */}\n <LinkBox\n as={Flex}\n data-testid={testIds.tags}\n flexWrap=\"wrap\"\n maxH={6}\n overflow=\"hidden\"\n >\n {[\n pkg.name.startsWith(\"@aws-cdk/\") ? (\n <PackageTag\n key=\"official\"\n label=\"official\"\n language={currentLanguage}\n mr={1}\n value=\"@aws-cdk\"\n variant=\"official\"\n >\n Official\n </PackageTag>\n ) : null,\n ...pkg.keywords\n .filter(Boolean)\n .slice(0, 3)\n .map((tag) => {\n return (\n <PackageTag\n key={tag}\n language={currentLanguage}\n mr={1}\n value={`\"${tag}\"`}\n zIndex=\"0 !important\"\n >\n {tag}\n </PackageTag>\n );\n }),\n ]}\n </LinkBox>\n <Text data-testid={testIds.description} fontSize=\"sm\" noOfLines={2}>\n {pkg.description}\n </Text>\n </Stack>\n\n {/* Bottom Details */}\n <Box>\n <Divider />\n <Stack maxW=\"100%\" overflow=\"hidden\" px={4} py={2} spacing={2}>\n <Text data-testid={testIds.date} fontSize=\"sm\" isTruncated>\n {publishDate}\n </Text>\n\n <UILink\n as={Link}\n color=\"blue.500\"\n data-testid={testIds.author}\n fontSize=\"sm\"\n to={getSearchPath({ query: authorName })}\n >\n {authorName}\n </UILink>\n\n {/* Language Support Icons */}\n <LinkBox\n align=\"center\"\n as={Stack}\n data-testid={testIds.languages}\n direction=\"row\"\n >\n {Object.entries(LANGUAGE_RENDER_MAP)\n // Ensure entries are always sorted in a stable way\n .sort(\n ([left], [right]) =>\n LANGUAGES.indexOf(left as Language) -\n LANGUAGES.indexOf(right as Language)\n )\n .map(([lang, info]) => {\n const language = lang as Language;\n\n const isSupportedByLibrary =\n language === Language.TypeScript ||\n targets.includes(language);\n\n const isSupportedByConstructHub =\n language === Language.TypeScript || // TypeScript is always supported\n // Otherwise, the language must be supported by ConstructHub\n TEMP_SUPPORTED_LANGUAGES.has(language);\n\n if (!isSupportedByLibrary) return null;\n\n const { name, icon: Icon } = info;\n\n const icon = (\n <Icon\n aria-label={`Supports ${name}`}\n h={6}\n opacity={isSupportedByConstructHub ? 1 : 0.2}\n w={6}\n />\n );\n\n return (\n <LanguageSupportTooltip key={language} language={language}>\n {isSupportedByConstructHub ? (\n <Link\n aria-label={`View package docs for ${language}`}\n to={getUrl({ language })}\n >\n {icon}\n </Link>\n ) : (\n icon\n )}\n </LanguageSupportTooltip>\n );\n })}\n </LinkBox>\n </Stack>\n </Box>\n </CatalogCardContainer>\n );\n};\n","import { SimpleGrid } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\n\nexport const ResultsGrid: FunctionComponent = ({ children }) => (\n <SimpleGrid\n columns={{\n base: 1,\n sm: 2,\n md: 3,\n lg: 4,\n xl: 5,\n \"2xl\": 6,\n }}\n spacing={6}\n >\n {children}\n </SimpleGrid>\n);\n","import { FunctionComponent, memo } from \"react\";\nimport { CatalogCard } from \"../CatalogCard\";\nimport { ResultsGrid } from \"./ResultsGrid\";\n\nexport interface ResultsSkeletonProps {\n noOfItems: number;\n}\n\nconst ResultsSkeletonComponent: FunctionComponent<ResultsSkeletonProps> = ({\n noOfItems,\n}) => {\n const skeletons = [];\n\n for (let i = 0; i < noOfItems; i += 1) {\n skeletons.push(<CatalogCard key={i} />);\n }\n\n return <ResultsGrid>{skeletons}</ResultsGrid>;\n};\n\nexport const ResultsSkeleton = memo(\n ResultsSkeletonComponent\n) as typeof ResultsSkeletonComponent;\n","import { FunctionComponent, memo } from \"react\";\nimport { Packages } from \"../../api/package/packages\";\nimport { Language } from \"../../constants/languages\";\nimport { CatalogCard } from \"../CatalogCard\";\nimport { ResultsGrid } from \"./ResultsGrid\";\nimport { ResultsSkeleton } from \"./ResultsSkeleton\";\n\nexport interface ResultsProps {\n language?: Language;\n results: Packages[\"packages\"];\n skeleton?: {\n loading: boolean;\n noOfItems: number;\n };\n}\n\nconst ResultsComponent: FunctionComponent<ResultsProps> = ({\n language,\n results,\n skeleton,\n}) => {\n if (skeleton?.loading) {\n return <ResultsSkeleton noOfItems={skeleton.noOfItems} />;\n }\n\n return (\n <ResultsGrid>\n {results.map((pkg, idx) => (\n <CatalogCard key={`${pkg.name}-${idx}`} language={language} pkg={pkg} />\n ))}\n </ResultsGrid>\n );\n};\n\nexport const Results = memo(ResultsComponent) as typeof ResultsComponent;\n","import {\n chakra,\n PropsOf,\n SystemProps,\n forwardRef,\n HTMLChakraProps,\n} from \"@chakra-ui/system\"\nimport { omit, __DEV__ } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\nimport { useImage, UseImageProps } from \"./use-image\"\n\ninterface NativeImageOptions {\n /**\n * The native HTML `width` attribute to the passed to the `img`\n */\n htmlWidth?: string | number\n /**\n * The native HTML `height` attribute to the passed to the `img`\n */\n htmlHeight?: string | number\n}\n\ninterface NativeImageProps extends PropsOf<\"img\">, NativeImageOptions {}\n\nconst NativeImage = React.forwardRef(\n (props: NativeImageProps, ref: React.Ref<any>) => {\n const { htmlWidth, htmlHeight, alt, ...rest } = props\n return (\n <img\n width={htmlWidth}\n height={htmlHeight}\n ref={ref}\n alt={alt}\n {...rest}\n />\n )\n },\n)\n\ninterface ImageOptions extends NativeImageOptions {\n /**\n * Fallback image `src` to show if image is loading or image fails.\n *\n * Note 🚨: We recommend you use a local image\n */\n fallbackSrc?: string\n /**\n * Fallback element to show if image is loading or image fails.\n * @type React.ReactElement\n */\n fallback?: React.ReactElement\n /**\n * Defines loading strategy\n */\n loading?: \"eager\" | \"lazy\"\n /**\n * How the image to fit within its bounds.\n * It maps to css `object-fit` property.\n * @type SystemProps[\"objectFit\"]\n */\n fit?: SystemProps[\"objectFit\"]\n /**\n * How to align the image within its bounds.\n * It maps to css `object-position` property.\n * @type SystemProps[\"objectPosition\"]\n */\n align?: SystemProps[\"objectPosition\"]\n /**\n * If `true`, opt out of the `fallbackSrc` logic and use as `img`\n */\n ignoreFallback?: boolean\n}\n\nexport interface ImageProps\n extends UseImageProps,\n Omit<HTMLChakraProps<\"img\">, keyof UseImageProps>,\n ImageOptions {}\n\n/**\n * React component that renders an image with support\n * for fallbacks\n *\n * @see Docs https://chakra-ui.com/image\n */\nexport const Image = forwardRef<ImageProps, \"img\">((props, ref) => {\n const {\n fallbackSrc,\n fallback,\n src,\n srcSet,\n align,\n fit,\n loading,\n ignoreFallback,\n crossOrigin,\n ...rest\n } = props\n\n /**\n * Defer to native `img` tag if `loading` prop is passed\n * @see https://github.com/chakra-ui/chakra-ui/issues/1027\n */\n const shouldIgnore =\n loading != null ||\n ignoreFallback ||\n (fallbackSrc === undefined && fallback === undefined) // if the user doesn't provide any kind of fallback we should ignore it\n\n const status = useImage({\n ...props,\n ignoreFallback: shouldIgnore,\n })\n\n const shared = {\n ref,\n objectFit: fit,\n objectPosition: align,\n ...(shouldIgnore ? rest : omit(rest, [\"onError\", \"onLoad\"])),\n }\n\n if (status !== \"loaded\") {\n /**\n * If user passed a custom fallback component,\n * let's render it here.\n */\n if (fallback) return fallback\n\n return (\n <chakra.img\n as={NativeImage}\n className=\"chakra-image__placeholder\"\n src={fallbackSrc}\n {...shared}\n />\n )\n }\n\n return (\n <chakra.img\n as={NativeImage}\n src={src}\n srcSet={srcSet}\n crossOrigin={crossOrigin}\n loading={loading}\n className=\"chakra-image\"\n {...shared}\n />\n )\n})\n\nexport interface ImgProps extends HTMLChakraProps<\"img\">, NativeImageOptions {}\n\n/**\n * Fallback component for most SSR users who want to use the native `img` with\n * support for chakra props\n */\nexport const Img = forwardRef<ImgProps, \"img\">((props, ref) => (\n <chakra.img ref={ref} as={NativeImage} className=\"chakra-image\" {...props} />\n))\n\nif (__DEV__) {\n Image.displayName = \"Image\"\n}\n","import { useSafeLayoutEffect } from \"@chakra-ui/hooks\"\nimport {\n ImgHTMLAttributes,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\"\n\ntype NativeImageProps = ImgHTMLAttributes<HTMLImageElement>\n\nexport interface UseImageProps {\n /**\n * The image `src` attribute\n */\n src?: string\n /**\n * The image `srcset` attribute\n */\n srcSet?: string\n /**\n * The image `sizes` attribute\n */\n sizes?: string\n /**\n * A callback for when the image `src` has been loaded\n */\n onLoad?: NativeImageProps[\"onLoad\"]\n /**\n * A callback for when there was an error loading the image `src`\n */\n onError?: NativeImageProps[\"onError\"]\n /**\n * If `true`, opt out of the `fallbackSrc` logic and use as `img`\n */\n ignoreFallback?: boolean\n /**\n * The key used to set the crossOrigin on the HTMLImageElement into which the image will be loaded.\n * This tells the browser to request cross-origin access when trying to download the image data.\n */\n crossOrigin?: NativeImageProps[\"crossOrigin\"]\n loading?: NativeImageProps[\"loading\"]\n}\n\ntype Status = \"loading\" | \"failed\" | \"pending\" | \"loaded\"\n\ntype ImageEvent = React.SyntheticEvent<HTMLImageElement, Event>\n\n/**\n * React hook that loads an image in the browser,\n * and let's us know the `status` so we can show image\n * fallback if it is still `pending`\n *\n * @returns the status of the image loading progress\n *\n * @example\n *\n * ```jsx\n * function App(){\n * const status = useImage({ src: \"image.png\" })\n * return status === \"loaded\" ? <img src=\"image.png\" /> : <Placeholder />\n * }\n * ```\n */\nexport function useImage(props: UseImageProps) {\n const {\n loading,\n src,\n srcSet,\n onLoad,\n onError,\n crossOrigin,\n sizes,\n ignoreFallback,\n } = props\n\n const [status, setStatus] = useState<Status>(\"pending\")\n\n useEffect(() => {\n setStatus(src ? \"loading\" : \"pending\")\n }, [src])\n\n const imageRef = useRef<HTMLImageElement | null>()\n\n const load = useCallback(() => {\n if (!src) return\n\n flush()\n\n const img = new Image()\n img.src = src\n if (crossOrigin) img.crossOrigin = crossOrigin\n if (srcSet) img.srcset = srcSet\n if (sizes) img.sizes = sizes\n if (loading) img.loading = loading\n\n img.onload = (event) => {\n flush()\n setStatus(\"loaded\")\n onLoad?.((event as unknown) as ImageEvent)\n }\n img.onerror = (error) => {\n flush()\n setStatus(\"failed\")\n onError?.(error as any)\n }\n\n imageRef.current = img\n }, [src, crossOrigin, srcSet, sizes, onLoad, onError, loading])\n\n const flush = () => {\n if (imageRef.current) {\n imageRef.current.onload = null\n imageRef.current.onerror = null\n imageRef.current = null\n }\n }\n\n useSafeLayoutEffect(() => {\n /**\n * If user opts out of the fallback/placeholder\n * logic, let's bail out.\n */\n if (ignoreFallback) return undefined\n\n if (status === \"loading\") {\n load()\n }\n return () => {\n flush()\n }\n }, [status, load, ignoreFallback])\n\n /**\n * If user opts out of the fallback/placeholder\n * logic, let's just return 'loaded'\n */\n return ignoreFallback ? \"loaded\" : status\n}\n\nexport type UseImageReturn = ReturnType<typeof useImage>\n","import { Icon, IconProps } from \"@chakra-ui/icon\"\nimport {\n chakra,\n forwardRef,\n omitThemingProps,\n StylesProvider,\n SystemStyleObject,\n ThemingProps,\n useMultiStyleConfig,\n useStyles,\n HTMLChakraProps,\n} from \"@chakra-ui/system\"\nimport { __DEV__ } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\n\nexport interface TagProps\n extends HTMLChakraProps<\"span\">,\n ThemingProps<\"Tag\"> {}\n\n/**\n * The tag component is used to label or categorize UI elements.\n * To style the tag globally, change the styles in `theme.components.Tag`\n * @see Docs https://chakra-ui.com/tag\n */\nexport const Tag = forwardRef<TagProps, \"span\">((props, ref) => {\n const styles = useMultiStyleConfig(\"Tag\", props)\n const ownProps = omitThemingProps(props)\n\n const containerStyles: SystemStyleObject = {\n display: \"inline-flex\",\n verticalAlign: \"top\",\n alignItems: \"center\",\n maxWidth: \"100%\",\n ...styles.container,\n }\n\n return (\n <StylesProvider value={styles}>\n <chakra.span ref={ref} {...ownProps} __css={containerStyles} />\n </StylesProvider>\n )\n})\n\nif (__DEV__) {\n Tag.displayName = \"Tag\"\n}\n\nexport interface TagLabelProps extends HTMLChakraProps<\"span\"> {}\n\nexport const TagLabel = forwardRef<TagLabelProps, \"span\">((props, ref) => {\n const styles = useStyles()\n return <chakra.span ref={ref} isTruncated {...props} __css={styles.label} />\n})\n\nif (__DEV__) {\n TagLabel.displayName = \"TagLabel\"\n}\n\nexport const TagLeftIcon = forwardRef<IconProps, \"svg\">((props, ref) => (\n <Icon ref={ref} verticalAlign=\"top\" marginEnd=\"0.5rem\" {...props} />\n))\n\nif (__DEV__) {\n TagLeftIcon.displayName = \"TagLeftIcon\"\n}\n\nexport const TagRightIcon = forwardRef<IconProps, \"svg\">((props, ref) => (\n <Icon ref={ref} verticalAlign=\"top\" marginStart=\"0.5rem\" {...props} />\n))\n\nif (__DEV__) {\n TagRightIcon.displayName = \"TagRightIcon\"\n}\n\nconst TagCloseIcon: React.FC<IconProps> = (props) => (\n <Icon verticalAlign=\"inherit\" viewBox=\"0 0 512 512\" {...props}>\n <path\n fill=\"currentColor\"\n d=\"M289.94 256l95-95A24 24 0 00351 127l-95 95-95-95a24 24 0 00-34 34l95 95-95 95a24 24 0 1034 34l95-95 95 95a24 24 0 0034-34z\"\n />\n </Icon>\n)\n\nif (__DEV__) {\n TagCloseIcon.displayName = \"TagCloseIcon\"\n}\n\nexport interface TagCloseButtonProps\n extends Omit<HTMLChakraProps<\"button\">, \"disabled\"> {\n isDisabled?: boolean\n}\n\n/**\n * TagCloseButton is used to close \"remove\" the tag\n * @see Docs https://chakra-ui.com/tag\n */\nexport const TagCloseButton: React.FC<TagCloseButtonProps> = (props) => {\n const { isDisabled, children, ...rest } = props\n\n const styles = useStyles()\n\n const btnStyles: SystemStyleObject = {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n outline: \"0\",\n ...styles.closeButton,\n }\n\n return (\n <chakra.button\n {...rest}\n type=\"button\"\n aria-label=\"close\"\n disabled={isDisabled}\n __css={btnStyles}\n >\n {children || <TagCloseIcon />}\n </chakra.button>\n )\n}\n\nif (__DEV__) {\n TagCloseButton.displayName = \"TagCloseButton\"\n}\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const ArrowForwardIcon = createIcon({\n d: \"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z\",\n displayName: \"ArrowForwardIcon\",\n})\n","import { createIcon } from \"@chakra-ui/icon\"\n\nexport const ChevronLeftIcon = createIcon({\n d: \"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\",\n displayName: \"ChevronLeftIcon\",\n})\n","import { useBreakpointValue } from \"@chakra-ui/media-query\"\nimport {\n chakra,\n forwardRef,\n keyframes,\n omitThemingProps,\n ThemingProps,\n useStyleConfig,\n HTMLChakraProps,\n} from \"@chakra-ui/system\"\nimport { usePrevious } from \"@chakra-ui/hooks\"\nimport { cx, __DEV__ } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\n\nexport interface SkeletonOptions {\n /**\n * The color at the animation start\n */\n startColor?: string\n /**\n * The color at the animation end\n */\n endColor?: string\n /**\n * If `true`, it'll render its children with a nice fade transition\n */\n isLoaded?: boolean\n /**\n * The animation speed in seconds\n * @default\n * 0.8\n */\n speed?: number\n /**\n * The fadeIn duration in seconds\n *\n * @default\n * 0.4\n */\n fadeDuration?: number\n}\n\nconst StyledSkeleton = chakra(\"div\", {\n baseStyle: {\n boxShadow: \"none\",\n backgroundClip: \"padding-box\",\n cursor: \"default\",\n color: \"transparent\",\n pointerEvents: \"none\",\n userSelect: \"none\",\n \"&::before, &::after, *\": {\n visibility: \"hidden\",\n },\n },\n})\n\nexport type ISkeleton = SkeletonOptions\n\nexport interface SkeletonProps\n extends HTMLChakraProps<\"div\">,\n SkeletonOptions,\n ThemingProps<\"Skeleton\"> {}\n\nconst fade = keyframes({\n from: { opacity: 0 },\n to: { opacity: 1 },\n})\n\nconst useIsFirstRender = () => {\n const isFirstRender = React.useRef(true)\n\n React.useEffect(() => {\n isFirstRender.current = false\n }, [])\n\n return isFirstRender.current\n}\n\nexport const Skeleton = forwardRef<SkeletonProps, \"div\">((props, ref) => {\n const styles = useStyleConfig(\"Skeleton\", props)\n const isFirstRender = useIsFirstRender()\n\n const {\n startColor,\n endColor,\n isLoaded,\n fadeDuration,\n speed,\n className,\n ...rest\n } = omitThemingProps(props)\n\n const wasPreviouslyLoaded = usePrevious(isLoaded)\n\n const _className = cx(\"chakra-skeleton\", className)\n\n if (isLoaded) {\n const animation =\n isFirstRender || wasPreviouslyLoaded ? \"none\" : `${fade} ${fadeDuration}s`\n\n return (\n <chakra.div\n ref={ref}\n className={_className}\n __css={{ animation }}\n {...rest}\n />\n )\n }\n\n return (\n <StyledSkeleton ref={ref} className={_className} {...rest} __css={styles} />\n )\n})\n\nSkeleton.defaultProps = {\n fadeDuration: 0.4,\n speed: 0.8,\n}\n\nif (__DEV__) {\n Skeleton.displayName = \"Skeleton\"\n}\n\nfunction range(count: number) {\n return Array(count)\n .fill(1)\n .map((_, index) => index + 1)\n}\n\nexport interface SkeletonTextProps extends SkeletonProps {\n spacing?: SkeletonProps[\"margin\"]\n skeletonHeight?: SkeletonProps[\"height\"]\n startColor?: SkeletonProps[\"startColor\"]\n endColor?: SkeletonProps[\"endColor\"]\n isLoaded?: SkeletonProps[\"isLoaded\"]\n}\n\nconst defaultNoOfLines = 3\n\nexport const SkeletonText: React.FC<SkeletonTextProps> = (props) => {\n const {\n noOfLines = defaultNoOfLines,\n spacing = \"0.5rem\",\n skeletonHeight = \"0.5rem\",\n className,\n startColor,\n endColor,\n isLoaded,\n fadeDuration,\n speed,\n children,\n ...rest\n } = props\n\n const noOfLinesValue =\n useBreakpointValue(\n typeof noOfLines === \"number\" ? [noOfLines] : noOfLines,\n ) || defaultNoOfLines\n const numbers = range(noOfLinesValue)\n\n const getWidth = (index: number) => {\n if (noOfLinesValue > 1) {\n return index === numbers.length ? \"80%\" : \"100%\"\n }\n return \"100%\"\n }\n\n const _className = cx(\"chakra-skeleton__group\", className)\n\n return (\n <chakra.div className={_className} {...rest}>\n {numbers.map((number, index) => {\n if (isLoaded && index > 0) {\n // skip other lines\n return null\n }\n\n const sizeProps = isLoaded\n ? null\n : {\n mb: number === numbers.length ? \"0\" : spacing,\n width: getWidth(number),\n height: skeletonHeight,\n }\n\n return (\n <Skeleton\n key={numbers.length.toString() + number}\n startColor={startColor}\n endColor={endColor}\n isLoaded={isLoaded}\n fadeDuration={fadeDuration}\n speed={speed}\n {...sizeProps}\n >\n {\n // allows animating the children\n index === 0 ? children : undefined\n }\n </Skeleton>\n )\n })}\n </chakra.div>\n )\n}\n\nif (__DEV__) {\n SkeletonText.displayName = \"SkeletonText\"\n}\n\nexport const SkeletonCircle: React.FC<SkeletonProps> = ({\n size = \"2rem\",\n ...rest\n}) => <Skeleton borderRadius=\"full\" boxSize={size} {...rest} />\n\nif (__DEV__) {\n SkeletonCircle.displayName = \"SkeletonCircle\"\n}\n","import { useRef, useEffect } from \"react\"\n\nexport function usePrevious<T>(value: T) {\n const ref = useRef<T | undefined>()\n\n useEffect(() => {\n ref.current = value\n }, [value])\n\n return ref.current as T\n}\n","import { createTestIds } from \"../../util/createTestIds\";\n\nconst testIds = createTestIds(\"home\", [\n \"headings\",\n \"results\",\n \"nextPageBtn\",\n \"nextIcon\",\n \"prevIcon\",\n] as const);\n\nexport default testIds;\n","import {\n ArrowForwardIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n} from \"@chakra-ui/icons\";\nimport { Grid, GridItem, Button, Flex, IconButton } from \"@chakra-ui/react\";\nimport type { Dispatch, FunctionComponent, SetStateAction } from \"react\";\nimport testIds from \"./testIds\";\n\nconst iconBtnProps = {\n borderRadius: \"md\",\n borderColor: \"blue.500\",\n colorScheme: \"blue\",\n mx: 2,\n h: 10,\n w: 10,\n variant: \"outline\",\n};\n\nconst iconProps = {\n color: \"blue.500\",\n h: 5,\n w: 5,\n};\n\nexport interface HomePageControlsProps {\n offset: number;\n pageLimit: number;\n setOffset: Dispatch<SetStateAction<number>>;\n}\n\nexport const HomePageControls: FunctionComponent<HomePageControlsProps> = ({\n offset,\n pageLimit,\n setOffset,\n}) => {\n const nextDisabled = offset === pageLimit;\n const prevDisabled = offset === 0;\n\n const getNextPage = () => {\n setOffset(offset + 1);\n };\n\n const getPrevPage = () => {\n setOffset(offset - 1);\n };\n\n return (\n <Grid\n alignItems=\"center\"\n pt={6}\n templateColumns=\"repeat(3, 1fr)\"\n templateRows=\"1fr\"\n >\n <GridItem colStart={2} justifySelf=\"center\">\n <Button\n colorScheme=\"blue\"\n data-testid={testIds.nextPageBtn}\n disabled={nextDisabled}\n onClick={getNextPage}\n rightIcon={<ArrowForwardIcon color=\"white\" />}\n >\n Next Page\n </Button>\n </GridItem>\n <GridItem colStart={3} justifySelf=\"end\">\n <Flex align=\"center\" justify=\"center\" py={4}>\n <IconButton\n aria-label=\"Previous Page\"\n data-testid={testIds.prevIcon}\n disabled={prevDisabled}\n icon={<ChevronLeftIcon {...iconProps} />}\n onClick={getPrevPage}\n {...iconBtnProps}\n />\n <IconButton\n aria-label=\"Next Page\"\n data-testid={testIds.nextIcon}\n disabled={nextDisabled}\n icon={<ChevronRightIcon {...iconProps} />}\n onClick={getNextPage}\n {...iconBtnProps}\n />\n </Flex>\n </GridItem>\n </Grid>\n );\n};\n","import { Box, Stack, Heading, Skeleton } from \"@chakra-ui/react\";\nimport { FunctionComponent, useState } from \"react\";\nimport { CatalogSearch } from \"../../components/CatalogSearch\";\nimport { Page } from \"../../components/Page\";\nimport { Picture } from \"../../components/Picture\";\nimport { Results } from \"../../components/Results\";\nimport { useCatalogResults } from \"../../hooks/useCatalogResults\";\nimport { useCatalogSearch } from \"../../hooks/useCatalogSearch\";\nimport { HomePageControls } from \"./HomePageControls\";\nimport testIds from \"./testIds\";\n\nconst sources = {\n optimal: [\n { media: \"(max-width:1024px)\", srcSet: \"/assets/hive@50.webp\" },\n { media: \"(min-width:1024px)\", srcSet: \"/assets/hive@100.webp\" },\n { media: \"(min-width:1024px)\", srcSet: \"/assets/hive@100.png\" },\n ],\n fallback: \"/assets/hive@50.png\",\n};\n\nexport const Home: FunctionComponent = () => {\n const searchAPI = useCatalogSearch();\n const [offset, setOffset] = useState(0);\n\n const { results, displayable, loading, pageLimit } = useCatalogResults({\n offset,\n limit: 20,\n query: \"\",\n language: null,\n });\n\n return (\n <Page\n meta={{\n title: \"Construct Hub\",\n description:\n \"Construct Hub helps developers find open-source construct libraries for use with AWS CDK, CDK8s, CDKTf and other construct-based tools.\",\n suffix: false,\n }}\n pageName=\"home\"\n >\n <Box position=\"relative\">\n <Picture\n alt={\"\"}\n h=\"540px\"\n position=\"absolute\"\n sources={sources.optimal}\n src={sources.fallback}\n top=\"0\"\n w=\"100%\"\n zIndex=\"hide\"\n />\n {/* Hero Section */}\n <Stack\n align=\"stretch\"\n direction=\"column\"\n justify=\"center\"\n m=\"0 auto\"\n maxW=\"container.lg\"\n p={[10, 15, 20]}\n spacing={8}\n >\n <Stack\n color=\"blue.800\"\n data-testid={testIds.headings}\n spacing={4}\n textAlign=\"center\"\n >\n <Heading size=\"2xl\">\n Find reusable components for your cloud applications\n </Heading>\n <Heading as=\"h3\" size=\"md\">\n AWS CDK | CDK for Terraform | CDK For Kubernetes\n </Heading>\n <Heading as=\"h4\" mb={8} size=\"sm\">\n Search from{\" \"}\n {!results.length ? (\n <Skeleton display=\"inline-block\" h={3} w={8} />\n ) : (\n <Box as=\"span\" color=\"blue.500\">\n {results.length}\n </Box>\n )}{\" \"}\n construct libraries\n </Heading>\n </Stack>\n <CatalogSearch {...searchAPI} />\n </Stack>\n\n {/* TBD: Trending Libraries in favor of catalog results */}\n <Box p={4} pb={8}>\n <Results\n results={displayable}\n skeleton={{ loading, noOfItems: 20 }}\n />\n <HomePageControls\n offset={offset}\n pageLimit={pageLimit}\n setOffset={setOffset}\n />\n </Box>\n </Box>\n </Page>\n );\n};\n"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- (this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[]).push([[1],{102:function(e,t,n){"use strict";n.d(t,"b",(function(){return g})),n.d(t,"a",(function(){return x}));var r=n(6),a=n(4),c=n(198),i=n(0),o="prefersWarnOnExternalLinkClick",s=n(199),l=n(45),u=n(195),d=n(221),j=n(149),b=n(223),f=n(57),h=n(1),O=function(e){var t=e.href,n=e.isOpen,r=e.onClick,c=e.onClose,O=e.setShouldWarn,p=Object(i.useState)(!0),g=Object(a.a)(p,2),x=g[0],v=g[1];return Object(h.jsx)(l.a,{closeOnOverlayClick:!1,isOpen:n,onClose:c,children:Object(h.jsx)(l.h,{children:Object(h.jsxs)(l.d,{color:"blue.800",children:[Object(h.jsx)(l.g,{children:"Confirm"}),Object(h.jsxs)(l.b,{children:[Object(h.jsx)(u.a,{fontSize:"lg",mb:2,children:"This link is taking you to an external site"}),Object(h.jsx)(u.a,{bg:"gray.100",borderRadius:"sm",color:"blue.500",fontSize:"sm",mb:4,p:1,children:t}),Object(h.jsx)(d.a,{onChange:function(e){var t=!e.target.checked;v(t)},children:"Do not show this warning again."})]}),Object(h.jsxs)(l.f,{children:[Object(h.jsx)(j.a,{onClick:function(){v(!0),c()},variant:"ghost",children:"Cancel"}),Object(h.jsx)(b.a,{hasArrow:!0,label:t,placement:"top",children:Object(h.jsx)(f.a,{hasIcon:!1,hasWarning:!1,href:t,noFollow:!0,onClick:function(e){if(!x){O(x);try{localStorage.setItem(o,JSON.stringify(x))}catch(t){}}null===r||void 0===r||r(e),c()},children:Object(h.jsx)(j.a,{colorScheme:"blue",ml:4,rightIcon:Object(h.jsx)(s.a,{}),tabIndex:0,variant:"ghost",children:"Proceed"})})})]})]})})})},p=Object(i.createContext)((function(e){return e.onClick})),g=function(){return Object(i.useContext)(p)},x=function(e){var t=e.children,n=Object(i.useState)(null),s=Object(a.a)(n,2),l=s[0],u=s[1],d=Object(c.a)({onClose:function(){u(null)}}),j=d.isOpen,b=d.onOpen,f=d.onClose,g=Object(i.useState)((function(){try{var e,t=null!==(e=localStorage.getItem(o))&&void 0!==e?e:"true";return JSON.parse(t)}catch(n){return!0}})),x=Object(a.a)(g,2),v=x[0],m=x[1],C=Object(i.useCallback)((function(e){var t=e.href,n=e.onClick;if(!v)return n;return function(e){u({href:t,onClick:n}),e.preventDefault(),b()}}),[b,v]);return Object(h.jsxs)(p.Provider,{value:C,children:[t,Object(h.jsx)(O,Object(r.a)({isOpen:j,onClose:f,setShouldWarn:m},l))]})}},112:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return l}));var r=n(0),a=n(20),c=n(1),i=Object(r.createContext)({trackPageView:function(){}}),o=function(e){var t=e.children,n=Object(a.h)().pathname,o=Object(r.useRef)(null),s=Object(r.useCallback)((function(e){var t,r,a;o.current!==n&&(null===(t=window)||void 0===t||null===(r=t.AWSMA)||void 0===r||null===(a=r.ready)||void 0===a||a.call(r,(function(){document.dispatchEvent(new CustomEvent(window.AWSMA.TRIGGER_EVENT,{detail:e})),o.current=n})))}),[n]);return Object(c.jsx)(i.Provider,{value:{trackPageView:s},children:t})},s=n(6),l=function(e){var t=Object(r.useContext)(i).trackPageView,n=Object(a.h)().pathname,c=Object(r.useMemo)((function(){return{page:Object(s.a)({pageURL:window.location.href.replace("://localhost:3000","://constructs.local.dev")},e.page),event:{type:"pageview",name:e.event.name,description:e.event.description}}}),[n,e]);return Object(r.useCallback)((function(){return t(c)}),[t,c])}},113:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),a=n(18),c=n(190),i=n(1),o=Object(a.a)((function(e,t){return Object(i.jsx)(c.a,Object(r.a)({bg:"white",border:"base",borderRadius:"card",boxShadow:"base",p:2,ref:t},e))}));o.displayName="Card"},115:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(0),a=n(20),c=function(){var e=Object(a.h)().search;return Object(r.useMemo)((function(){return new URLSearchParams(e)}),[e])}},116:function(e,t,n){"use strict";n.d(t,"a",(function(){return C})),n.d(t,"b",(function(){return v}));var r=n(6),a=n(22),c=n(145),i=n(84),o=n(4),s=n(18),l=n(224),u=n(149),d=n(25),j=n(210),b=n(220),f=n(195),h=n(1),O=n(37),p=Object(O.a)("catalogSearch",["form","input","languageDropdown","languageDropdownMenu","languageDropdownValue","languageItem","submit"]),g=Object.fromEntries(Object.entries(d.b).filter((function(e){var t=Object(o.a)(e,1)[0];return d.e.has(t)}))),x=function(e){var t=e.placeholder,n=e.items,r=e.onSelect,a=e.selected,c=e.testIds,i=a?n[a]:t,s=Object.entries(n);return Object(h.jsxs)(b.a,{strategy:"fixed",children:[Object(h.jsx)(b.b,{as:u.a,bg:"white",borderColor:"blue.100",boxShadow:"base","data-testid":c.trigger,rightIcon:Object(h.jsx)(j.a,{color:"blue.500"}),variant:"outline",children:Object(h.jsx)(f.a,{"data-testid":c.value,children:i})}),Object(h.jsxs)(b.f,{"data-testid":c.menu,children:[Object(h.jsx)(b.e,{"data-testid":c.item,onClick:function(){return r(null)},children:"Any"}),s.map((function(e){var t=Object(o.a)(e,2),n=t[0],a=t[1];return Object(h.jsx)(b.e,{"data-testid":c.item,onClick:function(){return r(n)},children:a},n)}))]})]})},v=Object(s.a)((function(e,t){var n=e.query,r=e.onQueryChange,a=e.language,c=e.onLanguageChange;return Object(h.jsxs)(h.Fragment,{children:[Object(h.jsx)(l.a,{bg:"white",borderColor:"blue.100",boxShadow:"base","data-testid":p.input,name:"query",onChange:r,placeholder:"Search Constructs...",ref:t,value:n}),Object(h.jsx)(x,{items:g,onSelect:c,placeholder:"Language...",selected:a,testIds:{item:p.languageItem,menu:p.languageDropdownMenu,trigger:p.languageDropdown,value:p.languageDropdownValue}}),Object(h.jsx)(u.a,{boxShadow:"base",colorScheme:"blue","data-testid":p.submit,type:"submit",children:"Search"})]})})),m=["onSubmit"],C=function(e){var t=e.onSubmit,n=Object(a.a)(e,m);return Object(h.jsx)(i.a,{"data-testid":p.form,onSubmit:t,children:Object(h.jsx)(c.a,{autoRows:"1fr",gap:4,templateColumns:{sm:"1fr",md:"3fr 1fr 1fr"},width:"full",children:Object(h.jsx)(v,Object(r.a)({},n))})})}},117:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(19),a=n(0),c=n(25),i=n(83),o=function(e){var t=e.limit,n=e.offset,o=void 0===n?0:n,s=e.query,l=void 0===s?"":s,u=e.language,d=void 0===u?null:u,j=Object(i.b)(),b=j.data,f=j.loading,h=j.error,O=Object(a.useMemo)((function(){if(f||h||!(null===b||void 0===b?void 0:b.packages))return[];var e=b.packages.filter((function(e){if(d&&d!==c.d.TypeScript&&!Object.keys(e.languages).includes(d))return!1;if(l.length){var t=JSON.stringify(e).toLowerCase(),n=l.toLowerCase();if(!t.includes(n))return!1}return!0}));return Object(r.a)(e).sort((function(e,t){var n=new Date(e.metadata.date),r=new Date(t.metadata.date);return n===r?0:n<r?1:-1}))}),[null===b||void 0===b?void 0:b.packages,h,d,f,l]),p=O?Math.floor(O.length/t):0,g=Object(a.useMemo)((function(){var e=(o>p?p:o)*t,n=e+t;return O.slice(e,n)}),[t,o,p,O]);return Object(a.useMemo)((function(){return{loading:f,results:O,error:h,displayable:g,pageLimit:p}}),[g,h,f,p,O])}},118:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(4),a=n(0),c=n(20),i=n(56),o=function(){var e,t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=Object(a.useState)(null!==(e=n.defaultQuery)&&void 0!==e?e:""),s=Object(r.a)(o,2),l=s[0],u=s[1],d=Object(a.useState)(null!==(t=n.defaultLanguage)&&void 0!==t?t:null),j=Object(r.a)(d,2),b=j[0],f=j[1],h=Object(c.g)(),O=h.push,p=function(e){e.preventDefault(),u(e.target.value)},g=Object(a.useCallback)((function(){O(Object(i.c)({language:b,query:l}))}),[b,O,l]),x=Object(a.useCallback)((function(e){null===e||void 0===e||e.preventDefault(),g()}),[g]);return Object(a.useMemo)((function(){return{language:b,onLanguageChange:f,onQueryChange:p,onSearch:g,onSubmit:x,query:l,setLanguage:f,setQuery:u}}),[b,g,x,l])}},119:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(6),a=n(22),c=n(18),i=n(190),o=n(219),s=n(1),l=["date","format"],u=Object(c.a)((function(e,t){var n=e.date,c=e.format,u=Object(a.a)(e,l);return Object(s.jsx)(i.a,Object(r.a)(Object(r.a)({as:"time",dateTime:n.toISOString(),ref:t},u),{},{children:Object(o.a)(n,c)}))}));u.displayName="Time"},120:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(223),a=n(25),c=n(1),i=function(e){var t=e.children,n=e.language;return a.e.has(n)?Object(c.jsx)(c.Fragment,{children:t}):Object(c.jsx)(r.a,{hasArrow:!0,label:"Documentation support for ".concat(a.b[n]," is coming soon!"),placement:"top-start",children:Object(c.jsx)("span",{children:t})})}},123:function(e,t,n){"use strict";n.d(t,"b",(function(){return p})),n.d(t,"a",(function(){return g}));var r=n(4),a=n(0),c=n(69),i=n(205),o=n(195),s=n(203),l=n(6),u=n(103),d=n(1),j=n(37),b=Object(j.a)("cardView",["controls","gridView","listView"]),f=[{viewType:c.b.Compact,icon:function(e){return Object(d.jsxs)(u.a,Object(l.a)(Object(l.a)({fill:"none",height:"19",viewBox:"0 0 20 19",width:"20"},e),{},{children:[Object(d.jsx)("path",{d:"M1.38098 8.64983H8.41201C8.79961 8.64983 9.11488 8.34356 9.11488 7.96704V1.13689C9.11488 0.760367 8.79961 0.454102 8.41201 0.454102H1.38098C0.993378 0.454102 0.678104 0.760367 0.678104 1.13689V7.96704C0.678104 8.34356 0.993378 8.64983 1.38098 8.64983Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M11.588 8.64983H18.619C19.0066 8.64983 19.3219 8.34356 19.3219 7.96704V1.13689C19.3219 0.760367 19.0066 0.454102 18.619 0.454102H11.588C11.2004 0.454102 10.8851 0.760367 10.8851 1.13689V7.96704C10.8851 8.34356 11.2004 8.64983 11.588 8.64983Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M1.38098 18.7458H8.41201C8.79961 18.7458 9.11488 18.4395 9.11488 18.063V11.2328C9.11488 10.8563 8.79961 10.55 8.41201 10.55H1.38098C0.993378 10.55 0.678104 10.8563 0.678104 11.2328V18.063C0.678104 18.4395 0.993378 18.7458 1.38098 18.7458Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M11.588 18.7458H18.619C19.0066 18.7458 19.3219 18.4395 19.3219 18.063V11.2328C19.3219 10.8563 19.0066 10.55 18.619 10.55H11.588C11.2004 10.55 10.8851 10.8563 10.8851 11.2328V18.063C10.8851 18.4395 11.2004 18.7458 11.588 18.7458Z",fill:"--currentColor"})]}))},name:"Grid View","data-testid":b.gridView},{viewType:c.b.Wide,icon:function(e){return Object(d.jsxs)(u.a,Object(l.a)(Object(l.a)({fill:"none",height:"17",viewBox:"0 0 22 17",width:"22"},e),{},{children:[Object(d.jsx)("path",{d:"M6.90623 4.27567H20.2844C20.7103 4.27567 21.0569 3.93899 21.0569 3.52515V1.45779C21.0569 1.04408 20.7103 0.707397 20.2844 0.707397H6.90623C6.48036 0.707397 6.13377 1.04408 6.13377 1.45779V3.52515C6.13377 3.93899 6.48036 4.27567 6.90623 4.27567Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M1.71557 4.27567H3.84865C4.27453 4.27567 4.62112 3.93899 4.62112 3.52515V1.45779C4.62112 1.04408 4.27453 0.707397 3.84865 0.707397H1.71557C1.28969 0.707397 0.943108 1.04408 0.943108 1.45779V3.52515C0.943108 3.93899 1.28969 4.27567 1.71557 4.27567Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M1.71557 10.3865H3.84865C4.27453 10.3865 4.62112 10.0498 4.62112 9.63613V7.56399C4.62112 7.15028 4.27453 6.8136 3.84865 6.8136H1.71557C1.28969 6.8136 0.943108 7.15028 0.943108 7.56399V9.63613C0.943108 10.0498 1.28969 10.3865 1.71557 10.3865Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M6.90623 10.3865H20.2844C20.7103 10.3865 21.0569 10.0498 21.0569 9.63613V7.56399C21.0569 7.15028 20.7103 6.8136 20.2844 6.8136H6.90623C6.48036 6.8136 6.13377 7.15028 6.13377 7.56399V9.63613C6.13377 10.0498 6.48036 10.3865 6.90623 10.3865Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M6.90623 16.4927H20.2844C20.7103 16.4927 21.0569 16.156 21.0569 15.7423V13.675C21.0569 13.2612 20.7103 12.9246 20.2844 12.9246H6.90623C6.48036 12.9246 6.13377 13.2612 6.13377 13.675V15.7423C6.13377 16.156 6.48036 16.4927 6.90623 16.4927Z",fill:"--currentColor"}),Object(d.jsx)("path",{d:"M1.71557 16.4927H3.84865C4.27453 16.4927 4.62112 16.156 4.62112 15.7423V13.675C4.62112 13.2612 4.27453 12.9246 3.84865 12.9246H1.71557C1.28969 12.9246 0.943108 13.2612 0.943108 13.675V15.7423C0.943108 16.156 1.28969 16.4927 1.71557 16.4927Z",fill:"--currentColor"})]}))},name:"List View","data-testid":b.listView}],h=function(e){var t=e.currentCardView,n=e.setCardView;return Object(d.jsxs)(i.a,{align:"center","data-testid":b.controls,children:[Object(d.jsx)(o.a,{mr:2,children:"View as"}),f.map((function(e){var r=e["data-testid"],a=e.name,c=e.icon,i=e.viewType;return Object(d.jsx)(s.a,{"aria-label":"".concat(t===i?"Show":"Showing"," ").concat(a),"data-testid":r,icon:Object(d.jsx)(c,{fill:t===i?"blue.500":"black",height:5,width:5}),onClick:function(){return null===n||void 0===n?void 0:n(i)},p:0,variant:"ghost"},a)}))]})},O=Object(a.createContext)({cardView:c.b.Wide,CardViewControls:h,setCardView:function(){}}),p=function(){return Object(a.useContext)(O)},g=function(e){var t=e.children,n=Object(a.useState)(c.b.Wide),i=Object(r.a)(n,2),o=i[0],s=i[1],l=Object(a.useCallback)((function(){return Object(d.jsx)(h,{currentCardView:o,setCardView:s})}),[o,s]);return Object(d.jsx)(O.Provider,{value:{cardView:o,setCardView:s,CardViewControls:l},children:t})}},13:function(e,t,n){"use strict";n.d(t,"a",(function(){return r})),n.d(t,"b",(function(){return a})),n.d(t,"c",(function(){return c}));var r={PACKAGES_PREFIX:"/data",CATALOG_SUFFIX:"/catalog.json",ASSEMBLY_SUFFIX:"/assembly.json",METADATA_SUFFIX:"/metadata.json",CONFIG:"/config.json"},a={LANGUAGE:"lang",OFFSET:"offset",SEARCH_QUERY:"q",SUBMODULE:"submodule"},c={FAQ:"/faq",HOME:"/",PACKAGES:"/packages",SEARCH:"/search",SITE_TERMS:"/terms"}},136:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(4),a=n(0),c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=Object(a.useState)(e),c=Object(r.a)(n,2),i=c[0],o=c[1],s=t.delay,l=void 0===s?250:s,u=t.onChange;return Object(a.useEffect)((function(){var t=setTimeout((function(){o(e),null===u||void 0===u||u(e)}),l);return function(){clearTimeout(t)}}),[e,l,u]),i}},137:function(e,t,n){"use strict";n.d(t,"a",(function(){return l}));var r=n(6),a=n(22),c=n(18),i=n(213),o=n(1),s=["name","onClick"],l=Object(c.a)((function(e,t){var n=e.name,c=e.onClick,l=Object(a.a)(e,s);return Object(o.jsx)(i.a,Object(r.a)(Object(r.a)({alignItems:"center",display:"flex",fontSize:"lg",h:12,lineHeight:"base",listStyleType:"none",onClick:c,onKeyDown:function(e){"Enter"===e.key&&c()},px:4,ref:t,role:"option",sx:{":hover, :focus":{bg:"gray.100"}},tabIndex:0},l),{},{children:n}))}));l.displayName="SearchItem"},162:function(e,t,n){},169:function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"initialize",(function(){return P})),n.d(r,"access",(function(){return H})),n.d(r,"checkForCookieConsent",(function(){return G})),n.d(r,"customizeCookies",(function(){return W})),n.d(r,"getConsentCookie",(function(){return L})),n.d(r,"hasConsent",(function(){return D}));var a,c,i=n(0),o=n.n(i),s=n(80),l=n.n(s),u=n(24),d=(n(162),n(145)),j=n(20),b=n(202),f=n(204),h=n(198),O=n(190),p=n(201),g=n(195),x=n(203),v=n(113),m=n(57),C=n(1),w="showing-dev-preview-banner",y=function(){var e,t=Object(h.a)({defaultIsOpen:JSON.parse(null!==(e=window.sessionStorage.getItem(w))&&void 0!==e?e:"true"),onClose:function(){return window.sessionStorage.setItem(w,"false")}}),n=t.isOpen,r=t.onClose;return Object(C.jsx)(O.a,{h:"max-content",children:Object(C.jsx)(p.a,{in:n,children:Object(C.jsxs)(v.a,{"aria-label":"Preview Banner",bg:"blue.500",border:"none",boxShadow:"none",color:"white",mt:4,mx:4,p:4,position:"relative",role:"alertdialog",children:[Object(C.jsx)(b.a,{h:5,left:4,position:"absolute",top:4,w:5}),Object(C.jsxs)(g.a,{fontSize:"md",mx:8,textAlign:"center",children:["This application is in Dev Preview. Some features may change. If you find any issues, please report them"," ",Object(C.jsx)(m.a,{color:"inherit",hasWarning:!1,href:"https://github.com/cdklabs/construct-hub-webapp/issues",textDecoration:"underline",children:"here"})]}),Object(C.jsx)(x.a,{"aria-label":"Dismiss banner",colorScheme:"white",icon:Object(C.jsx)(f.a,{}),onClick:r,position:"absolute",right:4,size:"xs",top:3,variant:"ghost"})]})})})},S=n(4),k=n(205),E=n(206),A=n(207),M=n(149),z=n(22),T=n(33),I=n.n(T),V=n(50),F=function(){new URLSearchParams(window.location.search).get("sb")},P=function(){var e=Object(V.a)(I.a.mark((function e(){return I.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",new Promise((function(e,t){window.addEventListener("load",Object(V.a)(I.a.mark((function r(){var c,i,o;return I.a.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,c={domain:window.location.hostname,language:navigator.language,__storeWriter:F()},r.next=4,n.e(14).then(n.t.bind(null,589,7));case 4:i=r.sent,o=i.AWSCShortbread,a=o(c),e(),r.next=13;break;case 10:r.prev=10,r.t0=r.catch(0),t(r.t0);case 13:case"end":return r.stop()}}),r,null,[[0,10]])}))))})));case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),R=function(e){return function(){var t;if(!a)throw new Error("shortbread has not been initialized");return(t=a)[e].apply(t,arguments)}},H=R("access"),G=R("checkForCookieConsent"),W=R("customizeCookies"),L=R("getConsentCookie"),D=R("hasConsent"),N=P,U=Object(z.a)(r,["initialize"]),_=Object(i.createContext)({}),B=function(e){var t=e.children,n=Object(i.useState)(!1),r=Object(S.a)(n,2),a=r[0],c=r[1];return Object(i.useEffect)((function(){var e=!1;return N().then((function(){e||(U.checkForCookieConsent(),c(!0))})).catch((function(t){console.error(t),e||c(!1)})),function(){e=!0,c(!1)}}),[]),Object(C.jsx)(_.Provider,{value:a?U:{},children:t})},q=n(68),J=n(13),Z={SERVICE_TERMS:{display:"AWS Service Terms",url:"https://aws.amazon.com/service-terms/",testId:"service-terms"},PRIVACY:{display:"Privacy",url:"https://aws.amazon.com/privacy/",testId:"privacy"},SITE_TERMS:{display:"Site Terms",url:J.c.SITE_TERMS,testId:"site-terms",isExternal:!1},LEGAL:{display:"Legal",url:"https://aws.amazon.com/legal/",testId:"legal"}},K=n(19),Q=n(37),X=Object(Q.a)("footer",["container","links","disclaimer","manageCookies"].concat(Object(K.a)(Object.values(Z).map((function(e){return e.testId}))))),Y=function(){var e=Object(i.useContext)(_).customizeCookies;return Object(C.jsxs)(k.a,{align:"center",as:"footer",bg:"blue.800",color:"white","data-testid":X.container,direction:"column",justify:"center",py:4,children:[Object(C.jsx)(E.a,{columnGap:6,columns:[1,2,4],"data-testid":X.links,children:Object.entries(Z).map((function(e,t){var n=Object(S.a)(e,2),r=n[0],a=n[1],c=a.display,i=a.isExternal,o=void 0===i||i,s=a.testId,l=a.url;return Object(C.jsxs)(k.a,{align:"center",direction:{base:"column",md:"row"},children:[Object(C.jsx)(O.a,{display:{base:"none",md:0!==t?"initial":"none"},h:5,children:Object(C.jsx)(A.a,{borderColor:"white",mr:6,orientation:"vertical"})}),o?Object(C.jsx)(m.a,{color:"currentcolor","data-testid":X[s],hasWarning:!1,href:l,lineHeight:10,mx:"auto",children:c}):Object(C.jsx)(q.a,{color:"currentcolor","data-testid":X[s],lineHeight:10,mx:"auto",to:l,children:c}),Object(C.jsx)(O.a,{display:{base:"none",sm:t<2?"initial":"none",md:"none"},w:"100%",children:Object(C.jsx)(A.a,{borderColor:"white"})})]},r)}))}),Object(C.jsx)(g.a,{"data-testid":X.disclaimer,fontSize:"xs",mt:4,children:"2021 Amazon Web Services, Inc. All rights reserved."}),Object(C.jsx)(M.a,{color:"white","data-testid":X.manageCookies,fontSize:"xs",fontWeight:"normal",mt:4,onClick:e,variant:"link",children:"Manage Cookies"})]})},$=n(6),ee=[{display:"FAQ",isNavLink:!0,url:"/faq"},{display:"Construct Hub on GitHub",url:"https://github.com/cdklabs/construct-hub"},{display:"Issues on GitHub",url:"https://github.com/cdklabs/construct-hub/issues"}],te=[{display:"AWS CDK",links:[{display:"Home",url:"https://aws.amazon.com/cdk/"},{display:"Getting Started",url:"https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html"},{display:"Workshop",url:"https://cdkworkshop.com/"},{display:"Best Practices",url:"https://aws.amazon.com/blogs/devops/best-practices-for-developing-cloud-applications-with-aws-cdk"}]},{display:"CDK for Terraform",links:[{display:"Getting Started",url:"https://learn.hashicorp.com/tutorials/terraform/cdktf"},{display:"Tutorials",url:"https://learn.hashicorp.com/collections/terraform/cdktf"}]},{display:"CDK for Kubernetes",links:[{display:"Home",url:"https://cdk8s.io"},{display:"Getting Started",url:"https://cdk8s.io/docs/latest/getting-started"},{display:"Documentation",url:"https://cdk8s.io/docs/latest"},{display:"API Reference",url:"https://cdk8s.io/docs/latest/reference/index.html"}]},{display:"Community",links:[{display:"Slack",url:"https://join.slack.com/t/cdk-dev/shared_invite/zt-mso6p56d-qJp7SOTBvMaQuDrx7R2wHg"},{display:"Community Hub",url:"https://cdk.dev"}]}],ne=n(220),re=["children"],ae=function(e){var t=e.children,n=Object(z.a)(e,re);return Object(C.jsx)(ne.a,Object($.a)(Object($.a)({colorScheme:"blue.800",strategy:"fixed"},n),{},{children:t}))},ce=n(18),ie=["items"],oe=function(e){var t=e.display,n=e.isNavLink,r=e.url;return n?Object(C.jsx)(q.a,{color:"blue.500",to:r,children:t}):Object(C.jsx)(m.a,{alignItems:"center",display:"flex",hasWarning:!1,href:r,justifyContent:"space-between",w:"100%",children:t})},se=Object(ce.a)((function(e,t){var n=e.items,r=Object(z.a)(e,ie);return Object(C.jsx)(ne.f,Object($.a)(Object($.a)({},r),{},{ref:t,children:n.map((function(e,t){return"links"in e?Object(C.jsxs)(i.Fragment,{children:[Object(C.jsx)(ne.d,{align:"left",title:e.display,children:e.links.map((function(e,t){return Object(C.jsx)(ne.e,{children:Object(C.jsx)(oe,Object($.a)({},e))},"".concat(e.display,"-").concat(t))}))}),t!==n.length-1&&Object(C.jsx)(ne.c,{})]},"".concat(e.display,"-").concat(t)):Object(C.jsx)(ne.e,{children:Object(C.jsx)(oe,Object($.a)({},e))},"".concat(e.display,"-").concat(t))}))}))})),le=n(210),ue=["children"],de=Object(ce.a)((function(e,t){var n=e.children,r=Object(z.a)(e,ue);return Object(C.jsx)(ne.b,Object($.a)(Object($.a)({as:M.a,color:"blue.800",fontWeight:"500",ref:t,rightIcon:Object(C.jsx)(le.a,{h:6,w:6}),size:"md",variant:"link"},r),{},{children:n}))})),je=Object(Q.a)("header",["container","title","gettingStartedTrigger","gettingStartedMenu","resourcesTrigger","resourcesMenu","navOpen","navClose","searchButton","searchIcon","mobileNav"]),be=function(){return Object(C.jsxs)(ae,{children:[Object(C.jsx)(de,{"data-testid":je.gettingStartedTrigger,children:"Getting Started"}),Object(C.jsx)(se,{"data-testid":je.gettingStartedMenu,items:ee})]})},fe=n(212),he=n(227),Oe=n(228),pe=n(45),ge=n(229),xe=function(){return Object(C.jsxs)(ae,{children:[Object(C.jsx)(de,{"data-testid":je.resourcesTrigger,children:"Resources"}),Object(C.jsx)(se,{"data-testid":je.resourcesMenu,items:te})]})},ve=n(211),me=function(){return Object(C.jsx)(ve.a,{as:"h1",color:"blue.800","data-testid":je.title,size:"lg",children:Object(C.jsxs)(u.b,{to:"/",children:[Object(C.jsx)(O.a,{as:"span",color:"blue.500",children:"Construct"})," ","Hub"]})})},Ce=function(e){var t=e.isOpen,n=e.onClose;return Object(C.jsx)(he.a,{children:Object(C.jsxs)(Oe.a,{isOpen:t,onClose:n,placement:"left",size:"xs",children:[Object(C.jsx)(pe.h,{}),Object(C.jsxs)(Oe.b,{"data-testid":je.mobileNav,children:[Object(C.jsx)(pe.c,{}),Object(C.jsx)(pe.g,{display:"flex",justifyContent:"center",children:Object(C.jsx)(me,{})}),Object(C.jsx)(pe.b,{children:Object(C.jsxs)(ge.a,{align:"start",justify:"start",spacing:4,children:[Object(C.jsx)(be,{}),Object(C.jsx)(xe,{})]})})]})]})})},we=function(){var e=Object(h.a)();return Object(C.jsxs)(C.Fragment,{children:[Object(C.jsx)(x.a,{"aria-label":"Navigation Menu",borderRadius:"md","data-testid":je.navOpen,display:{md:"none"},icon:Object(C.jsx)(fe.a,{}),onClick:e.onOpen,variant:"ghost"}),Object(C.jsx)(Ce,Object($.a)({},e))]})},ye=n(214),Se=n(213),ke=n(117),Ee=n(118),Ae=n(136),Me=n(70),ze=n(116),Te=n(84),Ie=n(137),Ve=Object(Q.a)("searchModal",["container"]),Fe=["onSubmit"],Pe=function(e){var t=e.isOpen,n=e.onClose,r=Object(j.g)().push,a=Object(Me.a)(),c=Object(S.a)(a,1)[0],o=Object(Ee.a)(),s=o.onSubmit,l=Object(z.a)(o,Fe),u=Object(Ae.a)({query:l.query,language:l.language}),d=u.query,b=u.language,f=Object(ke.a)({limit:5,offset:0,query:d,language:b}).displayable,h=(d||b)&&f.length>0,O=Object(i.useRef)(null);return Object(C.jsx)(he.a,{children:Object(C.jsx)(pe.a,{initialFocusRef:O,isOpen:t,onClose:n,children:Object(C.jsx)(pe.h,{children:Object(C.jsxs)(pe.d,{"data-testid":Ve.container,children:[Object(C.jsx)(pe.c,{}),Object(C.jsx)(pe.g,{children:"Search modules or providers"}),Object(C.jsxs)(pe.b,{children:[Object(C.jsx)(Te.a,{onSubmit:function(e){n(),s(e)},pb:4,children:Object(C.jsx)(ge.a,{spacing:4,children:Object(C.jsx)(ze.b,Object($.a)({ref:O},l))})}),h&&Object(C.jsxs)(C.Fragment,{children:[Object(C.jsx)(A.a,{}),Object(C.jsx)(ve.a,{fontSize:"md",my:4,textAlign:"center",children:"Suggestions"}),Object(C.jsx)(Se.c,{children:f.map((function(e){return Object(C.jsx)(Ie.a,{name:e.name,onClick:function(){return t="".concat(J.c.PACKAGES,"/").concat(e.name,"/v/").concat(e.version,"?").concat(J.b.LANGUAGE,"=").concat(null!==b&&void 0!==b?b:c),n(),void r(t);var t}},e.name)}))})]})]})]})})})})},Re=function(){var e=Object(h.a)(),t=Object(j.h)().pathname;return[J.c.HOME,J.c.SEARCH].some((function(e){return e===t}))?null:Object(C.jsxs)(C.Fragment,{children:[Object(C.jsx)(M.a,{align:"center",color:"gray.600",colorScheme:"gray","data-testid":je.searchButton,display:{base:"none",md:"flex"},fontWeight:"medium",justifyContent:"space-between",m:"0 auto",maxW:"500px",onClick:e.onOpen,rightIcon:Object(C.jsx)(ye.a,{color:"gray.600",ml:4}),variant:"outline",w:"100%",children:"Search Constructs..."}),Object(C.jsx)(x.a,{"aria-label":"Search Icon",borderRadius:"md","data-testid":je.searchIcon,display:{base:"initial",md:"none"},icon:Object(C.jsx)(ye.a,{color:"gray.600"}),onClick:e.onOpen,variant:"ghost"}),Object(C.jsx)(Pe,Object($.a)({},e))]})},He=function(e){return Object(C.jsx)(d.b,Object($.a)({align:"center",justify:"center",rowStart:1},e))},Ge=function(){return Object(C.jsxs)(d.a,{alignItems:"center",as:"header",bg:"white",boxShadow:"base","data-testid":je.container,gap:4,gridTemplateColumns:{base:"1fr 3fr 1fr",md:"minmax(200px, 2fr) minmax(200px, 3fr) 2fr"},gridTemplateRows:"1fr",maxW:"100vw",position:"sticky",px:4,py:4,top:0,w:"100%",zIndex:"sticky",children:[Object(C.jsx)(He,{colStart:{base:2,md:1},justifySelf:{base:"center",md:"start"},children:Object(C.jsx)(me,{})}),Object(C.jsx)(He,{colStart:{base:3,md:2},justifySelf:{base:"end",md:"stretch"},children:Object(C.jsx)(Re,{})}),Object(C.jsxs)(He,{colStart:{base:1,md:3},justifySelf:{base:"start",md:"end"},children:[Object(C.jsxs)(d.a,{display:{base:"none",md:"grid"},gap:4,gridTemplateColumns:"1fr 1fr",gridTemplateRows:"1fr",placeItems:"center",w:"100%",children:[Object(C.jsx)(O.a,{children:Object(C.jsx)(be,{})}),Object(C.jsx)(O.a,{children:Object(C.jsx)(xe,{})})]}),Object(C.jsx)(we,{})]})]})},We=n(89),Le=["component"],De=function(e){var t=e.component,n=Object(z.a)(e,Le);return Object(C.jsx)(j.b,Object($.a)(Object($.a)({},n),{},{children:Object(C.jsx)(i.Suspense,{fallback:Object(C.jsx)(We.a,{}),children:Object(C.jsx)(t,{})})}))},Ne=n(88),Ue=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(12)]).then(n.bind(null,594))})),_e=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(7)]).then(n.bind(null,596))})),Be=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(8)]).then(n.bind(null,595))})),qe=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(10)]).then(n.bind(null,297))})),Je=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(3),n.e(5)]).then(n.bind(null,591))})),Ze=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(6)]).then(n.bind(null,597))})),Ke=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(11),n.e(9)]).then(n.bind(null,592))})),Qe=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(13)]).then(n.bind(null,598))})),Xe=function(){var e,t=Object(Ne.b)(),n=t.data,r=t.loading,a=null!==(e=null===n||void 0===n?void 0:n.featureFlags)&&void 0!==e?e:{},c=(null===a||void 0===a?void 0:a.homeRedesign)||(null===a||void 0===a?void 0:a.searchRedesign);return Object(C.jsxs)(d.a,{as:"main",bg:"bgPrimary",gridTemplateColumns:"1fr",gridTemplateRows:"auto auto 1fr auto",h:"100%",inset:0,maxW:"100vw",overflow:"hidden auto",position:"fixed",children:[Object(C.jsx)(Ge,{}),r||c?Object(C.jsx)("div",{}):Object(C.jsx)(y,{}),r?Object(C.jsx)(We.a,{}):Object(C.jsxs)(j.d,{children:[Object(C.jsx)(De,{component:Ue,exact:!0,path:J.c.FAQ}),Object(C.jsx)(De,{component:(null===a||void 0===a?void 0:a.homeRedesign)?Be:_e,exact:!0,path:J.c.HOME}),Object(C.jsx)(De,{component:Qe,exact:!0,path:J.c.SITE_TERMS}),Object(C.jsx)(De,{component:Je,path:J.c.PACKAGES}),Object(C.jsx)(De,{component:(null===a||void 0===a?void 0:a.searchRedesign)?Ke:Ze,exact:!0,path:J.c.SEARCH}),Object(C.jsx)(De,{component:qe,path:"*"})]}),Object(C.jsx)(Y,{})]})},Ye=n(112),$e=n(123),et=n(83),tt=n(102),nt=n(222),rt=n(217),at=n(98),ct=at.theme.components.Code,it=Object($.a)(Object($.a)({},ct),{},{variants:Object($.a)(Object($.a)({},ct.variants),{},{"code-block":Object($.a)(Object($.a)({},ct.variants.subtle),{},{display:"block",whiteSpace:"pre"})})}),ot=function(e,t){return function(n){var r="function"===typeof e?e(n):e;return Object($.a)(Object($.a)({},r),{},{container:Object($.a)(Object($.a)({},r.container),t)})}},st=at.theme.components.Tag,lt=Object($.a)(Object($.a)({},st),{},{baseStyle:{container:{fontWeight:"normal"}},variants:Object($.a)(Object($.a)({},st.variants),{},{subtle:ot(st.variants.subtle,{background:"#F2F2F2",color:"blue.800"}),official:ot(st.variants.subtle,{background:"rgba(33, 150, 83, 0.1)",color:"#219653"})})}),ut=Object($.a)(Object($.a)({},at.theme.components),{},{Code:it,Divider:{defaultProps:{borderColor:"rgba(0, 124, 253, 0.15)"}},Tag:lt}),dt={borders:{base:"1px solid rgba(0, 124, 253, 0.15)"},colors:Object($.a)(Object($.a)({},at.theme.colors),{},{blue:{50:"#dcf3ff",100:"#aed9ff",200:"#7dbeff",300:"#4aa4ff",400:"#1a8aff",500:"#0070e6",600:"#0057b4",700:"#003e82",800:"#002551",900:"#000d21"},bgPrimary:"#F8F8F8"}),radii:{card:"0.75rem"},sizes:{container:{"2xl":"1920px"}},shadows:{base:"0px 4px 15px rgba(40, 132, 178, 0.15)"}},jt=Object(rt.a)(Object($.a)(Object($.a)({},dt),{},{components:ut})),bt=function(e){var t=e.children;return Object(C.jsx)(nt.a,{resetCSS:!0,theme:jt,children:t})},ft=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)),ht=function(e,t){navigator.serviceWorker.register(e).then((function(e){e.onupdatefound=function(){var n=e.installing;null!=n&&(n.onstatechange=function(){"installed"===n.state&&(navigator.serviceWorker.controller?(console.log("New content is available and will be used when all tabs for this page are closed. See https://cra.link/PWA."),t&&t.onUpdate&&t.onUpdate(e)):(console.log("Content is cached for offline use."),t&&t.onSuccess&&t.onSuccess(e)))})}})).catch((function(e){console.error("Error during service worker registration:",e)}))};l.a.render(Object(C.jsx)(o.a.StrictMode,{children:Object(C.jsx)(u.a,{children:Object(C.jsx)(B,{children:Object(C.jsx)(Ye.a,{children:Object(C.jsx)(Ne.a,{children:Object(C.jsx)(et.a,{children:Object(C.jsx)(bt,{children:Object(C.jsx)(tt.a,{children:Object(C.jsx)($e.a,{children:Object(C.jsx)(Xe,{})})})})})})})})})}),document.getElementById("root")),c&&c instanceof Function&&n.e(15).then(n.bind(null,590)).then((function(e){var t=e.getCLS,n=e.getFID,r=e.getFCP,a=e.getLCP,i=e.getTTFB;t(c),n(c),r(c),a(c),i(c)}),(function(){})),function(e){if("serviceWorker"in navigator){if(new URL("",window.location.href).origin!==window.location.origin)return;window.addEventListener("load",(function(){var t="".concat("","/service-worker.js");ft?(!function(e,t){fetch(e,{headers:{"Service-Worker":"script"}}).then((function(n){var r=n.headers.get("content-type");404===n.status||null!=r&&-1===r.indexOf("javascript")?navigator.serviceWorker.ready.then((function(e){e.unregister().then((function(){window.location.reload()}))})):ht(e,t)})).catch((function(){console.log("No internet connection found. App is running in offline mode.")}))}(t,e),navigator.serviceWorker.ready.then((function(){console.log("This web app is being served cache-first by a service worker. To learn more, visit https://cra.link/PWA")}))):ht(t,e)}))}}()},25:function(e,t,n){"use strict";n.d(t,"d",(function(){return c})),n.d(t,"a",(function(){return u})),n.d(t,"b",(function(){return d})),n.d(t,"e",(function(){return j})),n.d(t,"c",(function(){return b}));var r,a,c,i=n(5),o=n(6),s=n(103),l=n(1);!function(e){e.DotNet="dotnet",e.TypeScript="typescript",e.Python="python",e.Go="golang",e.Java="java"}(c||(c={}));var u=[c.TypeScript,c.Python,c.Java,c.Go,c.DotNet],d=(r={},Object(i.a)(r,c.TypeScript,"TypeScript"),Object(i.a)(r,c.Python,"Python"),Object(i.a)(r,c.Java,"Java"),Object(i.a)(r,c.Go,"Go"),Object(i.a)(r,c.DotNet,".NET"),r),j=new Set([c.Python,c.TypeScript,c.Java]),b=(a={},Object(i.a)(a,c.TypeScript,{name:d.typescript,icon:function(e){return Object(l.jsxs)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 256 256",children:[Object(l.jsx)("path",{d:"M0 128v128h256V0H0z",fill:"#007ACC"}),Object(l.jsx)("path",{d:"M56.611 128.85l-.081 10.483h33.32v94.68h23.57v-94.68h33.32v-10.28c0-5.69-.122-10.444-.284-10.566-.122-.162-20.399-.244-44.983-.203l-44.739.122-.122 10.443zM206.567 118.108c6.501 1.626 11.459 4.51 16.01 9.224 2.357 2.52 5.851 7.112 6.136 8.209.08.325-11.053 7.802-17.798 11.987-.244.163-1.22-.894-2.317-2.52-3.291-4.794-6.745-6.867-12.028-7.232-7.76-.529-12.759 3.535-12.718 10.32 0 1.992.284 3.17 1.097 4.796 1.707 3.535 4.876 5.648 14.832 9.955 18.326 7.884 26.168 13.085 31.045 20.48 5.445 8.25 6.664 21.415 2.966 31.208-4.063 10.646-14.14 17.88-28.323 20.277-4.388.772-14.79.65-19.504-.203-10.28-1.829-20.033-6.908-26.047-13.572-2.357-2.601-6.949-9.387-6.664-9.875.122-.162 1.178-.812 2.356-1.503 1.138-.65 5.446-3.13 9.509-5.486l7.355-4.267 1.544 2.276c2.154 3.291 6.867 7.802 9.712 9.305 8.167 4.308 19.383 3.698 24.909-1.26 2.357-2.153 3.332-4.388 3.332-7.68 0-2.966-.366-4.266-1.91-6.5-1.99-2.845-6.054-5.243-17.595-10.24-13.206-5.69-18.895-9.225-24.096-14.833-3.007-3.25-5.852-8.452-7.03-12.8-.975-3.616-1.22-12.678-.447-16.335 2.723-12.76 12.353-21.658 26.25-24.3 4.51-.853 14.994-.528 19.424.57z",fill:"#FFF"})]}))}}),Object(i.a)(a,c.Python,{name:d.python,icon:function(e){return Object(l.jsxs)(s.a,Object(o.a)(Object(o.a)({},e),{},{version:"1.0",viewBox:"0 0 110.421 109.846",children:[Object(l.jsxs)("defs",{children:[Object(l.jsxs)("linearGradient",{id:"a",children:[Object(l.jsx)("stop",{offset:"0",stopColor:"#ffe052"}),Object(l.jsx)("stop",{offset:"1",stopColor:"#ffc331"})]}),Object(l.jsx)("linearGradient",{gradientUnits:"userSpaceOnUse",id:"d",x1:"89.137",x2:"147.777",xlinkHref:"#a",y1:"111.921",y2:"168.101"}),Object(l.jsxs)("linearGradient",{id:"b",children:[Object(l.jsx)("stop",{offset:"0",stopColor:"#387eb8"}),Object(l.jsx)("stop",{offset:"1",stopColor:"#366994"})]}),Object(l.jsx)("linearGradient",{gradientUnits:"userSpaceOnUse",id:"c",x1:"55.549",x2:"110.149",xlinkHref:"#b",y1:"77.07",y2:"131.853"})]}),Object(l.jsxs)("g",{color:"#000",children:[Object(l.jsx)("path",{d:"M99.75 67.469c-28.032 0-26.281 12.156-26.281 12.156l.031 12.594h26.75V96H62.875s-17.938-2.034-17.938 26.25 15.657 27.281 15.657 27.281h9.343v-13.125s-.503-15.656 15.407-15.656h26.531s14.906.241 14.906-14.406V82.125s2.263-14.656-27.031-14.656zM85 75.938a4.808 4.808 0 014.813 4.812A4.808 4.808 0 0185 85.563a4.808 4.808 0 01-4.813-4.813A4.808 4.808 0 0185 75.937z",fill:"url(#c)",overflow:"visible",style:{marker:"none"},transform:"translate(-44.938 -67.469)"}),Object(l.jsx)("path",{d:"M100.546 177.315c28.032 0 26.281-12.156 26.281-12.156l-.03-12.594h-26.75v-3.781h37.374s17.938 2.034 17.938-26.25c0-28.285-15.657-27.282-15.657-27.282h-9.343v13.125s.503 15.657-15.407 15.657h-26.53s-14.907-.241-14.907 14.406v24.219s-2.263 14.656 27.031 14.656zm14.75-8.469a4.808 4.808 0 01-4.812-4.812 4.808 4.808 0 014.812-4.813 4.808 4.808 0 014.813 4.813 4.808 4.808 0 01-4.813 4.812z",fill:"url(#d)",overflow:"visible",style:{marker:"none"},transform:"translate(-44.938 -67.469)"})]})]}))}}),Object(i.a)(a,c.Java,{name:d.java,icon:function(e){return Object(l.jsxs)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 256 346",children:[Object(l.jsx)("path",{d:"M82.554 267.473s-13.198 7.675 9.393 10.272c27.369 3.122 41.356 2.675 71.517-3.034 0 0 7.93 4.972 19.003 9.279-67.611 28.977-153.019-1.679-99.913-16.517M74.292 229.659s-14.803 10.958 7.805 13.296c29.236 3.016 52.324 3.263 92.276-4.43 0 0 5.526 5.602 14.215 8.666-81.747 23.904-172.798 1.885-114.296-17.532",fill:"#5382A1"}),Object(l.jsx)("path",{d:"M143.942 165.515c16.66 19.18-4.377 36.44-4.377 36.44s42.301-21.837 22.874-49.183c-18.144-25.5-32.059-38.172 43.268-81.858 0 0-118.238 29.53-61.765 94.6",fill:"#E76F00"}),Object(l.jsx)("path",{d:"M233.364 295.442s9.767 8.047-10.757 14.273c-39.026 11.823-162.432 15.393-196.714.471-12.323-5.36 10.787-12.8 18.056-14.362 7.581-1.644 11.914-1.337 11.914-1.337-13.705-9.655-88.583 18.957-38.034 27.15 137.853 22.356 251.292-10.066 215.535-26.195M88.9 190.48s-62.771 14.91-22.228 20.323c17.118 2.292 51.243 1.774 83.03-.89 25.978-2.19 52.063-6.85 52.063-6.85s-9.16 3.923-15.787 8.448c-63.744 16.765-186.886 8.966-151.435-8.183 29.981-14.492 54.358-12.848 54.358-12.848M201.506 253.422c64.8-33.672 34.839-66.03 13.927-61.67-5.126 1.066-7.411 1.99-7.411 1.99s1.903-2.98 5.537-4.27c41.37-14.545 73.187 42.897-13.355 65.647 0 .001 1.003-.895 1.302-1.697",fill:"#5382A1"}),Object(l.jsx)("path",{d:"M162.439.371s35.887 35.9-34.037 91.101c-56.071 44.282-12.786 69.53-.023 98.377-32.73-29.53-56.75-55.526-40.635-79.72C111.395 74.612 176.918 57.393 162.439.37",fill:"#E76F00"}),Object(l.jsx)("path",{d:"M95.268 344.665c62.199 3.982 157.712-2.209 159.974-31.64 0 0-4.348 11.158-51.404 20.018-53.088 9.99-118.564 8.824-157.399 2.421.001 0 7.95 6.58 48.83 9.201",fill:"#5382A1"})]}))}}),Object(i.a)(a,c.Go,{name:d.golang,icon:function(e){return Object(l.jsx)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 512 192",children:Object(l.jsx)("path",{d:"M292.533 13.295l1.124.75c13.212 8.725 22.685 20.691 28.917 35.15 1.496 2.243.499 3.49-2.493 4.237l-5.063 1.296c-11.447 2.949-20.53 5.429-31.827 8.378l-6.443 1.678c-2.32.574-2.96.333-5.428-2.477l-.348-.399c-3.519-3.988-6.155-6.652-10.817-9.03l-.899-.443c-15.705-7.727-30.911-5.484-45.12 3.74-16.952 10.968-25.677 27.172-25.428 47.364.25 19.942 13.96 36.395 33.654 39.137 16.951 2.244 31.16-3.739 42.378-16.452 2.244-2.743 4.238-5.734 6.73-9.224h-48.11c-5.235 0-6.481-3.24-4.736-7.478l.864-2.035c3.204-7.454 8.173-18.168 11.4-24.294l.704-1.319c.862-1.494 2.612-3.513 5.977-3.513h80.224c3.603-11.415 9.449-22.201 17.246-32.407 18.198-23.931 40.135-36.396 69.8-41.63 25.427-4.488 49.359-1.995 71.046 12.713 19.694 13.461 31.909 31.66 35.15 55.59 4.237 33.654-5.485 61.075-28.668 84.508-16.453 16.702-36.645 27.172-59.829 31.908-6.73 1.247-13.461 1.496-19.942 2.244-22.685-.499-43.376-6.98-60.826-21.937-12.273-10.61-20.727-23.648-24.928-38.828a104.937 104.937 0 01-10.47 16.89c-17.949 23.683-41.381 38.39-71.046 42.38-24.43 3.24-47.115-1.497-67.058-16.454-18.447-13.96-28.917-32.407-31.66-55.34-3.24-27.173 4.737-51.603 21.19-73.041 17.7-23.184 41.132-37.891 69.8-43.126 22.999-4.16 45.037-1.595 64.936 11.464zM411.12 49.017l-.798.178c-23.183 5.235-38.14 19.942-43.624 43.375-4.488 19.444 4.985 39.138 22.934 47.115 13.71 5.983 27.421 5.235 40.633-1.496 19.694-10.22 30.413-26.175 31.66-47.613-.25-3.24-.25-5.734-.749-8.227-4.436-24.401-26.664-38.324-50.056-33.332zM116.416 94.564c.997 0 1.496.748 1.496 1.745l-.499 5.983c0 .997-.997 1.745-1.745 1.745l-54.344-.249c-.997 0-1.246-.748-.748-1.496l3.49-6.232c.499-.748 1.496-1.496 2.493-1.496h49.857zM121.9 71.63c.997 0 1.496.748 1.247 1.496l-1.995 5.983c-.249.997-1.246 1.495-2.243 1.495l-117.912.25c-.997 0-1.246-.499-.748-1.247l5.235-6.73c.499-.748 1.745-1.247 2.742-1.247H121.9zm12.963-22.934c.997 0 1.246.748.748 1.496l-4.238 6.481c-.499.748-1.745 1.496-2.493 1.496l-90.24-.25c-.998 0-1.247-.498-.749-1.246l5.235-6.73c.499-.748 1.745-1.247 2.742-1.247h88.995z",fill:"#00ACD7"})}))}}),Object(i.a)(a,c.DotNet,{name:d.dotnet,icon:function(e){return Object(l.jsx)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 32 32",children:Object(l.jsx)("path",{d:"M4.224 10.089v11.667h1.365v-8.438a12.58 12.58 0 00-.068-1.599h.052c.099.255.224.5.37.729l6 9.302h1.672V10.089h-1.359v8.203c-.016.573.016 1.146.083 1.714h-.031a13.986 13.986 0 00-.474-.781L5.995 10.09zm12.417 0v11.667h6.203l.005-1.281h-4.813v-4.047h4.214v-1.229h-4.214v-3.875h4.521V10.09zm7.25 0v1.234h3.354v10.432h1.365V11.323h3.391v-1.234zm-23.021 10a.86.86 0 00-.609.276.91.91 0 00-.26.641.901.901 0 001.542.641c.172-.167.271-.401.271-.641s-.099-.474-.271-.641a.876.876 0 00-.641-.276H.871z",fill:"#626262"})}))}}),a)},37:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e,t){return t.reduce((function(t,n){return t[n]="".concat(e,"-").concat(n),t}),{})}},56:function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return l})),n.d(t,"a",(function(){return u}));var r=n(5),a=n(4),c=n(13),i=new RegExp(/git@github\.com:([a-zA-Z-]+)+\/?([a-zA-Z-]+)*(\.git)?/),o=function(e){try{var t=e,n=e.match(i);if(n){var r=Object(a.a)(n,3),c=r[1],o=r[2];t="https://github.com/".concat(c,"/").concat(o)}return{hostname:new URL(t).hostname,url:t}}catch(s){return}},s=function(e,t){var n=e;if(t){var r=function(e,t){var n=new URLSearchParams(t);return Object.entries(e).filter((function(e){return null!=Object(a.a)(e,2)[1]})).forEach((function(e){var t=Object(a.a)(e,2),r=t[0],c=t[1];n.set(r,"".concat(c))})),n.toString()}(t);r&&(n+="?".concat(r))}return n},l=function(e){var t,n=e.query,a=e.offset,i=e.language;return s(c.c.SEARCH,(t={},Object(r.a)(t,c.b.SEARCH_QUERY,n),Object(r.a)(t,c.b.LANGUAGE,i),Object(r.a)(t,c.b.OFFSET,null!==a&&void 0!==a?a:0),t))},u=function(e){var t,n=e.name,a=e.version,i=e.language,o=e.submodule;return s("".concat(c.c.PACKAGES,"/").concat(n,"/v/").concat(a),(t={},Object(r.a)(t,c.b.SUBMODULE,o),Object(r.a)(t,c.b.LANGUAGE,i),t))}},57:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(6),a=n(22),c=n(199),i=n(18),o=n(200),s=n(102),l=n(1),u=["children","hasIcon","hasWarning","href","onClick","noFollow"],d=Object(i.a)((function(e,t){var n=e.children,i=e.hasIcon,d=void 0===i||i,j=e.hasWarning,b=void 0===j||j,f=e.href,h=e.onClick,O=e.noFollow,p=Object(a.a)(e,u),g=Object(s.b)(),x="noopener noreferrer";return(b||O)&&(x+=" nofollow"),Object(l.jsxs)(o.a,Object(r.a)(Object(r.a)({color:"blue.500",href:f,isExternal:!0,onClick:b?g({href:f,onClick:h}):h,ref:t,rel:x},p),{},{children:[n," ",d&&Object(l.jsx)(c.a,{mb:1,ml:2})]}))}));d.displayName="ExternalLink"},68:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),a=n(200),c=n(24),i=n(1),o=function(e){return Object(i.jsx)(a.a,Object(r.a)({as:c.b},e))}},69:function(e,t,n){"use strict";var r;n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return F})),function(e){e.Wide="wide",e.Compact="compact"}(r||(r={}));var a=n(0),c=n(216),i=n(229),o=n(207),s=n(205),l=n(4),u=n(195),d=n(70),j=n(56),b=n(68),f=n(119),h=n(37),O=Object(h.a)("packageCard",["author","compactContainer","description","languages","published","title","version","wideContainer"]),p=n(1),g=function(e){var t=e["data-testid"],n=e.label,r=e.value;return Object(p.jsxs)(u.a,{"data-testid":t,fontSize:"xs",children:[Object(p.jsx)("strong",{children:n})," ",r]})},x=function(){var e=Object(d.a)(),t=Object(l.a)(e,1)[0],n=V(),r=n.author,a=n.metadata.date,c=n.version,i="string"===typeof r?r:r.name;return Object(p.jsxs)(p.Fragment,{children:[Object(p.jsx)(g,{"data-testid":O.version,label:"Version",value:c}),Object(p.jsx)(g,{"data-testid":O.published,label:"Published",value:Object(p.jsx)(f.a,{date:new Date(a),fontSize:"xs",format:"MMM dd, yyyy"})}),Object(p.jsx)(g,{"data-testid":O.author,label:"Author",value:Object(p.jsx)(b.a,{to:Object(j.c)({query:'"'.concat(i,'"'),language:t}),children:i})})]})},v=n(211),m=n(24),C=function(){var e=Object(d.a)(),t=Object(l.a)(e,1)[0],n=V(),r=n.name,a=n.description,i=n.version;return Object(p.jsxs)(p.Fragment,{children:[Object(p.jsx)(c.b,{as:m.b,to:Object(j.a)({name:r,version:i,language:t}),children:Object(p.jsx)(v.a,{as:"h3",color:"blue.800","data-testid":O.title,fontSize:"md",fontWeight:"bold",children:r})}),Object(p.jsx)(u.a,{"data-testid":O.description,fontSize:"md",lineHeight:"tall",noOfLines:4,children:a||"No description available."})]})},w=n(6),y=n(25),S=n(120),k={sm:5,md:6,lg:8},E=function(e){var t=e.isRounded,n=void 0!==t&&t,r=e.languages,a=e.name,c=e.size,i=void 0===c?"md":c,o=e.version,s=Object.keys(null!==r&&void 0!==r?r:{});return Object(p.jsx)(p.Fragment,{children:Object.entries(y.c).sort((function(e,t){var n=Object(l.a)(e,1)[0],r=Object(l.a)(t,1)[0];return y.a.indexOf(n)-y.a.indexOf(r)})).map((function(e){var t=Object(l.a)(e,2),r=t[0],c=t[1],u=r,d=u===y.d.TypeScript||s.includes(u),b=u===y.d.TypeScript||y.e.has(u);if(!d)return null;var f=c.name,h=c.icon,O=Object(p.jsx)(h,{"aria-label":"Supports ".concat(f),borderRadius:n?"50%":0,h:k[i],opacity:b?1:.2,w:k[i]});return Object(p.jsx)(S.a,{language:u,children:b?Object(p.jsx)(m.b,{"aria-label":"View package docs for ".concat(u),to:Object(j.a)({name:a,version:o,language:u}),children:O}):O},u)}))})},A=function(){var e=V();return Object(p.jsx)(E,Object(w.a)(Object(w.a)({},e),{},{size:"sm"}))},M=function(){return Object(p.jsx)(c.a,{_hover:{"> article":{bg:"gray.50"}},children:Object(p.jsxs)(i.a,{as:"article",bg:"white",border:"base",borderRadius:"sm",color:"gray.600","data-testid":O.compactContainer,h:"100%",maxW:"100%",minW:"320px",p:5,spacing:5,children:[Object(p.jsx)(i.a,{flex:1,spacing:2,children:Object(p.jsx)(C,{})}),Object(p.jsx)(o.a,{bg:"blue.50"}),Object(p.jsxs)(s.a,{align:"center",direction:"row",justify:"space-between",spacing:5,children:[Object(p.jsx)(i.a,{"data-testid":O.languages,direction:"row",spacing:2,children:Object(p.jsx)(A,{})}),Object(p.jsx)(i.a,{spacing:1,children:Object(p.jsx)(x,{})})]})]})})},z=n(145),T=function(){return Object(p.jsx)(c.a,{_hover:{"> article":{bg:"gray.50"}},children:Object(p.jsxs)(z.a,{as:"article",bg:"white",border:"base",borderRadius:"sm",color:"gray.600","data-testid":O.wideContainer,gap:5,p:5,templateColumns:{base:"1fr",md:"2fr 1fr"},templateRows:{base:"auto",md:"1fr"},w:"100%",children:[Object(p.jsxs)(i.a,{spacing:2,children:[Object(p.jsx)(C,{}),Object(p.jsx)(i.a,{direction:"row",spacing:1,children:Object(p.jsx)(A,{})})]}),Object(p.jsx)(i.a,{alignSelf:"center","data-testid":O.languages,fontSize:"xs",spacing:1,children:Object(p.jsx)(x,{})})]})})},I=Object(a.createContext)(null),V=function(){return Object(a.useContext)(I)},F=function(e){var t=e.pkg,n=e.variant,a=void 0===n?r.Wide:n;return Object(p.jsxs)(I.Provider,{value:t,children:[a===r.Wide&&Object(p.jsx)(T,{}),a===r.Compact&&Object(p.jsx)(M,{})]})}},70:function(e,t,n){"use strict";n.d(t,"a",(function(){return b}));var r=n(4),a=n(0),c=n(20),i=n(25),o=n(13),s=n(115),l=i.d.TypeScript,u="preferred-language",d=function(e){return null!=e&&i.e.has(e)},j=function(e){if(d(e))return e;try{var t,n=null!==(t=localStorage.getItem(u))&&void 0!==t?t:"";if(d(n))return n}catch(r){}return l},b=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.updateUrl,n=e.updateSaved,i=Object(c.h)(),l=i.pathname,b=i.hash,f=Object(c.g)(),h=f.replace,O=Object(s.a)(),p=O.get(o.b.LANGUAGE),g=Object(a.useState)((function(){return j(p)})),x=Object(r.a)(g,2),v=x[0],m=x[1];Object(a.useEffect)((function(){d(p)&&p!==v&&m(p)}),[p]),Object(a.useEffect)((function(){p!==v&&t&&(O.set(o.b.LANGUAGE,v),h({pathname:l,hash:b,search:O.toString()}))}),[v,t]);var C=Object(a.useCallback)((function(e){if(m(e),n)try{localStorage.setItem(u,e)}catch(t){}}),[n]);return Object(a.useMemo)((function(){return[v,C]}),[v,C])}},83:function(e,t,n){"use strict";n.d(t,"b",(function(){return b})),n.d(t,"a",(function(){return f}));var r=n(4),a=n(0),c=n(33),i=n.n(c),o=n(50),s=n(13),l=function(){var e=Object(o.a)(i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(s.a.CATALOG_SUFFIX);case 2:if((t=e.sent).ok){e.next=6;break}throw console.error(t.statusText),new Error("Failed fetching packages index: ".concat(t.statusText));case 6:return e.abrupt("return",t.json());case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),u=n(90),d=n(1),j=Object(a.createContext)({loading:!1,data:void 0,error:void 0}),b=function(){return Object(a.useContext)(j)},f=function(e){var t=e.children,n=Object(u.a)(l),c=Object(r.a)(n,2),i=c[0],o=c[1];return Object(a.useEffect)((function(){i()}),[i]),Object(d.jsx)(j.Provider,{value:o,children:t})}},84:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),a=n(18),c=n(23),i=n(1),o=Object(a.a)((function(e,t){return Object(i.jsx)(c.a.form,Object(r.a)(Object(r.a)({},e),{},{ref:t}))}));o.displayName="Form"},88:function(e,t,n){"use strict";n.d(t,"a",(function(){return p})),n.d(t,"b",(function(){return O}));var r=n(6),a=n(4),c=n(0),i=n(33),o=n.n(i),s=n(50),l=n(13),u={},d=function(){var e=Object(s.a)(o.a.mark((function e(){var t;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!window.configOverride){e.next=2;break}return e.abrupt("return",window.configOverride);case 2:return e.next=4,fetch(l.a.CONFIG);case 4:if((t=e.sent).ok){e.next=8;break}return console.log("Failed to fetch application config, using default values"),e.abrupt("return",u);case 8:return e.abrupt("return",t.json().catch((function(e){return console.error(e),console.log("Invalid config response, using default values"),u})));case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),j=n(90),b=n(1),f=Object(c.createContext)({loading:!1,data:void 0,error:void 0}),h="construct-hub-config",O=function(){return Object(c.useContext)(f)},p=function(e){var t=e.children,n=Object(c.useState)((function(){try{var e=localStorage.getItem(h);return e?JSON.parse(e):void 0}catch(t){console.error(t)}})),i=Object(a.a)(n,2),o=i[0],s=i[1],l=Object(j.a)(d,{onSuccess:function(e){s(e);try{localStorage.setItem(h,JSON.stringify(e))}catch(t){console.error(t)}}}),u=Object(a.a)(l,2),O=u[0],p=u[1];return Object(c.useEffect)((function(){O()}),[]),Object(b.jsx)(f.Provider,{value:Object(r.a)(Object(r.a)({},p),{},{data:o}),children:t})}},89:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(215),a=n(197),c=n(1),i=function(){return Object(c.jsx)(r.a,{children:Object(c.jsx)(a.a,{size:"xl"})})}},90:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(33),a=n.n(r),c=n(50),i=n(4),o=n(0),s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.initialValue,r=t.onSuccess,s=t.onError,l=Object(o.useState)(!1),u=Object(i.a)(l,2),d=u[0],j=u[1],b=Object(o.useState)(n),f=Object(i.a)(b,2),h=f[0],O=f[1],p=Object(o.useState)(),g=Object(i.a)(p,2),x=g[0],v=g[1],m=Object(o.useRef)(!1);Object(o.useEffect)((function(){return m.current=!0,function(){m.current=!1}}),[]);var C=Object(o.useCallback)(Object(c.a)(a.a.mark((function t(){var c,i=arguments;return a.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(m.current){t.next=2;break}return t.abrupt("return");case 2:return j(!0),v(void 0),t.prev=4,t.next=7,e.apply(void 0,i);case 7:c=t.sent,null===r||void 0===r||r(c),m.current&&(O(c),j(!1)),t.next=17;break;case 12:t.prev=12,t.t0=t.catch(4),console.error(t.t0),null===s||void 0===s||s(t.t0),m.current&&(O(n),v(t.t0),j(!1));case 17:case"end":return t.stop()}}),t,null,[[4,12]])}))),[s,r]);return Object(o.useMemo)((function(){return[C,{data:h,loading:d,error:x}]}),[C,h,d,x])}}},[[169,2,4]]]);
2
- //# sourceMappingURL=main.809e79d6.chunk.js.map
@@ -1,2 +0,0 @@
1
- !function(e){function t(t){for(var n,a,c=t[0],i=t[1],l=t[2],p=0,s=[];p<c.length;p++)a=c[p],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&s.push(o[a][0]),o[a]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);for(f&&f(t);s.length;)s.shift()();return u.push.apply(u,l||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,c=1;c<r.length;c++){var i=r[c];0!==o[i]&&(n=!1)}n&&(u.splice(t--,1),e=a(a.s=r[0]))}return e}var n={},o={2:0},u=[];function a(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.e=function(e){var t=[],r=o[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=n);var u,c=document.createElement("script");c.charset="utf-8",c.timeout=120,a.nc&&c.setAttribute("nonce",a.nc),c.src=function(e){return a.p+"static/js/"+({}[e]||e)+"."+{0:"3c441159",3:"c48117e3",5:"8a1668dc",6:"11aee62c",7:"c53ed1ae",8:"0c7361ec",9:"6620eb5b",10:"5038f4e4",11:"3e7ab347",12:"180c2643",13:"51138a32",14:"04d06b74",15:"a6d03254"}[e]+".chunk.js"}(e);var i=new Error;u=function(t){c.onerror=c.onload=null,clearTimeout(l);var r=o[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),u=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",i.name="ChunkLoadError",i.type=n,i.request=u,r[1](i)}o[e]=void 0}};var l=setTimeout((function(){u({type:"timeout",target:c})}),12e4);c.onerror=c.onload=u,document.head.appendChild(c)}return Promise.all(t)},a.m=e,a.c=n,a.d=function(e,t,r){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},a.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)a.d(r,n,function(t){return e[t]}.bind(null,n));return r},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="/",a.oe=function(e){throw console.error(e),e};var c=this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[],i=c.push.bind(c);c.push=t,c=c.slice();for(var l=0;l<c.length;l++)t(c[l]);var f=i;r()}([]);
2
- //# sourceMappingURL=runtime-main.1cbbf81f.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","p","jsonpScriptSrc","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","this","oldJsonpFunction","slice"],"mappings":"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","file":"static/js/runtime-main.1cbbf81f.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({}[chunkId]||chunkId) + \".\" + {\"0\":\"3c441159\",\"3\":\"c48117e3\",\"5\":\"8a1668dc\",\"6\":\"11aee62c\",\"7\":\"c53ed1ae\",\"8\":\"0c7361ec\",\"9\":\"6620eb5b\",\"10\":\"5038f4e4\",\"11\":\"3e7ab347\",\"12\":\"180c2643\",\"13\":\"51138a32\",\"14\":\"04d06b74\",\"15\":\"a6d03254\"}[chunkId] + \".chunk.js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = this[\"webpackJsonpconstruct-hub-webapp\"] = this[\"webpackJsonpconstruct-hub-webapp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}