construct-hub-webapp 0.1.508 → 0.1.512

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.
@@ -1,46 +1,46 @@
1
1
  {
2
2
  "files": {
3
3
  "main.css": "/static/css/main.efe592a7.css",
4
- "main.js": "/static/js/main.3954f393.js",
4
+ "main.js": "/static/js/main.44382882.js",
5
5
  "static/js/19.6c0c3bb2.chunk.js": "/static/js/19.6c0c3bb2.chunk.js",
6
6
  "static/js/679.dddc0a34.chunk.js": "/static/js/679.dddc0a34.chunk.js",
7
- "static/js/58.87aebf6e.chunk.js": "/static/js/58.87aebf6e.chunk.js",
7
+ "static/js/58.cc075229.chunk.js": "/static/js/58.cc075229.chunk.js",
8
8
  "static/js/577.968f867e.chunk.js": "/static/js/577.968f867e.chunk.js",
9
- "static/js/543.13bf79ae.chunk.js": "/static/js/543.13bf79ae.chunk.js",
9
+ "static/js/501.2b1251ae.chunk.js": "/static/js/501.2b1251ae.chunk.js",
10
10
  "static/js/418.25a5f7f8.chunk.js": "/static/js/418.25a5f7f8.chunk.js",
11
- "static/js/51.cd3ab6c3.chunk.js": "/static/js/51.cd3ab6c3.chunk.js",
11
+ "static/js/51.ce88c9ee.chunk.js": "/static/js/51.ce88c9ee.chunk.js",
12
12
  "static/js/540.2b86534a.chunk.js": "/static/js/540.2b86534a.chunk.js",
13
13
  "static/js/259.07e40dd7.chunk.js": "/static/js/259.07e40dd7.chunk.js",
14
14
  "static/js/787.34927533.chunk.js": "/static/js/787.34927533.chunk.js",
15
15
  "static/js/270.e8136074.chunk.js": "/static/js/270.e8136074.chunk.js",
16
16
  "static/js/680.287c9812.chunk.js": "/static/js/680.287c9812.chunk.js",
17
- "static/js/439.022a996c.chunk.js": "/static/js/439.022a996c.chunk.js",
17
+ "static/js/634.f14c809b.chunk.js": "/static/js/634.f14c809b.chunk.js",
18
18
  "static/js/122.b1307897.chunk.js": "/static/js/122.b1307897.chunk.js",
19
19
  "static/js/225.1c9a1d80.chunk.js": "/static/js/225.1c9a1d80.chunk.js",
20
- "static/js/283.e48c9b37.chunk.js": "/static/js/283.e48c9b37.chunk.js",
20
+ "static/js/283.6790479a.chunk.js": "/static/js/283.6790479a.chunk.js",
21
21
  "service-worker.js": "/service-worker.js",
22
22
  "index.html": "/index.html",
23
23
  "main.efe592a7.css.map": "/static/css/main.efe592a7.css.map",
24
- "main.3954f393.js.map": "/static/js/main.3954f393.js.map",
24
+ "main.44382882.js.map": "/static/js/main.44382882.js.map",
25
25
  "19.6c0c3bb2.chunk.js.map": "/static/js/19.6c0c3bb2.chunk.js.map",
26
26
  "679.dddc0a34.chunk.js.map": "/static/js/679.dddc0a34.chunk.js.map",
27
- "58.87aebf6e.chunk.js.map": "/static/js/58.87aebf6e.chunk.js.map",
27
+ "58.cc075229.chunk.js.map": "/static/js/58.cc075229.chunk.js.map",
28
28
  "577.968f867e.chunk.js.map": "/static/js/577.968f867e.chunk.js.map",
29
- "543.13bf79ae.chunk.js.map": "/static/js/543.13bf79ae.chunk.js.map",
29
+ "501.2b1251ae.chunk.js.map": "/static/js/501.2b1251ae.chunk.js.map",
30
30
  "418.25a5f7f8.chunk.js.map": "/static/js/418.25a5f7f8.chunk.js.map",
31
- "51.cd3ab6c3.chunk.js.map": "/static/js/51.cd3ab6c3.chunk.js.map",
31
+ "51.ce88c9ee.chunk.js.map": "/static/js/51.ce88c9ee.chunk.js.map",
32
32
  "540.2b86534a.chunk.js.map": "/static/js/540.2b86534a.chunk.js.map",
33
33
  "259.07e40dd7.chunk.js.map": "/static/js/259.07e40dd7.chunk.js.map",
34
34
  "787.34927533.chunk.js.map": "/static/js/787.34927533.chunk.js.map",
35
35
  "270.e8136074.chunk.js.map": "/static/js/270.e8136074.chunk.js.map",
36
36
  "680.287c9812.chunk.js.map": "/static/js/680.287c9812.chunk.js.map",
37
- "439.022a996c.chunk.js.map": "/static/js/439.022a996c.chunk.js.map",
37
+ "634.f14c809b.chunk.js.map": "/static/js/634.f14c809b.chunk.js.map",
38
38
  "122.b1307897.chunk.js.map": "/static/js/122.b1307897.chunk.js.map",
39
39
  "225.1c9a1d80.chunk.js.map": "/static/js/225.1c9a1d80.chunk.js.map",
40
- "283.e48c9b37.chunk.js.map": "/static/js/283.e48c9b37.chunk.js.map"
40
+ "283.6790479a.chunk.js.map": "/static/js/283.6790479a.chunk.js.map"
41
41
  },
42
42
  "entrypoints": [
43
43
  "static/css/main.efe592a7.css",
44
- "static/js/main.3954f393.js"
44
+ "static/js/main.44382882.js"
45
45
  ]
46
46
  }
package/build/index.html CHANGED
@@ -1 +1 @@
1
- <!doctype html><html lang="en"><head><script src="/preload.js"></script><meta charset="utf-8"/><meta name="description" content="Construct Hub helps developers find open-source construct libraries for use with AWS CDK, CDK8s, CDKTf and other construct-based tools."/><meta name="viewport" content="width=device-width,initial-scale=1"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#ffffff"><title>Construct Hub</title><script defer="defer" src="/static/js/main.3954f393.js"></script><link href="/static/css/main.efe592a7.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
1
+ <!doctype html><html lang="en"><head><script src="/preload.js"></script><meta charset="utf-8"/><meta name="description" content="Construct Hub helps developers find open-source construct libraries for use with AWS CDK, CDK8s, CDKTf and other construct-based tools."/><meta name="viewport" content="width=device-width,initial-scale=1"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#ffffff"><title>Construct Hub</title><script defer="defer" src="/static/js/main.44382882.js"></script><link href="/static/css/main.efe592a7.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunkconstruct_hub_webapp=self.webpackChunkconstruct_hub_webapp||[]).push([[283],{50535:function(e,t,n){n.d(t,{y:function(){return c}});var r=n(28227),a=n(28735),i=n(53046),o=n(80184),c=function(e){var t=e.label,n=e.color,c=e.icon,s=(0,r.ff)("none","brightness(1.75)");return(0,o.jsxs)(a.Kq,{align:"center",direction:"row",filter:s,spacing:2,children:[(0,o.jsx)(i.Ee,{alt:"".concat(t," icon"),src:c,w:4}),(0,o.jsx)(a.xv,{color:n,fontWeight:"bold",children:t})]})}},2148:function(e,t,n){n.d(t,{N:function(){return o}});var r=n(81070),a=n(86617),i=n(80184),o=function(e){var t=e.children,n=e.language,o=a.dX.has(n),c=a.k8[n],s=o?"Click to view documentation in ".concat(c):"Documentation support for ".concat(c," is coming soon!");return(0,i.jsx)(r.u,{hasArrow:!0,label:s,placement:"top-start",children:(0,i.jsx)("span",{children:t})})}},64159:function(e,t,n){var r;n.d(t,{L:function(){return X},$:function(){return r}}),function(e){e.Wide="wide"}(r||(r={}));var a=n(1413),i=n(72791),o=n(28735),c=n(81070),s=n(11853),d=n(10297),l=n(19748),u=n(67003),m=n(79227),f=(0,n(88606).$)("packageCard",["author","description","downloads","languages","published","title","version","comment","wideContainer"]),h=n(80184),v=function(e){var t=e["data-testid"],n=e.tooltip,r=e.value;return(0,h.jsx)(c.u,{hasArrow:!0,isDisabled:!n,label:n,placement:"left",children:(0,h.jsx)(o.xv,{"data-testid":t,fontSize:"xs",zIndex:1,children:r})})},p=function(){var e,t,n,r=D(),a=r.author,i=r.metadata.date,o=r.name,c=(0,d.V)().data,p=null===c||void 0===c||null===(e=c.packages)||void 0===e||null===(t=e[o])||void 0===t||null===(n=t.downloads)||void 0===n?void 0:n.npm,x="string"===typeof a?a:a.name,g=new Date(i);return(0,h.jsxs)(h.Fragment,{children:[void 0!==p&&(0,h.jsx)(v,{"data-testid":f.downloads,tooltip:"Download numbers are periodically sourced from the npm registry",value:"".concat(p.toLocaleString()," weekly downloads")}),(0,h.jsx)(v,{"data-testid":f.published,value:(0,h.jsx)(m.q,{date:g,fontSize:"xs",formattedDate:(0,s.Z)(g,{addSuffix:!0})})}),(0,h.jsx)(v,{"data-testid":f.author,value:(0,h.jsxs)(h.Fragment,{children:["By"," ",(0,h.jsx)(u.O,{color:"link",to:(0,l.yc)({query:x}),children:x})]})})]})},x=n(70885),g=n(91523),j=n(59534),w=n(7991),b=n(77766),y=function(e){var t=e.comment;return(0,h.jsxs)(o.xv,{"data-testid":f.comment,fontSize:"md",lineHeight:"tall",noOfLines:4,children:[(0,h.jsxs)(o.xv,{as:"span",color:"blue.500",fontWeight:"bold",children:["Editor's note:"," "]}),t]})},k=function(){var e=(0,w.Z)(),t=(0,x.Z)(e,1)[0],n=D(),r=n.dataEvent,a=n.description,i=n.comment,c=n.metadata.constructFramework,s=n.name,d=n.version,u=null===c||void 0===c?void 0:c.name,m=null===c||void 0===c?void 0:c.majorVersion;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(o.AB,{as:g.rU,"data-event":r?(0,j.oJ)(r,"Package Card",s):void 0,to:(0,l.Mt)({name:s,version:d,language:t}),children:(0,h.jsxs)(o.kC,{align:"center",children:[(0,h.jsx)(b.uo,{majorVersion:m,mr:2,name:u}),(0,h.jsx)(o.X6,{as:"h3",color:"textPrimary","data-testid":f.title,fontSize:"md",fontWeight:"bold",wordBreak:"normal",children:s})]})}),i?(0,h.jsx)(y,{comment:i}):(0,h.jsx)(o.xv,{color:"textPrimary","data-testid":f.description,fontSize:"md",lineHeight:"tall",noOfLines:4,children:a||"No description available."})]})},S=n(98371),Z=n(50535),T=function(){var e,t,n=(null!==(e=null===(t=D())||void 0===t?void 0:t.metadata)&&void 0!==e?e:{}).packageTags,r=void 0===n?[]:n,i=(0,S.JA)(r),c=(0,x.Z)(i,1)[0];return c?(0,h.jsx)(o.xu,{fontSize:"xs",children:(0,h.jsx)(Z.y,(0,a.Z)({},c))}):null},C=n(86617),L=n(2148),z={sm:5,md:6,lg:8},P=function(e){var t=e.isRounded,n=void 0!==t&&t,r=e.languages,a=e.name,i=e.size,o=void 0===i?"md":i,c=e.version,s=Object.keys(null!==r&&void 0!==r?r:{});return(0,h.jsx)(h.Fragment,{children:Object.entries(C.kP).sort((function(e,t){var n=(0,x.Z)(e,1)[0],r=(0,x.Z)(t,1)[0];return C.a2.indexOf(n)-C.a2.indexOf(r)})).map((function(e){var t=(0,x.Z)(e,2),r=t[0],i=t[1],d=r,u=d===C.SQ.TypeScript||s.includes(d),m=d===C.SQ.TypeScript||C.dX.has(d);if(!u)return null;var f=i.name,v=i.icon,p=(0,h.jsx)(v,{"aria-label":"Supports ".concat(f),borderRadius:n?"50%":0,h:z[o],opacity:m?1:.2,w:z[o]});return(0,h.jsx)(L.N,{language:d,children:m?(0,h.jsx)(g.rU,{"aria-label":"View package docs for ".concat(d),to:(0,l.Mt)({name:a,version:c,language:d}),children:p}):p},d)}))})},q=function(){var e=D();return(0,h.jsx)(P,(0,a.Z)((0,a.Z)({},e),{},{size:"sm"}))},A=n(29988),E=function(){var e=D(),t=e.keywords,n=void 0===t?[]:t,r=e.metadata.packageTags,a=void 0===r?[]:r,i=(0,S.QX)({packageTags:a,keywords:n});return(0,h.jsx)(h.Fragment,{children:i.slice(0,10).map((function(e){var t=e.id,n=e.keyword,r=(n=void 0===n?{}:n).label,a=n.color;return(0,h.jsx)(A.X,{value:t,variant:a,children:r},t)}))})},F=function(){return(0,h.jsx)(o.fG,{_hover:{"> article":{bg:"hoverPrimary"}},children:(0,h.jsxs)(o.rj,{as:"article",bg:"bgSecondary",border:"base",borderRadius:"sm",boxShadow:"base",color:"textPrimary","data-testid":f.wideContainer,h:"full",minH:"12.5rem",templateColumns:{base:"1fr",lg:"1fr 14rem"},w:"full",children:[(0,h.jsxs)(o.kC,{direction:"column",justify:"space-between",overflow:"hidden",p:5,sx:{gap:"0.5rem"},children:[(0,h.jsx)(o.Kq,{spacing:3,children:(0,h.jsx)(k,{})}),(0,h.jsx)(o.kC,{align:"center",sx:{gap:"0.5rem"},wrap:"wrap",children:(0,h.jsx)(E,{})})]}),(0,h.jsxs)(o.kC,{align:{base:"end",lg:"initial"},borderLeft:{lg:"base"},borderTop:{base:"base",lg:"none"},direction:{base:"row",lg:"column"},justify:"space-between",p:5,sx:{gap:"0.5rem"},children:[(0,h.jsxs)(o.Kq,{spacing:1,children:[(0,h.jsx)(T,{}),(0,h.jsx)(o.Kq,{spacing:1,children:(0,h.jsx)(p,{})})]}),(0,h.jsx)(o.Kq,{"data-testid":f.languages,direction:"row",spacing:2,children:(0,h.jsx)(q,{})})]})]})})},O=(0,i.createContext)(null),D=function(){return(0,i.useContext)(O)},X=function(e){var t=e["data-event"],n=e.pkg,i=e.variant,o=void 0===i?r.Wide:i;return(0,h.jsx)(O.Provider,{value:(0,a.Z)((0,a.Z)({},n),{},{dataEvent:t}),children:o===r.Wide&&(0,h.jsx)(F,{})})}},29988:function(e,t,n){n.d(t,{X:function(){return l}});var r=n(1413),a=n(45987),i=n(96450),o=n(19748),c=n(67003),s=n(80184),d=["children","value","label","zIndex"],l=function(e){var t=e.children,n=e.value,l=e.label,u=void 0===l?n:l,m=e.zIndex,f=(0,a.Z)(e,d);return(0,s.jsx)(c.O,{"aria-label":"Tag: ".concat(u),to:(0,o.yc)({keywords:[n]}),zIndex:m,children:(0,s.jsx)(i.Vp,(0,r.Z)((0,r.Z)({_hover:{textDecoration:"underline"}},f),{},{children:(0,s.jsx)(i.Sn,{children:t})}))})}},41712:function(e,t,n){n.d(t,{T:function(){return s}});var r=n(72791),a=n(54270),i={contribute:{event:{name:"Contribute Load"}},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"}}},o=n(59534),c=n(80184),s=(["default-src 'self' 'unsafe-inline' http://*.awsstatic.com;","connect-src 'self' https://*.shortbread.aws.dev http://*.shortbread.aws.dev http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;","frame-src http://aws.demdex.net http://dpm.demdex.net;","img-src 'self' https://* http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;","object-src 'none';","style-src 'self' 'unsafe-inline';"].join(" "),function(e){var t=e.children,n=e.meta,s=e.pageName,d=(0,o.aQ)(i[s]);(0,r.useEffect)((function(){d()}),[d]);var l=n.suffix,u=void 0===l||l,m=n.title,f=n.description,h=u?"".concat(m," - Construct Hub"):m;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(a.q,{children:[!1,(0,c.jsx)("meta",{content:"width=device-width, initial-scale=1",name:"viewport"}),(0,c.jsx)("meta",{charSet:"utf-8"}),(0,c.jsx)("title",{children:h}),(0,c.jsx)("meta",{content:h,property:"og:title"}),(0,c.jsx)("meta",{content:h,name:"twitter:title"}),(0,c.jsx)("meta",{content:"summary",name:"twitter:card"}),(0,c.jsx)("meta",{content:f,name:"description"}),(0,c.jsx)("meta",{content:f,property:"og:description"}),(0,c.jsx)("meta",{content:f,name:"twitter:description"})]}),t]})})},79227:function(e,t,n){n.d(t,{q:function(){return l}});var r=n(1413),a=n(45987),i=n(63209),o=n(28735),c=n(29158),s=n(80184),d=["date","format","formattedDate"],l=(0,i.Gp)((function(e,t){var n=e.date,i=e.format,l=e.formattedDate,u=(0,a.Z)(e,d);return(0,s.jsx)(o.xu,(0,r.Z)((0,r.Z)({as:"time",dateTime:n.toISOString(),ref:t},u),{},{children:null!==l&&void 0!==l?l:(0,c.Z)(n,null!==i&&void 0!==i?i:"")}))}));l.displayName="Time"},56804:function(e,t,n){n.d(t,{E:function(){return a}});var r=n(24026),a=function(e){var t=(0,r.Z)().data;return(null!==t&&void 0!==t?t:{})[e]}},7991:function(e,t,n){n.d(t,{Z:function(){return f}});var r=n(70885),a=n(72791),i=n(79271),o=n(86617),c=n(29499),s=n(4487),d=o.SQ.TypeScript,l="preferred-language",u=function(e){return null!=e&&o.dX.has(e)},m=function(e){if(u(e))return e;try{var t,n=null!==(t=localStorage.getItem(l))&&void 0!==t?t:"";if(u(n))return n}catch(r){}return d},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.updateUrl,n=e.updateSaved,o=(0,i.TH)(),d=o.pathname,f=o.hash,h=(0,i.k6)(),v=h.replace,p=(0,s.K)(),x=p.get(c.Tx.LANGUAGE),g=(0,a.useState)((function(){return m(x)})),j=(0,r.Z)(g,2),w=j[0],b=j[1];(0,a.useEffect)((function(){u(x)&&x!==w&&b(x)}),[x]),(0,a.useEffect)((function(){x!==w&&t&&(p.set(c.Tx.LANGUAGE,w),v({pathname:d,hash:f,search:p.toString()}))}),[w,t]);var y=(0,a.useCallback)((function(e){if(b(e),n)try{localStorage.setItem(l,e)}catch(t){}}),[n]);return(0,a.useMemo)((function(){return[w,y]}),[w,y])}},4487:function(e,t,n){n.d(t,{K:function(){return i}});var r=n(72791),a=n(79271),i=function(){var e=(0,a.TH)().search;return(0,r.useMemo)((function(){return new URLSearchParams(e)}),[e])}},98371:function(e,t,n){n.d(t,{JA:function(){return o},QX:function(){return c}});var r=n(1413),a=n(42982),i=n(9272),o=function(e){return!e||e.length<1?[]:e.reduce((function(e,t){return t.highlight?[].concat((0,a.Z)(e),[t.highlight]):e}),[])},c=function(e){for(var t=e.packageTags,n=e.keywords,o=new Array,c=new Set,s=0,d=[].concat((0,a.Z)(function(e){return(null!==e&&void 0!==e?e:[]).filter((function(e){var t;return Boolean(null===(t=e.keyword)||void 0===t?void 0:t.label)})).map((function(e){var t;return(0,r.Z)((0,r.Z)({},e),{},{id:null===(t=e.keyword)||void 0===t?void 0:t.label})}))}(t)),(0,a.Z)(function(e){return!e||e.length<1?[]:e.filter((function(e){return Boolean(e)&&!i.h.has(e)})).map((function(e){return{id:e,keyword:{label:e}}}))}(n)));s<d.length;s++){var l=d[s],u=l.keyword.label.toLowerCase();c.has(u)||(o.push(l),c.add(u))}return o}}}]);
2
- //# sourceMappingURL=283.e48c9b37.chunk.js.map
1
+ "use strict";(self.webpackChunkconstruct_hub_webapp=self.webpackChunkconstruct_hub_webapp||[]).push([[283],{50535:function(e,t,n){n.d(t,{y:function(){return c}});var r=n(28227),a=n(28735),i=n(53046),o=n(80184),c=function(e){var t=e.label,n=e.color,c=e.icon,s=(0,r.ff)("none","brightness(1.75)");return(0,o.jsxs)(a.Kq,{align:"center",direction:"row",filter:s,spacing:2,children:[(0,o.jsx)(i.Ee,{alt:"".concat(t," icon"),src:c,w:4}),(0,o.jsx)(a.xv,{color:n,fontWeight:"bold",children:t})]})}},2148:function(e,t,n){n.d(t,{N:function(){return o}});var r=n(81070),a=n(86617),i=n(80184),o=function(e){var t=e.children,n=e.language,o=a.dX.has(n),c=a.k8[n],s=o?"Click to view documentation in ".concat(c):"Documentation support for ".concat(c," is coming soon!");return(0,i.jsx)(r.u,{hasArrow:!0,label:s,placement:"top-start",children:(0,i.jsx)("span",{children:t})})}},64159:function(e,t,n){var r;n.d(t,{L:function(){return X},$:function(){return r}}),function(e){e.Wide="wide"}(r||(r={}));var a=n(1413),i=n(72791),o=n(28735),c=n(81070),s=n(11853),d=n(10297),l=n(19748),u=n(67003),m=n(79227),f=(0,n(88606).$)("packageCard",["author","description","downloads","languages","published","title","version","comment","wideContainer"]),h=n(80184),v=function(e){var t=e["data-testid"],n=e.tooltip,r=e.value;return(0,h.jsx)(c.u,{hasArrow:!0,isDisabled:!n,label:n,placement:"left",children:(0,h.jsx)(o.xv,{"data-testid":t,fontSize:"xs",zIndex:1,children:r})})},p=function(){var e,t,n,r=D(),a=r.author,i=r.metadata.date,o=r.name,c=(0,d.V)().data,p=null===c||void 0===c||null===(e=c.packages)||void 0===e||null===(t=e[o])||void 0===t||null===(n=t.downloads)||void 0===n?void 0:n.npm,x="string"===typeof a?a:a.name,g=new Date(i);return(0,h.jsxs)(h.Fragment,{children:[void 0!==p&&(0,h.jsx)(v,{"data-testid":f.downloads,tooltip:"Download numbers are periodically sourced from the npm registry",value:"".concat(p.toLocaleString()," weekly downloads")}),(0,h.jsx)(v,{"data-testid":f.published,value:(0,h.jsx)(m.q,{date:g,fontSize:"xs",formattedDate:(0,s.Z)(g,{addSuffix:!0})})}),(0,h.jsx)(v,{"data-testid":f.author,value:(0,h.jsxs)(h.Fragment,{children:["By"," ",(0,h.jsx)(u.O,{color:"link",to:(0,l.yc)({query:x}),children:x})]})})]})},x=n(29439),g=n(91523),j=n(59534),w=n(7991),b=n(77766),y=function(e){var t=e.comment;return(0,h.jsxs)(o.xv,{"data-testid":f.comment,fontSize:"md",lineHeight:"tall",noOfLines:4,children:[(0,h.jsxs)(o.xv,{as:"span",color:"blue.500",fontWeight:"bold",children:["Editor's note:"," "]}),t]})},k=function(){var e=(0,w.Z)(),t=(0,x.Z)(e,1)[0],n=D(),r=n.dataEvent,a=n.description,i=n.comment,c=n.metadata.constructFramework,s=n.name,d=n.version,u=null===c||void 0===c?void 0:c.name,m=null===c||void 0===c?void 0:c.majorVersion;return(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(o.AB,{as:g.rU,"data-event":r?(0,j.oJ)(r,"Package Card",s):void 0,to:(0,l.Mt)({name:s,version:d,language:t}),children:(0,h.jsxs)(o.kC,{align:"center",children:[(0,h.jsx)(b.uo,{majorVersion:m,mr:2,name:u}),(0,h.jsx)(o.X6,{as:"h3",color:"textPrimary","data-testid":f.title,fontSize:"md",fontWeight:"bold",wordBreak:"normal",children:s})]})}),i?(0,h.jsx)(y,{comment:i}):(0,h.jsx)(o.xv,{color:"textPrimary","data-testid":f.description,fontSize:"md",lineHeight:"tall",noOfLines:4,children:a||"No description available."})]})},S=n(98371),Z=n(50535),T=function(){var e,t,n=(null!==(e=null===(t=D())||void 0===t?void 0:t.metadata)&&void 0!==e?e:{}).packageTags,r=void 0===n?[]:n,i=(0,S.JA)(r),c=(0,x.Z)(i,1)[0];return c?(0,h.jsx)(o.xu,{fontSize:"xs",children:(0,h.jsx)(Z.y,(0,a.Z)({},c))}):null},C=n(86617),L=n(2148),z={sm:5,md:6,lg:8},P=function(e){var t=e.isRounded,n=void 0!==t&&t,r=e.languages,a=e.name,i=e.size,o=void 0===i?"md":i,c=e.version,s=Object.keys(null!==r&&void 0!==r?r:{});return(0,h.jsx)(h.Fragment,{children:Object.entries(C.kP).sort((function(e,t){var n=(0,x.Z)(e,1)[0],r=(0,x.Z)(t,1)[0];return C.a2.indexOf(n)-C.a2.indexOf(r)})).map((function(e){var t=(0,x.Z)(e,2),r=t[0],i=t[1],d=r,u=d===C.SQ.TypeScript||s.includes(d),m=d===C.SQ.TypeScript||C.dX.has(d);if(!u)return null;var f=i.name,v=i.icon,p=(0,h.jsx)(v,{"aria-label":"Supports ".concat(f),borderRadius:n?"50%":0,h:z[o],opacity:m?1:.2,w:z[o]});return(0,h.jsx)(L.N,{language:d,children:m?(0,h.jsx)(g.rU,{"aria-label":"View package docs for ".concat(d),to:(0,l.Mt)({name:a,version:c,language:d}),children:p}):p},d)}))})},q=function(){var e=D();return(0,h.jsx)(P,(0,a.Z)((0,a.Z)({},e),{},{size:"sm"}))},A=n(29988),E=function(){var e=D(),t=e.keywords,n=void 0===t?[]:t,r=e.metadata.packageTags,a=void 0===r?[]:r,i=(0,S.QX)({packageTags:a,keywords:n});return(0,h.jsx)(h.Fragment,{children:i.slice(0,10).map((function(e){var t=e.id,n=e.keyword,r=(n=void 0===n?{}:n).label,a=n.color;return(0,h.jsx)(A.X,{value:t,variant:a,children:r},t)}))})},F=function(){return(0,h.jsx)(o.fG,{_hover:{"> article":{bg:"hoverPrimary"}},children:(0,h.jsxs)(o.rj,{as:"article",bg:"bgSecondary",border:"base",borderRadius:"sm",boxShadow:"base",color:"textPrimary","data-testid":f.wideContainer,h:"full",minH:"12.5rem",templateColumns:{base:"1fr",lg:"1fr 14rem"},w:"full",children:[(0,h.jsxs)(o.kC,{direction:"column",justify:"space-between",overflow:"hidden",p:5,sx:{gap:"0.5rem"},children:[(0,h.jsx)(o.Kq,{spacing:3,children:(0,h.jsx)(k,{})}),(0,h.jsx)(o.kC,{align:"center",sx:{gap:"0.5rem"},wrap:"wrap",children:(0,h.jsx)(E,{})})]}),(0,h.jsxs)(o.kC,{align:{base:"end",lg:"initial"},borderLeft:{lg:"base"},borderTop:{base:"base",lg:"none"},direction:{base:"row",lg:"column"},justify:"space-between",p:5,sx:{gap:"0.5rem"},children:[(0,h.jsxs)(o.Kq,{spacing:1,children:[(0,h.jsx)(T,{}),(0,h.jsx)(o.Kq,{spacing:1,children:(0,h.jsx)(p,{})})]}),(0,h.jsx)(o.Kq,{"data-testid":f.languages,direction:"row",spacing:2,children:(0,h.jsx)(q,{})})]})]})})},O=(0,i.createContext)(null),D=function(){return(0,i.useContext)(O)},X=function(e){var t=e["data-event"],n=e.pkg,i=e.variant,o=void 0===i?r.Wide:i;return(0,h.jsx)(O.Provider,{value:(0,a.Z)((0,a.Z)({},n),{},{dataEvent:t}),children:o===r.Wide&&(0,h.jsx)(F,{})})}},29988:function(e,t,n){n.d(t,{X:function(){return l}});var r=n(1413),a=n(45987),i=n(96450),o=n(19748),c=n(67003),s=n(80184),d=["children","value","label","zIndex"],l=function(e){var t=e.children,n=e.value,l=e.label,u=void 0===l?n:l,m=e.zIndex,f=(0,a.Z)(e,d);return(0,s.jsx)(c.O,{"aria-label":"Tag: ".concat(u),to:(0,o.yc)({keywords:[n]}),zIndex:m,children:(0,s.jsx)(i.Vp,(0,r.Z)((0,r.Z)({_hover:{textDecoration:"underline"}},f),{},{children:(0,s.jsx)(i.Sn,{children:t})}))})}},41712:function(e,t,n){n.d(t,{T:function(){return s}});var r=n(72791),a=n(54270),i={contribute:{event:{name:"Contribute Load"}},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"}}},o=n(59534),c=n(80184),s=(["default-src 'self' 'unsafe-inline' http://*.awsstatic.com;","connect-src 'self' https://*.shortbread.aws.dev http://*.shortbread.aws.dev http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;","frame-src http://aws.demdex.net http://dpm.demdex.net;","img-src 'self' https://* http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;","object-src 'none';","style-src 'self' 'unsafe-inline';"].join(" "),function(e){var t=e.children,n=e.meta,s=e.pageName,d=(0,o.aQ)(i[s]);(0,r.useEffect)((function(){d()}),[d]);var l=n.suffix,u=void 0===l||l,m=n.title,f=n.description,h=u?"".concat(m," - Construct Hub"):m;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(a.q,{children:[!1,(0,c.jsx)("meta",{content:"width=device-width, initial-scale=1",name:"viewport"}),(0,c.jsx)("meta",{charSet:"utf-8"}),(0,c.jsx)("title",{children:h}),(0,c.jsx)("meta",{content:h,property:"og:title"}),(0,c.jsx)("meta",{content:h,name:"twitter:title"}),(0,c.jsx)("meta",{content:"summary",name:"twitter:card"}),(0,c.jsx)("meta",{content:f,name:"description"}),(0,c.jsx)("meta",{content:f,property:"og:description"}),(0,c.jsx)("meta",{content:f,name:"twitter:description"})]}),t]})})},79227:function(e,t,n){n.d(t,{q:function(){return l}});var r=n(1413),a=n(45987),i=n(63209),o=n(28735),c=n(29158),s=n(80184),d=["date","format","formattedDate"],l=(0,i.Gp)((function(e,t){var n=e.date,i=e.format,l=e.formattedDate,u=(0,a.Z)(e,d);return(0,s.jsx)(o.xu,(0,r.Z)((0,r.Z)({as:"time",dateTime:n.toISOString(),ref:t},u),{},{children:null!==l&&void 0!==l?l:(0,c.Z)(n,null!==i&&void 0!==i?i:"")}))}));l.displayName="Time"},56804:function(e,t,n){n.d(t,{E:function(){return a}});var r=n(24026),a=function(e){var t=(0,r.Z)().data;return(null!==t&&void 0!==t?t:{})[e]}},7991:function(e,t,n){n.d(t,{Z:function(){return f}});var r=n(29439),a=n(72791),i=n(79271),o=n(86617),c=n(29499),s=n(4487),d=o.SQ.TypeScript,l="preferred-language",u=function(e){return null!=e&&o.dX.has(e)},m=function(e){if(u(e))return e;try{var t,n=null!==(t=localStorage.getItem(l))&&void 0!==t?t:"";if(u(n))return n}catch(r){}return d},f=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.updateUrl,n=e.updateSaved,o=(0,i.TH)(),d=o.pathname,f=o.hash,h=(0,i.k6)(),v=h.replace,p=(0,s.K)(),x=p.get(c.Tx.LANGUAGE),g=(0,a.useState)((function(){return m(x)})),j=(0,r.Z)(g,2),w=j[0],b=j[1];(0,a.useEffect)((function(){u(x)&&x!==w&&b(x)}),[x]),(0,a.useEffect)((function(){x!==w&&t&&(p.set(c.Tx.LANGUAGE,w),v({pathname:d,hash:f,search:p.toString()}))}),[w,t]);var y=(0,a.useCallback)((function(e){if(b(e),n)try{localStorage.setItem(l,e)}catch(t){}}),[n]);return(0,a.useMemo)((function(){return[w,y]}),[w,y])}},4487:function(e,t,n){n.d(t,{K:function(){return i}});var r=n(72791),a=n(79271),i=function(){var e=(0,a.TH)().search;return(0,r.useMemo)((function(){return new URLSearchParams(e)}),[e])}},98371:function(e,t,n){n.d(t,{JA:function(){return o},QX:function(){return c}});var r=n(1413),a=n(93433),i=n(9272),o=function(e){return!e||e.length<1?[]:e.reduce((function(e,t){return t.highlight?[].concat((0,a.Z)(e),[t.highlight]):e}),[])},c=function(e){for(var t=e.packageTags,n=e.keywords,o=new Array,c=new Set,s=0,d=[].concat((0,a.Z)(function(e){return(null!==e&&void 0!==e?e:[]).filter((function(e){var t;return Boolean(null===(t=e.keyword)||void 0===t?void 0:t.label)})).map((function(e){var t;return(0,r.Z)((0,r.Z)({},e),{},{id:null===(t=e.keyword)||void 0===t?void 0:t.label})}))}(t)),(0,a.Z)(function(e){return!e||e.length<1?[]:e.filter((function(e){return Boolean(e)&&!i.h.has(e)})).map((function(e){return{id:e,keyword:{label:e}}}))}(n)));s<d.length;s++){var l=d[s],u=l.keyword.label.toLowerCase();c.has(u)||(o.push(l),c.add(u))}return o}}}]);
2
+ //# sourceMappingURL=283.6790479a.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"static/js/283.e48c9b37.chunk.js","mappings":"kNASaA,EAA+C,SAAC,GAItC,IAHrBC,EAGoB,EAHpBA,MACAC,EAEoB,EAFpBA,MACAC,EACoB,EADpBA,KAEMC,GAAaC,EAAAA,EAAAA,IAAkB,OAAQ,oBAC7C,OACE,UAAC,KAAD,CAAOC,MAAM,SAASC,UAAU,MAAMC,OAAQJ,EAAYK,QAAS,EAAnE,WACE,SAAC,KAAD,CAAOC,IAAG,UAAKT,EAAL,SAAmBU,IAAKR,EAAMS,EAAG,KAC3C,SAAC,KAAD,CAAMV,MAAOA,EAAOW,WAAW,OAA/B,SACGZ,S,0FCPIa,EAET,SAAC,GAA4B,IAA1BC,EAAyB,EAAzBA,SAAUC,EAAe,EAAfA,SACTC,EAAcC,EAAAA,GAAAA,IAA6BF,GAC3CG,EAAWC,EAAAA,GAAkBJ,GAE7BK,EAAUJ,EAAW,yCACWE,GADX,oCAEMA,EAFN,oBAI3B,OACE,SAAC,IAAD,CAASG,UAAQ,EAACrB,MAAOoB,EAASE,UAAU,YAA5C,UACE,0BAAOR,Q,sBCxBN,IAAKS,E,uDAAZ,SAAYA,GAAAA,EAAAA,KAAAA,OAAZ,CAAYA,IAAAA,EAAAA,K,sGCcZ,GAZgBC,E,SAAAA,GAAc,cAAe,CAC3C,SACA,cACA,YACA,YACA,YACA,QACA,UACA,UACA,kB,WCKIC,EAAyC,SAAC,GAAD,IAC9BC,EAD8B,EAC7C,eACAC,EAF6C,EAE7CA,QACAC,EAH6C,EAG7CA,MAH6C,OAK7C,SAAC,IAAD,CAASP,UAAQ,EAACQ,YAAaF,EAAS3B,MAAO2B,EAASL,UAAU,OAAlE,UAEE,SAAC,KAAD,CAAM,cAAaI,EAAYI,SAAS,KAAKC,OAAQ,EAArD,SACGH,OAKMI,EAA6B,WAAO,IAAD,MAC9C,EAIIC,IAHFC,EADF,EACEA,OACYC,EAFd,EAEEC,SAAYD,KACZE,EAHF,EAGEA,KAGMC,GAASC,EAAAA,EAAAA,KAATD,KACFE,EAA6B,OAAGF,QAAH,IAAGA,GAAH,UAAGA,EAAMG,gBAAT,iBAAG,EAAiBJ,UAApB,iBAAG,EAAwBG,iBAA3B,aAAG,EAAmCE,IAEnEC,EAA+B,kBAAXT,EAAsBA,EAASA,EAAOG,KAC1DO,EAAc,IAAIC,KAAKV,GAE7B,OACE,qCACiBW,IAAdN,IACC,SAACf,EAAD,CACE,cAAasB,EAAAA,UACbpB,QAAQ,kEACRC,MAAK,UAAKY,EAAUQ,iBAAf,wBAGT,SAACvB,EAAD,CACE,cAAasB,EAAAA,UACbnB,OACE,SAACqB,EAAA,EAAD,CACEd,KAAMS,EACNd,SAAS,KACToB,eAAeC,EAAAA,EAAAA,GAA0BP,EAAa,CACpDQ,WAAW,SAKnB,SAAC3B,EAAD,CACE,cAAasB,EAAAA,OACbnB,OACE,qCACK,KACH,SAACyB,EAAA,EAAD,CACEpD,MAAM,OACNqD,IAAIC,EAAAA,EAAAA,IAAc,CAChBC,MAAOb,IAHX,SAMGA,a,sDCtEFc,EAAuD,SAAC,GAE9D,IADLC,EACI,EADJA,QAEA,OACE,UAAC,KAAD,CACE,cAAaX,EAAAA,QACbjB,SAAS,KACT6B,WAAW,OACXC,UAAW,EAJb,WAME,UAAC,KAAD,CAAMC,GAAG,OAAO5D,MAAM,WAAWW,WAAW,OAA5C,2BACsB,OAErB8C,MCDMI,EAA6B,WACxC,OAA0BC,EAAAA,EAAAA,KAAnBC,GAAP,eACA,EAOI/B,IANFgC,EADF,EACEA,UACAC,EAFF,EAEEA,YACAR,EAHF,EAGEA,QACYS,EAJd,EAIE/B,SAAY+B,mBACZ9B,EALF,EAKEA,KACA+B,EANF,EAMEA,QAGIC,EAAO,OAAGF,QAAH,IAAGA,OAAH,EAAGA,EAAoB9B,KAC9BiC,EAAU,OAAGH,QAAH,IAAGA,OAAH,EAAGA,EAAoBI,aAEvC,OACE,iCACE,SAAC,KAAD,CACEV,GAAIW,EAAAA,GACJ,aACEP,GAAYQ,EAAAA,EAAAA,IAAUR,EAAW,eAAgB5B,QAAQS,EAE3DQ,IAAIoB,EAAAA,EAAAA,IAAe,CACjBrC,KAAAA,EACA+B,QAAAA,EACArD,SAAUiD,IARd,UAWE,UAAC,KAAD,CAAM3D,MAAM,SAAZ,WACE,SAACsE,EAAA,GAAD,CAAcJ,aAAcD,EAAYM,GAAI,EAAGvC,KAAMgC,KACrD,SAAC,KAAD,CACER,GAAG,KACH5D,MAAM,cACN,cAAa8C,EAAAA,MACbjB,SAAS,KACTlB,WAAW,OACXiE,UAAU,SANZ,SAQGxC,SAINqB,GACC,SAACD,EAAD,CAAaC,QAASA,KAEtB,SAAC,KAAD,CACEzD,MAAM,cACN,cAAa8C,EAAAA,YACbjB,SAAS,KACT6B,WAAW,OACXC,UAAW,EALb,SAOGM,GAAe,kC,sBC7DbnE,EAA+B,WAAO,IAAD,IAChD,uBAA6BkC,WAA7B,aAA6B,EAAkBG,gBAA/C,QAA2D,IAAnD0C,YAAAA,OAAR,MAAsB,GAAtB,EACA,GAAoBC,EAAAA,EAAAA,IAAeD,GAA5BE,GAAP,eAEA,OAAKA,GAGH,SAAC,KAAD,CAAKlD,SAAS,KAAd,UACE,SAAC,KAAD,UAAwBkD,MAJL,M,qBCCnBC,EAAQ,CACZC,GAAI,EACJC,GAAI,EACJC,GAAI,GAWOC,EAA6D,SAAC,GAMpE,IAAD,IALJC,UAAAA,OAKI,SAJJC,EAII,EAJJA,UACMC,EAGF,EAHJnD,KAGI,IAFJoD,KAAAA,OAEI,MAFG,KAEH,EADJrB,EACI,EADJA,QAEMsB,EAAUC,OAAOC,KAAP,OAAYL,QAAZ,IAAYA,EAAAA,EAAa,IACzC,OACE,8BACGI,OAAOE,QAAQC,EAAAA,IAEbC,MACC,kBAAEC,GAAF,eAAUC,GAAV,sBACEC,EAAAA,GAAAA,QAAkBF,GAClBE,EAAAA,GAAAA,QAAkBD,MAErBE,KAAI,YAAmB,IAAD,eAAhBC,EAAgB,KAAVC,EAAU,KACftF,EAAWqF,EAEXE,EACJvF,IAAawF,EAAAA,GAAAA,YAAuBb,EAAQc,SAASzF,GAEjD0F,EACJ1F,IAAawF,EAAAA,GAAAA,YAEbtF,EAAAA,GAAAA,IAA6BF,GAE/B,IAAKuF,EAAsB,OAAO,KAElC,IAAQjE,EAAqBgE,EAArBhE,KAAYqE,EAASL,EAAfnG,KAERA,GACJ,SAACwG,EAAD,CACE,gCAAwBrE,GACxBsE,aAAcrB,EAAY,MAAQ,EAClCsB,EAAG3B,EAAMQ,GACToB,QAASJ,EAA4B,EAAI,GACzC9F,EAAGsE,EAAMQ,KAIb,OACE,SAAC5E,EAAA,EAAD,CAAuCE,SAAUA,EAAjD,SACG0F,GACC,SAAC,KAAD,CACE,6CAAqC1F,GACrCuC,IAAIoB,EAAAA,EAAAA,IAAe,CAAErC,KAAMmD,EAAapB,QAAAA,EAASrD,SAAAA,IAFnD,SAIGb,IAGHA,GATyBa,SChE5B+F,EAA+B,WAC1C,IAAMC,EAAM9E,IACZ,OAAO,SAACoD,GAAD,kBAAsB0B,GAAtB,IAA2BtB,KAAK,S,WCD5BuB,EAA0B,WACrC,MAGI/E,IAHJ,IACEgF,SAAAA,OADF,MACa,GADb,MAEE7E,SAAY0C,YAAAA,OAFd,MAE4B,GAF5B,EAKMoC,GAAOC,EAAAA,EAAAA,IAAe,CAC1BrC,YAAAA,EACAmC,SAAAA,IAGF,OACE,8BACGC,EAAKE,MAAM,EAAG,IAAIjB,KAAI,gBAAGkB,EAAH,EAAGA,GAAH,IAAOC,QAAWtH,GAAlB,aAAmC,GAAnC,GAAkBA,MAAOC,EAAzB,EAAyBA,MAAzB,OACrB,SAACsH,EAAA,EAAD,CAAqB3F,MAAOyF,EAAIG,QAASvH,EAAzC,SACGD,GADcqH,SCVZI,EAA8B,WACzC,OACE,SAAC,KAAD,CACEC,OAAQ,CACN,YAAa,CACXC,GAAI,iBAHV,UAOE,UAAC,KAAD,CACE9D,GAAG,UACH8D,GAAG,cACHC,OAAO,OACPjB,aAAa,KACbkB,UAAU,OACV5H,MAAM,cACN,cAAa8C,EAAAA,cACb6D,EAAE,OACFkB,KAAK,UACLC,gBAAiB,CAAEC,KAAM,MAAO5C,GAAI,aACpCzE,EAAE,OAXJ,WAcE,UAAC,KAAD,CACEL,UAAU,SACV2H,QAAQ,gBACRC,SAAS,SACTC,EAAG,EACHC,GAAI,CAAEC,IAAK,UALb,WAOE,SAAC,KAAD,CAAO7H,QAAS,EAAhB,UACE,SAACsD,EAAD,OAGF,SAAC,KAAD,CAAMzD,MAAM,SAAS+H,GAAI,CAAEC,IAAK,UAAYC,KAAK,OAAjD,UACE,SAACtB,EAAD,UAKJ,UAAC,KAAD,CACE3G,MAAO,CAAE2H,KAAM,MAAO5C,GAAI,WAC1BmD,WAAY,CAAEnD,GAAI,QAClBoD,UAAW,CAAER,KAAM,OAAQ5C,GAAI,QAC/B9E,UAAW,CAAE0H,KAAM,MAAO5C,GAAI,UAC9B6C,QAAQ,gBACRE,EAAG,EACHC,GAAI,CAAEC,IAAK,UAPb,WASE,UAAC,KAAD,CAAO7H,QAAS,EAAhB,WACE,SAACT,EAAD,KACA,SAAC,KAAD,CAAOS,QAAS,EAAhB,UACE,SAACwB,EAAD,UAIJ,SAAC,KAAD,CAAO,cAAae,EAAAA,UAAmBzC,UAAU,MAAME,QAAS,EAAhE,UACE,SAACsG,EAAD,eClDN2B,GAAqBC,EAAAA,EAAAA,eAAuC,MAErDzG,EAAiB,kBAAM0G,EAAAA,EAAAA,YAAWF,IAElCG,EAAmD,SAAC,GAI1D,IAHS3E,EAGV,EAHJ,cACA8C,EAEI,EAFJA,IAEI,IADJS,QAAAA,OACI,MADMjG,EAAgBsH,KACtB,EACJ,OACE,SAACJ,EAAmBK,SAApB,CAA6BlH,OAAK,kBAAOmF,GAAP,IAAY9C,UAAAA,IAA9C,SACGuD,IAAYjG,EAAgBsH,OAAQ,SAACpB,EAAD,Q,mKChB9BF,EAAiD,SAAC,GAMxD,IALLzG,EAKI,EALJA,SACAc,EAII,EAJJA,MAII,IAHJ5B,MAAAA,OAGI,MAHI4B,EAGJ,EAFJG,EAEI,EAFJA,OACGgH,GACC,YACJ,OACE,SAAC1F,EAAA,EAAD,CACE,4BAAoBrD,GACpBsD,IAAIC,EAAAA,EAAAA,IAAc,CAAE0D,SAAU,CAACrF,KAC/BG,OAAQA,EAHV,UAKE,SAAC,MAAD,gBACE2F,OAAQ,CACNsB,eAAgB,cAEdD,GAJN,cAME,SAAC,KAAD,UAAWjI,W,gFC9BNmI,EAAW,CACtBC,WAAY,CACVC,MAAO,CACL9G,KAAM,oBAGV+G,KAAM,CACJD,MAAO,CACL9G,KAAM,cAGVgH,IAAK,CACHF,MAAO,CACL9G,KAAM,oCAGViH,eAAgB,CACdH,MAAO,CACL9G,KAAM,yBAGVkH,OAAQ,CACNJ,MAAO,CACL9G,KAAM,gBAGVmH,UAAW,CACTL,MAAO,CACL9G,KAAM,oBAGVoH,SAAU,CACRC,KAAM,CACJC,SAAU,aAEZR,MAAO,CACL9G,KAAM,mB,sBCVCuH,GATD,CACV,6DACA,wNACA,yDACA,qKACA,qBACA,qCACAC,KAAK,KAE2C,SAAC,GAI5C,IAHL/I,EAGI,EAHJA,SACAgJ,EAEI,EAFJA,KACAC,EACI,EADJA,SAEMC,GAAgBC,EAAAA,EAAAA,IAAYhB,EAASc,KAE3CG,EAAAA,EAAAA,YAAU,WACRF,MACC,CAACA,IAEJ,MAA8CF,EAAtCK,OAAAA,OAAR,SAAuBC,EAAuBN,EAAvBM,MAAOlG,EAAgB4F,EAAhB5F,YACxBmG,EAAiBF,EAAM,UAAMC,EAAN,oBAAgCA,EAE7D,OACE,iCACE,UAACE,EAAA,EAAD,YACGC,GAID,iBAAMC,QAAQ,sCAAsCnI,KAAK,cACzD,iBAAMoI,QAAQ,WAEd,2BAAQJ,KACR,iBAAMG,QAASH,EAAgBK,SAAS,cACxC,iBAAMF,QAASH,EAAgBhI,KAAK,mBACpC,iBAAMmI,QAAQ,UAAUnI,KAAK,kBAE7B,iBAAMmI,QAAStG,EAAa7B,KAAK,iBACjC,iBAAMmI,QAAStG,EAAawG,SAAS,oBACrC,iBAAMF,QAAStG,EAAa7B,KAAK,2BAElCvB,Q,+JChDMmC,GAAO0H,EAAAA,EAAAA,KAClB,WAA6DC,GAAS,IAAnEzI,EAAkE,EAAlEA,KAAc0I,EAAoD,EAA5DC,OAAsB5H,EAAsC,EAAtCA,cAAkB6H,GAAoB,YACnE,OACE,SAAC,MAAD,gBAAKlH,GAAG,OAAOmH,SAAU7I,EAAK8I,cAAeL,IAAKA,GAASG,GAA3D,oBACG7H,QADH,IACGA,EAAAA,GAAiB4H,EAAAA,EAAAA,GAAO3I,EAAD,OAAO0I,QAAP,IAAOA,EAAAA,EAAgB,UAMvD5H,EAAKiI,YAAc,Q,qEClBNC,EAAiB,SAAyBC,GACrD,IAAQ9I,GAAS+I,EAAAA,EAAAA,KAAT/I,KACR,OAAO,OAACA,QAAD,IAACA,EAAAA,EAAQ,IAAI8I,K,0HCEhBE,EAAc/E,EAAAA,GAAAA,WAEdgF,EAAY,qBAEZC,EAAc,SAACpF,GAAD,OACV,MAARA,GAAgBnF,EAAAA,GAAAA,IAA6BmF,IAEzCqF,EAAiB,SAACC,GAEtB,GAAIF,EAAYE,GACd,OAAOA,EAIT,IAAK,IAAD,EACIC,EAAU,UAAIC,aAAaC,QAAQN,UAAzB,QAAuC,GACvD,GAAIC,EAAYG,GAAa,OAAOA,EACpC,UAKF,OAAOL,GAcIvH,EAAc,WAAuC,IAAtC+H,EAAqC,uDAAP,GAChDC,EAA2BD,EAA3BC,UAAWC,EAAgBF,EAAhBE,YACnB,GAA2BC,EAAAA,EAAAA,MAAnBC,EAAR,EAAQA,SAAUC,EAAlB,EAAkBA,KAClB,GAAoBC,EAAAA,EAAAA,MAAZC,EAAR,EAAQA,QACFC,GAASC,EAAAA,EAAAA,KACTb,EAAiBY,EAAOE,IAAIC,EAAAA,GAAAA,UAGlC,GAAgCC,EAAAA,EAAAA,WAAmB,kBACjDjB,EAAeC,MADjB,eAAO3K,EAAP,KAAiB4L,EAAjB,MAKAzC,EAAAA,EAAAA,YAAU,WACJsB,EAAYE,IAAmBA,IAAmB3K,GACpD4L,EAAYjB,KAGb,CAACA,KAGJxB,EAAAA,EAAAA,YAAU,WACJwB,IAAmB3K,GAAYgL,IACjCO,EAAOM,IAAIH,EAAAA,GAAAA,SAAuB1L,GAClCsL,EAAQ,CAAEH,SAAAA,EAAUC,KAAAA,EAAM5C,OAAQ+C,EAAOO,gBAG1C,CAAC9L,EAAUgL,IAEd,IAAMe,GAASC,EAAAA,EAAAA,cACb,SAACC,GAGC,GAFAL,EAAYK,GAERhB,EACF,IACEJ,aAAaqB,QAAQ1B,EAAWyB,GAChC,aAKN,CAAChB,IAGH,OAAOkB,EAAAA,EAAAA,UAAQ,iBAAM,CAACnM,EAAU+L,KAAkB,CAAC/L,EAAU+L,M,+ECpFlDP,EAAiB,WAC5B,IAAQhD,GAAW0C,EAAAA,EAAAA,MAAX1C,OAER,OAAO2D,EAAAA,EAAAA,UAAQ,kBAAM,IAAIC,gBAAgB5D,KAAS,CAACA,M,kHCExCxE,EAAiB,SAACD,GAC7B,OAAKA,GAAeA,EAAYsI,OAAS,EAAU,GAE5CtI,EAAYuI,QACjB,SAACC,EAA2BC,GAC1B,OAAIA,EAAIvI,UACA,GAAN,eAAWsI,GAAX,CAAkBC,EAAIvI,YAGjBsI,IAET,KAuCSnG,EAAiB,SAAC,GAU7B,IAJkB,IALlBrC,EAKiB,EALjBA,YACAmC,EAIiB,EAJjBA,SAKMuG,EAAa,IAAIC,MACjBC,EAAY,IAAIC,IAEtB,wBA1C4B,SAC5B7I,GAEA,OAAO,OAACA,QAAD,IAACA,EAAAA,EAAe,IACpBvE,QAAO,SAACgN,GAAS,IAAD,EACf,OAAOK,QAAO,UAACL,EAAIjG,eAAL,aAAC,EAAatH,UAE7BmG,KAAI,SAACoH,GAAD,qBAAC,UACDA,GADA,IAEHlG,GAAE,UAAEkG,EAAIjG,eAAN,aAAE,EAAatH,WAkChB6N,CAAe/I,KADpB,OA1BgC,SAACmC,GACjC,OAAKA,GAAYA,EAASmG,OAAS,EAAU,GAEtCnG,EACJ1G,QAAO,SAACP,GAAD,OAAW4N,QAAQ5N,KAAW8N,EAAAA,EAAAA,IAAwB9N,MAC7DmG,KAAI,SAACnG,GAAD,MAAY,CACfqH,GAAIrH,EACJsH,QAAS,CACPtH,MAAAA,OAoBD+N,CAAmB9G,KAFxB,eAGG,CAHE,IAAMsG,EAAG,KAINvN,EAAQuN,EAAIjG,QAAStH,MAAMgO,cAC5BN,EAAUO,IAAIjO,KACjBwN,EAAWU,KAAKX,GAChBG,EAAUS,IAAInO,IAIlB,OAAOwN","sources":["components/Highlight/Highlight.tsx","components/LanguageSupportTooltip/LanguageSupportTooltip.tsx","components/PackageCard/constants.ts","components/PackageCard/testIds.ts","components/PackageCard/Details.tsx","components/PackageCard/EditorsNote.tsx","components/PackageCard/Heading.tsx","components/PackageCard/Highlight.tsx","components/PackageLanguages/PackageLanguages.tsx","components/PackageCard/Languages.tsx","components/PackageCard/Tags.tsx","components/PackageCard/WideCard.tsx","components/PackageCard/PackageCard.tsx","components/PackageTag/PackageTag.tsx","constants/pageInfo.ts","components/Page/Page.tsx","components/Time/Time.tsx","hooks/useConfigValue/useConfigValue.ts","hooks/useLanguage/useLanguage.ts","hooks/useQueryParams/useQueryParams.ts","util/package.ts"],"sourcesContent":["import { Stack, Image, Text, useColorModeValue } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\n\ninterface HighlightProps {\n label: string;\n color?: string;\n icon?: string;\n}\n\nexport const Highlight: FunctionComponent<HighlightProps> = ({\n label,\n color,\n icon,\n}: HighlightProps) => {\n const brightness = useColorModeValue(\"none\", \"brightness(1.75)\");\n return (\n <Stack align=\"center\" direction=\"row\" filter={brightness} spacing={2}>\n <Image alt={`${label} icon`} src={icon} w={4} />\n <Text color={color} fontWeight=\"bold\">\n {label}\n </Text>\n </Stack>\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<\n LanguageSupportTooltipProps\n> = ({ children, language }) => {\n const isSupported = TEMP_SUPPORTED_LANGUAGES.has(language);\n const langName = LANGUAGE_NAME_MAP[language];\n\n const message = isSupported\n ? `Click to view documentation in ${langName}`\n : `Documentation support for ${langName} is coming soon!`;\n\n return (\n <Tooltip hasArrow label={message} placement=\"top-start\">\n <span>{children}</span>\n </Tooltip>\n );\n};\n","export enum PackageCardType {\n Wide = \"wide\",\n}\n","import { createTestIds } from \"../../util/createTestIds\";\n\nconst testIds = createTestIds(\"packageCard\", [\n \"author\",\n \"description\",\n \"downloads\",\n \"languages\",\n \"published\",\n \"title\",\n \"version\",\n \"comment\",\n \"wideContainer\",\n] as const);\n\nexport default testIds;\n","import { Text, Tooltip } from \"@chakra-ui/react\";\nimport { formatDistanceToNowStrict } from \"date-fns\";\nimport { FunctionComponent, ReactChild } from \"react\";\nimport { useStats } from \"../../hooks/useStats\";\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 tooltip?: string;\n value: ReactChild;\n}\n\nconst Detail: FunctionComponent<DetailProps> = ({\n \"data-testid\": dataTestid,\n tooltip,\n value,\n}) => (\n <Tooltip hasArrow isDisabled={!tooltip} label={tooltip} placement=\"left\">\n {/* zIndex required to allow tooltip to display due to card link overlay */}\n <Text data-testid={dataTestid} fontSize=\"xs\" zIndex={1}>\n {value}\n </Text>\n </Tooltip>\n);\n\nexport const Details: FunctionComponent = () => {\n const {\n author,\n metadata: { date },\n name,\n } = usePackageCard();\n\n const { data } = useStats();\n const downloads: number | undefined = data?.packages?.[name]?.downloads?.npm;\n\n const authorName = typeof author === \"string\" ? author : author.name;\n const publishDate = new Date(date);\n\n return (\n <>\n {downloads !== undefined && (\n <Detail\n data-testid={testIds.downloads}\n tooltip=\"Download numbers are periodically sourced from the npm registry\"\n value={`${downloads.toLocaleString()} weekly downloads`}\n />\n )}\n <Detail\n data-testid={testIds.published}\n value={\n <Time\n date={publishDate}\n fontSize=\"xs\"\n formattedDate={formatDistanceToNowStrict(publishDate, {\n addSuffix: true,\n })}\n />\n }\n />\n <Detail\n data-testid={testIds.author}\n value={\n <>\n By{\" \"}\n <NavLink\n color=\"link\"\n to={getSearchPath({\n query: authorName,\n })}\n >\n {authorName}\n </NavLink>\n </>\n }\n />\n </>\n );\n};\n","import { Text } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport testIds from \"./testIds\";\n\nexport const EditorsNote: FunctionComponent<{ comment?: string }> = ({\n comment,\n}) => {\n return (\n <Text\n data-testid={testIds.comment}\n fontSize=\"md\"\n lineHeight=\"tall\"\n noOfLines={4}\n >\n <Text as=\"span\" color=\"blue.500\" fontWeight=\"bold\">\n Editor&apos;s note:{\" \"}\n </Text>\n {comment}\n </Text>\n );\n};\n","import {\n Flex,\n Heading as ChakraHeading,\n LinkOverlay,\n Text,\n} from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { eventName } from \"../../contexts/Analytics\";\nimport { useLanguage } from \"../../hooks/useLanguage\";\nimport { getPackagePath } from \"../../util/url\";\nimport { CDKTypeBadge } from \"../CDKType\";\nimport { EditorsNote } from \"./EditorsNote\";\nimport { usePackageCard } from \"./PackageCard\";\nimport testIds from \"./testIds\";\n\nexport const Heading: FunctionComponent = () => {\n const [currentLanguage] = useLanguage();\n const {\n dataEvent,\n description,\n comment,\n metadata: { constructFramework },\n name,\n version,\n } = usePackageCard();\n\n const cdkType = constructFramework?.name;\n const cdkVersion = constructFramework?.majorVersion;\n\n return (\n <>\n <LinkOverlay\n as={Link}\n data-event={\n dataEvent ? eventName(dataEvent, \"Package Card\", name) : undefined\n }\n to={getPackagePath({\n name,\n version,\n language: currentLanguage,\n })}\n >\n <Flex align=\"center\">\n <CDKTypeBadge majorVersion={cdkVersion} mr={2} name={cdkType} />\n <ChakraHeading\n as=\"h3\"\n color=\"textPrimary\"\n data-testid={testIds.title}\n fontSize=\"md\"\n fontWeight=\"bold\"\n wordBreak=\"normal\"\n >\n {name}\n </ChakraHeading>\n </Flex>\n </LinkOverlay>\n {comment ? (\n <EditorsNote comment={comment} />\n ) : (\n <Text\n color=\"textPrimary\"\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};\n","import { Box } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { highlightsFrom } from \"../../util/package\";\nimport { Highlight as HighlightComponent } from \"../Highlight\";\nimport { usePackageCard } from \"./PackageCard\";\n\nexport const Highlight: FunctionComponent = () => {\n const { packageTags = [] } = usePackageCard()?.metadata ?? {};\n const [highlight] = highlightsFrom(packageTags);\n\n if (!highlight) return null;\n\n return (\n <Box fontSize=\"xs\">\n <HighlightComponent {...highlight} />\n </Box>\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 { FunctionComponent } from \"react\";\nimport { tagObjectsFrom } from \"../../util/package\";\nimport { PackageTag } from \"../PackageTag\";\nimport { usePackageCard } from \"./PackageCard\";\n\nexport const Tags: FunctionComponent = () => {\n const {\n keywords = [],\n metadata: { packageTags = [] },\n } = usePackageCard();\n\n const tags = tagObjectsFrom({\n packageTags,\n keywords,\n });\n\n return (\n <>\n {tags.slice(0, 10).map(({ id, keyword: { label, color } = {} }) => (\n <PackageTag key={id} value={id} variant={color}>\n {label}\n </PackageTag>\n ))}\n </>\n );\n};\n","import { Flex, Grid, LinkBox, Stack } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Details } from \"./Details\";\nimport { Heading } from \"./Heading\";\nimport { Highlight } from \"./Highlight\";\nimport { Languages } from \"./Languages\";\nimport { Tags } from \"./Tags\";\nimport testIds from \"./testIds\";\n\nexport const WideCard: FunctionComponent = () => {\n return (\n <LinkBox\n _hover={{\n \"> article\": {\n bg: \"hoverPrimary\",\n },\n }}\n >\n <Grid\n as=\"article\"\n bg=\"bgSecondary\"\n border=\"base\"\n borderRadius=\"sm\"\n boxShadow=\"base\"\n color=\"textPrimary\"\n data-testid={testIds.wideContainer}\n h=\"full\"\n minH=\"12.5rem\"\n templateColumns={{ base: \"1fr\", lg: \"1fr 14rem\" }}\n w=\"full\"\n >\n {/* Top / Left side of card */}\n <Flex\n direction=\"column\"\n justify=\"space-between\"\n overflow=\"hidden\"\n p={5}\n sx={{ gap: \"0.5rem\" }}\n >\n <Stack spacing={3}>\n <Heading />\n </Stack>\n\n <Flex align=\"center\" sx={{ gap: \"0.5rem\" }} wrap=\"wrap\">\n <Tags />\n </Flex>\n </Flex>\n\n {/* Bottom / Right side of card */}\n <Flex\n align={{ base: \"end\", lg: \"initial\" }}\n borderLeft={{ lg: \"base\" }}\n borderTop={{ base: \"base\", lg: \"none\" }}\n direction={{ base: \"row\", lg: \"column\" }}\n justify=\"space-between\"\n p={5}\n sx={{ gap: \"0.5rem\" }}\n >\n <Stack spacing={1}>\n <Highlight />\n <Stack spacing={1}>\n <Details />\n </Stack>\n </Stack>\n\n <Stack data-testid={testIds.languages} direction=\"row\" spacing={2}>\n <Languages />\n </Stack>\n </Flex>\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 \"data-event\"?: string;\n pkg: CatalogPackage;\n variant?: PackageCardType;\n}\n\ninterface PackageCardState extends CatalogPackage {\n comment?: string;\n dataEvent?: string;\n}\n\nconst PackageCardContext = createContext<PackageCardState | null>(null);\n\nexport const usePackageCard = () => useContext(PackageCardContext)!;\n\nexport const PackageCard: FunctionComponent<PackageCardProps> = ({\n \"data-event\": dataEvent,\n pkg,\n variant = PackageCardType.Wide,\n}) => {\n return (\n <PackageCardContext.Provider value={{ ...pkg, dataEvent }}>\n {variant === PackageCardType.Wide && <WideCard />}\n </PackageCardContext.Provider>\n );\n};\n","import { Tag, TagLabel, TagProps } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { getSearchPath } from \"../../util/url\";\nimport { NavLink } from \"../NavLink\";\n\nexport interface PackageTagProps extends TagProps {\n value: string;\n label?: string;\n zIndex?: string | number;\n}\n\nexport const PackageTag: FunctionComponent<PackageTagProps> = ({\n children,\n value,\n label = value,\n zIndex,\n ...tagProps\n}) => {\n return (\n <NavLink\n aria-label={`Tag: ${label}`}\n to={getSearchPath({ keywords: [value] })}\n zIndex={zIndex}\n >\n <Tag\n _hover={{\n textDecoration: \"underline\",\n }}\n {...tagProps}\n >\n <TagLabel>{children}</TagLabel>\n </Tag>\n </NavLink>\n );\n};\n","export const pageInfo = {\n contribute: {\n event: {\n name: \"Contribute Load\",\n },\n },\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\n// Should be the same as the \"real\" CSP, except most things come from HTTP\n// instead of HTTPS (because it is protocol-relative, and the dev site is\n// served over plain HTTP).\nconst csp = [\n \"default-src 'self' 'unsafe-inline' http://*.awsstatic.com;\",\n \"connect-src 'self' https://*.shortbread.aws.dev http://*.shortbread.aws.dev http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;\",\n \"frame-src http://aws.demdex.net http://dpm.demdex.net;\",\n \"img-src 'self' https://* http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;\",\n \"object-src 'none';\",\n \"style-src 'self' 'unsafe-inline';\",\n].join(\" \");\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 content={csp} httpEquiv=\"Content-Security-Policy\" />\n )}\n\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <meta charSet=\"utf-8\" />\n\n <title>{formattedTitle}</title>\n <meta content={formattedTitle} property=\"og:title\" />\n <meta content={formattedTitle} name=\"twitter:title\" />\n <meta content=\"summary\" name=\"twitter:card\" />\n\n <meta content={description} name=\"description\" />\n <meta content={description} property=\"og:description\" />\n <meta content={description} name=\"twitter:description\" />\n </Helmet>\n {children}\n </>\n );\n};\n","import { Box, BoxProps, forwardRef } from \"@chakra-ui/react\";\nimport { format } from \"date-fns\";\n\nexport type TimeOptions = {\n date: Date;\n format?: string;\n formattedDate?: string;\n};\n\nexport interface TimeProps extends BoxProps, TimeOptions {}\n\nexport const Time = forwardRef<TimeProps, \"time\">(\n ({ date, format: formatString, formattedDate, ...boxProps }, ref) => {\n return (\n <Box as=\"time\" dateTime={date.toISOString()} ref={ref} {...boxProps}>\n {formattedDate ?? format(date, formatString ?? \"\")}\n </Box>\n );\n }\n);\n\nTime.displayName = \"Time\";\n","import type { Config } from \"../../api/config\";\nimport { useConfig } from \"../../contexts/Config\";\n\nexport const useConfigValue = <T extends keyof Config>(key: T) => {\n const { data } = useConfig();\n return (data ?? {})[key];\n};\n","import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport { Language, TEMP_SUPPORTED_LANGUAGES } from \"../../constants/languages\";\nimport { QUERY_PARAMS } from \"../../constants/url\";\nimport { useQueryParams } from \"../../hooks/useQueryParams\";\n\n// Only supported language atm\nconst defaultLang = Language.TypeScript;\n\nconst LOCAL_KEY = \"preferred-language\";\n\nconst isValidLang = (lang?: string | Language): lang is Language =>\n lang != null && TEMP_SUPPORTED_LANGUAGES.has(lang as Language);\n\nconst getInitialLang = (langFromParams: string | Language): Language => {\n // First, use language from query params in url\n if (isValidLang(langFromParams)) {\n return langFromParams;\n }\n\n // Next check for one stored in localStorage\n try {\n const storedLang = (localStorage.getItem(LOCAL_KEY) ?? \"\") as Language;\n if (isValidLang(storedLang)) return storedLang;\n } catch {\n // Do nothing, we just don't want to crash if localStorage access is blocked.\n }\n\n // Otherwise fallback to a default\n return defaultLang;\n};\n\nexport interface UseLanguageOptions {\n /**\n * Syncs the preferred language to a query param in URL\n */\n updateUrl?: boolean;\n /**\n * Saves the selected language to localStorage on select\n */\n updateSaved?: boolean;\n}\n\nexport const useLanguage = (options: UseLanguageOptions = {}) => {\n const { updateUrl, updateSaved } = options;\n const { pathname, hash } = useLocation();\n const { replace } = useHistory();\n const params = useQueryParams();\n const langFromParams = params.get(QUERY_PARAMS.LANGUAGE) as Language;\n\n // Passed as function to guarantee it runs on hook mount\n const [language, setLanguage] = useState<Language>(() =>\n getInitialLang(langFromParams)\n );\n\n // State subscribes to query param changes\n useEffect(() => {\n if (isValidLang(langFromParams) && langFromParams !== language) {\n setLanguage(langFromParams);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [langFromParams]);\n\n // Syncs language changes to URL if updateUrl = true\n useEffect(() => {\n if (langFromParams !== language && updateUrl) {\n params.set(QUERY_PARAMS.LANGUAGE, language);\n replace({ pathname, hash, search: params.toString() });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [language, updateUrl]);\n\n const update = useCallback(\n (val: Language) => {\n setLanguage(val);\n\n if (updateSaved) {\n try {\n localStorage.setItem(LOCAL_KEY, val);\n } catch {\n // OK to fail silently\n }\n }\n },\n [updateSaved]\n );\n\n return useMemo(() => [language, update] as const, [language, update]);\n};\n","import { useMemo } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nexport const useQueryParams = () => {\n const { search } = useLocation();\n\n return useMemo(() => new URLSearchParams(search), [search]);\n};\n","import { PackageHighlight, PackageTagConfig } from \"../api/config\";\nimport { KEYWORD_IGNORE_LIST } from \"../constants/keywords\";\n\nexport interface TagObject extends PackageTagConfig {}\n\n/**\n * Reduces package tags to only return highlight tags\n */\nexport const highlightsFrom = (packageTags?: PackageTagConfig[]) => {\n if (!packageTags || packageTags.length < 1) return [];\n\n return packageTags.reduce(\n (accum: PackageHighlight[], tag: PackageTagConfig): PackageHighlight[] => {\n if (tag.highlight) {\n return [...accum, tag.highlight];\n }\n\n return accum;\n },\n []\n );\n};\n\n/**\n * Maps packageTags to an array of TagObjects, which can be rendered by the PackageTags Component\n */\nexport const mapPackageTags = (\n packageTags?: PackageTagConfig[]\n): TagObject[] => {\n return (packageTags ?? [])\n .filter((tag) => {\n return Boolean(tag.keyword?.label);\n })\n .map((tag) => ({\n ...tag,\n id: tag.keyword?.label!,\n }));\n};\n\n/**\n * Maps keywords to an array of TagObjects, which can be rendered by the PackageTags component\n */\nexport const mapPackageKeywords = (keywords?: string[]): TagObject[] => {\n if (!keywords || keywords.length < 1) return [];\n\n return keywords\n .filter((label) => Boolean(label) && !KEYWORD_IGNORE_LIST.has(label))\n .map((label) => ({\n id: label,\n keyword: {\n label,\n },\n }));\n};\n\n/**\n * Maps packageTags and keywords to a list of TagObjects, using mapPackageTags and mapPackageKeywords\n */\nexport const tagObjectsFrom = ({\n packageTags,\n keywords,\n}: {\n packageTags?: PackageTagConfig[];\n keywords?: string[];\n}): TagObject[] => {\n const tagObjects = new Array<TagObject>();\n const tagLabels = new Set<string>();\n\n for (const tag of [\n ...mapPackageTags(packageTags),\n ...mapPackageKeywords(keywords),\n ]) {\n const label = tag.keyword!.label.toLowerCase();\n if (!tagLabels.has(label)) {\n tagObjects.push(tag);\n tagLabels.add(label);\n }\n }\n\n return tagObjects;\n};\n"],"names":["Highlight","label","color","icon","brightness","useColorModeValue","align","direction","filter","spacing","alt","src","w","fontWeight","LanguageSupportTooltip","children","language","isSupported","TEMP_SUPPORTED_LANGUAGES","langName","LANGUAGE_NAME_MAP","message","hasArrow","placement","PackageCardType","createTestIds","Detail","dataTestid","tooltip","value","isDisabled","fontSize","zIndex","Details","usePackageCard","author","date","metadata","name","data","useStats","downloads","packages","npm","authorName","publishDate","Date","undefined","testIds","toLocaleString","Time","formattedDate","formatDistanceToNowStrict","addSuffix","NavLink","to","getSearchPath","query","EditorsNote","comment","lineHeight","noOfLines","as","Heading","useLanguage","currentLanguage","dataEvent","description","constructFramework","version","cdkType","cdkVersion","majorVersion","Link","eventName","getPackagePath","CDKType","mr","wordBreak","packageTags","highlightsFrom","highlight","sizes","sm","md","lg","PackageLanguages","isRounded","languages","packageName","size","targets","Object","keys","entries","LANGUAGE_RENDER_MAP","sort","left","right","LANGUAGES","map","lang","info","isSupportedByLibrary","Language","includes","isSupportedByConstructHub","Icon","borderRadius","h","opacity","Languages","pkg","Tags","keywords","tags","tagObjectsFrom","slice","id","keyword","PackageTag","variant","WideCard","_hover","bg","border","boxShadow","minH","templateColumns","base","justify","overflow","p","sx","gap","wrap","borderLeft","borderTop","PackageCardContext","createContext","useContext","PackageCard","Wide","Provider","tagProps","textDecoration","pageInfo","contribute","event","home","faq","packageProfile","search","siteTerms","notFound","page","pageType","Page","join","meta","pageName","trackPageView","usePageView","useEffect","suffix","title","formattedTitle","Helmet","process","content","charSet","property","forwardRef","ref","formatString","format","boxProps","dateTime","toISOString","displayName","useConfigValue","key","useConfig","defaultLang","LOCAL_KEY","isValidLang","getInitialLang","langFromParams","storedLang","localStorage","getItem","options","updateUrl","updateSaved","useLocation","pathname","hash","useHistory","replace","params","useQueryParams","get","QUERY_PARAMS","useState","setLanguage","set","toString","update","useCallback","val","setItem","useMemo","URLSearchParams","length","reduce","accum","tag","tagObjects","Array","tagLabels","Set","Boolean","mapPackageTags","KEYWORD_IGNORE_LIST","mapPackageKeywords","toLowerCase","has","push","add"],"sourceRoot":""}
1
+ {"version":3,"file":"static/js/283.6790479a.chunk.js","mappings":"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","sources":["components/Highlight/Highlight.tsx","components/LanguageSupportTooltip/LanguageSupportTooltip.tsx","components/PackageCard/constants.ts","components/PackageCard/testIds.ts","components/PackageCard/Details.tsx","components/PackageCard/EditorsNote.tsx","components/PackageCard/Heading.tsx","components/PackageCard/Highlight.tsx","components/PackageLanguages/PackageLanguages.tsx","components/PackageCard/Languages.tsx","components/PackageCard/Tags.tsx","components/PackageCard/WideCard.tsx","components/PackageCard/PackageCard.tsx","components/PackageTag/PackageTag.tsx","constants/pageInfo.ts","components/Page/Page.tsx","components/Time/Time.tsx","hooks/useConfigValue/useConfigValue.ts","hooks/useLanguage/useLanguage.ts","hooks/useQueryParams/useQueryParams.ts","util/package.ts"],"sourcesContent":["import { Stack, Image, Text, useColorModeValue } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\n\ninterface HighlightProps {\n label: string;\n color?: string;\n icon?: string;\n}\n\nexport const Highlight: FunctionComponent<HighlightProps> = ({\n label,\n color,\n icon,\n}: HighlightProps) => {\n const brightness = useColorModeValue(\"none\", \"brightness(1.75)\");\n return (\n <Stack align=\"center\" direction=\"row\" filter={brightness} spacing={2}>\n <Image alt={`${label} icon`} src={icon} w={4} />\n <Text color={color} fontWeight=\"bold\">\n {label}\n </Text>\n </Stack>\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<\n LanguageSupportTooltipProps\n> = ({ children, language }) => {\n const isSupported = TEMP_SUPPORTED_LANGUAGES.has(language);\n const langName = LANGUAGE_NAME_MAP[language];\n\n const message = isSupported\n ? `Click to view documentation in ${langName}`\n : `Documentation support for ${langName} is coming soon!`;\n\n return (\n <Tooltip hasArrow label={message} placement=\"top-start\">\n <span>{children}</span>\n </Tooltip>\n );\n};\n","export enum PackageCardType {\n Wide = \"wide\",\n}\n","import { createTestIds } from \"../../util/createTestIds\";\n\nconst testIds = createTestIds(\"packageCard\", [\n \"author\",\n \"description\",\n \"downloads\",\n \"languages\",\n \"published\",\n \"title\",\n \"version\",\n \"comment\",\n \"wideContainer\",\n] as const);\n\nexport default testIds;\n","import { Text, Tooltip } from \"@chakra-ui/react\";\nimport { formatDistanceToNowStrict } from \"date-fns\";\nimport { FunctionComponent, ReactChild } from \"react\";\nimport { useStats } from \"../../hooks/useStats\";\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 tooltip?: string;\n value: ReactChild;\n}\n\nconst Detail: FunctionComponent<DetailProps> = ({\n \"data-testid\": dataTestid,\n tooltip,\n value,\n}) => (\n <Tooltip hasArrow isDisabled={!tooltip} label={tooltip} placement=\"left\">\n {/* zIndex required to allow tooltip to display due to card link overlay */}\n <Text data-testid={dataTestid} fontSize=\"xs\" zIndex={1}>\n {value}\n </Text>\n </Tooltip>\n);\n\nexport const Details: FunctionComponent = () => {\n const {\n author,\n metadata: { date },\n name,\n } = usePackageCard();\n\n const { data } = useStats();\n const downloads: number | undefined = data?.packages?.[name]?.downloads?.npm;\n\n const authorName = typeof author === \"string\" ? author : author.name;\n const publishDate = new Date(date);\n\n return (\n <>\n {downloads !== undefined && (\n <Detail\n data-testid={testIds.downloads}\n tooltip=\"Download numbers are periodically sourced from the npm registry\"\n value={`${downloads.toLocaleString()} weekly downloads`}\n />\n )}\n <Detail\n data-testid={testIds.published}\n value={\n <Time\n date={publishDate}\n fontSize=\"xs\"\n formattedDate={formatDistanceToNowStrict(publishDate, {\n addSuffix: true,\n })}\n />\n }\n />\n <Detail\n data-testid={testIds.author}\n value={\n <>\n By{\" \"}\n <NavLink\n color=\"link\"\n to={getSearchPath({\n query: authorName,\n })}\n >\n {authorName}\n </NavLink>\n </>\n }\n />\n </>\n );\n};\n","import { Text } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport testIds from \"./testIds\";\n\nexport const EditorsNote: FunctionComponent<{ comment?: string }> = ({\n comment,\n}) => {\n return (\n <Text\n data-testid={testIds.comment}\n fontSize=\"md\"\n lineHeight=\"tall\"\n noOfLines={4}\n >\n <Text as=\"span\" color=\"blue.500\" fontWeight=\"bold\">\n Editor&apos;s note:{\" \"}\n </Text>\n {comment}\n </Text>\n );\n};\n","import {\n Flex,\n Heading as ChakraHeading,\n LinkOverlay,\n Text,\n} from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { eventName } from \"../../contexts/Analytics\";\nimport { useLanguage } from \"../../hooks/useLanguage\";\nimport { getPackagePath } from \"../../util/url\";\nimport { CDKTypeBadge } from \"../CDKType\";\nimport { EditorsNote } from \"./EditorsNote\";\nimport { usePackageCard } from \"./PackageCard\";\nimport testIds from \"./testIds\";\n\nexport const Heading: FunctionComponent = () => {\n const [currentLanguage] = useLanguage();\n const {\n dataEvent,\n description,\n comment,\n metadata: { constructFramework },\n name,\n version,\n } = usePackageCard();\n\n const cdkType = constructFramework?.name;\n const cdkVersion = constructFramework?.majorVersion;\n\n return (\n <>\n <LinkOverlay\n as={Link}\n data-event={\n dataEvent ? eventName(dataEvent, \"Package Card\", name) : undefined\n }\n to={getPackagePath({\n name,\n version,\n language: currentLanguage,\n })}\n >\n <Flex align=\"center\">\n <CDKTypeBadge majorVersion={cdkVersion} mr={2} name={cdkType} />\n <ChakraHeading\n as=\"h3\"\n color=\"textPrimary\"\n data-testid={testIds.title}\n fontSize=\"md\"\n fontWeight=\"bold\"\n wordBreak=\"normal\"\n >\n {name}\n </ChakraHeading>\n </Flex>\n </LinkOverlay>\n {comment ? (\n <EditorsNote comment={comment} />\n ) : (\n <Text\n color=\"textPrimary\"\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};\n","import { Box } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { highlightsFrom } from \"../../util/package\";\nimport { Highlight as HighlightComponent } from \"../Highlight\";\nimport { usePackageCard } from \"./PackageCard\";\n\nexport const Highlight: FunctionComponent = () => {\n const { packageTags = [] } = usePackageCard()?.metadata ?? {};\n const [highlight] = highlightsFrom(packageTags);\n\n if (!highlight) return null;\n\n return (\n <Box fontSize=\"xs\">\n <HighlightComponent {...highlight} />\n </Box>\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 { FunctionComponent } from \"react\";\nimport { tagObjectsFrom } from \"../../util/package\";\nimport { PackageTag } from \"../PackageTag\";\nimport { usePackageCard } from \"./PackageCard\";\n\nexport const Tags: FunctionComponent = () => {\n const {\n keywords = [],\n metadata: { packageTags = [] },\n } = usePackageCard();\n\n const tags = tagObjectsFrom({\n packageTags,\n keywords,\n });\n\n return (\n <>\n {tags.slice(0, 10).map(({ id, keyword: { label, color } = {} }) => (\n <PackageTag key={id} value={id} variant={color}>\n {label}\n </PackageTag>\n ))}\n </>\n );\n};\n","import { Flex, Grid, LinkBox, Stack } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { Details } from \"./Details\";\nimport { Heading } from \"./Heading\";\nimport { Highlight } from \"./Highlight\";\nimport { Languages } from \"./Languages\";\nimport { Tags } from \"./Tags\";\nimport testIds from \"./testIds\";\n\nexport const WideCard: FunctionComponent = () => {\n return (\n <LinkBox\n _hover={{\n \"> article\": {\n bg: \"hoverPrimary\",\n },\n }}\n >\n <Grid\n as=\"article\"\n bg=\"bgSecondary\"\n border=\"base\"\n borderRadius=\"sm\"\n boxShadow=\"base\"\n color=\"textPrimary\"\n data-testid={testIds.wideContainer}\n h=\"full\"\n minH=\"12.5rem\"\n templateColumns={{ base: \"1fr\", lg: \"1fr 14rem\" }}\n w=\"full\"\n >\n {/* Top / Left side of card */}\n <Flex\n direction=\"column\"\n justify=\"space-between\"\n overflow=\"hidden\"\n p={5}\n sx={{ gap: \"0.5rem\" }}\n >\n <Stack spacing={3}>\n <Heading />\n </Stack>\n\n <Flex align=\"center\" sx={{ gap: \"0.5rem\" }} wrap=\"wrap\">\n <Tags />\n </Flex>\n </Flex>\n\n {/* Bottom / Right side of card */}\n <Flex\n align={{ base: \"end\", lg: \"initial\" }}\n borderLeft={{ lg: \"base\" }}\n borderTop={{ base: \"base\", lg: \"none\" }}\n direction={{ base: \"row\", lg: \"column\" }}\n justify=\"space-between\"\n p={5}\n sx={{ gap: \"0.5rem\" }}\n >\n <Stack spacing={1}>\n <Highlight />\n <Stack spacing={1}>\n <Details />\n </Stack>\n </Stack>\n\n <Stack data-testid={testIds.languages} direction=\"row\" spacing={2}>\n <Languages />\n </Stack>\n </Flex>\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 \"data-event\"?: string;\n pkg: CatalogPackage;\n variant?: PackageCardType;\n}\n\ninterface PackageCardState extends CatalogPackage {\n comment?: string;\n dataEvent?: string;\n}\n\nconst PackageCardContext = createContext<PackageCardState | null>(null);\n\nexport const usePackageCard = () => useContext(PackageCardContext)!;\n\nexport const PackageCard: FunctionComponent<PackageCardProps> = ({\n \"data-event\": dataEvent,\n pkg,\n variant = PackageCardType.Wide,\n}) => {\n return (\n <PackageCardContext.Provider value={{ ...pkg, dataEvent }}>\n {variant === PackageCardType.Wide && <WideCard />}\n </PackageCardContext.Provider>\n );\n};\n","import { Tag, TagLabel, TagProps } from \"@chakra-ui/react\";\nimport type { FunctionComponent } from \"react\";\nimport { getSearchPath } from \"../../util/url\";\nimport { NavLink } from \"../NavLink\";\n\nexport interface PackageTagProps extends TagProps {\n value: string;\n label?: string;\n zIndex?: string | number;\n}\n\nexport const PackageTag: FunctionComponent<PackageTagProps> = ({\n children,\n value,\n label = value,\n zIndex,\n ...tagProps\n}) => {\n return (\n <NavLink\n aria-label={`Tag: ${label}`}\n to={getSearchPath({ keywords: [value] })}\n zIndex={zIndex}\n >\n <Tag\n _hover={{\n textDecoration: \"underline\",\n }}\n {...tagProps}\n >\n <TagLabel>{children}</TagLabel>\n </Tag>\n </NavLink>\n );\n};\n","export const pageInfo = {\n contribute: {\n event: {\n name: \"Contribute Load\",\n },\n },\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\n// Should be the same as the \"real\" CSP, except most things come from HTTP\n// instead of HTTPS (because it is protocol-relative, and the dev site is\n// served over plain HTTP).\nconst csp = [\n \"default-src 'self' 'unsafe-inline' http://*.awsstatic.com;\",\n \"connect-src 'self' https://*.shortbread.aws.dev http://*.shortbread.aws.dev http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;\",\n \"frame-src http://aws.demdex.net http://dpm.demdex.net;\",\n \"img-src 'self' https://* http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;\",\n \"object-src 'none';\",\n \"style-src 'self' 'unsafe-inline';\",\n].join(\" \");\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 content={csp} httpEquiv=\"Content-Security-Policy\" />\n )}\n\n <meta content=\"width=device-width, initial-scale=1\" name=\"viewport\" />\n <meta charSet=\"utf-8\" />\n\n <title>{formattedTitle}</title>\n <meta content={formattedTitle} property=\"og:title\" />\n <meta content={formattedTitle} name=\"twitter:title\" />\n <meta content=\"summary\" name=\"twitter:card\" />\n\n <meta content={description} name=\"description\" />\n <meta content={description} property=\"og:description\" />\n <meta content={description} name=\"twitter:description\" />\n </Helmet>\n {children}\n </>\n );\n};\n","import { Box, BoxProps, forwardRef } from \"@chakra-ui/react\";\nimport { format } from \"date-fns\";\n\nexport type TimeOptions = {\n date: Date;\n format?: string;\n formattedDate?: string;\n};\n\nexport interface TimeProps extends BoxProps, TimeOptions {}\n\nexport const Time = forwardRef<TimeProps, \"time\">(\n ({ date, format: formatString, formattedDate, ...boxProps }, ref) => {\n return (\n <Box as=\"time\" dateTime={date.toISOString()} ref={ref} {...boxProps}>\n {formattedDate ?? format(date, formatString ?? \"\")}\n </Box>\n );\n }\n);\n\nTime.displayName = \"Time\";\n","import type { Config } from \"../../api/config\";\nimport { useConfig } from \"../../contexts/Config\";\n\nexport const useConfigValue = <T extends keyof Config>(key: T) => {\n const { data } = useConfig();\n return (data ?? {})[key];\n};\n","import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport { Language, TEMP_SUPPORTED_LANGUAGES } from \"../../constants/languages\";\nimport { QUERY_PARAMS } from \"../../constants/url\";\nimport { useQueryParams } from \"../../hooks/useQueryParams\";\n\n// Only supported language atm\nconst defaultLang = Language.TypeScript;\n\nconst LOCAL_KEY = \"preferred-language\";\n\nconst isValidLang = (lang?: string | Language): lang is Language =>\n lang != null && TEMP_SUPPORTED_LANGUAGES.has(lang as Language);\n\nconst getInitialLang = (langFromParams: string | Language): Language => {\n // First, use language from query params in url\n if (isValidLang(langFromParams)) {\n return langFromParams;\n }\n\n // Next check for one stored in localStorage\n try {\n const storedLang = (localStorage.getItem(LOCAL_KEY) ?? \"\") as Language;\n if (isValidLang(storedLang)) return storedLang;\n } catch {\n // Do nothing, we just don't want to crash if localStorage access is blocked.\n }\n\n // Otherwise fallback to a default\n return defaultLang;\n};\n\nexport interface UseLanguageOptions {\n /**\n * Syncs the preferred language to a query param in URL\n */\n updateUrl?: boolean;\n /**\n * Saves the selected language to localStorage on select\n */\n updateSaved?: boolean;\n}\n\nexport const useLanguage = (options: UseLanguageOptions = {}) => {\n const { updateUrl, updateSaved } = options;\n const { pathname, hash } = useLocation();\n const { replace } = useHistory();\n const params = useQueryParams();\n const langFromParams = params.get(QUERY_PARAMS.LANGUAGE) as Language;\n\n // Passed as function to guarantee it runs on hook mount\n const [language, setLanguage] = useState<Language>(() =>\n getInitialLang(langFromParams)\n );\n\n // State subscribes to query param changes\n useEffect(() => {\n if (isValidLang(langFromParams) && langFromParams !== language) {\n setLanguage(langFromParams);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [langFromParams]);\n\n // Syncs language changes to URL if updateUrl = true\n useEffect(() => {\n if (langFromParams !== language && updateUrl) {\n params.set(QUERY_PARAMS.LANGUAGE, language);\n replace({ pathname, hash, search: params.toString() });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [language, updateUrl]);\n\n const update = useCallback(\n (val: Language) => {\n setLanguage(val);\n\n if (updateSaved) {\n try {\n localStorage.setItem(LOCAL_KEY, val);\n } catch {\n // OK to fail silently\n }\n }\n },\n [updateSaved]\n );\n\n return useMemo(() => [language, update] as const, [language, update]);\n};\n","import { useMemo } from \"react\";\nimport { useLocation } from \"react-router-dom\";\n\nexport const useQueryParams = () => {\n const { search } = useLocation();\n\n return useMemo(() => new URLSearchParams(search), [search]);\n};\n","import { PackageHighlight, PackageTagConfig } from \"../api/config\";\nimport { KEYWORD_IGNORE_LIST } from \"../constants/keywords\";\n\nexport interface TagObject extends PackageTagConfig {}\n\n/**\n * Reduces package tags to only return highlight tags\n */\nexport const highlightsFrom = (packageTags?: PackageTagConfig[]) => {\n if (!packageTags || packageTags.length < 1) return [];\n\n return packageTags.reduce(\n (accum: PackageHighlight[], tag: PackageTagConfig): PackageHighlight[] => {\n if (tag.highlight) {\n return [...accum, tag.highlight];\n }\n\n return accum;\n },\n []\n );\n};\n\n/**\n * Maps packageTags to an array of TagObjects, which can be rendered by the PackageTags Component\n */\nexport const mapPackageTags = (\n packageTags?: PackageTagConfig[]\n): TagObject[] => {\n return (packageTags ?? [])\n .filter((tag) => {\n return Boolean(tag.keyword?.label);\n })\n .map((tag) => ({\n ...tag,\n id: tag.keyword?.label!,\n }));\n};\n\n/**\n * Maps keywords to an array of TagObjects, which can be rendered by the PackageTags component\n */\nexport const mapPackageKeywords = (keywords?: string[]): TagObject[] => {\n if (!keywords || keywords.length < 1) return [];\n\n return keywords\n .filter((label) => Boolean(label) && !KEYWORD_IGNORE_LIST.has(label))\n .map((label) => ({\n id: label,\n keyword: {\n label,\n },\n }));\n};\n\n/**\n * Maps packageTags and keywords to a list of TagObjects, using mapPackageTags and mapPackageKeywords\n */\nexport const tagObjectsFrom = ({\n packageTags,\n keywords,\n}: {\n packageTags?: PackageTagConfig[];\n keywords?: string[];\n}): TagObject[] => {\n const tagObjects = new Array<TagObject>();\n const tagLabels = new Set<string>();\n\n for (const tag of [\n ...mapPackageTags(packageTags),\n ...mapPackageKeywords(keywords),\n ]) {\n const label = tag.keyword!.label.toLowerCase();\n if (!tagLabels.has(label)) {\n tagObjects.push(tag);\n tagLabels.add(label);\n }\n }\n\n return tagObjects;\n};\n"],"names":["Highlight","label","color","icon","brightness","useColorModeValue","align","direction","filter","spacing","alt","src","w","fontWeight","LanguageSupportTooltip","children","language","isSupported","TEMP_SUPPORTED_LANGUAGES","langName","LANGUAGE_NAME_MAP","message","hasArrow","placement","PackageCardType","createTestIds","Detail","dataTestid","tooltip","value","isDisabled","fontSize","zIndex","Details","usePackageCard","author","date","metadata","name","data","useStats","downloads","packages","npm","authorName","publishDate","Date","undefined","testIds","toLocaleString","Time","formattedDate","formatDistanceToNowStrict","addSuffix","NavLink","to","getSearchPath","query","EditorsNote","comment","lineHeight","noOfLines","as","Heading","useLanguage","currentLanguage","dataEvent","description","constructFramework","version","cdkType","cdkVersion","majorVersion","Link","eventName","getPackagePath","CDKType","mr","wordBreak","packageTags","highlightsFrom","highlight","sizes","sm","md","lg","PackageLanguages","isRounded","languages","packageName","size","targets","Object","keys","entries","LANGUAGE_RENDER_MAP","sort","left","right","LANGUAGES","map","lang","info","isSupportedByLibrary","Language","includes","isSupportedByConstructHub","Icon","borderRadius","h","opacity","Languages","pkg","Tags","keywords","tags","tagObjectsFrom","slice","id","keyword","PackageTag","variant","WideCard","_hover","bg","border","boxShadow","minH","templateColumns","base","justify","overflow","p","sx","gap","wrap","borderLeft","borderTop","PackageCardContext","createContext","useContext","PackageCard","Wide","Provider","tagProps","textDecoration","pageInfo","contribute","event","home","faq","packageProfile","search","siteTerms","notFound","page","pageType","Page","join","meta","pageName","trackPageView","usePageView","useEffect","suffix","title","formattedTitle","Helmet","process","content","charSet","property","forwardRef","ref","formatString","format","boxProps","dateTime","toISOString","displayName","useConfigValue","key","useConfig","defaultLang","LOCAL_KEY","isValidLang","getInitialLang","langFromParams","storedLang","localStorage","getItem","options","updateUrl","updateSaved","useLocation","pathname","hash","useHistory","replace","params","useQueryParams","get","QUERY_PARAMS","useState","setLanguage","set","toString","update","useCallback","val","setItem","useMemo","URLSearchParams","length","reduce","accum","tag","tagObjects","Array","tagLabels","Set","Boolean","mapPackageTags","KEYWORD_IGNORE_LIST","mapPackageKeywords","toLowerCase","has","push","add"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunkconstruct_hub_webapp=self.webpackChunkconstruct_hub_webapp||[]).push([[501,577],{29880:function(e,n,t){t.d(n,{KD:function(){return a},_J:function(){return o},Kj:function(){return i},_c:function(){return c}});var r=t(29499),a=function(e,n){return n?"".concat(n,"/").concat(e):e},o=function(e,n,t){var o="".concat(r.i0.PACKAGES_PREFIX,"/"),i=a(e,t),c="/v".concat(n);return"".concat(o).concat(i).concat(c)},i=function(e){var n=e;return(n.startsWith("~")||n.startsWith("^"))&&(n=n.substring(1)),n},c=function(e,n){var t=e.packages.filter((function(e){return e.name===n}));return t.length>1?t.sort((function(e,n){var t=new Date(e.metadata.date);return new Date(n.metadata.date).getTime()-t.getTime()}))[0]:t[0]}},50535:function(e,n,t){t.d(n,{y:function(){return c}});var r=t(28227),a=t(28735),o=t(53046),i=t(80184),c=function(e){var n=e.label,t=e.color,c=e.icon,s=(0,r.ff)("none","brightness(1.75)");return(0,i.jsxs)(a.Kq,{align:"center",direction:"row",filter:s,spacing:2,children:[(0,i.jsx)(o.Ee,{alt:"".concat(n," icon"),src:c,w:4}),(0,i.jsx)(a.xv,{color:t,fontWeight:"bold",children:n})]})}},2148:function(e,n,t){t.d(n,{N:function(){return i}});var r=t(81070),a=t(86617),o=t(80184),i=function(e){var n=e.children,t=e.language,i=a.dX.has(t),c=a.k8[t],s=i?"Click to view documentation in ".concat(c):"Documentation support for ".concat(c," is coming soon!");return(0,o.jsx)(r.u,{hasArrow:!0,label:s,placement:"top-start",children:(0,o.jsx)("span",{children:n})})}},29988:function(e,n,t){t.d(n,{X:function(){return d}});var r=t(1413),a=t(45987),o=t(96450),i=t(19748),c=t(67003),s=t(80184),l=["children","value","label","zIndex"],d=function(e){var n=e.children,t=e.value,d=e.label,u=void 0===d?t:d,h=e.zIndex,p=(0,a.Z)(e,l);return(0,s.jsx)(c.O,{"aria-label":"Tag: ".concat(u),to:(0,i.yc)({keywords:[t]}),zIndex:h,children:(0,s.jsx)(o.Vp,(0,r.Z)((0,r.Z)({_hover:{textDecoration:"underline"}},p),{},{children:(0,s.jsx)(o.Sn,{children:n})}))})}},41712:function(e,n,t){t.d(n,{T:function(){return s}});var r=t(72791),a=t(54270),o={contribute:{event:{name:"Contribute Load"}},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=t(59534),c=t(80184),s=(["default-src 'self' 'unsafe-inline' http://*.awsstatic.com;","connect-src 'self' https://*.shortbread.aws.dev http://*.shortbread.aws.dev http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;","frame-src http://aws.demdex.net http://dpm.demdex.net;","img-src 'self' https://* http://a0.awsstatic.com/ http://amazonwebservices.d2.sc.omtrdc.net http://aws.demdex.net http://dpm.demdex.net http://cm.everesttech.net;","object-src 'none';","style-src 'self' 'unsafe-inline';"].join(" "),function(e){var n=e.children,t=e.meta,s=e.pageName,l=(0,i.aQ)(o[s]);(0,r.useEffect)((function(){l()}),[l]);var d=t.suffix,u=void 0===d||d,h=t.title,p=t.description,f=u?"".concat(h," - Construct Hub"):h;return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)(a.q,{children:[!1,(0,c.jsx)("meta",{content:"width=device-width, initial-scale=1",name:"viewport"}),(0,c.jsx)("meta",{charSet:"utf-8"}),(0,c.jsx)("title",{children:f}),(0,c.jsx)("meta",{content:f,property:"og:title"}),(0,c.jsx)("meta",{content:f,name:"twitter:title"}),(0,c.jsx)("meta",{content:"summary",name:"twitter:card"}),(0,c.jsx)("meta",{content:p,name:"description"}),(0,c.jsx)("meta",{content:p,property:"og:description"}),(0,c.jsx)("meta",{content:p,name:"twitter:description"})]}),n]})})},79227:function(e,n,t){t.d(n,{q:function(){return d}});var r=t(1413),a=t(45987),o=t(63209),i=t(28735),c=t(29158),s=t(80184),l=["date","format","formattedDate"],d=(0,o.Gp)((function(e,n){var t=e.date,o=e.format,d=e.formattedDate,u=(0,a.Z)(e,l);return(0,s.jsx)(i.xu,(0,r.Z)((0,r.Z)({as:"time",dateTime:t.toISOString(),ref:n},u),{},{children:null!==d&&void 0!==d?d:(0,c.Z)(t,null!==o&&void 0!==o?o:"")}))}));d.displayName="Time"},56804:function(e,n,t){t.d(n,{E:function(){return a}});var r=t(24026),a=function(e){var n=(0,r.Z)().data;return(null!==n&&void 0!==n?n:{})[e]}},7991:function(e,n,t){t.d(n,{Z:function(){return p}});var r=t(29439),a=t(72791),o=t(79271),i=t(86617),c=t(29499),s=t(4487),l=i.SQ.TypeScript,d="preferred-language",u=function(e){return null!=e&&i.dX.has(e)},h=function(e){if(u(e))return e;try{var n,t=null!==(n=localStorage.getItem(d))&&void 0!==n?n:"";if(u(t))return t}catch(r){}return l},p=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.updateUrl,t=e.updateSaved,i=(0,o.TH)(),l=i.pathname,p=i.hash,f=(0,o.k6)(),v=f.replace,m=(0,s.K)(),x=m.get(c.Tx.LANGUAGE),g=(0,a.useState)((function(){return h(x)})),j=(0,r.Z)(g,2),b=j[0],y=j[1];(0,a.useEffect)((function(){u(x)&&x!==b&&y(x)}),[x]),(0,a.useEffect)((function(){x!==b&&n&&(m.set(c.Tx.LANGUAGE,b),v({pathname:l,hash:p,search:m.toString()}))}),[b,n]);var w=(0,a.useCallback)((function(e){if(y(e),t)try{localStorage.setItem(d,e)}catch(n){}}),[t]);return(0,a.useMemo)((function(){return[b,w]}),[b,w])}},4487:function(e,n,t){t.d(n,{K:function(){return o}});var r=t(72791),a=t(79271),o=function(){var e=(0,a.TH)().search;return(0,r.useMemo)((function(){return new URLSearchParams(e)}),[e])}},98371:function(e,n,t){t.d(n,{JA:function(){return i},QX:function(){return c}});var r=t(1413),a=t(93433),o=t(9272),i=function(e){return!e||e.length<1?[]:e.reduce((function(e,n){return n.highlight?[].concat((0,a.Z)(e),[n.highlight]):e}),[])},c=function(e){for(var n=e.packageTags,t=e.keywords,i=new Array,c=new Set,s=0,l=[].concat((0,a.Z)(function(e){return(null!==e&&void 0!==e?e:[]).filter((function(e){var n;return Boolean(null===(n=e.keyword)||void 0===n?void 0:n.label)})).map((function(e){var n;return(0,r.Z)((0,r.Z)({},e),{},{id:null===(n=e.keyword)||void 0===n?void 0:n.label})}))}(n)),(0,a.Z)(function(e){return!e||e.length<1?[]:e.filter((function(e){return Boolean(e)&&!o.h.has(e)})).map((function(e){return{id:e,keyword:{label:e}}}))}(t)));s<l.length;s++){var d=l[s],u=d.keyword.label.toLowerCase();c.has(u)||(i.push(d),c.add(u))}return i}},42577:function(e,n,t){t.r(n),t.d(n,{NotFound:function(){return v},default:function(){return v}});var r=t(28735),a=t(82504),o=t(91523),i=t(41712),c=t(1413),s=t(45987),l=t(63209),d=t(53046),u=t(80184),h=["sources"],p=(0,l.Gp)((function(e,n){var t=e.sources,a=(0,s.Z)(e,h);return(0,u.jsxs)(r.xu,{as:"picture",children:[null===t||void 0===t?void 0:t.map((function(e,n){return(0,u.jsx)("source",{media:e.media,srcSet:e.srcSet},n)})),(0,u.jsx)(d.Ee,(0,c.Z)({ref:n},a))]})}));p.displayName="Picture";var f={optimal:[{media:"(max-width:1024px)",srcSet:"/assets/404-hive@50.webp"},{media:"(min-width:1024px)",srcSet:"/assets/404-hive@100.webp"},{media:"(min-width:1024px)",srcSet:"/assets/404-hive@100.png"}],fallback:"/assets/404-hive@50.png"},v=function(){return(0,u.jsx)(i.T,{meta:{title:"Not Found",description:"Oops! The page you were looking for does not exist"},pageName:"notFound",children:(0,u.jsxs)(r.M5,{h:"100%",position:"relative",w:"100%",children:[(0,u.jsx)(p,{alt:"",inset:0,position:"absolute",sources:f.optimal,src:f.fallback,zIndex:"hide"}),(0,u.jsxs)(r.kC,{align:"center",direction:"column",justify:"center",children:[(0,u.jsx)(p,{alt:"404 Image",sources:[{srcSet:"/assets/robot.webp"}],src:"/assets/robot.png"}),(0,u.jsx)(a.zx,{as:o.rU,colorScheme:"brand",to:"/",children:"Take Me Home"})]})]})})}},4501:function(e,n,t){t.r(n),t.d(n,{default:function(){return ft}});var r=t(79271),a=t(42577),o=t(29439),i=t(28735),c=t(13822),s=t(72791),l=t(41712),d=t(78236),u=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return d.o.apply(void 0,["Package Page"].concat(n))},h={SCOPE:u(),SELECT_VERSION:u("Select Version"),CDK_BADGE:{eventName:function(e){return u("CDK Badge",e)}},KEYWORD:{eventName:function(e){return u("Keyword",e)}},LANGUAGE:{eventName:function(e){return u("Language",e)}},DOCUMENTATION:{TAB:u("Documentation","Tab")},DEPENDENCIES:{TAB:u("Dependencies","Tab")},FEEDBACK:{PUBLISHER:u("Feedback","Publisher"),CONSTRUCT_HUB:u("Feedback","Construct Hub"),ABUSE:u("Feedback","Abuse")}},p=t(29880),f=t(67003),v=t(7752),m=t(19748),x=t(1413),g=t(91933),j=t(15861),b=t(87757),y=t.n(b),w=t(29499),k=function(){var e=(0,j.Z)(y().mark((function e(n,t,r){var a,o;return y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a="".concat((0,p._J)(n,t,r)).concat(w.i0.ASSEMBLY_SUFFIX),e.next=3,fetch(a);case 3:if((o=e.sent).ok){e.next=6;break}throw new Error("Failed fetching assembly for ".concat(a,": ").concat(o.statusText));case 6:return e.abrupt("return",o.json());case 7:case"end":return e.stop()}}),e)})));return function(n,t,r){return e.apply(this,arguments)}}(),C=function(e,n,t){return"/docs-".concat(t?"".concat(t,"-"):"").concat(e,".").concat(n)},Z=function(){var e=(0,j.Z)(y().mark((function e(n,t,r,a,o){var i,c,s,l,d;return y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=C(r,"md",o),c="".concat((0,p._J)(n,t,a)).concat(i),e.next=4,fetch(c);case 4:if((s=e.sent).ok){e.next=7;break}throw new Error("Failed fetching documentation for ".concat(c,": ").concat(s.statusText));case 7:if(l="text/markdown",(d=s.headers.get("Content-Type"))&&d.includes(l)){e.next=11;break}throw new Error("Invalid content type: ".concat(d,". Expected ").concat(l,'"'));case 11:return e.abrupt("return",s.text());case 12:case"end":return e.stop()}}),e)})));return function(n,t,r,a,o){return e.apply(this,arguments)}}(),S=function(){var e=(0,j.Z)(y().mark((function e(n,t,r,a,o){var i,c,s,l,d;return y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=C(r,"json",o),c="".concat((0,p._J)(n,t,a)).concat(i),e.next=4,fetch(c);case 4:if((s=e.sent).ok){e.next=7;break}throw new Error("Failed fetching documentation for ".concat(c,": ").concat(s.statusText));case 7:if(l="application/json",(d=s.headers.get("Content-Type"))&&d.includes(l)){e.next=11;break}throw new Error("Invalid content type: ".concat(d,". Expected ").concat(l,'"'));case 11:return e.abrupt("return",s.json());case 12:case"end":return e.stop()}}),e)})));return function(n,t,r,a,o){return e.apply(this,arguments)}}(),T=function(){var e=(0,j.Z)(y().mark((function e(n,t,r){var a,o,i;return y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(a=t).startsWith("^")&&(a=a.substring(1,a.length)),o="".concat((0,p._J)(n,t,r)).concat(w.i0.METADATA_SUFFIX),e.next=5,fetch(o);case 5:if((i=e.sent).ok){e.next=8;break}throw new Error("Failed fetching metadata for ".concat(o,": ").concat(i.statusText));case 8:return e.abrupt("return",i.json());case 9:case"end":return e.stop()}}),e)})));return function(n,t,r){return e.apply(this,arguments)}}(),L=t(86617),E=t(7991),I=t(4487),O={packages:{},updated:"NOT_FOUND"},A=function(){var e=(0,j.Z)(y().mark((function e(){var n;return y().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(w.i0.ALL_VERSIONS);case 2:if((n=e.sent).ok){e.next=7;break}return console.error(n.statusText),console.warn("Could not retrieve package versions. Using empty data."),e.abrupt("return",O);case 7:return e.abrupt("return",n.json().catch((function(e){return console.error(e),console.warn("Error in package versions response. Using empty data."),O})));case 8:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),P=t(4942),D=t(93433),z=t(15841),N=t.n(z),U=function(e){return e.toLowerCase().replace(/[^a-zA-Z0-9 ]/g,"").replace(/ /g,"-")},B=function e(n,t){var r=n[n.length-1];return r&&r.level<t.level?(r.children=e(r.children,t),n):(n.push(t),n)},R=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6,t=new RegExp("(`{3}[\\s\\S]*?(?:`{3})|^#{1,".concat(n,"}[^#].*)"),"gm");return e.split(t).reduce((function(e,n){var t=e[e.length-1];return n.startsWith("#")||null!==t&&void 0!==t&&t.startsWith("#")?[].concat((0,D.Z)(e),[n]):(e[e.length-1]+=n,e)}),[])},M=function(e){var n,t,r,a,i=(null!==(n=e.match(/(\S+)\s*=\s*(\"?)([^"]*)(\2|\s|$)/g))&&void 0!==n?n:[]).reduce((function(e,n){var t,r=n.split("="),a=(0,o.Z)(r,2),i=a[0],c=a[1],s=null!==(t=/['"](.*?)['"]/.exec(c))&&void 0!==t?t:[],l=(0,o.Z)(s,2),d=(l[0],l[1]);return(0,x.Z)((0,x.Z)({},e),{},(0,P.Z)({},i,d))}),{}),c=null!==(t=/^#*\s*(?:<a\s.*?(?:\/>|<\/a>))?\s*([^<]+?)\s*(?:<|$)/.exec(e))&&void 0!==t?t:[e,e],s=(0,o.Z)(c,2),l=(s[0],s[1].replace(/\[([^\]]+)\](?:\([^)]+\)|\[[^\]]+\])/g,"$1").replace(/:\+1:|:-1:|:[\w-]+:/g,(function(e){var n;return null!==(n=N().get(e))&&void 0!==n?n:e}))),d=null!==(r=i["data-heading-title"])&&void 0!==r?r:l;return{id:null!==(a=i["data-heading-id"])&&void 0!==a?a:encodeURIComponent(U(d)),title:d}},W=function(e,n){var t=n.scope,r=n.language,a=n.name,o=n.version,i=n.submodule,c=t?"".concat(t,"/").concat(a):"".concat(a),s="/packages/".concat(c,"/v/").concat(o),l="?".concat(w.Tx.LANGUAGE,"=").concat(r);i&&(l+="&submodule=".concat(i));var d='# API Reference <span data-heading-title="API Reference" data-heading-id="api-reference"></span>',u=e.split(d),h=u.length>1?u.pop():"",p=u.join(d),f=R(h,3),v=R(p),m=[d.trim()].concat((0,D.Z)(null!==f&&void 0!==f?f:[])),g="".concat(s).concat(l),j=v.reduce((function(e,n){if(n.startsWith("#")){var t,r,a=M(n),o=a.id,i=a.title,c=null!==(t=null===(r=n.match(/(#)/gm))||void 0===r?void 0:r.length)&&void 0!==t?t:1,s=function(e){return(e.endsWith(".")||e.endsWith(":"))&&(e=e.slice(0,-1)),e}(i),l={level:c,id:o,title:s,path:"".concat(g,"#").concat(o),children:[]};return B(e,l)}return e}),[]);1===j.length&&(j=j[0].children);var b,y,k=[].concat([{level:1,id:"Readme",title:"Readme",path:g,children:j}]),C={};return null===m||void 0===m||m.forEach((function(e){var n,t,r,a=e.match(/(^#{1,3}[^#].*)/g),o=null!==(n=null===(t=e.match(/(#)/gm))||void 0===t?void 0:t.length)&&void 0!==n?n:1;if(null!==a&&void 0!==a&&a.length){var i=M(e),c=i.id,d=i.title,u=3===o?(r=c,"".concat(s,"/api/").concat(r).concat(l)):void 0,h=(0,x.Z)({level:o,id:c,title:d,children:[]},u?{path:u}:{});k=B(k,h),b={id:c,title:d},y=o}else 3===y&&(C[b.id]={title:b.title,content:e})})),{readme:p,apiReference:C,menuItems:k}},F=t(80184),_=(0,s.createContext)(void 0),K=function(){var e=(0,s.useContext)(_);if(!e)throw new Error("This component must be a child of a <PackageStateProvider />");return e},H=function(e){var n,t,i,c,l,d=e.children,u=(0,r.UO)(),h=u.name,p=u.scope,f=u.version,v="".concat(p,"/").concat(h,"/v").concat(f),m=(0,E.Z)(),j=(0,o.Z)(m,1)[0],b=null!==(n=(0,I.K)().get(w.Tx.SUBMODULE))&&void 0!==n?n:"",y=(0,g.useQuery)("Versions",A).data,C=p?"".concat(p,"/").concat(h):h,O=null===y||void 0===y?void 0:y.packages[C],P=(0,g.useQuery)("".concat(v,"-docs-").concat(j,"-").concat(b,"-md"),(function(){return Z(h,f,L.$[j],p,b)})),D=(0,g.useQuery)("".concat(v,"-docs-").concat(j,"-").concat(b,"-json"),(function(){return S(h,f,L.$[j],p,b)})),z=(0,g.useQuery)("".concat(v,"-assembly"),(function(){return k(h,f,p)})),N=(0,g.useQuery)("".concat(v,"-metadata"),(function(){return T(h,f,p)})),U="".concat(p?"".concat(p,"/").concat(h):h," ").concat(f),B=null!==(t=null===(i=z.data)||void 0===i?void 0:i.description)&&void 0!==t?t:"",R=Boolean(P.error||D.error||z.error),M=Boolean(!P.isLoading&&!D.isLoading&&!z.isLoading&&P.data&&D.data&&z.data),K=Boolean(j===L.SQ.TypeScript||z.isLoading||z.error||null!=(null===(c=z.data)||void 0===c||null===(l=c.targets)||void 0===l?void 0:l[j.toString()])),H=Boolean(!N.isLoading&&(z.isLoading||P.isLoading||D.isLoading)),V=(0,s.useMemo)((function(){return P.data?W(P.data,{scope:p,name:h,version:f,language:j,submodule:b}):{menuItems:[]}}),[P.data,h,p,f,j,b]);return z.error?(0,F.jsx)(a.NotFound,{}):(0,F.jsx)(_.Provider,{value:(0,x.Z)({assembly:z,hasDocs:M,hasError:R,isLoadingDocs:H,isSupported:K,language:j,markdownDocs:P,jsonDocs:D,metadata:N,name:h,pageDescription:B,pageTitle:U,scope:p,version:f,allVersions:O},V),children:d})},V=t(88606),q=(0,V.$)("package-page",["page","feedbackLinks","reportLink","reportAbuseLink","githubLink","dependenciesTab","dependenciesList","dependenciesLink","description","markdown","selectVersionButton","selectVersionDropdown","selectVersionItem"]),G=function(){var e,n=K().assembly.data;if(!n)return(0,F.jsx)(v.w,{});var t=Object.entries(null!==(e=n.dependencies)&&void 0!==e?e:{});return t.length?(0,F.jsx)(i.Kq,{"data-testid":q.dependenciesList,direction:"row",justify:"center",mx:"auto",spacing:4,wrap:"wrap",children:t.map((function(e){var n=(0,o.Z)(e,2),t=n[0],r=n[1];return(0,F.jsxs)(f.O,{_first:{ml:4},"data-testid":q.dependenciesLink,fontWeight:"semibold",p:2,to:(0,m.Mt)({name:t,version:(0,p.Kj)(r)}),children:[t," - ",r]},"".concat(t,"-").concat(r))}))}):(0,F.jsx)(i.M5,{children:"This library does not have any known CDK dependencies"})},Q=t(75272),X=t(10855),$=t(6074),J=t(76798),Y=t(69113),ee=function(e){return(0,F.jsxs)(Y.JO,(0,x.Z)((0,x.Z)({},e),{},{children:[(0,F.jsx)("path",{clipRule:"evenodd",d:"M10.2532 0C4.59124 0 0 4.59022 0 10.2532C0 14.7835 2.93785 18.6266 7.01174 19.9825C7.524 20.0776 7.71212 19.7601 7.71212 19.4893C7.71212 19.2448 7.70261 18.4371 7.6982 17.5804C4.84576 18.2006 4.24386 16.3706 4.24386 16.3706C3.77745 15.1855 3.10543 14.8704 3.10543 14.8704C2.17499 14.234 3.17555 14.2473 3.17555 14.2473C4.20498 14.3194 4.74728 15.3039 4.74728 15.3039C5.66176 16.871 7.14588 16.418 7.73097 16.1562C7.82299 15.4935 8.08871 15.041 8.38194 14.785C6.10457 14.5261 3.71038 13.6467 3.71038 9.718C3.71038 8.59859 4.11108 7.68394 4.76697 6.96573C4.66035 6.70765 4.30939 5.66481 4.86613 4.25252C4.86613 4.25252 5.72696 3.97695 7.68631 5.3035C8.50435 5.07616 9.38165 4.96189 10.2532 4.95799C11.1242 4.96189 12.002 5.07582 12.8216 5.30317C14.7785 3.97661 15.6383 4.25218 15.6383 4.25218C16.1964 5.6643 15.8455 6.70731 15.739 6.96539C16.3964 7.6836 16.7943 8.59825 16.7943 9.71766C16.7943 13.6557 14.3957 14.5227 12.1125 14.7767C12.4805 15.0949 12.8081 15.719 12.8081 16.6754C12.8081 18.0473 12.7963 19.1514 12.7963 19.4891C12.7963 19.762 12.981 20.0817 13.5005 19.981C17.5721 18.6237 20.5065 14.7818 20.5065 10.2532C20.5063 4.59056 15.9156 0.000169776 10.2532 0.000169776V0Z",fill:"currentColor",fillRule:"evenodd"}),(0,F.jsx)("path",{d:"M3.88318 14.7214C3.86059 14.7724 3.78045 14.7876 3.70744 14.7528C3.63274 14.7195 3.59114 14.6501 3.61525 14.599C3.63732 14.5464 3.71763 14.5319 3.79183 14.5671C3.86654 14.6005 3.90898 14.6706 3.88301 14.7216L3.88318 14.7214ZM4.29848 15.1848C4.24975 15.2301 4.15416 15.209 4.0893 15.1372C4.02206 15.0659 4.0095 14.9703 4.05925 14.9243C4.10984 14.8791 4.20255 14.9005 4.26978 14.9719C4.33668 15.0442 4.34992 15.1389 4.29865 15.1849L4.29848 15.1848ZM4.70291 15.7751C4.64009 15.8189 4.5372 15.778 4.4737 15.6868C4.41088 15.5955 4.41088 15.486 4.4754 15.4423C4.53873 15.3985 4.64009 15.4381 4.70461 15.5284C4.76709 15.621 4.76709 15.7305 4.70291 15.775V15.7751ZM5.25659 16.3458C5.20056 16.4078 5.08069 16.3911 4.99308 16.3067C4.9036 16.224 4.87864 16.1064 4.93484 16.0446C4.99189 15.9824 5.11227 15.9998 5.20039 16.0836C5.28987 16.1661 5.31687 16.284 5.25693 16.3456L5.25659 16.3458ZM6.02064 16.677C5.99568 16.7573 5.88056 16.7939 5.76426 16.7596C5.64829 16.7244 5.5724 16.6305 5.59617 16.5494C5.61994 16.4684 5.7359 16.4305 5.85289 16.467C5.96885 16.502 6.04475 16.5954 6.02064 16.677ZM6.8599 16.7383C6.86279 16.8229 6.76431 16.8928 6.64257 16.8945C6.51982 16.8974 6.42049 16.8288 6.4193 16.7456C6.4193 16.6602 6.51574 16.5911 6.63833 16.5887C6.76007 16.5865 6.86007 16.6545 6.86007 16.7382L6.8599 16.7383ZM7.64059 16.6056C7.65519 16.6879 7.57047 16.7726 7.44941 16.7952C7.33056 16.8173 7.22019 16.766 7.20491 16.6843C7.19031 16.5998 7.27656 16.5151 7.39541 16.4932C7.51664 16.4723 7.62531 16.522 7.64059 16.6057V16.6056Z",fill:"currentColor"})]}))},ne={h:6,ml:2,w:6},te=function(){var e,n=K(),t=(0,X.Sx)({base:"horizontal",md:"vertical"}),r=(0,F.jsx)(i.iz,{borderColor:"white",mr:6,orientation:t}),a=n.metadata.data,o=n.assembly.data;if(!o||!a)return null;var c,s=null!==(e=null===o||void 0===o?void 0:o.repository)&&void 0!==e?e:{},l=void 0;"git"===s.type&&((l=null!==(c=s.url)&&void 0!==c&&c.endsWith(".git")?s.url.replace(".git",""):s.url).endsWith("/")&&(l=l.slice(0,l.length-1)));return(0,F.jsxs)(i.Kq,{align:"center",backgroundColor:"blue.600",borderTop:"1px solid",borderTopColor:"borderColor",color:"white","data-testid":q.feedbackLinks,direction:{base:"column",md:"row"},justify:"space-evenly",px:8,py:5,spacing:4,children:[l&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)($.d,{color:"currentcolor","data-event":h.FEEDBACK.PUBLISHER,"data-testid":q.githubLink,fontSize:"lg",fontWeight:"semibold",hasIcon:!1,href:"".concat(l,"/issues"),rightIcon:(0,F.jsx)(ee,(0,x.Z)({color:"white"},ne)),variant:"solid",children:"Provide feedback to publisher"}),r]}),(0,F.jsx)($.d,{color:"currentcolor","data-event":h.FEEDBACK.CONSTRUCT_HUB,"data-testid":q.reportLink,fontSize:"lg",fontWeight:"semibold",hasIcon:!1,href:"".concat(J.Sx,"/issues/new"),rightIcon:(0,F.jsx)(ee,(0,x.Z)({color:"white"},ne)),children:"Provide feedback to Construct Hub"}),r,(0,F.jsx)($.d,{color:"currentcolor","data-event":h.FEEDBACK.ABUSE,"data-testid":q.reportAbuseLink,fontSize:"lg",fontWeight:"semibold",hasIcon:!1,href:"mailto:abuse@amazonaws.com?subject=".concat(encodeURIComponent("ConstructHub - Report of abusive package: ".concat(null===o||void 0===o?void 0:o.name))),rightIcon:(0,F.jsx)(Q.LQ,(0,x.Z)({},ne)),children:"Report abuse"})]})},re=t(84506),ae=t(65223),oe=t(82504),ie=t(59534),ce=function(e,n){return(0,ie.oJ)(e,"NavTree",n)},se={color:"textTertiary",h:4,w:4},le=function(e){var n=e.children,t=e["data-event"],r=e.path,a=e.title,o=e.showToggle,c=e.variant,s=(0,x.Z)({_hover:{bg:"rgba(0, 124, 253, 0.05)"},overflow:"hidden",pl:1,py:o?2:1,marginLeft:o?0:1,fontWeight:o?"bold":void 0,textOverflow:"ellipsis",whiteSpace:"nowrap",w:"100%"},"sm"===c?{fontSize:"sm"}:{fontSize:"md"});return r?(0,F.jsx)(f.O,(0,x.Z)((0,x.Z)({"data-event":t,title:a,to:r},s),{},{children:n})):(0,F.jsx)(i.xv,(0,x.Z)((0,x.Z)({},s),{},{children:n}))},de=function e(n){var t,a=n.children,o=n["data-event"],c=n.title,l=n.path,d=n.level,u=n.onOpen,h=n.variant,p=(0,ie.z$)().trackCustomEvent,f=d<2,v=(0,ae.qY)({onOpen:u,defaultIsOpen:f}),m=(0,r.TH)(),g=m.hash,j=m.pathname,b=new URL(null!==l&&void 0!==l?l:"",window.origin),y=null!==l&&void 0!==l&&l.includes("/api/")?b.pathname===j:b.hash&&g&&b.hash===g,w=(null!==(t=null===a||void 0===a?void 0:a.length)&&void 0!==t?t:0)>0,k=v.isOpen&&w,C=(0,s.useMemo)((function(){return null===a||void 0===a?void 0:a.map((function(n,t){return(0,s.createElement)(e,(0,x.Z)((0,x.Z)({"data-event":o},n),{},{key:t,level:d+1,onOpen:v.onOpen,variant:h}))}))}),[a,o,v.onOpen,h,d]);return(0,F.jsxs)(i.kC,{direction:"column",children:[(0,F.jsxs)(i.kC,{align:"center",color:y?"link":"textPrimary",children:[w&&(0,F.jsx)(oe.hU,{"aria-label":"expand-toggle",borderRadius:"md",h:4,icon:v.isOpen?(0,F.jsx)(Q.v4,(0,x.Z)({},se)):(0,F.jsx)(Q.XC,(0,x.Z)({},se)),ml:-1,onClick:function(){v.onToggle(),o&&p((0,ie.Q5)({name:ce(o,"Toggle")}))},size:"xs",variant:"link",w:0}),(0,F.jsx)(le,{"data-event":o?ce(o,"Link"):void 0,path:l,showToggle:w,title:c,variant:h,children:c})]}),(0,F.jsx)(i.xu,{_before:{bg:"borderColor",bottom:0,content:'""',left:0,position:"absolute",top:0,w:"1px"},display:k?"initial":"none",ml:2,mr:2,pl:2,position:"relative",children:C})]})},ue=function(e){var n=e["data-event"],t=e.items,r=e.variant;return(0,F.jsx)(i.kC,{direction:"column",maxWidth:"100%",children:t.map((function(e,t){return(0,s.createElement)(de,(0,x.Z)((0,x.Z)({},e),{},{"data-event":n,key:t,level:0,onOpen:void 0,variant:r}))}))})},he=t(86988),pe=t(3669),fe=t(63209),ve=t(95798),me=t(57992),xe=t(89570),ge=(0,fe.Gp)((function(e,n){var t=e.value,r=e.onChange,a=e.onSubmit,i=(0,s.useState)(t),c=(0,o.Z)(i,2),l=c[0],d=c[1];return(0,xe.N)(l,{onChange:r}),(0,F.jsx)(me.l,{"data-testid":"choose-submodule-search-form",onSubmit:a,children:(0,F.jsxs)(ve.BZ,{children:[(0,F.jsx)(ve.Z8,{children:(0,F.jsx)(Q.W1,{color:"gray.400"})}),(0,F.jsx)(ve.II,{"data-testid":"choose-submodule-search-input",onChange:function(e){return d(e.target.value)},placeholder:"Search",ref:n,value:l,variant:"filled"})]})})}));ge.displayName="SearchInput";var je=function(e){var n=e.inputValue,t=e.isOpen,a=e.onClose,o=e.onInputChange,c=e.submodules,l=(0,s.useRef)(null),d=(0,r.k6)().push,u=(0,s.useCallback)((function(e){a(),d(e)}),[a,d]),h=(0,s.useCallback)((function(e){if(e.preventDefault(),c.length){var n=c[0].to;u(n)}}),[u,c]);return(0,F.jsx)(he.u_,{initialFocusRef:l,isOpen:t,onClose:a,children:(0,F.jsx)(he.ZA,{children:(0,F.jsxs)(he.hz,{mx:4,children:[(0,F.jsx)(he.ol,{"data-testid":"choose-submodule-modal-close"}),(0,F.jsx)(he.xB,{"data-testid":"choose-submodule-modal-header",fontSize:"lg",fontWeight:"bold",children:"Choose a submodule"}),(0,F.jsxs)(he.fe,{"data-testid":"choose-submodule-modal-body",p:0,children:[(0,F.jsx)(i.xu,{pb:4,px:4,children:(0,F.jsx)(ge,{onChange:o,onSubmit:h,ref:l,value:n})}),(0,F.jsx)(i.iz,{}),(0,F.jsx)(i.QI,{"data-testid":"choose-submodule-modal-results",m:0,maxH:"50vh",overflow:"hidden auto",p:0,role:"listbox",tabIndex:-1,children:c.map((function(e){var n=e.name,t=e.to;return(0,F.jsx)(pe.T,{"data-testid":"choose-submodule-result",name:n,onClick:function(){return u(t)}},n)}))})]})]})})})},be=function(){var e,n,t,a=K(),c=a.assembly,l=a.name,d=a.language,u=a.scope,h=a.version,p=(0,r.k6)().push,f=(0,I.K)(),v=Object.keys(null!==(e=null===c||void 0===c||null===(n=c.data)||void 0===n?void 0:n.submodules)&&void 0!==e?e:{}),x=(0,ae.qY)(),g=x.isOpen,j=x.onOpen,b=x.onClose,y=f.get(w.Tx.SUBMODULE),k=y?"Submodule: ".concat(y):"Choose Submodule",C=(0,s.useState)(""),Z=(0,o.Z)(C,2),S=Z[0],T=Z[1],L=u?"".concat(u,"/").concat(l):l,E=(0,s.useCallback)((function(e){return(0,m.Mt)({name:L,version:h,language:d,submodule:e})}),[d,L,h]),O=(0,s.useMemo)((function(){var e=v;return S&&(e=e.filter((function(e){return e.toLowerCase().includes(S.toLowerCase())}))),e.map((function(e){var n=e.split(".")[1];return{name:n,to:E(n)}}))}),[v,S,E]);return 0===v.length?null:(0,F.jsxs)(i.Kq,{spacing:4,w:"100%",children:[y&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(oe.zx,{borderRadius:"none","data-testid":"choose-submodule-go-back",leftIcon:(0,F.jsx)(Q.Rp,{"aria-label":"Back to construct root"}),onClick:function(){p((0,m.Mt)({name:L,version:h,language:d}))},title:"Back to construct root",variant:"link",children:null===c||void 0===c||null===(t=c.data)||void 0===t?void 0:t.name}),(0,F.jsx)(i.iz,{})]}),(0,F.jsx)(oe.zx,{borderRadius:"none",color:"blue.500","data-testid":"choose-submodule-search-trigger",flexGrow:1,onClick:j,rightIcon:(0,F.jsx)(Q.v4,{}),title:"Choose Submodule",variant:"link",children:k}),(0,F.jsx)(je,{inputValue:S,isOpen:g,onClose:b,onInputChange:T,submodules:O})]})},ye=t(51922),we=function(){var e,n,t=K(),a=t.assembly,o=t.menuItems,c=(0,ae.qY)(),l=(0,r.TH)(),d=Object.keys(null!==(e=null===(n=a.data)||void 0===n?void 0:n.submodules)&&void 0!==e?e:{}).length>0;return(0,s.useEffect)((function(){c.isOpen&&c.onClose()}),[l]),(0,F.jsxs)(i.xu,{bottom:0,display:{lg:"none"},left:0,pos:"fixed",right:0,children:[(0,F.jsx)(oe.zx,{bg:"bgPrimary",borderTop:"base",boxShadow:"base",fontSize:"xl",fontWeight:"semibold",h:"3.5rem",onClick:c.onOpen,variant:"unstyled",w:"full",children:(0,F.jsxs)(i.kC,{align:"center",justify:"space-between",px:6,children:["Table of contents",(0,F.jsx)(Q.g8,{})]})}),(0,F.jsx)(ye.h_,{children:(0,F.jsxs)(he.dy,(0,x.Z)((0,x.Z)({},c),{},{blockScrollOnMount:!1,placement:"bottom",children:[(0,F.jsx)(he.P1,{}),(0,F.jsxs)(he.sc,{maxH:"60vh",children:[(0,F.jsx)(he.OX,{children:"Table of contents"}),(0,F.jsx)(he.cC,{}),(0,F.jsxs)(he.Ng,{children:[d&&(0,F.jsx)(i.xu,{mb:4,sx:{button:{justifyContent:"initial"}},children:(0,F.jsx)(be,{})}),(0,F.jsx)(ue,{items:o})]})]})]}))})]})},ke=t(29370),Ce=t(54915),Ze=t.n(Ce),Se=t(5474),Te=t.n(Se),Le=t(16580),Ee=t.n(Le),Ie=t(45618),Oe=t(65218),Ae=t.n(Oe),Pe=t(45987),De=t(28227),ze=t(60185),Ne=t(1250),Ue=t(32536),Be=["value"],Re=(0,fe.Gp)((function(e,n){var t=e.value,r=(0,Pe.Z)(e,Be),a=(0,ae.VP)(t),o=a.hasCopied,i=a.onCopy;return(0,F.jsx)(oe.hU,(0,x.Z)({"aria-label":"Copy Button",color:"blue.500",colorScheme:"brand",h:6,icon:o?(0,F.jsx)(Q.nQ,{color:"green.300"}):(0,F.jsx)(Q.TI,{}),minW:"auto",ml:1,onClick:i,ref:n,variant:"ghost",w:6},r))}));Re.displayName="CopyButton";var Me,We=function(e){var n=e.code,t=e.tokens,r=e.getLineProps,a=e.getTokenProps;return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(i.kC,{align:"center",bg:"rgba(0, 124, 253, 0.15)",borderTopRadius:"md",justify:"flex-end",px:2,py:1,children:(0,F.jsx)(Re,{value:n})}),(0,F.jsx)(i.xu,{overflowX:"auto",p:2,children:t.map((function(e,n){return(0,F.jsx)("div",(0,x.Z)((0,x.Z)({},r({line:e,key:n})),{},{children:e.map((function(e,n){return(0,F.jsx)(i.xu,(0,x.Z)({as:"span",sx:{wordWrap:"normal"}},a({token:e,key:n})),n)}))}),n)}))})]})},Fe=function(e){var n=e.code,t=e.tokens,r=e.getLineProps,a=e.getTokenProps;return(0,F.jsxs)(i.rj,{p:3,templateColumns:"1fr min-content",w:"full",children:[(0,F.jsx)(i.xu,{m:-3,maxW:"full",overflow:"auto",p:3,children:t.map((function(e,n){return(0,F.jsx)("div",(0,x.Z)((0,x.Z)({},r({line:e,key:n})),{},{children:e.map((function(e,n){return(0,F.jsx)("span",(0,x.Z)({},a({token:e,key:n})),n)}))}),n)}))}),(0,F.jsx)(i.kC,{align:"center",ml:1,children:(0,F.jsx)(Re,{value:n})})]})},_e=["code","language"],Ke=function(e){var n=e.code,t=e.language,r=(0,Pe.Z)(e,_e),a=(0,De.ff)(Ue.Z,Ne.Z);return(0,F.jsx)(ze.ZP,(0,x.Z)((0,x.Z)({},ze.lG),{},{code:n,language:t,theme:a,children:function(e){return(0,F.jsx)(i.xu,(0,x.Z)((0,x.Z)({as:"pre",border:"base",borderRadius:"md",boxShadow:"base",className:e.className,style:e.style},r),{},{children:e.tokens.length>1?(0,F.jsx)(We,(0,x.Z)((0,x.Z)({},e),{},{code:n})):(0,F.jsx)(Fe,(0,x.Z)((0,x.Z)({},e),{},{code:n}))}))}}))},He=function(e){var n=e.inline,t=e.children,r=e.language,a=void 0===r?"typescript":r;if(n)return(0,F.jsx)(i.EK,{border:"base",marginTop:"md",mx:2,px:2,py:0,children:t});var o=s.Children.toArray(t).reduce((function(e,n){return"string"===typeof n?"".concat(e).concat(n):e}),"").trim();return(0,F.jsx)(Ke,{code:o,fontSize:"0.9rem",language:a})},Ve=t(58340),qe=function e(n){return s.Children.toArray(n).reduce((function(n,t){return"string"===typeof t?n+t:"object"===typeof t&&"props"in t?n+e(t.props.children):n}),"").trim()},Ge=function(e){var n=e.id,t=e.level,a=e.title,o=(0,r.TH)().search;return(0,F.jsx)(f.O,{_active:{visibility:"initial"},_focus:{visibility:"initial"},alignItems:"center","data-heading-id":"#".concat(n),"data-heading-level":t,"data-heading-title":a,display:"flex",id:n,lineHeight:1,opacity:"hidden",replace:!0,to:"".concat(o,"#").concat(n),visibility:"hidden",children:(0,F.jsx)(Q.xP,{boxSize:4})})},Qe=function(e){var n,t,r=e.level,a=e.children,o=["2xl","xl","lg","md","sm","xs"][r-1],c="h".concat(r),s=(new DOMParser).parseFromString(Ve.renderToStaticMarkup(a),"text/html").querySelector("span[data-heading-title][data-heading-id]"),l=null!==(n=null===s||void 0===s?void 0:s.dataset.headingTitle)&&void 0!==n?n:qe(a),d=null!==(t=null===s||void 0===s?void 0:s.dataset.headingId)&&void 0!==t?t:U(l);return(0,F.jsxs)(i.kC,{_hover:{"> a":{visibility:"initial"}},align:"stretch",borderBottom:"base",justify:"space-between",mb:4,mt:r>=4?"1.5em":4,px:r>=4?2:void 0,py:2,children:[(0,F.jsx)(i.X6,{as:c,color:"textPrimary",level:r,size:o,sx:{"> code":{fontSize:"inherit"}},children:a}),(0,F.jsx)(Ge,{id:d,level:r,title:l})]})},Xe=t(53046),$e=t(97005),Je=(0,V.$)("markdown",["container"]),Ye=["children","href"],en={a:function(e){var n=e.children,t=e.href,r=(0,Pe.Z)(e,Ye),a={color:"link",sx:{"> img + svg":{display:"none"}}};try{if(t&&t.startsWith("http"))if(new URL(t).hostname!==window.location.hostname)return(0,F.jsx)($.d,(0,x.Z)((0,x.Z)((0,x.Z)({href:t},a),r),{},{children:n}))}catch(o){}return(0,F.jsx)(f.O,(0,x.Z)((0,x.Z)((0,x.Z)({to:t},a),r),{},{children:n}))},blockquote:function(e){var n=e.children;return(0,F.jsx)(i.xu,{as:"blockquote",borderLeft:"5px solid",borderLeftColor:"borderColor",marginX:"2",px:"2",wordBreak:"break-word",children:n})},caption:$e.Rn,code:He,em:function(e){var n=e.children;return(0,F.jsx)(i.xu,{as:"em",fontStyle:"normal",fontWeight:"bold",children:n})},h1:Qe,h2:Qe,h3:Qe,h4:Qe,h5:Qe,h6:Qe,hr:function(){return(0,F.jsx)(F.Fragment,{})},img:function(e){return(0,F.jsx)(Xe.Ee,(0,x.Z)({display:"inline-block"},e))},li:function(e){var n=e.children;return(0,F.jsx)(i.HC,{lineHeight:"tall",marginX:2,sx:{"em:first-of-type":{fontSize:"small"},code:{fontSize:"small"}},children:n})},ol:function(e){var n=e.children;return(0,F.jsx)(i.GS,{children:n})},p:function(e){var n=e.children;return(0,F.jsx)(i.xv,{lineHeight:"1.5",mx:2,my:4,children:n})},pre:function(e){var n=e.children,t=e.lang;return t?(0,F.jsx)(He,{language:t,children:n}):(0,F.jsx)(i.xu,{as:"pre",children:n})},sup:function(e){var n=e.children,t=void 0,r="";if(Array.isArray(n)){var a=(0,o.Z)(n,1)[0];"string"===typeof a&&(r=a)}return"Required"===r?t="orange.700":"Optional"===r&&(t="green.700"),(0,F.jsx)(i.xu,{as:"sup",color:t,fontSize:"xs",ml:-1,top:-1,children:n})},table:function(e){var n=e.children;return(0,F.jsx)(i.xu,{maxW:"100%",overflowX:"auto",children:(0,F.jsx)($e.iA,{variant:"striped",children:n})})},tbody:$e.p3,td:$e.Td,tfoot:$e.$R,th:$e.Th,thead:$e.hr,tr:$e.Tr,ul:function(e){var n=e.children;return(0,F.jsx)(i.QI,{marginTop:2,padding:0,children:n})}},nn=(0,x.Z)({},ke);nn.attributes.span=(null!==(Me=nn.attributes.span)&&void 0!==Me?Me:[]).concat(["dataHeadingTitle","dataHeadingId"]);var tn=[[Te()],[Ee(),nn]],rn=[Ae(),Ie.Z],an=/^(?:(?:git@)?github\.com:|(?:https?:\/\/)github\.com\/)([^/]+)\/([^/]+)(?:\.git)?$/,on=function(e){var n=e.children,t=function(e){var n=e.type,t=e.url,r=e.directory;if("git"===n){var a=an.exec(t);if(null!=a){var i=(0,o.Z)(a,3);return{owner:i[1],repo:i[2],directory:r}}}}(e.repository),r=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"HEAD";return null==t?Ze().uriTransformer:function(r){var a=Ze().uriTransformer(r),i=(0,o.Z)(a,1)[0];if("#"===i||"/"===i)return a;if(a.includes("://"))return a;var c=t.owner,s=t.repo.replace(/\.git$/,""),l=t.directory?"".concat(t.directory,"/"):"";return"https://".concat(e,"/").concat(c,"/").concat(s,"/").concat(n,"/").concat(l).concat(a)}};return(0,F.jsx)(i.xu,{"data-testid":Je.container,px:8,children:(0,F.jsx)(Ze(),{components:en,rehypePlugins:tn,remarkPlugins:rn,transformImageUri:r("raw.githubusercontent.com"),transformLinkUri:r("github.com","blob/HEAD"),children:n})})},cn=function(e){var n=e.children;return(0,F.jsx)(i.xv,{align:"center",fontSize:"xl",fontStyle:"oblique",px:4,wordBreak:"break-word",children:n})},sn=function(){var e=K(),n=e.isLoadingDocs,t=e.readme,r=e.assembly.data;return!n&&t&&r?"\n"===t?(0,F.jsx)(cn,{children:"No readme available for this module or submodule"}):(0,F.jsx)(on,{repository:r.repository,children:t}):null},ln=t(91523),dn=function(){var e=K().language,n=(0,F.jsx)($.d,{href:"".concat(J.Sx,"/issues/new"),children:"issue"});return(0,F.jsxs)(cn,{children:["Documentation in ",e," is still not ready for this package. Come back soon. If this issue persists, please let us know by creating an"," ",n,"."]})},un=function(e){var n=e.rootId,t=(0,r.TH)(),a=t.pathname,o=t.hash,c=t.search,s=K(),l=s.isLoadingDocs,d=s.assembly.data,u=function(){var e=(0,r.UO)().typeId,n=K().apiReference;if(e)return null===n||void 0===n?void 0:n[e]}();if(l)return null;if(!u||!d)return(0,F.jsx)(dn,{});var h=u.title,p=u.content,f="".concat(a).concat(c,"#").concat(o);return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(i.X6,{as:"h2",p:8,size:"2xl",children:(0,F.jsx)(ln.OL,{id:n,to:f,children:h})}),(0,F.jsx)(on,{repository:d.repository,children:p})]})},hn=["offset"],pn=function(e){var n=e.offset,t=(0,Pe.Z)(e,hn);return(0,F.jsx)(i.kC,(0,x.Z)({alignSelf:"stretch",as:"nav",direction:"column",display:{base:"none",lg:"flex"},maxHeight:"calc(100vh - ".concat(n,")"),overflow:"hidden auto",position:"sticky"},t))},fn="4.5rem",vn="apidocs_header",mn="api",xn=function(){var e,n=K().assembly.data;return Object.keys(null!==(e=null===n||void 0===n?void 0:n.submodules)&&void 0!==e?e:{}).length>0?(0,F.jsx)(i.kC,{borderBottom:"1px solid",borderColor:"borderColor",justify:"center",py:4,children:(0,F.jsx)(be,{})}):null},gn=function(e){return function(n){var t=n.split(".").slice(-e),r=(0,re.Z)(t);return{path:r[0],hash:"#"+r.slice(1).join(".")}}},jn={initializer:{header:"Initializer Props",getValues:function(e){var n,t;return null!==(n=null===(t=e.initializer)||void 0===t?void 0:t.parameters)&&void 0!==n?n:[]},getPath:gn(4)},instanceMethods:{header:"Instance Methods",getValues:function(e){return e.instanceMethods},getPath:gn(2)},staticMethods:{header:"Static Methods",getValues:function(e){return e.staticMethods},getPath:gn(2)},properties:{header:"Properties",getValues:function(e){return e.properties},getPath:gn(3)},constants:{header:"Constants",getValues:function(e){return e.constants},getPath:gn(3)},members:{header:"Enum Members",getValues:function(e){return e.members},getPath:gn(2)}},bn=function(){var e,n=(0,r.$B)().path,t=K().jsonDocs,a=(0,r.$B)("".concat(n,"/").concat(mn,"/:typeId")),i=null===a||void 0===a?void 0:a.params.typeId,c=(0,E.Z)(),l=(0,o.Z)(c,1)[0],d=null!==(e=(0,I.K)().get(w.Tx.SUBMODULE))&&void 0!==e?e:"",u=(0,s.useMemo)((function(){var e;if(!t.data)return{types:[]};var n=null===(e=t.data)||void 0===e?void 0:e.apiReference;return n?{types:[].concat((0,D.Z)(n.classes),(0,D.Z)(n.constructs),(0,D.Z)(n.interfaces),(0,D.Z)(n.structs),(0,D.Z)(n.enums)),metadata:t.data.metadata}:{types:[]}}),[t]),h=u.types,p=u.metadata,f=h.find((function(e){return e.displayName===i}));return f&&p?function(e,n,t){for(var r=[],a=function(){var a=(0,o.Z)(c[i],2),s=a[0],l=a[1],d=l.header,u=l.getValues,h=l.getPath;if(s in e){var p,f={level:1,id:d,title:d,children:[]},v=u(e).map((function(e){var r=h(e.id),a=r.path,o=r.hash,i="?".concat(w.Tx.LANGUAGE,"=").concat(n);return t&&(i+="&".concat(w.Tx.SUBMODULE,"=").concat(t)),{level:2,id:e.id,title:e.displayName,path:"".concat(a).concat(i).concat(o),children:[]}}));v.length>0&&((p=f.children).push.apply(p,(0,D.Z)(v)),r.push(f))}},i=0,c=Object.entries(jn);i<c.length;i++)a();return r}(f,l,d):[]},yn=function(){var e=(0,r.$B)().path,n=K(),t=n.menuItems,a=n.markdownDocs,o=bn(),c=(0,r.TH)(),l=c.hash,d=c.pathname,u=c.search;return(0,s.useEffect)((function(){window.requestAnimationFrame((function(){if(l){var e=document.querySelector('[data-heading-id="'.concat(l,'"]'));null===e||void 0===e||e.scrollIntoView(!0)}else if(function(e){var n=e.split("/");return n[n.length-2]===mn}(d)){var n=document.getElementById(vn);null===n||void 0===n||n.scrollIntoView(!0)}else window.scrollTo(0,0)}))}),[l,d,a.isLoading]),(0,F.jsxs)(i.rj,{columnGap:4,h:"full",templateColumns:{base:"1fr",lg:"minmax(20rem, 1fr) 3fr minmax(16rem, 0.9fr)"},width:"100%",children:[(0,F.jsxs)(pn,{borderRight:"1px solid",borderRightColor:"borderColor",offset:fn,pl:6,pr:4,top:fn,children:[(0,F.jsx)(xn,{}),(0,F.jsx)(i.xu,{overflowY:"auto",py:4,children:(0,F.jsx)(ue,{"data-event":h.SCOPE,items:t})})]}),(0,F.jsx)(i.xu,{h:"max-content",maxWidth:"100%",overflow:"hidden",py:4,sx:{a:{scrollMarginTop:fn}},children:(0,F.jsxs)(r.rs,{children:[(0,F.jsx)(r.l_,{exact:!0,from:"".concat(e,"/").concat(mn),to:{pathname:e,search:u}}),(0,F.jsx)(r.AW,{exact:!0,path:e,children:(0,F.jsx)(sn,{})}),(0,F.jsx)(r.AW,{exact:!0,path:"".concat(e,"/").concat(mn,"/:typeId"),children:(0,F.jsx)(un,{rootId:vn})})]})}),(0,F.jsx)(pn,{borderLeft:"1px solid",borderLeftColor:"borderColor",offset:fn,pl:6,pr:4,top:fn,children:(0,F.jsx)(i.xu,{overflowY:"auto",py:4,children:(0,F.jsx)(ue,{"data-event":h.SCOPE,items:o,variant:"sm"})})}),(0,F.jsx)(we,{})]})},wn=t(92213),kn=t(2148),Cn=function(e){var n=e.targetLanguages,t=e.selectedLanguage,r=e.setSelectedLanguage,a=(0,ie.z$)().trackCustomEvent;return(0,F.jsx)(i.Kq,{align:"center","data-testid":"language-bar",direction:"row",spacing:2,children:(0,D.Z)(n).sort((function(e,n){return L.a2.indexOf(e)-L.a2.indexOf(n)})).map((function(e){var n=!L.dX.has(e),o=e===t,i=L.kP[e].icon;return(0,F.jsx)(kn.N,{language:e,children:(0,F.jsx)(oe.hU,{"aria-label":"Select ".concat(e," icon"),bg:"bgSecondary",border:"base",borderColor:o?"brand.500":"borderColor",borderRadius:"lg",boxShadow:"base",colorScheme:"brand",cursor:n?"not-allowed":"pointer","data-testid":"language-".concat(e),disabled:n,icon:(0,F.jsx)(i,{"aria-label":"".concat(e,"-icon"),borderRadius:"sm",height:[4,5,6],width:[4,5,6]}),onClick:function(){o||(a((0,ie.Q5)({name:h.LANGUAGE.eventName(e)})),r(e))},p:1,variant:"outline",w:"max-content"})},e)}))})},Zn=new Set(L.a2),Sn=function(){var e,n=K(),t=n.assembly.data,r=n.language,a=(0,E.Z)({updateSaved:!0,updateUrl:!0}),i=(0,o.Z)(a,2)[1],c=(0,E.Z)({updateUrl:!0}),l=(0,o.Z)(c,2)[1],d=[].concat((0,D.Z)(Object.keys(null!==(e=null===t||void 0===t?void 0:t.targets)&&void 0!==e?e:{})),[L.SQ.TypeScript]),u=d.includes(r);(0,s.useEffect)((function(){u||l(L.SQ.TypeScript)}),[u]);var h={selectedLanguage:u?r:L.SQ.TypeScript,setSelectedLanguage:i,targetLanguages:d.filter((function(e){return Zn.has(e)}))};return(0,F.jsx)(Cn,(0,x.Z)({},h))},Tn=t(81070),Ln=t(77231),En=t(44717),In=t(50535),On=["license"],An=(0,fe.Gp)((function(e,n){var t=e.license,r=(0,Pe.Z)(e,On),a=En[t].url;return(0,F.jsx)($.d,(0,x.Z)((0,x.Z)({href:a,ref:n},r),{},{children:t}))}));An.displayName="LicenseLink";var Pn=t(79227),Dn="MMM dd, yyyy 'at' h:mmaaa",zn=t(56804),Nn=t(10297),Un=t(98371),Bn=["openText","closeText","isOpen"],Rn=function(e){var n=e.openText,t=e.closeText,r=e.isOpen,a=(0,Pe.Z)(e,Bn);return(0,F.jsx)(oe.zx,(0,x.Z)((0,x.Z)({color:"link",colorScheme:"blue",leftIcon:r?(0,F.jsx)(Q.g8,{}):(0,F.jsx)(Q.v4,{}),variant:"link"},a),{},{children:r?t:n}))},Mn=function(e){var n=e.children,t=e.label,r=e.tooltip;return(0,F.jsx)(Tn.u,{hasArrow:!0,isDisabled:!r,label:r,placement:"left",children:(0,F.jsxs)(i.xv,{fontWeight:"bold",children:[t," ",(0,F.jsx)(i.xu,{as:"span",fontWeight:"normal",children:n})]})})},Wn=function(e){var n=e.downloads;return(0,F.jsx)(Mn,{label:(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(i.xu,{as:"span",mr:1,children:(0,F.jsx)(Q._8,{})}),n.toLocaleString()]}),tooltip:"Download numbers are periodically sourced from the npm registry",children:"Weekly downloads"})},Fn=function(e){var n=K(),t=(0,Nn.V)().data,r=(0,ae.qY)({defaultIsOpen:!0}),a=(0,zn.E)("packageLinks"),c=n.assembly.data,l=n.metadata.data,d=n.scope?"".concat(n.scope,"/").concat(n.name):n.name,u=(0,Un.JA)(null===l||void 0===l?void 0:l.packageTags),h=(0,o.Z)(u,1)[0],p=function(e){var n=e.assembly,t=e.metadata,r=e.name,a=e.packageLinks,o=e.stats,i=[];if(n||t||o||a){var c,l,d,u,h,p=null===o||void 0===o||null===(c=o.packages)||void 0===c||null===(l=c[r])||void 0===l||null===(d=l.downloads)||void 0===d?void 0:d.npm;void 0!==p&&i.push((0,F.jsx)(Wn,{downloads:p}));var v=null===n||void 0===n?void 0:n.author.name,x=null===n||void 0===n?void 0:n.repository,g=null===n||void 0===n?void 0:n.license;if(v){var j=(0,F.jsx)(f.O,{color:"link",to:(0,m.yc)({query:v}),children:v});i.push((0,F.jsx)(Mn,{label:"Author",children:j}))}var b=null===t||void 0===t?void 0:t.date;if(b){var y=(0,F.jsx)(Pn.q,{date:new Date(b),fontWeight:"normal",format:Dn});i.push((0,F.jsx)(Mn,{label:"Published",children:y}))}if(x){var w=(0,m.rM)(x.url);if(w){var k=(0,F.jsx)($.d,{href:w.url,children:w.hostname});i.push((0,F.jsx)(Mn,{label:"Repository",children:k}))}}if(g&&g in En){var C=(0,F.jsx)(An,{license:g});i.push((0,F.jsx)(Mn,{label:"License",children:C}))}null!==a&&void 0!==a&&a.length&&a.forEach((function(e){var n,r=e.linkLabel,a=e.configKey,o=e.linkText,c=(null!==(n=null===t||void 0===t?void 0:t.packageLinks)&&void 0!==n?n:{})[a];if(c){var s=(0,F.jsx)($.d,{href:c,children:null!==o&&void 0!==o?o:c});i.push((0,F.jsxs)(Mn,{label:r,children:[r,": ",s]}))}}));var Z=null!==(u=null===t||void 0===t||null===(h=t.links)||void 0===h?void 0:h.npm)&&void 0!==u?u:"https://www.npmjs.com/package/".concat(null===n||void 0===n?void 0:n.name,"/v/").concat(null===n||void 0===n?void 0:n.version);if(Z){var S=(0,F.jsx)($.d,{href:Z,children:new URL(Z).hostname});i.push((0,F.jsx)(Mn,{label:"Registry",children:S}))}}return i.map((function(e,n){return(0,F.jsx)(s.Fragment,{children:e},n)}))}({assembly:c,metadata:l,name:d,packageLinks:a,stats:t});if(!p.length)return null;var v=p.slice(0,2),g=p.slice(2,p.length);return(0,F.jsxs)(i.Kq,(0,x.Z)((0,x.Z)({align:"start",color:"textPrimary",fontSize:".75rem",mt:2,spacing:2},e),{},{children:[h&&(0,F.jsx)(In.y,(0,x.Z)({},h)),v,g.length>0&&(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(Ln.UO,{animateOpacity:!0,in:r.isOpen,children:(0,F.jsx)(i.Kq,{spacing:2,children:g})}),(0,F.jsx)(Rn,{closeText:"See fewer details (".concat(v.length,")"),fontSize:"inherit",isOpen:r.isOpen,onClick:r.onToggle,openText:"See more details (".concat(g.length,")")})]})]}))},_n=function(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];return n.map((function(e){return'"'.concat(e.map((function(e){return null!==e&&void 0!==e?e:"."})).join(" "),'"')})).join(" ")},Kn="heading",Hn="install",Vn="languages",qn="meta",Gn=_n([Kn],[qn],[Vn],[Hn]),Qn=_n([Kn,Vn,Hn],[Kn,null,qn]),Xn=function(e){var n=e.children;return(0,F.jsx)(i.rj,{bg:"bgSecondary",columnGap:{md:6,lg:10},pt:{base:3,lg:6},px:{base:5,md:6,lg:10},rowGap:{base:4,lg:0},templateAreas:{base:Gn,lg:Qn},templateColumns:{base:"1fr",lg:"1fr auto 15rem"},templateRows:{lg:"auto 1fr"},children:n})},$n=t(77766),Jn=t(29988),Yn=t(57640),et=t(10724),nt=t.n(et),tt=t(84586),rt=function(){var e=K(),n=e.scope,t=e.name,a=e.version,i=e.allVersions,c=e.language,l=n?"".concat(n,"/").concat(t):t,d=(0,tt.A)(),u=(0,r.k6)(),p=u.push,f=u.location,v=d.findByName(l),x=(0,s.useMemo)((function(){var e=v.map((function(e){return e.version})),n=(0,D.Z)(new Set([].concat((0,D.Z)(null!==i&&void 0!==i?i:[]),(0,D.Z)(e),[a])));return n.sort(nt().rcompare),n}),[v,a,i]);return(0,F.jsx)(Yn.Ph,{"data-event":h.SELECT_VERSION,"data-testid":q.selectVersionDropdown,fontWeight:"500",onChange:function(e){var n=f.pathname,t=f.hash,r="";if(n.includes("/api/")){var a=n.split("/api/");r=(0,o.Z)(a,2)[1]}var i=[(0,m.Mt)({name:l,version:e.target.value,language:c,api:r}),t].join("");p(i)},size:"sm",value:a,width:"10rem",children:x.map((function(e){return(0,F.jsx)("option",{"data-testid":q.selectVersionItem,"data-value":e,value:e,children:"v".concat(e)},e)}))})},at=["assembly","name","description","metadata","version"],ot=function(e){var n,t,r,a=e.assembly,o=e.name,c=e.description,s=e.metadata,l=(e.version,(0,Pe.Z)(e,at)),d=(0,Un.QX)({packageTags:null!==(n=null===s||void 0===s?void 0:s.packageTags)&&void 0!==n?n:[],keywords:null!==(t=null===a||void 0===a?void 0:a.keywords)&&void 0!==t?t:[]}),u=null!==(r=s.constructFramework)&&void 0!==r?r:{};return(0,F.jsxs)(i.Kq,(0,x.Z)((0,x.Z)({lineHeight:"1.5",maxW:"full",overflow:"hidden",spacing:2},l),{},{children:[(0,F.jsxs)(i.kC,{align:"center",wrap:"wrap",children:[(0,F.jsx)(i.X6,{color:"textPrimary",flexShrink:1,fontSize:"1.5rem",isTruncated:!0,mr:4,children:o}),(0,F.jsx)(rt,{})]}),(0,F.jsx)(i.xv,{"data-testid":q.description,fontSize:"1rem",children:c}),(0,F.jsxs)(i.kC,{align:"center",direction:"row",pt:1,sx:{gap:"0.5rem"},wrap:"wrap",children:[(0,F.jsx)($n.uo,(0,x.Z)({"data-event":h.CDK_BADGE.eventName("".concat(u.name).concat(void 0!==u.majorVersion?" v".concat(u.majorVersion):""))},u)),d.map((function(e){var n=e.id,t=e.keyword,r=(t=void 0===t?{}:t).label,a=t.color;return(0,F.jsx)(Jn.X,{"data-event":h.KEYWORD.eventName(r),value:n,variant:a,children:r},n)}))]})]}))},it=function(e){var n=K(),t=n.language,r=n.assembly.data,a=(0,ae.qY)();if(!r)return null;var o=function(e){var n=e.language,t=e.assembly,r=t.version;if(n===L.SQ.TypeScript){var a=t.name;return"npm install ".concat(a,"@").concat(r)}if(n===L.SQ.Python){var o,i,c=null===(o=t.targets)||void 0===o||null===(i=o.python)||void 0===i?void 0:i.distName;if(!c)return;return"pip install ".concat(c,"==").concat(r)}if(n===L.SQ.Java){var s,l,d,u,h,p,f=null===(s=t.targets)||void 0===s||null===(l=s.java)||void 0===l||null===(d=l.maven)||void 0===d?void 0:d.groupId,v=null===(u=t.targets)||void 0===u||null===(h=u.java)||void 0===h||null===(p=h.maven)||void 0===p?void 0:p.artifactId;if(!f||!v)return;return["// add this to your pom.xml","<dependency>"," <groupId>".concat(f,"</groupId>")," <artifactId>".concat(v,"</artifactId>")," <version>".concat(r,"</version>"),"</dependency>"].join("\n")}if(n===L.SQ.DotNet){var m,x,g=null===(m=t.targets)||void 0===m||null===(x=m.dotnet)||void 0===x?void 0:x.packageId;if(!g)return;return"dotnet add package ".concat(g," --version ").concat(r)}}({language:t,assembly:r});return o&&t?(0,F.jsx)(i.kC,(0,x.Z)((0,x.Z)({align:"start",direction:"column",fontSize:".75rem",w:"full"},e),{},{children:t===L.SQ.Java?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(Rn,{closeText:"Hide",fontSize:"inherit",isOpen:a.isOpen,mt:2,onClick:a.onToggle,openText:"Install"}),(0,F.jsx)(i.xu,{maxW:"full",overflow:"hidden",children:(0,F.jsx)(Ln.UO,{in:a.isOpen,children:(0,F.jsx)(Ke,{boxShadow:"none",code:o,fontSize:"inherit",language:t,mt:2})})})]}):(0,F.jsx)(Ke,{boxShadow:"none",code:o,fontSize:"inherit",language:t,lineHeight:"2",w:"full"})})):null},ct=function(){var e=K(),n=e.assembly,t=e.metadata,r=e.version,a=n.data,o=t.data;return a&&o?(0,F.jsxs)(Xn,{children:[(0,F.jsx)(ot,{assembly:a,description:a.description,gridArea:Kn,metadata:o,name:a.name,version:r}),(0,F.jsx)(i.kC,{align:"start",gridArea:Vn,children:(0,F.jsx)(Sn,{})}),(0,F.jsxs)(i.kC,{direction:"column",gridArea:qn,children:[(0,F.jsx)(i.iz,{borderBottom:"base",display:{md:"none"},mb:2}),(0,F.jsx)(Fn,{}),(0,F.jsx)(i.iz,{borderBottom:"base",display:{md:"none"},mt:2})]}),(0,F.jsx)(i.kC,{align:"start",gridArea:Hn,children:(0,F.jsx)(it,{})})]}):(0,F.jsx)(wn.$,{mx:"auto",my:10,size:"xl"})},st=function(){var e=K(),n=e.pageDescription,t=e.pageTitle,r=(0,s.useState)(0),a=(0,o.Z)(r,2),d=a[0],u=a[1];return(0,s.useEffect)((function(){u(0)}),[t]),(0,F.jsx)(l.T,{meta:{title:t,description:n},pageName:"packageProfile",children:(0,F.jsxs)(i.rj,{bg:"bgPrimary","data-testid":q.page,maxW:"100vw",templateColumns:"1fr",templateRows:"auto 1fr auto",children:[(0,F.jsx)(ct,{}),(0,F.jsxs)(c.mQ,{index:d,onChange:u,variant:"line",children:[(0,F.jsxs)(c.td,{bg:"bgSecondary",borderBottom:"base",px:{base:0,lg:6},children:[(0,F.jsx)(c.OK,{"data-event":h.DOCUMENTATION.TAB,children:"Documentation"}),(0,F.jsx)(c.OK,{"data-event":h.DEPENDENCIES.TAB,"data-testid":q.dependenciesTab,children:"Dependencies"})]}),(0,F.jsxs)(c.nP,{maxW:"full",children:[(0,F.jsx)(c.x4,{p:0,children:(0,F.jsx)(yn,{})}),(0,F.jsx)(c.x4,{children:(0,F.jsx)(G,{})})]})]}),(0,F.jsx)(te,{})]})})},lt=function(){return(0,F.jsx)(H,{children:(0,F.jsx)(st,{})})},dt=t(95038),ut=function(){var e=(0,r.UO)(),n=e.name,t=e.scope,o=(0,dt.r)();if(o.isLoading||!o.data)return(0,F.jsx)(i.M5,{minH:"16rem",children:(0,F.jsx)(wn.$,{size:"xl"})});var c=function(e,n,t){var r=(0,p.KD)(n,t),a=(0,p._c)(e,r);if(a){var o=a.version,i="/v/".concat(o);return"".concat("/packages/").concat(r).concat(i)}}(o.data,n,t);return c?(0,F.jsx)(r.l_,{to:c}):(0,F.jsx)(a.default,{})},ht="[^@\\/]+",pt="@[^\\/]+",ft=function(){var e=(0,r.$B)().path;return(0,F.jsxs)(r.rs,{children:[(0,F.jsx)(r.AW,{exact:!0,path:"".concat(e,"/:scope(").concat(pt,")?/:name(").concat(ht,")"),children:(0,F.jsx)(ut,{})}),(0,F.jsx)(r.AW,{path:"".concat(e,"/:scope(").concat(pt,")?/:name(").concat(ht,")/v/:version"),children:(0,F.jsx)(lt,{})}),(0,F.jsx)(r.AW,{path:"*",children:(0,F.jsx)(a.NotFound,{})})]})}}}]);
2
+ //# sourceMappingURL=501.2b1251ae.chunk.js.map