construct-hub-webapp 0.1.258 → 0.1.259
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.
- package/build/asset-manifest.json +21 -21
- package/build/index.html +1 -1
- package/build/service-worker.js +1 -1
- package/build/static/js/{12.161d7784.chunk.js → 12.d831689a.chunk.js} +2 -2
- package/build/static/js/{12.161d7784.chunk.js.map → 12.d831689a.chunk.js.map} +1 -1
- package/build/static/js/{13.c1230b1f.chunk.js → 13.a9cae057.chunk.js} +2 -2
- package/build/static/js/{13.c1230b1f.chunk.js.map → 13.a9cae057.chunk.js.map} +1 -1
- package/build/static/js/{5.2f773d84.chunk.js → 5.c4b086d9.chunk.js} +3 -3
- package/build/static/js/{5.2f773d84.chunk.js.LICENSE.txt → 5.c4b086d9.chunk.js.LICENSE.txt} +0 -0
- package/build/static/js/{5.2f773d84.chunk.js.map → 5.c4b086d9.chunk.js.map} +1 -1
- package/build/static/js/{6.e528e116.chunk.js → 6.30fad1cf.chunk.js} +3 -3
- package/build/static/js/{6.e528e116.chunk.js.LICENSE.txt → 6.30fad1cf.chunk.js.LICENSE.txt} +0 -0
- package/build/static/js/{6.e528e116.chunk.js.map → 6.30fad1cf.chunk.js.map} +1 -1
- package/build/static/js/{7.ba79d33e.chunk.js → 7.07197120.chunk.js} +2 -2
- package/build/static/js/{7.ba79d33e.chunk.js.map → 7.07197120.chunk.js.map} +1 -1
- package/build/static/js/8.6dd29cff.chunk.js +2 -0
- package/build/static/js/8.6dd29cff.chunk.js.map +1 -0
- package/build/static/js/main.a595d5fb.chunk.js +2 -0
- package/build/static/js/main.a595d5fb.chunk.js.map +1 -0
- package/build/static/js/runtime-main.d91eb825.js +2 -0
- package/build/static/js/{runtime-main.9b3c750b.js.map → runtime-main.d91eb825.js.map} +1 -1
- package/package.json +1 -1
- package/build/static/js/8.b8f9b0c8.chunk.js +0 -2
- package/build/static/js/8.b8f9b0c8.chunk.js.map +0 -1
- package/build/static/js/main.792688eb.chunk.js +0 -2
- package/build/static/js/main.792688eb.chunk.js.map +0 -1
- package/build/static/js/runtime-main.9b3c750b.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[]).push([[8],{228:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var a=n(0),c=n(241),r={home:{event:{name:"Home Load"}},faq:{event:{name:"Frequently Asked Questions Load"}},packageProfile:{event:{name:"Package Profile Load"}},search:{event:{name:"Search Load"}},siteTerms:{event:{name:"Site Terms Load"}},notFound:{page:{pageType:"errorPage"},event:{name:"404 Page Load"}}},i=n(114),s=n(1),o=function(e){var t=e.children,n=e.meta,o=e.pageName,l=Object(i.b)(r[o]);Object(a.useEffect)((function(){l()}),[l]);var u=n.suffix,j=void 0===u||u,d=n.title,b=n.description,f=j?"".concat(d," - Construct Hub"):d;return Object(s.jsxs)(s.Fragment,{children:[Object(s.jsxs)(c.a,{children:[!1,Object(s.jsx)("meta",{content:"width=device-width, initial-scale=1",name:"viewport"}),Object(s.jsx)("meta",{charSet:"utf-8"}),Object(s.jsx)("title",{children:f}),Object(s.jsx)("meta",{content:f,property:"og:title"}),Object(s.jsx)("meta",{content:f,name:"twitter:title"}),Object(s.jsx)("meta",{content:"summary",name:"twitter:card"}),Object(s.jsx)("meta",{content:b,name:"description"}),Object(s.jsx)("meta",{content:b,property:"og:description"}),Object(s.jsx)("meta",{content:b,name:"twitter:description"})]}),t]})}},245:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(219),c=n(47),r=n(1),i=function(e){var t=e.children,n=e.language;return c.e.has(n)?Object(r.jsx)(r.Fragment,{children:t}):Object(r.jsx)(a.a,{hasArrow:!0,label:"Documentation support for ".concat(c.b[n]," is coming soon!"),placement:"top-start",children:Object(r.jsx)("span",{children:t})})}},246:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var a=n(6),c=n(22),r=n(21),i=n(188),s=n(591),o=n(1),l=["date","format"],u=Object(r.a)((function(e,t){var n=e.date,r=e.format,u=Object(c.a)(e,l);return Object(o.jsx)(i.a,Object(a.a)(Object(a.a)({as:"time",dateTime:n.toISOString(),ref:t},u),{},{children:Object(s.a)(n,r)}))}));u.displayName="Time"},291:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(193),c=n(1),r=function(e){var t=e.children;return Object(c.jsx)(a.a,{as:"em",color:"blue.500",fontWeight:"bold",children:t})},i=function(e){var t=e.limit,n=e.offset,i=e.count,s=e.filtered,o=t*n,l=o+t;return Object(c.jsxs)(a.a,{children:["Displaying"," ",Object(c.jsxs)(r,{children:[i?o+1:i," - ",l>i?i:l]})," ","of ",Object(c.jsx)(r,{children:i})," ",s?"search results":"constructs","."]})}},292:function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var a=25},293:function(e,t,n){"use strict";n.d(t,"a",(function(){return E}));var a,c=n(5),r=n(211),i=n(195),s=n(0);!function(e){e.Wide="wide"}(a||(a={}));var o=n(297),l=n(143),u=n(225),j=n(4),d=n(193),b=n(113),f=n(112),O=n(82),h=n(246),m=n(56),p=Object(m.a)("packageCard",["author","description","languages","published","title","version","wideContainer"]),g=n(1),x=function(e){var t=e["data-testid"],n=e.label,a=e.value;return Object(g.jsxs)(d.a,{"data-testid":t,fontSize:"xs",children:[Object(g.jsx)("strong",{children:n})," ",a]})},v=function(){var e=Object(b.a)(),t=Object(j.a)(e,1)[0],n=R(),a=n.author,c=n.metadata.date,r=n.version,i="string"===typeof a?a:a.name;return Object(g.jsxs)(g.Fragment,{children:[Object(g.jsx)(x,{"data-testid":p.version,label:"Version",value:r}),Object(g.jsx)(x,{"data-testid":p.published,label:"Published",value:Object(g.jsx)(h.a,{date:new Date(c),fontSize:"xs",format:"MMM dd, yyyy"})}),Object(g.jsx)(x,{"data-testid":p.author,label:"Author",value:Object(g.jsx)(O.a,{to:Object(f.c)({query:'"'.concat(i,'"'),language:t}),children:i})})]})},y=n(209),S=n(29),w=function(){var e=Object(b.a)(),t=Object(j.a)(e,1)[0],n=R(),a=n.name,c=n.description,r=n.version;return Object(g.jsxs)(g.Fragment,{children:[Object(g.jsx)(o.b,{as:S.b,to:Object(f.a)({name:a,version:r,language:t}),children:Object(g.jsx)(y.a,{as:"h3",color:"blue.800","data-testid":p.title,fontSize:"md",fontWeight:"bold",children:a})}),Object(g.jsx)(d.a,{"data-testid":p.description,fontSize:"md",lineHeight:"tall",noOfLines:4,children:c||"No description available."})]})},k=n(6),C=n(47),P=n(245),L={sm:5,md:6,lg:8},N=function(e){var t=e.isRounded,n=void 0!==t&&t,a=e.languages,c=e.name,r=e.size,i=void 0===r?"md":r,s=e.version,o=Object.keys(null!==a&&void 0!==a?a:{});return Object(g.jsx)(g.Fragment,{children:Object.entries(C.c).sort((function(e,t){var n=Object(j.a)(e,1)[0],a=Object(j.a)(t,1)[0];return C.a.indexOf(n)-C.a.indexOf(a)})).map((function(e){var t=Object(j.a)(e,2),a=t[0],r=t[1],l=a,u=l===C.d.TypeScript||o.includes(l),d=l===C.d.TypeScript||C.e.has(l);if(!u)return null;var b=r.name,O=r.icon,h=Object(g.jsx)(O,{"aria-label":"Supports ".concat(b),borderRadius:n?"50%":0,h:L[i],opacity:d?1:.2,w:L[i]});return Object(g.jsx)(P.a,{language:l,children:d?Object(g.jsx)(S.b,{"aria-label":"View package docs for ".concat(l),to:Object(f.a)({name:c,version:s,language:l}),children:h}):h},l)}))})},T=function(){var e=R();return Object(g.jsx)(N,Object(k.a)(Object(k.a)({},e),{},{size:"sm"}))},A=function(){return Object(g.jsx)(o.a,{_hover:{"> article":{bg:"gray.50"}},children:Object(g.jsxs)(l.a,{as:"article",bg:"white",border:"base",borderRadius:"sm",color:"gray.600","data-testid":p.wideContainer,gap:5,p:5,templateColumns:{base:"1fr",md:"2fr 1fr"},templateRows:{base:"auto",md:"1fr"},w:"100%",children:[Object(g.jsxs)(u.a,{spacing:2,children:[Object(g.jsx)(w,{}),Object(g.jsx)(u.a,{direction:"row",spacing:1,children:Object(g.jsx)(T,{})})]}),Object(g.jsx)(u.a,{alignSelf:"center","data-testid":p.languages,fontSize:"xs",spacing:1,children:Object(g.jsx)(v,{})})]})})},I=Object(s.createContext)(null),R=function(){return Object(s.useContext)(I)},z=function(e){var t=e.pkg,n=e.variant,c=void 0===n?a.Wide:n;return Object(g.jsx)(I.Provider,{value:t,children:c===a.Wide&&Object(g.jsx)(A,{})})},D=Object(c.a)({},a.Wide,(function(e){var t=e.items;return Object(g.jsx)(u.a,{spacing:4,children:t.map((function(e){return Object(g.jsx)(z,{pkg:e,variant:a.Wide},"".concat(e.name,"-").concat(e.version))}))})})),E=Object(s.memo)((function(e){var t=e.cardView,n=void 0===t?a.Wide:t,c=e.items;if(e.loading||!c)return Object(g.jsx)(r.a,{children:Object(g.jsx)(i.a,{size:"xl"})});var s=D[n];return Object(g.jsx)(s,{items:c})}));E.displayName="PackageList"},294:function(e,t,n){"use strict";n.d(t,"a",(function(){return y}));var a=n(352),c=n(298),r=n(143),i=n(203),s=n(6),o=n(201),l=n(29),u=n(1),j=function(e){var t=e.icon,n=e.offset,a=e.getPageUrl,c={"aria-label":"Page ".concat(n," link"),borderRadius:"md",borderColor:"blue.500",colorScheme:"blue",icon:Object(u.jsx)(t,{color:"blue.500",h:5,w:5}),mx:2,h:10,w:10,variant:"outline"};return void 0!==n?Object(u.jsx)(o.a,Object(s.a)(Object(s.a)({},c),{},{as:l.b,to:a({offset:n})})):Object(u.jsx)(o.a,Object(s.a)(Object(s.a)({},c),{},{disabled:!0}))},d=n(4),b=n(220),f=n(193),O=n(0),h=n(18),m=function(e){var t=e.pageLimit,n=e.offset,a=e.getPageUrl,c=Object(O.useState)((n+1).toString()),r=Object(d.a)(c,2),s=r[0],o=r[1],l=Object(h.g)().push;Object(O.useEffect)((function(){o((n+1).toString())}),[n]);return Object(u.jsxs)(i.a,{align:"center",as:"form",mx:2,onSubmit:function(e){e.preventDefault(),l(a({offset:parseInt(s)-1}))},children:[Object(u.jsx)(b.a,{colorScheme:"blue",h:10,max:t+1,min:1,name:"page",onChange:function(e){e.preventDefault(),o(e.target.value)},p:0,textAlign:"center",type:"number",value:s,w:10}),Object(u.jsxs)(f.a,{ml:2,w:"max-content",children:["of ",t+1]})]})},p=n(351),g=n(148),x={children:"Next Page",colorScheme:"blue",rightIcon:Object(u.jsx)(p.a,{color:"white"})},v=function(e){var t=e.nextPageUrl;return t?Object(u.jsx)(g.a,Object(s.a)(Object(s.a)({},x),{},{as:l.b,to:t})):Object(u.jsx)(g.a,Object(s.a)(Object(s.a)({},x),{},{disabled:!0}))},y=function(e){var t=e.offset,n=e.pageLimit,s=e.getPageUrl,o=t<n?t+1:void 0,l=t>0?t-1:void 0;return Object(u.jsxs)(r.a,{alignItems:"center",pt:4,templateColumns:"repeat(3, 1fr)",templateRows:"1fr",children:[Object(u.jsx)(r.b,{colStart:2,justifySelf:"center",children:Object(u.jsx)(v,{nextPageUrl:o?s({offset:o}):void 0})}),Object(u.jsx)(r.b,{colStart:3,justifySelf:"end",children:Object(u.jsxs)(i.a,{align:"center",justify:"center",py:4,children:[Object(u.jsx)(m,{getPageUrl:s,offset:t,pageLimit:n}),Object(u.jsx)(j,{getPageUrl:s,icon:a.a,offset:l}),Object(u.jsx)(j,{getPageUrl:s,icon:c.a,offset:o})]})})]})}},297:function(e,t,n){"use strict";n.d(t,"b",(function(){return l})),n.d(t,"a",(function(){return u}));var a=n(21),c=n(25),r=n(20),i=n(0);function s(){return s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},s.apply(this,arguments)}function o(e,t){if(null==e)return{};var n,a,c={},r=Object.keys(e);for(a=0;a<r.length;a++)n=r[a],t.indexOf(n)>=0||(c[n]=e[n]);return c}var l=Object(a.a)((function(e,t){var n=e.isExternal,a=e.target,l=e.rel,u=e.className,j=o(e,["isExternal","target","rel","className"]);return i.createElement(c.a.a,s({},j,{ref:t,className:Object(r.d)("chakra-linkbox__overlay",u),rel:n?"noopener noreferrer":l,target:n?"_blank":a,__css:{position:"static","&::before":{content:"''",cursor:"inherit",display:"block",position:"absolute",top:0,left:0,zIndex:0,width:"100%",height:"100%"}}}))})),u=Object(a.a)((function(e,t){var n=e.className,a=o(e,["className"]);return i.createElement(c.a.div,s({ref:t,position:"relative"},a,{className:Object(r.d)("chakra-linkbox",n),__css:{"a[href]:not(.chakra-linkbox__overlay), abbr[title]":{position:"relative",zIndex:1}}}))}))},298:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var a=n(75),c=Object(a.a)({d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z",displayName:"ChevronRightIcon"})},351:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var a=n(75),c=Object(a.a)({d:"M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z",displayName:"ArrowForwardIcon"})},352:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var a=n(75),c=Object(a.a)({d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z",displayName:"ChevronLeftIcon"})},592:function(e,t,n){"use strict";n.r(t),n.d(t,"SearchRedesign",(function(){return Y})),n.d(t,"default",(function(){return Y}));var a,c,r=n(143),i=n(228),s=n(17),o=n(4),l=n(225),u=n(209),j=n(0),d=n(117),b=n(5);!function(e){e.awscdk="aws-cdk",e.cdktf="cdktf",e.cdk8s="cdk8s"}(c||(c={}));var f,O=(a={},Object(b.a)(a,c.awscdk,"AWS CDK"),Object(b.a)(a,c.cdktf,"CDK for Terraform"),Object(b.a)(a,c.cdk8s,"CDK for Kubernetes"),a),h=n(47),m=n(217),p=n(193),g=n(1),x=function(e){var t=e.name,n=e.options,a=e.values,c=e.onValueChange,r=function(e){return function(){c(e)}};return Object(g.jsxs)(l.a,{spacing:2,children:[Object(g.jsx)(u.a,{as:"h4",size:"sm",children:t}),n.map((function(e){var t=e.display,n=e.value;return Object(g.jsx)(m.a,{isChecked:a.includes(n),onChange:r(n),children:Object(g.jsx)(p.a,{color:"gray.600",fontSize:"sm",isTruncated:!0,children:t})},n)}))]})},v=n(11),y=n(120),S=n(118),w=n(292),k=Object(j.createContext)(void 0),C=function(){var e=Object(j.useContext)(k);if(!e)throw new Error("This hook must be called in a child of <SearchStateProvider />");return e},P=function(e){var t,n,a,c,r,i=e.children,s=Object(S.a)(),o=function(e){var t=parseInt(e);return"NaN"==="".concat(t)?0:t}(null!==(t=s.get(v.b.OFFSET))&&void 0!==t?t:"0"),l=decodeURIComponent(null!==(n=s.get(v.b.SEARCH_QUERY))&&void 0!==n?n:""),u=(r=s.get(v.b.LANGUAGES))?decodeURIComponent(r).split(","):[],d=null!==(a=s.get(v.b.SORT))&&void 0!==a?a:void 0,b=null!==(c=s.get(v.b.CDK_TYPE))&&void 0!==c?c:void 0,f=Object(y.a)({defaultCdkType:b,defaultLanguages:u,defaultQuery:l,defaultSort:d});return Object(j.useEffect)((function(){l!==f.query&&f.setQuery(l)}),[l]),Object(g.jsx)(k.Provider,{value:{limit:w.a,offset:o,query:l,searchAPI:f},children:i})},L=Object.entries(O).map((function(e){var t=Object(o.a)(e,2),n=t[0];return{display:t[1],value:n}})),N=Object.entries(h.b).filter((function(e){var t=Object(o.a)(e,1)[0];return h.e.has(t)})).map((function(e){var t=Object(o.a)(e,2),n=t[0];return{display:t[1],value:n}})),T=function(){var e=C().searchAPI,t=e.cdkType,n=e.languages,a=e.setLanguages,c=e.setCdkType,r=Object(j.useState)([]),i=Object(o.a)(r,2),b=i[0],f=i[1];return Object(g.jsx)(d.a,{borderRadius:"none",boxShadow:"none",p:4,children:Object(g.jsxs)(l.a,{color:"blue.800",spacing:6,children:[Object(g.jsx)(u.a,{as:"h3",size:"sm",children:"Filters"}),Object(g.jsx)(x,{name:"CDK Type",onValueChange:function(e){c(e===t?void 0:e)},options:L,values:t?[t]:[]}),Object(g.jsx)(x,{name:"Programming Language",onValueChange:function(e){var t=e;a(n.includes(t)?n.filter((function(e){return e!==t})):[].concat(Object(s.a)(n),[t]))},options:N,values:n}),Object(g.jsx)(x,{name:"Author",onValueChange:function(e){f(b.includes(e)?b.filter((function(t){return t!==e})):[].concat(Object(s.a)(b),[e]))},options:[{display:"Community",value:"community"},{display:"AWS",value:"aws"}],values:b})]})})},A=n(6),I=n(203),R=n(188),z=n(205),D=n(18),E=n(119),U=n(293),_=n(116),F=n(112),W=n(294),q=n(291),H=n(208),V=n(216),K=n(148),M=n(64),Q=(f={},Object(b.a)(f,M.a.NameAsc,"Alphabetical - Ascending"),Object(b.a)(f,M.a.NameDesc,"Alphabetical - Descending"),Object(b.a)(f,M.a.PublishDateAsc,"Oldest"),Object(b.a)(f,M.a.PublishDateDesc,"Newest"),f),G=function(){var e=C().searchAPI,t=e.sort,n=e.setSort,a=t?Q[t]:"Recommended";return Object(g.jsxs)(I.a,{align:"center",children:[Object(g.jsx)(p.a,{children:"Sorted by"}),Object(g.jsxs)(V.a,{children:[Object(g.jsx)(V.b,{as:K.a,color:"blue.500",ml:2,pl:2,pr:2,py:1,rightIcon:Object(g.jsx)(H.a,{}),variant:"link",children:a}),Object(g.jsxs)(V.f,{zIndex:"sticky",children:[Object(g.jsx)(V.e,{onClick:function(){return n(void 0)},children:"Recommended"},"recommended"),Object.entries(Q).map((function(e){var t=Object(o.a)(e,2),a=t[0],c=t[1];return Object(g.jsx)(V.e,{onClick:function(){return n(a)},children:c},a)}))]})]})]})},J=function(){var e=Object(j.useRef)(!0),t=Object(D.g)().push,n=C(),a=n.query,c=n.searchAPI,r=n.offset,s=n.limit,o=c.languages,l=c.sort,u=c.cdkType,d=c.onSearch,b=Object(_.a)({offset:r,limit:s,query:a,languages:o,cdkType:u,sort:l}),f=b.page,O=b.pageLimit,h=b.results,m=function(e){var t,n;return Object(F.c)({cdkType:u,query:null!==(t=e.q)&&void 0!==t?t:a,languages:o,sort:l,offset:null!==(n=e.offset)&&void 0!==n?n:r})};return Object(j.useEffect)((function(){h.length&&(r<0||r>O)&&t(m(r<0?{offset:0}:{offset:O}))}),[h,r,O]),Object(j.useEffect)((function(){e.current?e.current=!1:d()}),[l,o,u]),Object(g.jsx)(i.a,{meta:{title:a||"Search",description:a?"".concat(h.length," results for ").concat(a," at Construct Hub"):"Search reusable components for your cloud application"},pageName:"search",children:Object(g.jsxs)(I.a,{direction:"column",maxW:"100vw",children:[Object(g.jsx)(R.a,{p:4,children:Object(g.jsx)(E.a,Object(A.a)({},c))}),Object(g.jsx)(z.a,{}),Object(g.jsxs)(R.a,{p:4,children:[Object(g.jsxs)(I.a,{justify:"space-between",pb:4,children:[Object(g.jsx)(q.a,{count:h.length,filtered:!!a,limit:s,offset:r}),Object(g.jsx)(G,{})]}),Object(g.jsx)(U.a,{items:f}),Object(g.jsx)(W.a,{getPageUrl:m,limit:s,offset:r,pageLimit:O})]})]})})},Y=function(){return Object(g.jsx)(P,{children:Object(g.jsx)(i.a,{meta:{title:"Search - Construct Hub",description:"This is a placeholder"},pageName:"search",children:Object(g.jsxs)(r.a,{gap:4,p:6,templateColumns:"1fr 3fr",templateRows:"1fr",children:[Object(g.jsx)(T,{}),Object(g.jsx)(J,{})]})})})}}}]);
|
|
2
|
+
//# sourceMappingURL=8.6dd29cff.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["constants/pageInfo.ts","components/Page/Page.tsx","components/LanguageSupportTooltip/LanguageSupportTooltip.tsx","components/Time/Time.tsx","views/SearchResults/components/ShowingDetails.tsx","views/SearchResults/constants.ts","components/PackageCard/constants.ts","components/PackageCard/testIds.ts","components/PackageCard/Details.tsx","components/PackageCard/Heading.tsx","components/PackageLanguages/PackageLanguages.tsx","components/PackageCard/Languages.tsx","components/PackageCard/WideCard.tsx","components/PackageCard/PackageCard.tsx","components/PackageList/PackageList.tsx","components/PackageList/WideCardList.tsx","views/SearchResults/components/ArrowButton.tsx","views/SearchResults/components/GoToPage.tsx","views/SearchResults/components/NextPage.tsx","views/SearchResults/components/PageControls.tsx","../../../src/link-box.tsx","../../../src/ChevronRight.tsx","../../../src/ArrowForward.tsx","../../../src/ChevronLeft.tsx","constants/constructs.ts","views/SearchRedesign/Filter.tsx","views/SearchRedesign/SearchState.tsx","views/SearchRedesign/util.ts","views/SearchRedesign/FilterPanel.tsx","views/SearchRedesign/SortedBy.tsx","views/SearchRedesign/SearchResults.tsx","views/SearchRedesign/SearchRedesign.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","LanguageSupportTooltip","language","TEMP_SUPPORTED_LANGUAGES","has","hasArrow","label","LANGUAGE_NAME_MAP","placement","Time","forwardRef","ref","date","formatString","format","boxProps","as","dateTime","toISOString","displayName","Em","color","fontWeight","ShowingDetails","limit","offset","count","filtered","first","last","LIMIT","PackageCardType","testIds","createTestIds","Detail","dataTestid","value","fontSize","Details","useLanguage","currentLanguage","usePackageCard","author","metadata","version","authorName","published","Date","NavLink","to","getSearchPath","query","Heading","Link","getPackagePath","lineHeight","noOfLines","sizes","sm","md","lg","PackageLanguages","isRounded","languages","packageName","size","targets","Object","keys","entries","LANGUAGE_RENDER_MAP","sort","left","right","LANGUAGES","indexOf","map","lang","info","isSupportedByLibrary","Language","TypeScript","includes","isSupportedByConstructHub","Icon","icon","borderRadius","h","opacity","w","Languages","pkg","WideCard","_hover","bg","border","wideContainer","gap","p","templateColumns","base","templateRows","spacing","direction","alignSelf","PackageCardContext","createContext","useContext","PackageCard","variant","Wide","Provider","listViews","items","PackageList","memo","cardView","loading","View","ArrowButton","getPageUrl","props","borderColor","colorScheme","mx","undefined","disabled","GoToPage","pageLimit","useState","toString","inputValue","setInputValue","push","useHistory","align","onSubmit","e","preventDefault","parseInt","max","min","onChange","target","textAlign","type","ml","btnProps","rightIcon","ArrowForward","NextPage","nextPageUrl","PageControls","nextOffset","prevOffset","alignItems","pt","colStart","justifySelf","justify","py","ChevronLeftIcon","ChevronRightIcon","LinkOverlay","className","cx","rel","isExternal","__css","position","cursor","display","top","zIndex","width","height","LinkBox","createIcon","d","ArrowForwardIcon","CDKType","CDKTYPE_NAME_MAP","awscdk","cdktf","cdk8s","Filter","options","checkedValues","values","onValueChange","getOnChange","isChecked","isTruncated","SearchStateContext","useSearchState","state","Error","SearchStateProvider","langQuery","queryParams","useQueryParams","val","result","toNum","get","QUERY_PARAMS","OFFSET","decodeURIComponent","SEARCH_QUERY","split","SORT","cdkType","CDK_TYPE","searchAPI","useCatalogSearch","defaultCdkType","defaultLanguages","defaultQuery","defaultSort","setQuery","cdkTypeOptions","key","languageOptions","filter","FilterPanel","setLanguages","setCdkType","authors","setAuthors","Card","boxShadow","l","a","SORT_RENDER_MAP","CatalogSearchSort","NameAsc","NameDesc","PublishDateAsc","PublishDateDesc","SortedBy","setSort","selected","Button","pl","pr","ChevronDown","onClick","SearchResults","isFirstRender","useRef","onSearch","useCatalogResults","results","getUrl","params","q","length","current","maxW","CatalogSearch","pb","SearchRedesign"],"mappings":"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","file":"static/js/8.6dd29cff.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 { Tooltip } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport {\n Language,\n LANGUAGE_NAME_MAP,\n TEMP_SUPPORTED_LANGUAGES,\n} from \"../../constants/languages\";\n\nexport interface LanguageSupportTooltipProps {\n language: Language;\n}\n\nexport const LanguageSupportTooltip: FunctionComponent<LanguageSupportTooltipProps> =\n ({ children, language }) => {\n const isSupported = TEMP_SUPPORTED_LANGUAGES.has(language);\n\n if (isSupported) {\n return <>{children}</>;\n }\n\n return (\n <Tooltip\n hasArrow\n label={`Documentation support for ${LANGUAGE_NAME_MAP[language]} is coming soon!`}\n placement=\"top-start\"\n >\n <span>{children}</span>\n </Tooltip>\n );\n };\n","import { Box, BoxProps, forwardRef } from \"@chakra-ui/react\";\nimport { format } from \"date-fns\";\n\nexport interface TimeOptions {\n date: Date;\n format: string;\n}\n\nexport interface TimeProps extends BoxProps, TimeOptions {}\n\nexport const Time = forwardRef<TimeProps, \"time\">(\n ({ date, format: formatString, ...boxProps }, ref) => {\n return (\n <Box as=\"time\" dateTime={date.toISOString()} ref={ref} {...boxProps}>\n {format(date, formatString)}\n </Box>\n );\n }\n);\n\nTime.displayName = \"Time\";\n","import { Text } from \"@chakra-ui/react\";\nimport { FunctionComponent } from \"react\";\n\nexport interface ShowingDetailsProps {\n limit: number;\n offset: number;\n count: number;\n filtered: boolean;\n}\n\nconst Em: FunctionComponent = ({ children }) => (\n <Text as=\"em\" color=\"blue.500\" fontWeight=\"bold\">\n {children}\n </Text>\n);\n\nexport const ShowingDetails: FunctionComponent<ShowingDetailsProps> = ({\n limit,\n offset,\n count,\n filtered,\n}) => {\n const first = limit * offset;\n const last = first + limit;\n return (\n <Text>\n Displaying{\" \"}\n <Em>\n {count ? first + 1 : count} - {last > count ? count : last}\n </Em>{\" \"}\n of <Em>{count}</Em> {filtered ? \"search results\" : \"constructs\"}.\n </Text>\n );\n};\n","import type { QueryParamKey } from \"../../constants/url\";\n\nexport const LIMITS = [25, 50, 75, 100];\nexport const LIMIT = LIMITS[0];\n\nexport type SearchQueryParam = Extract<QueryParamKey, \"offset\" | \"q\">;\n","export enum PackageCardType {\n Wide = \"wide\",\n}\n","import { createTestIds } from \"../../util/createTestIds\";\n\nconst testIds = createTestIds(\"packageCard\", [\n \"author\",\n \"description\",\n \"languages\",\n \"published\",\n \"title\",\n \"version\",\n \"wideContainer\",\n] as const);\n\nexport default testIds;\n","import { Text } from \"@chakra-ui/react\";\nimport type { FunctionComponent, ReactChild } from \"react\";\nimport { useLanguage } from \"../../hooks/useLanguage\";\nimport { getSearchPath } from \"../../util/url\";\nimport { NavLink } from \"../NavLink\";\nimport { Time } from \"../Time\";\nimport { usePackageCard } from \"./PackageCard\";\nimport testIds from \"./testIds\";\n\ninterface DetailProps {\n \"data-testid\": string;\n label: string;\n value: ReactChild;\n}\n\nconst Detail: FunctionComponent<DetailProps> = ({\n \"data-testid\": dataTestid,\n label,\n value,\n}) => (\n <Text data-testid={dataTestid} fontSize=\"xs\">\n <strong>{label}</strong> {value}\n </Text>\n);\n\nexport const Details: FunctionComponent = () => {\n const [currentLanguage] = useLanguage();\n\n const {\n author,\n metadata: { date },\n version,\n } = usePackageCard();\n\n const authorName = typeof author === \"string\" ? author : author.name;\n\n return (\n <>\n <Detail data-testid={testIds.version} label=\"Version\" value={version} />\n <Detail\n data-testid={testIds.published}\n label=\"Published\"\n value={\n <Time date={new Date(date)} fontSize=\"xs\" format=\"MMM dd, yyyy\" />\n }\n />\n <Detail\n data-testid={testIds.author}\n label=\"Author\"\n value={\n <NavLink\n to={getSearchPath({\n query: `\"${authorName}\"`,\n language: currentLanguage,\n })}\n >\n {authorName}\n </NavLink>\n }\n />\n </>\n );\n};\n","import { Heading as ChakraHeading, LinkOverlay, Text } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { useLanguage } from \"../../hooks/useLanguage\";\nimport { getPackagePath } from \"../../util/url\";\nimport { usePackageCard } from \"./PackageCard\";\nimport testIds from \"./testIds\";\n\nexport const Heading: FunctionComponent = () => {\n const [currentLanguage] = useLanguage();\n const { name, description, version } = usePackageCard();\n\n return (\n <>\n <LinkOverlay\n as={Link}\n to={getPackagePath({\n name,\n version,\n language: currentLanguage,\n })}\n >\n <ChakraHeading\n as=\"h3\"\n color=\"blue.800\"\n data-testid={testIds.title}\n fontSize=\"md\"\n fontWeight=\"bold\"\n >\n {name}\n </ChakraHeading>\n </LinkOverlay>\n <Text\n data-testid={testIds.description}\n fontSize=\"md\"\n lineHeight=\"tall\"\n noOfLines={4}\n >\n {description || \"No description available.\"}\n </Text>\n </>\n );\n};\n","import type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport {\n Language,\n LANGUAGES,\n LANGUAGE_RENDER_MAP,\n TEMP_SUPPORTED_LANGUAGES,\n} from \"../../constants/languages\";\nimport { getPackagePath } from \"../../util/url\";\nimport { LanguageSupportTooltip } from \"../LanguageSupportTooltip\";\n\nconst sizes = {\n sm: 5,\n md: 6,\n lg: 8,\n};\n\nexport interface PackageLanguagesProps {\n isRounded?: boolean;\n languages: Partial<Record<Language, unknown>>;\n name: string;\n size?: \"sm\" | \"md\" | \"lg\";\n version: string;\n}\n\nexport const PackageLanguages: FunctionComponent<PackageLanguagesProps> = ({\n isRounded = false,\n languages,\n name: packageName,\n size = \"md\",\n version,\n}) => {\n const targets = Object.keys(languages ?? {}) as Language[];\n return (\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 || 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 borderRadius={isRounded ? \"50%\" : 0}\n h={sizes[size]}\n opacity={isSupportedByConstructHub ? 1 : 0.2}\n w={sizes[size]}\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={getPackagePath({ name: packageName, version, language })}\n >\n {icon}\n </Link>\n ) : (\n icon\n )}\n </LanguageSupportTooltip>\n );\n })}\n </>\n );\n};\n","import type { FunctionComponent } from \"react\";\nimport { PackageLanguages } from \"../PackageLanguages\";\nimport { usePackageCard } from \"./PackageCard\";\n\nexport const Languages: FunctionComponent = () => {\n const pkg = usePackageCard();\n return <PackageLanguages {...pkg} size=\"sm\" />;\n};\n","import { Grid, Stack, LinkBox } from \"@chakra-ui/react\";\nimport { FunctionComponent } from \"react\";\nimport { Details } from \"./Details\";\nimport { Heading } from \"./Heading\";\nimport { Languages } from \"./Languages\";\nimport testIds from \"./testIds\";\n\nexport const WideCard: FunctionComponent = () => {\n return (\n <LinkBox\n _hover={{\n \"> article\": {\n bg: \"gray.50\",\n },\n }}\n >\n <Grid\n as=\"article\"\n bg=\"white\"\n border=\"base\"\n borderRadius=\"sm\"\n color=\"gray.600\"\n data-testid={testIds.wideContainer}\n gap={5}\n p={5}\n templateColumns={{ base: \"1fr\", md: \"2fr 1fr\" }}\n templateRows={{ base: \"auto\", md: \"1fr\" }}\n w=\"100%\"\n >\n {/* Name + Desc */}\n <Stack spacing={2}>\n <Heading />\n\n <Stack direction=\"row\" spacing={1}>\n <Languages />\n </Stack>\n </Stack>\n\n <Stack\n alignSelf=\"center\"\n data-testid={testIds.languages}\n fontSize=\"xs\"\n spacing={1}\n >\n <Details />\n </Stack>\n </Grid>\n </LinkBox>\n );\n};\n","import { createContext, FunctionComponent, useContext } from \"react\";\nimport { CatalogPackage } from \"../../api/package/packages\";\nimport { PackageCardType } from \"./constants\";\nimport { WideCard } from \"./WideCard\";\n\nexport interface PackageCardProps {\n pkg: CatalogPackage;\n variant?: PackageCardType;\n}\n\nconst PackageCardContext = createContext<CatalogPackage | null>(null);\n\nexport const usePackageCard = () => useContext(PackageCardContext)!;\n\nexport const PackageCard: FunctionComponent<PackageCardProps> = ({\n pkg,\n variant = PackageCardType.Wide,\n}) => {\n return (\n <PackageCardContext.Provider value={pkg}>\n {variant === PackageCardType.Wide && <WideCard />}\n </PackageCardContext.Provider>\n );\n};\n","import { Center, Spinner } from \"@chakra-ui/react\";\nimport { FunctionComponent, memo } from \"react\";\nimport { CatalogPackage } from \"../../api/package/packages\";\nimport { PackageCardType } from \"../PackageCard\";\nimport { WideCardList } from \"./WideCardList\";\n\nconst listViews = {\n [PackageCardType.Wide]: WideCardList,\n};\n\nexport interface PackageListViewProps {\n items: CatalogPackage[];\n}\n\nexport interface PackageListProps extends Partial<PackageListViewProps> {\n cardView?: PackageCardType;\n loading?: boolean;\n title?: string;\n}\n\nexport const PackageList: FunctionComponent<PackageListProps> = memo(\n ({\n cardView = PackageCardType.Wide,\n items,\n loading,\n // title,\n }) => {\n if (loading || !items) {\n return (\n <Center>\n <Spinner size=\"xl\" />\n </Center>\n );\n }\n\n const View = listViews[cardView];\n\n return <View items={items} />;\n }\n);\n\nPackageList.displayName = \"PackageList\";\n","import { Stack } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { PackageCard, PackageCardType } from \"../PackageCard\";\nimport { PackageListViewProps } from \"./PackageList\";\n\nexport const WideCardList: FunctionComponent<PackageListViewProps> = ({\n items,\n}) => {\n return (\n <Stack spacing={4}>\n {items.map((pkg) => (\n <PackageCard\n key={`${pkg.name}-${pkg.version}`}\n pkg={pkg}\n variant={PackageCardType.Wide}\n />\n ))}\n </Stack>\n );\n};\n","import { IconButton, IconProps } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\n\nexport interface ArrowButtonProps {\n icon: FunctionComponent<IconProps>;\n offset?: number;\n getPageUrl: (params: { offset: number }) => string;\n}\n\nexport const ArrowButton: FunctionComponent<ArrowButtonProps> = ({\n icon: Icon,\n offset,\n getPageUrl,\n}) => {\n const label = `Page ${offset} link`;\n\n const props = {\n \"aria-label\": label,\n borderRadius: \"md\",\n borderColor: \"blue.500\",\n colorScheme: \"blue\",\n icon: <Icon color=\"blue.500\" h={5} w={5} />,\n mx: 2,\n h: 10,\n w: 10,\n variant: \"outline\",\n };\n\n if (offset !== undefined) {\n return <IconButton {...props} as={Link} to={getPageUrl({ offset })} />;\n }\n\n return <IconButton {...props} disabled />;\n};\n","import { Flex, Input, Text } from \"@chakra-ui/react\";\nimport {\n FormEventHandler,\n FunctionComponent,\n SyntheticEvent,\n useEffect,\n useState,\n} from \"react\";\nimport { useHistory } from \"react-router-dom\";\n\nexport interface GoToPageProps {\n pageLimit: number;\n offset: number;\n getPageUrl: (params: { offset: number }) => string;\n}\n\nexport const GoToPage: FunctionComponent<GoToPageProps> = ({\n pageLimit,\n offset,\n getPageUrl,\n}) => {\n const [inputValue, setInputValue] = useState((offset + 1).toString());\n const { push } = useHistory();\n\n useEffect(() => {\n setInputValue((offset + 1).toString());\n }, [offset]);\n\n const onInputChange = (e: SyntheticEvent<HTMLInputElement>) => {\n e.preventDefault();\n setInputValue((e.target as HTMLInputElement).value);\n };\n\n const onSubmit: FormEventHandler<HTMLInputElement> = (e) => {\n e.preventDefault();\n push(getPageUrl({ offset: parseInt(inputValue) - 1 }));\n };\n\n return (\n <Flex align=\"center\" as=\"form\" mx={2} onSubmit={onSubmit}>\n <Input\n colorScheme=\"blue\"\n h={10}\n max={pageLimit + 1}\n min={1}\n name=\"page\"\n onChange={onInputChange}\n p={0}\n textAlign=\"center\"\n type=\"number\"\n value={inputValue}\n w={10}\n />\n <Text ml={2} w=\"max-content\">\n of {pageLimit + 1}\n </Text>\n </Flex>\n );\n};\n","import { ArrowForwardIcon } from \"@chakra-ui/icons\";\nimport { Button } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\n\nexport interface NextPageProps {\n nextPageUrl?: string;\n}\n\nconst btnProps = {\n children: \"Next Page\",\n colorScheme: \"blue\",\n rightIcon: <ArrowForwardIcon color=\"white\" />,\n};\n\nexport const NextPage: FunctionComponent<NextPageProps> = ({ nextPageUrl }) => {\n if (!nextPageUrl) {\n return <Button {...btnProps} disabled />;\n }\n\n return <Button {...btnProps} as={Link} to={nextPageUrl} />;\n};\n","import { ChevronLeftIcon, ChevronRightIcon } from \"@chakra-ui/icons\";\nimport { Flex, Grid, GridItem } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { ArrowButton } from \"./ArrowButton\";\nimport { GoToPage } from \"./GoToPage\";\nimport { NextPage } from \"./NextPage\";\n\nexport interface PageControlsProps {\n limit: number;\n offset: number;\n pageLimit: number;\n getPageUrl: (params: { offset?: number }) => string;\n}\n\nexport const PageControls: FunctionComponent<PageControlsProps> = ({\n offset,\n pageLimit,\n getPageUrl,\n}) => {\n const nextOffset = offset < pageLimit ? offset + 1 : undefined;\n const prevOffset = offset > 0 ? offset - 1 : undefined;\n\n return (\n <Grid\n alignItems=\"center\"\n pt={4}\n templateColumns=\"repeat(3, 1fr)\"\n templateRows=\"1fr\"\n >\n <GridItem colStart={2} justifySelf=\"center\">\n <NextPage\n nextPageUrl={\n nextOffset ? getPageUrl({ offset: nextOffset }) : undefined\n }\n />\n </GridItem>\n <GridItem colStart={3} justifySelf=\"end\">\n <Flex align=\"center\" justify=\"center\" py={4}>\n <GoToPage\n getPageUrl={getPageUrl}\n offset={offset}\n pageLimit={pageLimit}\n />\n <ArrowButton\n getPageUrl={getPageUrl}\n icon={ChevronLeftIcon}\n offset={prevOffset}\n />\n <ArrowButton\n getPageUrl={getPageUrl}\n icon={ChevronRightIcon}\n offset={nextOffset}\n />\n </Flex>\n </GridItem>\n </Grid>\n );\n};\n","import { chakra, forwardRef, HTMLChakraProps } from \"@chakra-ui/system\"\nimport { cx } from \"@chakra-ui/utils\"\nimport * as React from \"react\"\n\nexport interface LinkOverlayProps extends HTMLChakraProps<\"a\"> {\n /**\n * If `true`, the link will open in new tab\n */\n isExternal?: boolean\n}\n\nexport const LinkOverlay = forwardRef<LinkOverlayProps, \"a\">((props, ref) => {\n const { isExternal, target, rel, className, ...rest } = props\n return (\n <chakra.a\n {...rest}\n ref={ref}\n className={cx(\"chakra-linkbox__overlay\", className)}\n rel={isExternal ? \"noopener noreferrer\" : rel}\n target={isExternal ? \"_blank\" : target}\n __css={{\n position: \"static\",\n \"&::before\": {\n content: \"''\",\n cursor: \"inherit\",\n display: \"block\",\n position: \"absolute\",\n top: 0,\n left: 0,\n zIndex: 0,\n width: \"100%\",\n height: \"100%\",\n },\n }}\n />\n )\n})\n\nexport interface LinkBoxProps extends HTMLChakraProps<\"div\"> {}\n\n/**\n * `LinkBox` is used to wrap content areas within a link while ensuring semantic html\n *\n * @see Docs https://chakra-ui.com/docs/navigation/link-overlay\n * @see Resources https://www.sarasoueidan.com/blog/nested-links\n */\nexport const LinkBox = forwardRef<LinkBoxProps, \"div\">((props, ref) => {\n const { className, ...rest } = props\n\n return (\n <chakra.div\n ref={ref}\n position=\"relative\"\n {...rest}\n className={cx(\"chakra-linkbox\", className)}\n __css={{\n /* Elevate the links and abbreviations up */\n \"a[href]:not(.chakra-linkbox__overlay), abbr[title]\": {\n position: \"relative\",\n zIndex: 1,\n },\n }}\n />\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 { 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","export enum CDKType {\n awscdk = \"aws-cdk\",\n cdktf = \"cdktf\",\n cdk8s = \"cdk8s\",\n}\n\nexport const CDKTYPE_NAME_MAP = {\n [CDKType.awscdk]: \"AWS CDK\",\n [CDKType.cdktf]: \"CDK for Terraform\",\n [CDKType.cdk8s]: \"CDK for Kubernetes\",\n};\n","import { Checkbox, Heading, Stack, Text } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\n\nexport interface FilterProps {\n name: string;\n options: {\n display: string;\n value: string;\n }[];\n values: string[];\n onValueChange: (value: string) => void;\n}\n\nexport const Filter: FunctionComponent<FilterProps> = ({\n name,\n options,\n values: checkedValues,\n onValueChange,\n}) => {\n const getOnChange = (value: string) => () => {\n onValueChange(value);\n };\n\n return (\n <Stack spacing={2}>\n <Heading as=\"h4\" size=\"sm\">\n {name}\n </Heading>\n {options.map(({ display, value }) => (\n <Checkbox\n isChecked={checkedValues.includes(value)}\n key={value}\n onChange={getOnChange(value)}\n >\n <Text color=\"gray.600\" fontSize=\"sm\" isTruncated>\n {display}\n </Text>\n </Checkbox>\n ))}\n </Stack>\n );\n};\n","/**\n * @fileoverview Exposes page-level state and setters to all components in the new SearchResults View.\n */\nimport { createContext, FunctionComponent, useContext, useEffect } from \"react\";\nimport { CatalogSearchSort } from \"../../api/catalog-search/constants\";\nimport { CDKType } from \"../../constants/constructs\";\nimport { QUERY_PARAMS } from \"../../constants/url\";\nimport {\n UseCatalogSearchReturn,\n useCatalogSearch,\n} from \"../../hooks/useCatalogSearch\";\nimport { useQueryParams } from \"../../hooks/useQueryParams\";\nimport { LIMIT } from \"../SearchResults/constants\";\nimport { parseLangs, toNum } from \"./util\";\n\nexport interface SearchState {\n limit: number;\n offset: number;\n query: string;\n searchAPI: UseCatalogSearchReturn;\n}\n\nconst SearchStateContext = createContext<SearchState | undefined>(undefined);\n\n/**\n * A hook to access Search Page specific state. This can only be in descendants of the new Search Page\n * and will otherwise throw an error.\n */\nexport const useSearchState = () => {\n const state = useContext(SearchStateContext);\n\n if (!state) {\n throw new Error(\n `This hook must be called in a child of <SearchStateProvider />`\n );\n }\n\n return state;\n};\n\nexport const SearchStateProvider: FunctionComponent = ({ children }) => {\n const queryParams = useQueryParams();\n\n const offset = toNum(queryParams.get(QUERY_PARAMS.OFFSET) ?? \"0\");\n\n const query = decodeURIComponent(\n queryParams.get(QUERY_PARAMS.SEARCH_QUERY) ?? \"\"\n );\n\n const languages = parseLangs(queryParams.get(QUERY_PARAMS.LANGUAGES));\n\n const sort = (queryParams.get(QUERY_PARAMS.SORT) ?? undefined) as\n | CatalogSearchSort\n | undefined;\n\n const cdkType =\n (queryParams.get(QUERY_PARAMS.CDK_TYPE) as CDKType) ?? undefined;\n\n const searchAPI = useCatalogSearch({\n defaultCdkType: cdkType,\n defaultLanguages: languages,\n defaultQuery: query,\n defaultSort: sort,\n });\n\n useEffect(() => {\n if (query !== searchAPI.query) {\n searchAPI.setQuery(query);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [query]);\n\n return (\n <SearchStateContext.Provider\n value={{\n limit: LIMIT,\n offset,\n query,\n searchAPI,\n }}\n >\n {children}\n </SearchStateContext.Provider>\n );\n};\n","import { Language } from \"../../constants/languages\";\n\nexport const toNum = (val: string) => {\n const result = parseInt(val);\n\n if (`${result}` === \"NaN\") {\n return 0;\n }\n\n return result;\n};\n\nexport const parseLangs = (langQuery: string | null) => {\n if (!langQuery) return [];\n\n const langs = decodeURIComponent(langQuery).split(\",\");\n return langs as Language[];\n};\n","import { Heading, Stack } from \"@chakra-ui/react\";\nimport { FunctionComponent, useState } from \"react\";\nimport { Card } from \"../../components/Card\";\nimport { CDKType, CDKTYPE_NAME_MAP } from \"../../constants/constructs\";\nimport {\n Language,\n LANGUAGE_NAME_MAP,\n TEMP_SUPPORTED_LANGUAGES,\n} from \"../../constants/languages\";\nimport { Filter } from \"./Filter\";\nimport { useSearchState } from \"./SearchState\";\n\nconst cdkTypeOptions = Object.entries(CDKTYPE_NAME_MAP).map(([key, value]) => ({\n display: value,\n value: key,\n}));\n\nconst languageOptions = Object.entries(LANGUAGE_NAME_MAP)\n .filter(([key]) => TEMP_SUPPORTED_LANGUAGES.has(key as Language))\n .map(([key, value]) => ({\n display: value,\n value: key,\n }));\n\nexport interface FilterPanelProps {}\n\nexport const FilterPanel: FunctionComponent<FilterPanelProps> = () => {\n const { cdkType, languages, setLanguages, setCdkType } =\n useSearchState().searchAPI;\n const [authors, setAuthors] = useState<string[]>([]);\n\n const onCdkTypeChange = (type: string) => {\n const cdk = type as CDKType;\n setCdkType(cdk === cdkType ? undefined : cdk);\n };\n\n const onLanguagesChange = (lang: string) => {\n const language = lang as Language;\n\n setLanguages(\n languages.includes(language)\n ? languages.filter((l) => l !== language)\n : [...languages, language]\n );\n };\n\n const onAuthorsChange = (author: string) => {\n setAuthors(\n authors.includes(author)\n ? authors.filter((a) => a !== author)\n : [...authors, author]\n );\n };\n\n return (\n <Card borderRadius=\"none\" boxShadow=\"none\" p={4}>\n <Stack color=\"blue.800\" spacing={6}>\n <Heading as=\"h3\" size=\"sm\">\n Filters\n </Heading>\n <Filter\n name=\"CDK Type\"\n onValueChange={onCdkTypeChange}\n options={cdkTypeOptions}\n values={cdkType ? [cdkType] : []}\n />\n <Filter\n name=\"Programming Language\"\n onValueChange={onLanguagesChange}\n options={languageOptions}\n values={languages}\n />\n <Filter\n name=\"Author\"\n onValueChange={onAuthorsChange}\n options={[\n {\n display: \"Community\",\n value: \"community\",\n },\n {\n display: \"AWS\",\n value: \"aws\",\n },\n ]}\n values={authors}\n />\n </Stack>\n </Card>\n );\n};\n","import { ChevronDownIcon } from \"@chakra-ui/icons\";\nimport {\n Flex,\n Text,\n Menu,\n MenuButton,\n MenuList,\n MenuItem,\n Button,\n} from \"@chakra-ui/react\";\nimport { FunctionComponent } from \"react\";\nimport { CatalogSearchSort } from \"../../api/catalog-search/constants\";\nimport { useSearchState } from \"./SearchState\";\n\nconst SORT_RENDER_MAP = {\n [CatalogSearchSort.NameAsc]: \"Alphabetical - Ascending\",\n [CatalogSearchSort.NameDesc]: \"Alphabetical - Descending\",\n [CatalogSearchSort.PublishDateAsc]: \"Oldest\",\n [CatalogSearchSort.PublishDateDesc]: \"Newest\",\n};\n\nexport const SortedBy: FunctionComponent = () => {\n const { searchAPI } = useSearchState();\n const { sort, setSort } = searchAPI;\n\n const selected = sort ? SORT_RENDER_MAP[sort] : \"Recommended\";\n\n return (\n <Flex align=\"center\">\n <Text>Sorted by</Text>\n <Menu>\n <MenuButton\n as={Button}\n color=\"blue.500\"\n ml={2}\n pl={2} // For some reason, the px shorthand doesn't work on this Button\n pr={2}\n py={1}\n rightIcon={<ChevronDownIcon />}\n variant=\"link\"\n >\n {selected}\n </MenuButton>\n <MenuList zIndex=\"sticky\">\n <MenuItem key=\"recommended\" onClick={() => setSort(undefined)}>\n Recommended\n </MenuItem>\n {Object.entries(SORT_RENDER_MAP).map(([value, display]) => (\n <MenuItem\n key={value}\n onClick={() => setSort(value as CatalogSearchSort)}\n >\n {display}\n </MenuItem>\n ))}\n </MenuList>\n </Menu>\n </Flex>\n );\n};\n","import { Box, Divider, Flex } from \"@chakra-ui/react\";\nimport { FunctionComponent, useEffect, useRef } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { CatalogSearch } from \"../../components/CatalogSearch\";\nimport { PackageList } from \"../../components/PackageList\";\nimport { Page } from \"../../components/Page\";\nimport { useCatalogResults } from \"../../hooks/useCatalogResults\";\nimport { getSearchPath } from \"../../util/url\";\nimport { PageControls } from \"../SearchResults/components/PageControls\";\nimport { ShowingDetails } from \"../SearchResults/components/ShowingDetails\";\nimport { SearchQueryParam } from \"../SearchResults/constants\";\nimport { useSearchState } from \"./SearchState\";\nimport { SortedBy } from \"./SortedBy\";\n\nexport const SearchResults: FunctionComponent = () => {\n const isFirstRender = useRef(true);\n const { push } = useHistory();\n\n const { query, searchAPI, offset, limit } = useSearchState();\n const { languages, sort, cdkType, onSearch } = searchAPI;\n\n const { page, pageLimit, results } = useCatalogResults({\n offset,\n limit,\n query,\n languages,\n cdkType,\n sort,\n });\n\n const getUrl = (\n params: Partial<{ [key in SearchQueryParam]: number | string }>\n ) => {\n return getSearchPath({\n cdkType: cdkType,\n query: (params.q ?? query) as string,\n languages,\n sort,\n offset: params.offset ?? offset,\n });\n };\n\n useEffect(() => {\n // If the query has results but the page has nothing to show...\n if (results.length && (offset < 0 || offset > pageLimit)) {\n // Handle an out of bounds offset\n if (offset < 0) {\n push(getUrl({ offset: 0 }));\n } else {\n // Offset is too large, just take last page\n push(getUrl({ offset: pageLimit }));\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [results, offset, pageLimit]);\n\n // Reset offset and update url when filters & sort change\n // We want to avoid doing this on first render / when a user directly navigates to a search URL\n // so we keep a ref to prevent this\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n } else {\n onSearch();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [sort, languages, cdkType]);\n\n return (\n <Page\n meta={{\n title: query || \"Search\",\n description: query\n ? `${results.length} results for ${query} at Construct Hub`\n : \"Search reusable components for your cloud application\",\n }}\n pageName=\"search\"\n >\n <Flex direction=\"column\" maxW=\"100vw\">\n <Box p={4}>\n <CatalogSearch {...searchAPI} />\n </Box>\n <Divider />\n <Box p={4}>\n <Flex justify=\"space-between\" pb={4}>\n <ShowingDetails\n count={results.length}\n filtered={!!query}\n limit={limit}\n offset={offset}\n />\n <SortedBy />\n </Flex>\n <PackageList items={page} />\n <PageControls\n getPageUrl={getUrl}\n limit={limit}\n offset={offset}\n pageLimit={pageLimit}\n />\n </Box>\n </Flex>\n </Page>\n );\n};\n","import { Grid } from \"@chakra-ui/react\";\nimport { FunctionComponent } from \"react\";\nimport { Page } from \"../../components/Page\";\nimport { FilterPanel } from \"./FilterPanel\";\nimport { SearchResults } from \"./SearchResults\";\nimport { SearchStateProvider } from \"./SearchState\";\n\nexport const SearchRedesign: FunctionComponent = () => {\n return (\n <SearchStateProvider>\n <Page\n meta={{\n title: \"Search - Construct Hub\",\n description: \"This is a placeholder\",\n }}\n pageName=\"search\"\n >\n <Grid gap={4} p={6} templateColumns=\"1fr 3fr\" templateRows=\"1fr\">\n {/* Filter Panel */}\n <FilterPanel />\n {/* Results, Info, and Controls */}\n\n <SearchResults />\n </Grid>\n </Page>\n </SearchStateProvider>\n );\n};\n"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[]).push([[3],{100:function(e,t,n){"use strict";n.d(t,"b",(function(){return C})),n.d(t,"a",(function(){return E}));var r,a=n(0),c=n(4),i=n(17),o=n(6),s=n(60),u=n(69),l=n(144),d=n.n(l),b=n(64),j=n(5),f=n(47),h=function(e){return function(t,n){var r=new Date(t.metadata.date),a=new Date(n.metadata.date);return r===a?0:e?a<r?1:-1:r<a?1:-1}},O=function(e){return function(t,n){return t.name.localeCompare(n.name)*(e?1:-1)}},p=(r={},Object(j.a)(r,b.a.NameAsc,O(!0)),Object(j.a)(r,b.a.NameDesc,O(!1)),Object(j.a)(r,b.a.PublishDateAsc,h(!0)),Object(j.a)(r,b.a.PublishDateDesc,h(!1)),r),v=function(e){if(e)return function(t){return t.metadata.cdkType===e}},g=function(e){if(e&&e!==f.d.TypeScript)return function(t){return void 0!==t.languages[e]}},m=function(e){var t,n=(null!==(t=null===e||void 0===e?void 0:e.length)&&void 0!==t?t:0)>0?new Set(e):void 0;if(n&&!n.has(f.d.TypeScript))return function(e){return Object.keys(e.languages).some((function(e){return n.has(e)}))}},x=function(){function e(t){Object(s.a)(this,e),this.map=void 0,this.index=void 0;var n=t.reduce((function(e,t){var n=[t.name,t.version].join("@");return e.set(n,Object(o.a)(Object(o.a)({},t),{},{id:n})),e}),new Map);this.map=this.sort(n,b.a.PublishDateDesc),this.index=d()((function(){var e=this;this.ref("id"),this.field("name"),this.field("scope"),this.field("packageName"),this.field("description"),this.field("authorName"),this.field("authorEmail"),Object(i.a)(n.values()).forEach((function(t){var n=t.author,r=t.name.split("/"),a=Object(c.a)(r,2),i=a[0],o=a[1];i&&o&&(t.scope=i,t.packageName=o),"string"===typeof n&&(t.authorName=n),(null===n||void 0===n?void 0:n.name)&&(t.authorName=n.name),(null===n||void 0===n?void 0:n.email)&&(t.authorEmail=n.email),e.add(t)}))}))}return Object(u.a)(e,[{key:"search",value:function(e){var t=null!==e&&void 0!==e?e:{},n=t.query,r=t.filters,a=t.sort,c=n?this.query(n):new Map(this.map);return r&&(c=this.filter(c,r)),a&&(c=this.sort(c,a)),c}},{key:"query",value:function(e){var t=this,n=[];try{n=this.index.search(e)}catch(r){console.error(r)}return n.reduce((function(e,n){var r=n.ref,a=t.map.get(r);return a&&e.set(r,a),e}),new Map)}},{key:"filter",value:function(e,t){var n=t.cdkType,r=t.language,a=t.languages,c=new Map(e),i=[v(n),g(r),m(a)].filter(Boolean);return c.forEach((function(e){var t,n=!1;i.forEach((function(t){n||t(e)||(n=!0)})),n&&(t=e.id,c.delete(t))})),c}},{key:"sort",value:function(e,t){return t?new Map(Object(i.a)(e.entries()).sort((function(e,n){var r=Object(c.a)(e,2)[1],a=Object(c.a)(n,2)[1];return p[t](r,a)}))):e}}]),e}(),y=n(73),S=n(86),w=n(1),k=Object(a.createContext)(void 0),C=function(){return Object(a.useContext)(k)},E=function(e){var t=e.children,n=Object(S.b)(),r=n.data,c=n.loading,i=Object(a.useMemo)((function(){if(void 0!==(null===r||void 0===r?void 0:r.packages)&&!c)return new x(r.packages)}),[r,c]);return i?Object(w.jsx)(k.Provider,{value:i,children:t}):Object(w.jsx)(y.a,{})}},101:function(e,t,n){"use strict";n.d(t,"b",(function(){return v})),n.d(t,"a",(function(){return g}));var r=n(6),a=n(4),c=n(196),i=n(0),o="prefersWarnOnExternalLinkClick",s=n(197),u=n(43),l=n(193),d=n(217),b=n(148),j=n(219),f=n(55),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),v=Object(a.a)(p,2),g=v[0],m=v[1];return Object(h.jsx)(u.a,{closeOnOverlayClick:!1,isOpen:n,onClose:c,children:Object(h.jsx)(u.h,{children:Object(h.jsxs)(u.d,{color:"blue.800",children:[Object(h.jsx)(u.g,{children:"Confirm"}),Object(h.jsxs)(u.b,{children:[Object(h.jsx)(l.a,{fontSize:"lg",mb:2,children:"This link is taking you to an external site"}),Object(h.jsx)(l.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;m(t)},children:"Do not show this warning again."})]}),Object(h.jsxs)(u.f,{children:[Object(h.jsx)(b.a,{onClick:function(){m(!0),c()},variant:"ghost",children:"Cancel"}),Object(h.jsx)(j.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(!g){O(g);try{localStorage.setItem(o,JSON.stringify(g))}catch(t){}}null===r||void 0===r||r(e),c()},children:Object(h.jsx)(b.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})),v=function(){return Object(i.useContext)(p)},g=function(e){var t=e.children,n=Object(i.useState)(null),s=Object(a.a)(n,2),u=s[0],l=s[1],d=Object(c.a)({onClose:function(){l(null)}}),b=d.isOpen,j=d.onOpen,f=d.onClose,v=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}})),g=Object(a.a)(v,2),m=g[0],x=g[1],y=Object(i.useCallback)((function(e){var t=e.href,n=e.onClick;if(!m)return n;return function(e){l({href:t,onClick:n}),e.preventDefault(),j()}}),[j,m]);return Object(h.jsxs)(p.Provider,{value:y,children:[t,Object(h.jsx)(O,Object(r.a)({isOpen:b,onClose:f,setShouldWarn:x},u))]})}},109: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,u=void 0===s?250:s,l=t.onChange;return Object(a.useEffect)((function(){var t=setTimeout((function(){o(e),null===l||void 0===l||l(e)}),u);return function(){clearTimeout(t)}}),[e,u,l]),i}},11: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={CDK_TYPE:"cdk",LANGUAGE:"lang",LANGUAGES:"langs",OFFSET:"offset",SEARCH_QUERY:"q",SORT:"sort",SUBMODULE:"submodule"},c={FAQ:"/faq",HOME:"/",PACKAGES:"/packages",SEARCH:"/search",SITE_TERMS:"/terms"}},112:function(e,t,n){"use strict";n.d(t,"b",(function(){return o})),n.d(t,"c",(function(){return u})),n.d(t,"a",(function(){return l}));var r=n(5),a=n(4),c=n(11),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},u=function(e){var t,n=e.cdkType,a=e.query,i=e.offset,o=e.language,u=e.languages,l=e.sort;return s(c.c.SEARCH,(t={},Object(r.a)(t,c.b.SEARCH_QUERY,a),Object(r.a)(t,c.b.CDK_TYPE,n),Object(r.a)(t,c.b.LANGUAGE,o),Object(r.a)(t,c.b.LANGUAGES,(null===u||void 0===u?void 0:u.length)?u.join(","):null),Object(r.a)(t,c.b.SORT,l),Object(r.a)(t,c.b.OFFSET,null!==i&&void 0!==i?i:0),t))},l=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))}},113:function(e,t,n){"use strict";n.d(t,"a",(function(){return j}));var r=n(4),a=n(0),c=n(18),i=n(47),o=n(11),s=n(118),u=i.d.TypeScript,l="preferred-language",d=function(e){return null!=e&&i.e.has(e)},b=function(e){if(d(e))return e;try{var t,n=null!==(t=localStorage.getItem(l))&&void 0!==t?t:"";if(d(n))return n}catch(r){}return u},j=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.updateUrl,n=e.updateSaved,i=Object(c.h)(),u=i.pathname,j=i.hash,f=Object(c.g)(),h=f.replace,O=Object(s.a)(),p=O.get(o.b.LANGUAGE),v=Object(a.useState)((function(){return b(p)})),g=Object(r.a)(v,2),m=g[0],x=g[1];Object(a.useEffect)((function(){d(p)&&p!==m&&x(p)}),[p]),Object(a.useEffect)((function(){p!==m&&t&&(O.set(o.b.LANGUAGE,m),h({pathname:u,hash:j,search:O.toString()}))}),[m,t]);var y=Object(a.useCallback)((function(e){if(x(e),n)try{localStorage.setItem(l,e)}catch(t){}}),[n]);return Object(a.useMemo)((function(){return[m,y]}),[m,y])}},114:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return u}));var r=n(0),a=n(18),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),u=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])}},116:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(0),a=function(e,t){var n=t.limit,r=t.offset*n,a=r+n;return e.slice(r,a)},c=n(17),i=n(100),o=function(e){var t=e.cdkType,n=e.limit,o=e.offset,s=void 0===o?0:o,u=e.query,l=void 0===u?"":u,d=e.language,b=void 0===d?null:d,j=e.languages,f=e.sort,h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.query,n=e.filters,a=e.sort,o=Object(i.b)();if(!o)throw new Error("This hook can only be called within a descendant of a <SearchProvider />");return Object(r.useMemo)((function(){return Object(c.a)(o.search({query:t,filters:n,sort:a}).values())}),[o,t,n,a])}({filters:Object(r.useMemo)((function(){return{cdkType:t,language:null!==b&&void 0!==b?b:void 0,languages:j}}),[t,b,j]),query:l,sort:f}),O=function(e,t){var n=null!==t&&void 0!==t?t:{},c=n.limit,i=void 0===c?25:c,o=n.offset,s=void 0===o?0:o,u=e?Math.floor(e.length/i):0;return Object(r.useMemo)((function(){return{page:a(e,{limit:i,offset:s>u?u:s}),pageLimit:u}}),[e,i,s,u])}(h,{offset:s,limit:n}),p=O.page,v=O.pageLimit;return Object(r.useMemo)((function(){return{results:h,page:p,pageLimit:v}}),[p,v,h])}},117:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),a=n(21),c=n(188),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"},118:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var r=n(0),a=n(18),c=function(){var e=Object(a.h)().search;return Object(r.useMemo)((function(){return new URLSearchParams(e)}),[e])}},119:function(e,t,n){"use strict";n.d(t,"a",(function(){return y})),n.d(t,"b",(function(){return m}));var r=n(6),a=n(22),c=n(143),i=n(83),o=n(4),s=n(21),u=n(220),l=n(148),d=n(47),b=n(208),j=n(216),f=n(193),h=n(1),O=n(56),p=Object(O.a)("catalogSearch",["form","input","languageDropdown","languageDropdownMenu","languageDropdownValue","languageItem","submit"]),v=Object.fromEntries(Object.entries(d.b).filter((function(e){var t=Object(o.a)(e,1)[0];return d.e.has(t)}))),g=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)(j.a,{strategy:"fixed",children:[Object(h.jsx)(j.b,{as:l.a,bg:"white",borderColor:"blue.100",boxShadow:"base","data-testid":c.trigger,rightIcon:Object(h.jsx)(b.a,{color:"blue.500"}),variant:"outline",children:Object(h.jsx)(f.a,{"data-testid":c.value,children:i})}),Object(h.jsxs)(j.f,{"data-testid":c.menu,children:[Object(h.jsx)(j.e,{"data-testid":c.item,onClick:function(){return r()},children:"Any"}),s.map((function(e){var t=Object(o.a)(e,2),n=t[0],a=t[1];return Object(h.jsx)(j.e,{"data-testid":c.item,onClick:function(){return r(n)},children:a},n)}))]})]})},m=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)(u.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)(g,{items:v,onSelect:c,placeholder:"Language...",selected:a,testIds:{item:p.languageItem,menu:p.languageDropdownMenu,trigger:p.languageDropdown,value:p.languageDropdownValue}}),Object(h.jsx)(l.a,{boxShadow:"base",colorScheme:"blue","data-testid":p.submit,type:"submit",children:"Search"})]})})),x=["onSubmit"],y=function(e){var t=e.onSubmit,n=Object(a.a)(e,x);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)(m,Object(r.a)({},n))})})}},120:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(4),a=n(0),c=n(18),i=n(112),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),u=s[0],l=s[1],d=Object(a.useState)(n.defaultCdkType),b=Object(r.a)(d,2),j=b[0],f=b[1],h=Object(a.useState)(null!==(t=n.defaultLanguages)&&void 0!==t?t:[]),O=Object(r.a)(h,2),p=O[0],v=O[1],g=Object(a.useState)(n.defaultLanguage),m=Object(r.a)(g,2),x=m[0],y=m[1],S=Object(a.useState)(n.defaultSort),w=Object(r.a)(S,2),k=w[0],C=w[1],E=Object(c.g)(),A=E.push,T=function(e){e.preventDefault(),l(e.target.value)},M=Object(a.useCallback)((function(){A(Object(i.c)({cdkType:j,language:x,languages:p,query:u,sort:k}))}),[j,x,p,A,u,k]),I=Object(a.useCallback)((function(e){null===e||void 0===e||e.preventDefault(),M()}),[M]);return Object(a.useMemo)((function(){return{cdkType:j,language:x,languages:p,onLanguageChange:y,onQueryChange:T,onSearch:M,onSubmit:I,query:u,setCdkType:f,setLanguage:y,setLanguages:v,setQuery:l,setSort:C,sort:k}}),[j,x,p,M,I,u,k])}},135:function(e,t,n){"use strict";n.d(t,"a",(function(){return u}));var r=n(6),a=n(22),c=n(21),i=n(212),o=n(1),s=["name","onClick"],u=Object(c.a)((function(e,t){var n=e.name,c=e.onClick,u=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},u),{},{children:n}))}));u.displayName="SearchItem"},161:function(e,t,n){},168:function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"initialize",(function(){return R})),n.d(r,"access",(function(){return D})),n.d(r,"checkForCookieConsent",(function(){return L})),n.d(r,"customizeCookies",(function(){return N})),n.d(r,"getConsentCookie",(function(){return W})),n.d(r,"hasConsent",(function(){return U}));var a,c,i=n(0),o=n.n(i),s=n(79),u=n.n(s),l=n(29),d=(n(161),n(143)),b=n(18),j=n(200),f=n(202),h=n(196),O=n(188),p=n(199),v=n(193),g=n(201),m=n(117),x=n(55),y=n(1),S="showing-dev-preview-banner",w=function(){var e,t=Object(h.a)({defaultIsOpen:JSON.parse(null!==(e=window.sessionStorage.getItem(S))&&void 0!==e?e:"true"),onClose:function(){return window.sessionStorage.setItem(S,"false")}}),n=t.isOpen,r=t.onClose;return Object(y.jsx)(O.a,{h:"max-content",children:Object(y.jsx)(p.a,{in:n,children:Object(y.jsxs)(m.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(y.jsx)(j.a,{h:5,left:4,position:"absolute",top:4,w:5}),Object(y.jsxs)(v.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(y.jsx)(x.a,{color:"inherit",hasWarning:!1,href:"https://github.com/cdklabs/construct-hub-webapp/issues",textDecoration:"underline",children:"here"})]}),Object(y.jsx)(g.a,{"aria-label":"Dismiss banner",colorScheme:"white",icon:Object(y.jsx)(f.a,{}),onClick:r,position:"absolute",right:4,size:"xs",top:3,variant:"ghost"})]})})})},k=n(4),C=n(203),E=n(204),A=n(205),T=n(148),M=n(22),I=n(32),P=n.n(I),z=n(49),F=function(){new URLSearchParams(window.location.search).get("sb")},R=function(){var e=Object(z.a)(P.a.mark((function e(){return P.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(z.a)(P.a.mark((function r(){var c,i,o;return P.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(15).then(n.t.bind(null,588,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)}}(),G=function(e){return function(){var t;if(!a)throw new Error("shortbread has not been initialized");return(t=a)[e].apply(t,arguments)}},D=G("access"),L=G("checkForCookieConsent"),N=G("customizeCookies"),W=G("getConsentCookie"),U=G("hasConsent"),H=R,_=Object(M.a)(r,["initialize"]),q=Object(i.createContext)({}),B=function(e){var t=e.children,n=Object(i.useState)(!1),r=Object(k.a)(n,2),a=r[0],c=r[1];return Object(i.useEffect)((function(){var e=!1;return H().then((function(){e||(_.checkForCookieConsent(),c(!0))})).catch((function(t){console.error(t),e||c(!1)})),function(){e=!0,c(!1)}}),[]),Object(y.jsx)(q.Provider,{value:a?_:{},children:t})},V=n(82),J=n(11),K={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"}},Q=n(17),Y=n(56),X=Object(Y.a)("footer",["container","links","disclaimer","manageCookies"].concat(Object(Q.a)(Object.values(K).map((function(e){return e.testId}))))),Z=function(){var e=Object(i.useContext)(q).customizeCookies;return Object(y.jsxs)(C.a,{align:"center",as:"footer",bg:"blue.800",color:"white","data-testid":X.container,direction:"column",justify:"center",py:4,children:[Object(y.jsx)(E.a,{columnGap:6,columns:[1,2,4],"data-testid":X.links,children:Object.entries(K).map((function(e,t){var n=Object(k.a)(e,2),r=n[0],a=n[1],c=a.display,i=a.isExternal,o=void 0===i||i,s=a.testId,u=a.url;return Object(y.jsxs)(C.a,{align:"center",direction:{base:"column",md:"row"},children:[Object(y.jsx)(O.a,{display:{base:"none",md:0!==t?"initial":"none"},h:5,children:Object(y.jsx)(A.a,{borderColor:"white",mr:6,orientation:"vertical"})}),o?Object(y.jsx)(x.a,{color:"currentcolor","data-testid":X[s],hasWarning:!1,href:u,lineHeight:10,mx:"auto",children:c}):Object(y.jsx)(V.a,{color:"currentcolor","data-testid":X[s],lineHeight:10,mx:"auto",to:u,children:c}),Object(y.jsx)(O.a,{display:{base:"none",sm:t<2?"initial":"none",md:"none"},w:"100%",children:Object(y.jsx)(A.a,{borderColor:"white"})})]},r)}))}),Object(y.jsx)(v.a,{"data-testid":X.disclaimer,fontSize:"xs",mt:4,children:"2021 Amazon Web Services, Inc. All rights reserved."}),Object(y.jsx)(T.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(216),re=["children"],ae=function(e){var t=e.children,n=Object(M.a)(e,re);return Object(y.jsx)(ne.a,Object($.a)(Object($.a)({colorScheme:"blue.800",strategy:"fixed"},n),{},{children:t}))},ce=n(21),ie=["items"],oe=function(e){var t=e.display,n=e.isNavLink,r=e.url;return n?Object(y.jsx)(V.a,{color:"blue.500",to:r,children:t}):Object(y.jsx)(x.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(M.a)(e,ie);return Object(y.jsx)(ne.f,Object($.a)(Object($.a)({},r),{},{ref:t,children:n.map((function(e,t){return"links"in e?Object(y.jsxs)(i.Fragment,{children:[Object(y.jsx)(ne.d,{align:"left",title:e.display,children:e.links.map((function(e,t){return Object(y.jsx)(ne.e,{children:Object(y.jsx)(oe,Object($.a)({},e))},"".concat(e.display,"-").concat(t))}))}),t!==n.length-1&&Object(y.jsx)(ne.c,{})]},"".concat(e.display,"-").concat(t)):Object(y.jsx)(ne.e,{children:Object(y.jsx)(oe,Object($.a)({},e))},"".concat(e.display,"-").concat(t))}))}))})),ue=n(208),le=["children"],de=Object(ce.a)((function(e,t){var n=e.children,r=Object(M.a)(e,le);return Object(y.jsx)(ne.b,Object($.a)(Object($.a)({as:T.a,color:"blue.800",fontWeight:"500",ref:t,rightIcon:Object(y.jsx)(ue.a,{h:6,w:6}),size:"md",variant:"link"},r),{},{children:n}))})),be=Object(Y.a)("header",["container","title","gettingStartedTrigger","gettingStartedMenu","resourcesTrigger","resourcesMenu","navOpen","navClose","searchButton","searchIcon","mobileNav"]),je=function(){return Object(y.jsxs)(ae,{children:[Object(y.jsx)(de,{"data-testid":be.gettingStartedTrigger,children:"Getting Started"}),Object(y.jsx)(se,{"data-testid":be.gettingStartedMenu,items:ee})]})},fe=n(210),he=n(223),Oe=n(224),pe=n(43),ve=n(225),ge=function(){return Object(y.jsxs)(ae,{children:[Object(y.jsx)(de,{"data-testid":be.resourcesTrigger,children:"Resources"}),Object(y.jsx)(se,{"data-testid":be.resourcesMenu,items:te})]})},me=n(209),xe=function(){return Object(y.jsx)(me.a,{as:"h1",color:"blue.800","data-testid":be.title,size:"lg",children:Object(y.jsxs)(l.b,{to:"/",children:[Object(y.jsx)(O.a,{as:"span",color:"blue.500",children:"Construct"})," ","Hub"]})})},ye=function(e){var t=e.isOpen,n=e.onClose;return Object(y.jsx)(he.a,{children:Object(y.jsxs)(Oe.a,{isOpen:t,onClose:n,placement:"left",size:"xs",children:[Object(y.jsx)(pe.h,{}),Object(y.jsxs)(Oe.b,{"data-testid":be.mobileNav,children:[Object(y.jsx)(pe.c,{}),Object(y.jsx)(pe.g,{display:"flex",justifyContent:"center",children:Object(y.jsx)(xe,{})}),Object(y.jsx)(pe.b,{children:Object(y.jsxs)(ve.a,{align:"start",justify:"start",spacing:4,children:[Object(y.jsx)(je,{}),Object(y.jsx)(ge,{})]})})]})]})})},Se=function(){var e=Object(h.a)();return Object(y.jsxs)(y.Fragment,{children:[Object(y.jsx)(g.a,{"aria-label":"Navigation Menu",borderRadius:"md","data-testid":be.navOpen,display:{md:"none"},icon:Object(y.jsx)(fe.a,{}),onClick:e.onOpen,variant:"ghost"}),Object(y.jsx)(ye,Object($.a)({},e))]})},we=n(213),ke=n(212),Ce=n(116),Ee=n(120),Ae=n(109),Te=n(113),Me=n(119),Ie=n(83),Pe=n(135),ze=Object(Y.a)("searchModal",["container"]),Fe=["onSubmit"],Re=function(e){var t=e.isOpen,n=e.onClose,r=Object(b.g)().push,a=Object(Te.a)(),c=Object(k.a)(a,1)[0],o=Object(Ee.a)(),s=o.onSubmit,u=Object(M.a)(o,Fe),l=Object(Ae.a)(u.query),d=Object(Ae.a)(u.language),j=Object(Ce.a)({limit:5,offset:0,query:l,language:d}).page,f=(l||d)&&j.length>0,h=Object(i.useRef)(null);return Object(y.jsx)(he.a,{children:Object(y.jsx)(pe.a,{initialFocusRef:h,isOpen:t,onClose:n,children:Object(y.jsx)(pe.h,{children:Object(y.jsxs)(pe.d,{"data-testid":ze.container,children:[Object(y.jsx)(pe.c,{}),Object(y.jsx)(pe.g,{children:"Search modules or providers"}),Object(y.jsxs)(pe.b,{children:[Object(y.jsx)(Ie.a,{onSubmit:function(e){n(),s(e)},pb:4,children:Object(y.jsx)(ve.a,{spacing:4,children:Object(y.jsx)(Me.b,Object($.a)({ref:h},u))})}),f&&Object(y.jsxs)(y.Fragment,{children:[Object(y.jsx)(A.a,{}),Object(y.jsx)(me.a,{fontSize:"md",my:4,textAlign:"center",children:"Suggestions"}),Object(y.jsx)(ke.c,{children:j.map((function(e){return Object(y.jsx)(Pe.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!==d&&void 0!==d?d:c),n(),void r(t);var t}},e.id)}))})]})]})]})})})})},Ge=function(){var e=Object(h.a)(),t=Object(b.h)().pathname;return[J.c.HOME,J.c.SEARCH].some((function(e){return e===t}))?null:Object(y.jsxs)(y.Fragment,{children:[Object(y.jsx)(T.a,{align:"center",color:"gray.600",colorScheme:"gray","data-testid":be.searchButton,display:{base:"none",md:"flex"},fontWeight:"medium",justifyContent:"space-between",m:"0 auto",maxW:"500px",onClick:e.onOpen,rightIcon:Object(y.jsx)(we.a,{color:"gray.600",ml:4}),variant:"outline",w:"100%",children:"Search Constructs..."}),Object(y.jsx)(g.a,{"aria-label":"Search Icon",borderRadius:"md","data-testid":be.searchIcon,display:{base:"initial",md:"none"},icon:Object(y.jsx)(we.a,{color:"gray.600"}),onClick:e.onOpen,variant:"ghost"}),Object(y.jsx)(Re,Object($.a)({},e))]})},De=function(e){return Object(y.jsx)(d.b,Object($.a)({align:"center",justify:"center",rowStart:1},e))},Le=function(){return Object(y.jsxs)(d.a,{alignItems:"center",as:"header",bg:"white",boxShadow:"base","data-testid":be.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(y.jsx)(De,{colStart:{base:2,md:1},justifySelf:{base:"center",md:"start"},children:Object(y.jsx)(xe,{})}),Object(y.jsx)(De,{colStart:{base:3,md:2},justifySelf:{base:"end",md:"stretch"},children:Object(y.jsx)(Ge,{})}),Object(y.jsxs)(De,{colStart:{base:1,md:3},justifySelf:{base:"start",md:"end"},children:[Object(y.jsxs)(d.a,{display:{base:"none",md:"grid"},gap:4,gridTemplateColumns:"1fr 1fr",gridTemplateRows:"1fr",placeItems:"center",w:"100%",children:[Object(y.jsx)(O.a,{children:Object(y.jsx)(je,{})}),Object(y.jsx)(O.a,{children:Object(y.jsx)(ge,{})})]}),Object(y.jsx)(Se,{})]})]})},Ne=n(73),We=["component"],Ue=function(e){var t=e.component,n=Object(M.a)(e,We);return Object(y.jsx)(b.b,Object($.a)(Object($.a)({},n),{},{children:Object(y.jsx)(i.Suspense,{fallback:Object(y.jsx)(Ne.a,{}),children:Object(y.jsx)(t,{})})}))},He=n(87),_e=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(13)]).then(n.bind(null,594))})),qe=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(1),n.e(2),n.e(12)]).then(n.bind(null,597))})),Be=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(1),n.e(9)]).then(n.bind(null,596))})),Ve=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(10)]).then(n.bind(null,269))})),Je=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(1),n.e(5),n.e(7)]).then(n.bind(null,590))})),Ke=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(1),n.e(2),n.e(11)]).then(n.bind(null,598))})),Qe=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(1),n.e(8)]).then(n.bind(null,592))})),Ye=Object(i.lazy)((function(){return Promise.all([n.e(0),n.e(14)]).then(n.bind(null,599))})),Xe=function(){var e,t=Object(He.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(y.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(y.jsx)(Le,{}),r||c?Object(y.jsx)("div",{}):Object(y.jsx)(w,{}),r?Object(y.jsx)(Ne.a,{}):Object(y.jsxs)(b.d,{children:[Object(y.jsx)(Ue,{component:_e,exact:!0,path:J.c.FAQ}),Object(y.jsx)(Ue,{component:(null===a||void 0===a?void 0:a.homeRedesign)?Be:qe,exact:!0,path:J.c.HOME}),Object(y.jsx)(Ue,{component:Ye,exact:!0,path:J.c.SITE_TERMS}),Object(y.jsx)(Ue,{component:Je,path:J.c.PACKAGES}),Object(y.jsx)(Ue,{component:(null===a||void 0===a?void 0:a.searchRedesign)?Qe:Ke,exact:!0,path:J.c.SEARCH}),Object(y.jsx)(Ue,{component:Ve,path:"*"})]}),Object(y.jsx)(Z,{})]})},Ze=n(114),$e=n(86),et=n(101),tt=n(100),nt=n(218),rt=n(214),at=n(96),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,ut=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"})})}),lt=Object($.a)(Object($.a)({},at.theme.components),{},{Code:it,Divider:{defaultProps:{borderColor:"rgba(0, 124, 253, 0.15)"}},Tag:ut}),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)"}},bt=Object(rt.a)(Object($.a)(Object($.a)({},dt),{},{components:lt})),jt=function(e){var t=e.children;return Object(y.jsx)(nt.a,{resetCSS:!0,theme:bt,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)}))};u.a.render(Object(y.jsx)(o.a.StrictMode,{children:Object(y.jsx)(l.a,{children:Object(y.jsx)(B,{children:Object(y.jsx)(Ze.a,{children:Object(y.jsx)(He.a,{children:Object(y.jsx)($e.a,{children:Object(y.jsx)(tt.a,{children:Object(y.jsx)(jt,{children:Object(y.jsx)(et.a,{children:Object(y.jsx)(Xe,{})})})})})})})})})}),document.getElementById("root")),c&&c instanceof Function&&n.e(16).then(n.bind(null,589)).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)}))}}()},47:function(e,t,n){"use strict";n.d(t,"d",(function(){return c})),n.d(t,"a",(function(){return l})),n.d(t,"b",(function(){return d})),n.d(t,"e",(function(){return b})),n.d(t,"c",(function(){return j}));var r,a,c,i=n(5),o=n(6),s=n(102),u=n(1);!function(e){e.DotNet="dotnet",e.TypeScript="typescript",e.Python="python",e.Go="golang",e.Java="java"}(c||(c={}));var l=[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),b=new Set([c.Python,c.TypeScript,c.Java]),j=(a={},Object(i.a)(a,c.TypeScript,{name:d.typescript,icon:function(e){return Object(u.jsxs)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 256 256",children:[Object(u.jsx)("path",{d:"M0 128v128h256V0H0z",fill:"#007ACC"}),Object(u.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(u.jsxs)(s.a,Object(o.a)(Object(o.a)({},e),{},{version:"1.0",viewBox:"0 0 110.421 109.846",children:[Object(u.jsxs)("defs",{children:[Object(u.jsxs)("linearGradient",{id:"a",children:[Object(u.jsx)("stop",{offset:"0",stopColor:"#ffe052"}),Object(u.jsx)("stop",{offset:"1",stopColor:"#ffc331"})]}),Object(u.jsx)("linearGradient",{gradientUnits:"userSpaceOnUse",id:"d",x1:"89.137",x2:"147.777",xlinkHref:"#a",y1:"111.921",y2:"168.101"}),Object(u.jsxs)("linearGradient",{id:"b",children:[Object(u.jsx)("stop",{offset:"0",stopColor:"#387eb8"}),Object(u.jsx)("stop",{offset:"1",stopColor:"#366994"})]}),Object(u.jsx)("linearGradient",{gradientUnits:"userSpaceOnUse",id:"c",x1:"55.549",x2:"110.149",xlinkHref:"#b",y1:"77.07",y2:"131.853"})]}),Object(u.jsxs)("g",{color:"#000",children:[Object(u.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(u.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(u.jsxs)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 256 346",children:[Object(u.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(u.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(u.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(u.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(u.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(u.jsx)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 512 192",children:Object(u.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(u.jsx)(s.a,Object(o.a)(Object(o.a)({},e),{},{"aria-hidden":"true",transform:"rotate(360)",viewBox:"0 0 32 32",children:Object(u.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)},55:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var r=n(6),a=n(22),c=n(197),i=n(21),o=n(198),s=n(101),u=n(1),l=["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,b=e.hasWarning,j=void 0===b||b,f=e.href,h=e.onClick,O=e.noFollow,p=Object(a.a)(e,l),v=Object(s.b)(),g="noopener noreferrer";return(j||O)&&(g+=" nofollow"),Object(u.jsxs)(o.a,Object(r.a)(Object(r.a)({color:"blue.500",href:f,isExternal:!0,onClick:j?v({href:f,onClick:h}):h,ref:t,rel:g},p),{},{children:[n," ",d&&Object(u.jsx)(c.a,{mb:1,ml:2})]}))}));d.displayName="ExternalLink"},56: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}),{})}},64:function(e,t,n){"use strict";var r;n.d(t,"a",(function(){return r})),function(e){e.NameAsc="asc",e.NameDesc="desc",e.PublishDateAsc="oldest",e.PublishDateDesc="newest"}(r||(r={}))},73:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(211),a=n(195),c=n(1),i=function(){return Object(c.jsx)(r.a,{children:Object(c.jsx)(a.a,{size:"xl"})})}},82:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),a=n(198),c=n(29),i=n(1),o=function(e){return Object(i.jsx)(a.a,Object(r.a)({as:c.b},e))}},83:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),a=n(21),c=n(25),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"},86:function(e,t,n){"use strict";n.d(t,"b",(function(){return j})),n.d(t,"a",(function(){return f}));var r=n(4),a=n(0),c=n(32),i=n.n(c),o=n(49),s=n(11),u=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)}}(),l=n(88),d=n(1),b=Object(a.createContext)({loading:!1,data:void 0,error:void 0}),j=function(){return Object(a.useContext)(b)},f=function(e){var t=e.children,n=Object(l.a)(u),c=Object(r.a)(n,2),i=c[0],o=c[1];return Object(a.useEffect)((function(){i()}),[i]),Object(d.jsx)(b.Provider,{value:o,children:t})}},87: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(32),o=n.n(i),s=n(49),u=n(11),l={},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(u.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",l);case 8:return e.abrupt("return",t.json().catch((function(e){return console.error(e),console.log("Invalid config response, using default values"),l})));case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),b=n(88),j=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],u=Object(b.a)(d,{onSuccess:function(e){s(e);try{localStorage.setItem(h,JSON.stringify(e))}catch(t){console.error(t)}}}),l=Object(a.a)(u,2),O=l[0],p=l[1];return Object(c.useEffect)((function(){O()}),[]),Object(j.jsx)(f.Provider,{value:Object(r.a)(Object(r.a)({},p),{},{data:o}),children:t})}},88:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(32),a=n.n(r),c=n(49),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,u=Object(o.useState)(!1),l=Object(i.a)(u,2),d=l[0],b=l[1],j=Object(o.useState)(n),f=Object(i.a)(j,2),h=f[0],O=f[1],p=Object(o.useState)(),v=Object(i.a)(p,2),g=v[0],m=v[1],x=Object(o.useRef)(!1);Object(o.useEffect)((function(){return x.current=!0,function(){x.current=!1}}),[]);var y=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(x.current){t.next=2;break}return t.abrupt("return");case 2:return b(!0),m(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),x.current&&(O(c),b(!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),x.current&&(O(n),m(t.t0),b(!1));case 17:case"end":return t.stop()}}),t,null,[[4,12]])}))),[s,r]);return Object(o.useMemo)((function(){return[y,{data:h,loading:d,error:g}]}),[y,h,d,g])}}},[[168,4,6]]]);
|
|
2
|
+
//# sourceMappingURL=main.a595d5fb.chunk.js.map
|