construct-hub-webapp 0.1.407 → 0.1.411
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/asset-manifest.json +22 -22
- package/build/index.html +1 -1
- package/build/static/js/{0.8b8f1672.chunk.js → 0.75bd4211.chunk.js} +2 -2
- package/build/static/js/{0.8b8f1672.chunk.js.map → 0.75bd4211.chunk.js.map} +1 -1
- package/build/static/js/{11.a409128e.chunk.js → 11.95a7aff0.chunk.js} +2 -2
- package/build/static/js/{11.a409128e.chunk.js.map → 11.95a7aff0.chunk.js.map} +1 -1
- package/build/static/js/{12.a6acc3f9.chunk.js → 12.755ea3fc.chunk.js} +2 -2
- package/build/static/js/{12.a6acc3f9.chunk.js.map → 12.755ea3fc.chunk.js.map} +1 -1
- package/build/static/js/{13.66aaa483.chunk.js → 13.d3fce156.chunk.js} +2 -2
- package/build/static/js/{13.66aaa483.chunk.js.map → 13.d3fce156.chunk.js.map} +1 -1
- package/build/static/js/{14.cfe32926.chunk.js → 14.e783508a.chunk.js} +2 -2
- package/build/static/js/{14.cfe32926.chunk.js.map → 14.e783508a.chunk.js.map} +1 -1
- package/build/static/js/{4.7d8e478c.chunk.js → 4.91a3f4bb.chunk.js} +3 -3
- package/build/static/js/{4.7d8e478c.chunk.js.LICENSE.txt → 4.91a3f4bb.chunk.js.LICENSE.txt} +0 -0
- package/build/static/js/{4.7d8e478c.chunk.js.map → 4.91a3f4bb.chunk.js.map} +1 -1
- package/build/static/js/{6.a87fea77.chunk.js → 6.ca3456ca.chunk.js} +2 -2
- package/build/static/js/6.ca3456ca.chunk.js.map +1 -0
- package/build/static/js/{7.61458fec.chunk.js → 7.f1806927.chunk.js} +2 -2
- package/build/static/js/7.f1806927.chunk.js.map +1 -0
- package/build/static/js/{8.1d904c58.chunk.js → 8.73c2c7f3.chunk.js} +2 -2
- package/build/static/js/8.73c2c7f3.chunk.js.map +1 -0
- package/build/static/js/runtime-main.b8868b3c.js +2 -0
- package/build/static/js/{runtime-main.b32ffcf4.js.map → runtime-main.b8868b3c.js.map} +1 -1
- package/package.json +6 -6
- package/build/static/js/6.a87fea77.chunk.js.map +0 -1
- package/build/static/js/7.61458fec.chunk.js.map +0 -1
- package/build/static/js/8.1d904c58.chunk.js.map +0 -1
- package/build/static/js/runtime-main.b32ffcf4.js +0 -2
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"files": {
|
|
3
|
-
"static/js/0.
|
|
4
|
-
"static/js/0.
|
|
3
|
+
"static/js/0.75bd4211.chunk.js": "/static/js/0.75bd4211.chunk.js",
|
|
4
|
+
"static/js/0.75bd4211.chunk.js.map": "/static/js/0.75bd4211.chunk.js.map",
|
|
5
5
|
"static/js/1.de94dd4f.chunk.js": "/static/js/1.de94dd4f.chunk.js",
|
|
6
6
|
"static/js/1.de94dd4f.chunk.js.map": "/static/js/1.de94dd4f.chunk.js.map",
|
|
7
7
|
"main.css": "/static/css/main.1e6d8b38.chunk.css",
|
|
8
8
|
"main.js": "/static/js/main.40e21094.chunk.js",
|
|
9
9
|
"main.js.map": "/static/js/main.40e21094.chunk.js.map",
|
|
10
|
-
"runtime-main.js": "/static/js/runtime-main.
|
|
11
|
-
"runtime-main.js.map": "/static/js/runtime-main.
|
|
12
|
-
"static/js/4.
|
|
13
|
-
"static/js/4.
|
|
10
|
+
"runtime-main.js": "/static/js/runtime-main.b8868b3c.js",
|
|
11
|
+
"runtime-main.js.map": "/static/js/runtime-main.b8868b3c.js.map",
|
|
12
|
+
"static/js/4.91a3f4bb.chunk.js": "/static/js/4.91a3f4bb.chunk.js",
|
|
13
|
+
"static/js/4.91a3f4bb.chunk.js.map": "/static/js/4.91a3f4bb.chunk.js.map",
|
|
14
14
|
"static/js/5.fb19ba3d.chunk.js": "/static/js/5.fb19ba3d.chunk.js",
|
|
15
15
|
"static/js/5.fb19ba3d.chunk.js.map": "/static/js/5.fb19ba3d.chunk.js.map",
|
|
16
|
-
"static/js/6.
|
|
17
|
-
"static/js/6.
|
|
18
|
-
"static/js/7.
|
|
19
|
-
"static/js/7.
|
|
20
|
-
"static/js/8.
|
|
21
|
-
"static/js/8.
|
|
16
|
+
"static/js/6.ca3456ca.chunk.js": "/static/js/6.ca3456ca.chunk.js",
|
|
17
|
+
"static/js/6.ca3456ca.chunk.js.map": "/static/js/6.ca3456ca.chunk.js.map",
|
|
18
|
+
"static/js/7.f1806927.chunk.js": "/static/js/7.f1806927.chunk.js",
|
|
19
|
+
"static/js/7.f1806927.chunk.js.map": "/static/js/7.f1806927.chunk.js.map",
|
|
20
|
+
"static/js/8.73c2c7f3.chunk.js": "/static/js/8.73c2c7f3.chunk.js",
|
|
21
|
+
"static/js/8.73c2c7f3.chunk.js.map": "/static/js/8.73c2c7f3.chunk.js.map",
|
|
22
22
|
"static/js/9.8b744886.chunk.js": "/static/js/9.8b744886.chunk.js",
|
|
23
23
|
"static/js/9.8b744886.chunk.js.map": "/static/js/9.8b744886.chunk.js.map",
|
|
24
24
|
"static/js/10.63153bb8.chunk.js": "/static/js/10.63153bb8.chunk.js",
|
|
25
25
|
"static/js/10.63153bb8.chunk.js.map": "/static/js/10.63153bb8.chunk.js.map",
|
|
26
|
-
"static/js/11.
|
|
27
|
-
"static/js/11.
|
|
28
|
-
"static/js/12.
|
|
29
|
-
"static/js/12.
|
|
30
|
-
"static/js/13.
|
|
31
|
-
"static/js/13.
|
|
32
|
-
"static/js/14.
|
|
33
|
-
"static/js/14.
|
|
26
|
+
"static/js/11.95a7aff0.chunk.js": "/static/js/11.95a7aff0.chunk.js",
|
|
27
|
+
"static/js/11.95a7aff0.chunk.js.map": "/static/js/11.95a7aff0.chunk.js.map",
|
|
28
|
+
"static/js/12.755ea3fc.chunk.js": "/static/js/12.755ea3fc.chunk.js",
|
|
29
|
+
"static/js/12.755ea3fc.chunk.js.map": "/static/js/12.755ea3fc.chunk.js.map",
|
|
30
|
+
"static/js/13.d3fce156.chunk.js": "/static/js/13.d3fce156.chunk.js",
|
|
31
|
+
"static/js/13.d3fce156.chunk.js.map": "/static/js/13.d3fce156.chunk.js.map",
|
|
32
|
+
"static/js/14.e783508a.chunk.js": "/static/js/14.e783508a.chunk.js",
|
|
33
|
+
"static/js/14.e783508a.chunk.js.map": "/static/js/14.e783508a.chunk.js.map",
|
|
34
34
|
"static/js/15.06217ace.chunk.js": "/static/js/15.06217ace.chunk.js",
|
|
35
35
|
"static/js/15.06217ace.chunk.js.map": "/static/js/15.06217ace.chunk.js.map",
|
|
36
36
|
"static/js/16.0b2ec5e5.chunk.js": "/static/js/16.0b2ec5e5.chunk.js",
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
"service-worker.js.map": "/service-worker.js.map",
|
|
41
41
|
"static/css/main.1e6d8b38.chunk.css.map": "/static/css/main.1e6d8b38.chunk.css.map",
|
|
42
42
|
"static/js/15.06217ace.chunk.js.LICENSE.txt": "/static/js/15.06217ace.chunk.js.LICENSE.txt",
|
|
43
|
-
"static/js/4.
|
|
43
|
+
"static/js/4.91a3f4bb.chunk.js.LICENSE.txt": "/static/js/4.91a3f4bb.chunk.js.LICENSE.txt",
|
|
44
44
|
"static/js/5.fb19ba3d.chunk.js.LICENSE.txt": "/static/js/5.fb19ba3d.chunk.js.LICENSE.txt"
|
|
45
45
|
},
|
|
46
46
|
"entrypoints": [
|
|
47
|
-
"static/js/runtime-main.
|
|
47
|
+
"static/js/runtime-main.b8868b3c.js",
|
|
48
48
|
"static/js/5.fb19ba3d.chunk.js",
|
|
49
49
|
"static/css/main.1e6d8b38.chunk.css",
|
|
50
50
|
"static/js/main.40e21094.chunk.js"
|
package/build/index.html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!doctype html><html lang="en"><head><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="icon" href="/favicon.ico"/><meta name="theme-color" content="#ffffff"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>Construct Hub</title><script>var AWSMA={config:{customPageview:!0}}</script><script src="https://a0.awsstatic.com/s_code/js/3.0/awshome_s_code.js"></script><link href="/static/css/main.1e6d8b38.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="/static/js/runtime-main.
|
|
1
|
+
<!doctype html><html lang="en"><head><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="icon" href="/favicon.ico"/><meta name="theme-color" content="#ffffff"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="manifest" href="/manifest.json"/><title>Construct Hub</title><script>var AWSMA={config:{customPageview:!0}}</script><script src="https://a0.awsstatic.com/s_code/js/3.0/awshome_s_code.js"></script><link href="/static/css/main.1e6d8b38.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="/static/js/runtime-main.b8868b3c.js"></script><script src="/static/js/5.fb19ba3d.chunk.js"></script><script src="/static/js/main.40e21094.chunk.js"></script></body></html>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[]).push([[0],{262:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return fe}));var r=n(64),o=n.n(r),i=n(389),a=n.n(i),u=n(93),c=n.n(u),s=n(0),l=n.n(s),f=n(109),p=n.n(f),d="bodyAttributes",y="htmlAttributes",h="titleAttributes",b={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title"},m=(Object.keys(b).map((function(e){return b[e]})),"charset"),T="cssText",v="href",w="http-equiv",g="innerHTML",A="itemprop",C="name",O="property",E="rel",S="src",j="target",P={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},k="defaultTitle",L="defer",I="encodeSpecialCharacters",x="onChangeClientState",M="titleTemplate",N=Object.keys(P).reduce((function(e,t){return e[P[t]]=t,e}),{}),R=[b.NOSCRIPT,b.SCRIPT,b.STYLE],D="data-react-helmet",H="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},q=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},Y=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},F=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},B=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t},U=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},K=function(e){var t=Q(e,b.TITLE),n=Q(e,M);if(n&&t)return n.replace(/%s/g,(function(){return Array.isArray(t)?t.join(""):t}));var r=Q(e,k);return t||r||void 0},W=function(e){return Q(e,x)||function(){}},z=function(e,t){return t.filter((function(t){return"undefined"!==typeof t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return _({},e,t)}),{})},J=function(e,t){return t.filter((function(e){return"undefined"!==typeof e[b.BASE]})).map((function(e){return e[b.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),o=0;o<r.length;o++){var i=r[o].toLowerCase();if(-1!==e.indexOf(i)&&n[i])return t.concat(n)}return t}),[])},G=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||("undefined"!==typeof t[e]&&ee("Helmet: "+e+' should be of type "Array". Instead found type "'+H(t[e])+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var o={};n.filter((function(e){for(var n=void 0,i=Object.keys(e),a=0;a<i.length;a++){var u=i[a],c=u.toLowerCase();-1===t.indexOf(c)||n===E&&"canonical"===e[n].toLowerCase()||c===E&&"stylesheet"===e[c].toLowerCase()||(n=c),-1===t.indexOf(u)||u!==g&&u!==T&&u!==A||(n=u)}if(!n||!e[n])return!1;var s=e[n].toLowerCase();return r[n]||(r[n]={}),o[n]||(o[n]={}),!r[n][s]&&(o[n][s]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var i=Object.keys(o),a=0;a<i.length;a++){var u=i[a],c=p()({},r[u],o[u]);r[u]=c}return e}),[]).reverse()},Q=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.hasOwnProperty(t))return r[t]}return null},V=function(){var e=Date.now();return function(t){var n=Date.now();n-e>16?(e=n,t(n)):setTimeout((function(){V(t)}),0)}}(),X=function(e){return clearTimeout(e)},Z="undefined"!==typeof window?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||V:e.requestAnimationFrame||V,$="undefined"!==typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||X:e.cancelAnimationFrame||X,ee=function(e){return console&&"function"===typeof console.warn&&console.warn(e)},te=null,ne=function(e,t){var n=e.baseTag,r=e.bodyAttributes,o=e.htmlAttributes,i=e.linkTags,a=e.metaTags,u=e.noscriptTags,c=e.onChangeClientState,s=e.scriptTags,l=e.styleTags,f=e.title,p=e.titleAttributes;ie(b.BODY,r),ie(b.HTML,o),oe(f,p);var d={baseTag:ae(b.BASE,n),linkTags:ae(b.LINK,i),metaTags:ae(b.META,a),noscriptTags:ae(b.NOSCRIPT,u),scriptTags:ae(b.SCRIPT,s),styleTags:ae(b.STYLE,l)},y={},h={};Object.keys(d).forEach((function(e){var t=d[e],n=t.newTags,r=t.oldTags;n.length&&(y[e]=n),r.length&&(h[e]=d[e].oldTags)})),t&&t(),c(e,y,h)},re=function(e){return Array.isArray(e)?e.join(""):e},oe=function(e,t){"undefined"!==typeof e&&document.title!==e&&(document.title=re(e)),ie(b.TITLE,t)},ie=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute(D),o=r?r.split(","):[],i=[].concat(o),a=Object.keys(t),u=0;u<a.length;u++){var c=a[u],s=t[c]||"";n.getAttribute(c)!==s&&n.setAttribute(c,s),-1===o.indexOf(c)&&o.push(c);var l=i.indexOf(c);-1!==l&&i.splice(l,1)}for(var f=i.length-1;f>=0;f--)n.removeAttribute(i[f]);o.length===i.length?n.removeAttribute(D):n.getAttribute(D)!==a.join(",")&&n.setAttribute(D,a.join(","))}},ae=function(e,t){var n=document.head||document.querySelector(b.HEAD),r=n.querySelectorAll(e+"["+"data-react-helmet]"),o=Array.prototype.slice.call(r),i=[],a=void 0;return t&&t.length&&t.forEach((function(t){var n=document.createElement(e);for(var r in t)if(t.hasOwnProperty(r))if(r===g)n.innerHTML=t.innerHTML;else if(r===T)n.styleSheet?n.styleSheet.cssText=t.cssText:n.appendChild(document.createTextNode(t.cssText));else{var u="undefined"===typeof t[r]?"":t[r];n.setAttribute(r,u)}n.setAttribute(D,"true"),o.some((function(e,t){return a=t,n.isEqualNode(e)}))?o.splice(a,1):i.push(n)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return n.appendChild(e)})),{oldTags:o,newTags:i}},ue=function(e){return Object.keys(e).reduce((function(t,n){var r="undefined"!==typeof e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},ce=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[P[n]||n]=e[n],t}),t)},se=function(e,t,n){switch(e){case b.TITLE:return{toComponent:function(){return function(e,t,n){var r,o=((r={key:t})[D]=!0,r),i=ce(n,o);return[l.a.createElement(b.TITLE,i,t)]}(0,t.title,t.titleAttributes)},toString:function(){return function(e,t,n,r){var o=ue(n),i=re(t);return o?"<"+e+' data-react-helmet="true" '+o+">"+U(i,r)+"</"+e+">":"<"+e+' data-react-helmet="true">'+U(i,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case d:case y:return{toComponent:function(){return ce(t)},toString:function(){return ue(t)}};default:return{toComponent:function(){return function(e,t){return t.map((function(t,n){var r,o=((r={key:n})[D]=!0,r);return Object.keys(t).forEach((function(e){var n=P[e]||e;if(n===g||n===T){var r=t.innerHTML||t.cssText;o.dangerouslySetInnerHTML={__html:r}}else o[n]=t[e]})),l.a.createElement(e,o)}))}(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var o=Object.keys(r).filter((function(e){return!(e===g||e===T)})).reduce((function(e,t){var o="undefined"===typeof r[t]?t:t+'="'+U(r[t],n)+'"';return e?e+" "+o:o}),""),i=r.innerHTML||r.cssText||"",a=-1===R.indexOf(e);return t+"<"+e+' data-react-helmet="true" '+o+(a?"/>":">"+i+"</"+e+">")}),"")}(e,t,n)}}}},le=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,o=e.htmlAttributes,i=e.linkTags,a=e.metaTags,u=e.noscriptTags,c=e.scriptTags,s=e.styleTags,l=e.title,f=void 0===l?"":l,p=e.titleAttributes;return{base:se(b.BASE,t,r),bodyAttributes:se(d,n,r),htmlAttributes:se(y,o,r),link:se(b.LINK,i,r),meta:se(b.META,a,r),noscript:se(b.NOSCRIPT,u,r),script:se(b.SCRIPT,c,r),style:se(b.STYLE,s,r),title:se(b.TITLE,{title:f,titleAttributes:p},r)}},fe=function(e){var t,n;return n=t=function(t){function n(){return q(this,n),B(this,t.apply(this,arguments))}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),n.prototype.shouldComponentUpdate=function(e){return!c()(this.props,e)},n.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case b.SCRIPT:case b.NOSCRIPT:return{innerHTML:t};case b.STYLE:return{cssText:t}}throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},n.prototype.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren,o=e.newChildProps,i=e.nestedChildren;return _({},r,((t={})[n.type]=[].concat(r[n.type]||[],[_({},o,this.mapNestedChildrenToProps(n,i))]),t))},n.prototype.mapObjectTypeChildren=function(e){var t,n,r=e.child,o=e.newProps,i=e.newChildProps,a=e.nestedChildren;switch(r.type){case b.TITLE:return _({},o,((t={})[r.type]=a,t.titleAttributes=_({},i),t));case b.BODY:return _({},o,{bodyAttributes:_({},i)});case b.HTML:return _({},o,{htmlAttributes:_({},i)})}return _({},o,((n={})[r.type]=_({},i),n))},n.prototype.mapArrayTypeChildrenToProps=function(e,t){var n=_({},t);return Object.keys(e).forEach((function(t){var r;n=_({},n,((r={})[t]=e[t],r))})),n},n.prototype.warnOnInvalidChildren=function(e,t){return!0},n.prototype.mapChildrenToProps=function(e,t){var n=this,r={};return l.a.Children.forEach(e,(function(e){if(e&&e.props){var o=e.props,i=o.children,a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[N[n]||n]=e[n],t}),t)}(F(o,["children"]));switch(n.warnOnInvalidChildren(e,i),e.type){case b.LINK:case b.META:case b.NOSCRIPT:case b.SCRIPT:case b.STYLE:r=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:r,newChildProps:a,nestedChildren:i});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:a,nestedChildren:i})}}})),t=this.mapArrayTypeChildrenToProps(r,t)},n.prototype.render=function(){var t=this.props,n=t.children,r=F(t,["children"]),o=_({},r);return n&&(o=this.mapChildrenToProps(n,o)),l.a.createElement(e,o)},Y(n,null,[{key:"canUseDOM",set:function(t){e.canUseDOM=t}}]),n}(l.a.Component),t.propTypes={base:o.a.object,bodyAttributes:o.a.object,children:o.a.oneOfType([o.a.arrayOf(o.a.node),o.a.node]),defaultTitle:o.a.string,defer:o.a.bool,encodeSpecialCharacters:o.a.bool,htmlAttributes:o.a.object,link:o.a.arrayOf(o.a.object),meta:o.a.arrayOf(o.a.object),noscript:o.a.arrayOf(o.a.object),onChangeClientState:o.a.func,script:o.a.arrayOf(o.a.object),style:o.a.arrayOf(o.a.object),title:o.a.string,titleAttributes:o.a.object,titleTemplate:o.a.string},t.defaultProps={defer:!0,encodeSpecialCharacters:!0},t.peek=e.peek,t.rewind=function(){var t=e.rewind();return t||(t=le({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),t},n}(a()((function(e){return{baseTag:J([v,j],e),bodyAttributes:z(d,e),defer:Q(e,L),encode:Q(e,I),htmlAttributes:z(y,e),linkTags:G(b.LINK,[E,v],e),metaTags:G(b.META,[C,m,w,O,A],e),noscriptTags:G(b.NOSCRIPT,[g],e),onChangeClientState:W(e),scriptTags:G(b.SCRIPT,[S,g],e),styleTags:G(b.STYLE,[T],e),title:K(e),titleAttributes:z(h,e)}}),(function(e){te&&$(te),e.defer?te=Z((function(){ne(e,(function(){te=null}))})):(ne(e),te=null)}),le)((function(){return null})));fe.renderStatic=fe.rewind}).call(this,n(125))},389:function(e,t,n){"use strict";var r,o=n(0),i=(r=o)&&"object"===typeof r&&"default"in r?r.default:r;function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var u=!("undefined"===typeof window||!window.document||!window.document.createElement);e.exports=function(e,t,n){if("function"!==typeof e)throw new Error("Expected reducePropsToState to be a function.");if("function"!==typeof t)throw new Error("Expected handleStateChangeOnClient to be a function.");if("undefined"!==typeof n&&"function"!==typeof n)throw new Error("Expected mapStateOnServer to either be undefined or a function.");return function(r){if("function"!==typeof r)throw new Error("Expected WrappedComponent to be a React component.");var c,s=[];function l(){c=e(s.map((function(e){return e.props}))),f.canUseDOM?t(c):n&&(c=n(c))}var f=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,o.peek=function(){return c},o.rewind=function(){if(o.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var e=c;return c=void 0,s=[],e};var a=o.prototype;return a.UNSAFE_componentWillMount=function(){s.push(this),l()},a.componentDidUpdate=function(){l()},a.componentWillUnmount=function(){var e=s.indexOf(this);s.splice(e,1),l()},a.render=function(){return i.createElement(r,this.props)},o}(o.PureComponent);return a(f,"displayName","SideEffect("+function(e){return e.displayName||e.name||"Component"}(r)+")"),a(f,"canUseDOM",u),f}}}}]);
|
|
2
|
-
//# sourceMappingURL=0.
|
|
1
|
+
(this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[]).push([[0],{263:function(e,t,n){"use strict";(function(e){n.d(t,"a",(function(){return fe}));var r=n(64),o=n.n(r),i=n(389),a=n.n(i),u=n(93),c=n.n(u),s=n(0),l=n.n(s),f=n(109),p=n.n(f),d="bodyAttributes",y="htmlAttributes",h="titleAttributes",b={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title"},m=(Object.keys(b).map((function(e){return b[e]})),"charset"),T="cssText",v="href",w="http-equiv",g="innerHTML",A="itemprop",C="name",O="property",E="rel",S="src",j="target",P={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},k="defaultTitle",L="defer",I="encodeSpecialCharacters",x="onChangeClientState",M="titleTemplate",N=Object.keys(P).reduce((function(e,t){return e[P[t]]=t,e}),{}),R=[b.NOSCRIPT,b.SCRIPT,b.STYLE],D="data-react-helmet",H="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"===typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},q=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},Y=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},F=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},B=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==typeof t&&"function"!==typeof t?e:t},U=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},K=function(e){var t=Q(e,b.TITLE),n=Q(e,M);if(n&&t)return n.replace(/%s/g,(function(){return Array.isArray(t)?t.join(""):t}));var r=Q(e,k);return t||r||void 0},W=function(e){return Q(e,x)||function(){}},z=function(e,t){return t.filter((function(t){return"undefined"!==typeof t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return _({},e,t)}),{})},J=function(e,t){return t.filter((function(e){return"undefined"!==typeof e[b.BASE]})).map((function(e){return e[b.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),o=0;o<r.length;o++){var i=r[o].toLowerCase();if(-1!==e.indexOf(i)&&n[i])return t.concat(n)}return t}),[])},G=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||("undefined"!==typeof t[e]&&ee("Helmet: "+e+' should be of type "Array". Instead found type "'+H(t[e])+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var o={};n.filter((function(e){for(var n=void 0,i=Object.keys(e),a=0;a<i.length;a++){var u=i[a],c=u.toLowerCase();-1===t.indexOf(c)||n===E&&"canonical"===e[n].toLowerCase()||c===E&&"stylesheet"===e[c].toLowerCase()||(n=c),-1===t.indexOf(u)||u!==g&&u!==T&&u!==A||(n=u)}if(!n||!e[n])return!1;var s=e[n].toLowerCase();return r[n]||(r[n]={}),o[n]||(o[n]={}),!r[n][s]&&(o[n][s]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var i=Object.keys(o),a=0;a<i.length;a++){var u=i[a],c=p()({},r[u],o[u]);r[u]=c}return e}),[]).reverse()},Q=function(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.hasOwnProperty(t))return r[t]}return null},V=function(){var e=Date.now();return function(t){var n=Date.now();n-e>16?(e=n,t(n)):setTimeout((function(){V(t)}),0)}}(),X=function(e){return clearTimeout(e)},Z="undefined"!==typeof window?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||V:e.requestAnimationFrame||V,$="undefined"!==typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||X:e.cancelAnimationFrame||X,ee=function(e){return console&&"function"===typeof console.warn&&console.warn(e)},te=null,ne=function(e,t){var n=e.baseTag,r=e.bodyAttributes,o=e.htmlAttributes,i=e.linkTags,a=e.metaTags,u=e.noscriptTags,c=e.onChangeClientState,s=e.scriptTags,l=e.styleTags,f=e.title,p=e.titleAttributes;ie(b.BODY,r),ie(b.HTML,o),oe(f,p);var d={baseTag:ae(b.BASE,n),linkTags:ae(b.LINK,i),metaTags:ae(b.META,a),noscriptTags:ae(b.NOSCRIPT,u),scriptTags:ae(b.SCRIPT,s),styleTags:ae(b.STYLE,l)},y={},h={};Object.keys(d).forEach((function(e){var t=d[e],n=t.newTags,r=t.oldTags;n.length&&(y[e]=n),r.length&&(h[e]=d[e].oldTags)})),t&&t(),c(e,y,h)},re=function(e){return Array.isArray(e)?e.join(""):e},oe=function(e,t){"undefined"!==typeof e&&document.title!==e&&(document.title=re(e)),ie(b.TITLE,t)},ie=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute(D),o=r?r.split(","):[],i=[].concat(o),a=Object.keys(t),u=0;u<a.length;u++){var c=a[u],s=t[c]||"";n.getAttribute(c)!==s&&n.setAttribute(c,s),-1===o.indexOf(c)&&o.push(c);var l=i.indexOf(c);-1!==l&&i.splice(l,1)}for(var f=i.length-1;f>=0;f--)n.removeAttribute(i[f]);o.length===i.length?n.removeAttribute(D):n.getAttribute(D)!==a.join(",")&&n.setAttribute(D,a.join(","))}},ae=function(e,t){var n=document.head||document.querySelector(b.HEAD),r=n.querySelectorAll(e+"["+"data-react-helmet]"),o=Array.prototype.slice.call(r),i=[],a=void 0;return t&&t.length&&t.forEach((function(t){var n=document.createElement(e);for(var r in t)if(t.hasOwnProperty(r))if(r===g)n.innerHTML=t.innerHTML;else if(r===T)n.styleSheet?n.styleSheet.cssText=t.cssText:n.appendChild(document.createTextNode(t.cssText));else{var u="undefined"===typeof t[r]?"":t[r];n.setAttribute(r,u)}n.setAttribute(D,"true"),o.some((function(e,t){return a=t,n.isEqualNode(e)}))?o.splice(a,1):i.push(n)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return n.appendChild(e)})),{oldTags:o,newTags:i}},ue=function(e){return Object.keys(e).reduce((function(t,n){var r="undefined"!==typeof e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},ce=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[P[n]||n]=e[n],t}),t)},se=function(e,t,n){switch(e){case b.TITLE:return{toComponent:function(){return function(e,t,n){var r,o=((r={key:t})[D]=!0,r),i=ce(n,o);return[l.a.createElement(b.TITLE,i,t)]}(0,t.title,t.titleAttributes)},toString:function(){return function(e,t,n,r){var o=ue(n),i=re(t);return o?"<"+e+' data-react-helmet="true" '+o+">"+U(i,r)+"</"+e+">":"<"+e+' data-react-helmet="true">'+U(i,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case d:case y:return{toComponent:function(){return ce(t)},toString:function(){return ue(t)}};default:return{toComponent:function(){return function(e,t){return t.map((function(t,n){var r,o=((r={key:n})[D]=!0,r);return Object.keys(t).forEach((function(e){var n=P[e]||e;if(n===g||n===T){var r=t.innerHTML||t.cssText;o.dangerouslySetInnerHTML={__html:r}}else o[n]=t[e]})),l.a.createElement(e,o)}))}(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var o=Object.keys(r).filter((function(e){return!(e===g||e===T)})).reduce((function(e,t){var o="undefined"===typeof r[t]?t:t+'="'+U(r[t],n)+'"';return e?e+" "+o:o}),""),i=r.innerHTML||r.cssText||"",a=-1===R.indexOf(e);return t+"<"+e+' data-react-helmet="true" '+o+(a?"/>":">"+i+"</"+e+">")}),"")}(e,t,n)}}}},le=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,o=e.htmlAttributes,i=e.linkTags,a=e.metaTags,u=e.noscriptTags,c=e.scriptTags,s=e.styleTags,l=e.title,f=void 0===l?"":l,p=e.titleAttributes;return{base:se(b.BASE,t,r),bodyAttributes:se(d,n,r),htmlAttributes:se(y,o,r),link:se(b.LINK,i,r),meta:se(b.META,a,r),noscript:se(b.NOSCRIPT,u,r),script:se(b.SCRIPT,c,r),style:se(b.STYLE,s,r),title:se(b.TITLE,{title:f,titleAttributes:p},r)}},fe=function(e){var t,n;return n=t=function(t){function n(){return q(this,n),B(this,t.apply(this,arguments))}return function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,t),n.prototype.shouldComponentUpdate=function(e){return!c()(this.props,e)},n.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case b.SCRIPT:case b.NOSCRIPT:return{innerHTML:t};case b.STYLE:return{cssText:t}}throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},n.prototype.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren,o=e.newChildProps,i=e.nestedChildren;return _({},r,((t={})[n.type]=[].concat(r[n.type]||[],[_({},o,this.mapNestedChildrenToProps(n,i))]),t))},n.prototype.mapObjectTypeChildren=function(e){var t,n,r=e.child,o=e.newProps,i=e.newChildProps,a=e.nestedChildren;switch(r.type){case b.TITLE:return _({},o,((t={})[r.type]=a,t.titleAttributes=_({},i),t));case b.BODY:return _({},o,{bodyAttributes:_({},i)});case b.HTML:return _({},o,{htmlAttributes:_({},i)})}return _({},o,((n={})[r.type]=_({},i),n))},n.prototype.mapArrayTypeChildrenToProps=function(e,t){var n=_({},t);return Object.keys(e).forEach((function(t){var r;n=_({},n,((r={})[t]=e[t],r))})),n},n.prototype.warnOnInvalidChildren=function(e,t){return!0},n.prototype.mapChildrenToProps=function(e,t){var n=this,r={};return l.a.Children.forEach(e,(function(e){if(e&&e.props){var o=e.props,i=o.children,a=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[N[n]||n]=e[n],t}),t)}(F(o,["children"]));switch(n.warnOnInvalidChildren(e,i),e.type){case b.LINK:case b.META:case b.NOSCRIPT:case b.SCRIPT:case b.STYLE:r=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:r,newChildProps:a,nestedChildren:i});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:a,nestedChildren:i})}}})),t=this.mapArrayTypeChildrenToProps(r,t)},n.prototype.render=function(){var t=this.props,n=t.children,r=F(t,["children"]),o=_({},r);return n&&(o=this.mapChildrenToProps(n,o)),l.a.createElement(e,o)},Y(n,null,[{key:"canUseDOM",set:function(t){e.canUseDOM=t}}]),n}(l.a.Component),t.propTypes={base:o.a.object,bodyAttributes:o.a.object,children:o.a.oneOfType([o.a.arrayOf(o.a.node),o.a.node]),defaultTitle:o.a.string,defer:o.a.bool,encodeSpecialCharacters:o.a.bool,htmlAttributes:o.a.object,link:o.a.arrayOf(o.a.object),meta:o.a.arrayOf(o.a.object),noscript:o.a.arrayOf(o.a.object),onChangeClientState:o.a.func,script:o.a.arrayOf(o.a.object),style:o.a.arrayOf(o.a.object),title:o.a.string,titleAttributes:o.a.object,titleTemplate:o.a.string},t.defaultProps={defer:!0,encodeSpecialCharacters:!0},t.peek=e.peek,t.rewind=function(){var t=e.rewind();return t||(t=le({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),t},n}(a()((function(e){return{baseTag:J([v,j],e),bodyAttributes:z(d,e),defer:Q(e,L),encode:Q(e,I),htmlAttributes:z(y,e),linkTags:G(b.LINK,[E,v],e),metaTags:G(b.META,[C,m,w,O,A],e),noscriptTags:G(b.NOSCRIPT,[g],e),onChangeClientState:W(e),scriptTags:G(b.SCRIPT,[S,g],e),styleTags:G(b.STYLE,[T],e),title:K(e),titleAttributes:z(h,e)}}),(function(e){te&&$(te),e.defer?te=Z((function(){ne(e,(function(){te=null}))})):(ne(e),te=null)}),le)((function(){return null})));fe.renderStatic=fe.rewind}).call(this,n(125))},389:function(e,t,n){"use strict";var r,o=n(0),i=(r=o)&&"object"===typeof r&&"default"in r?r.default:r;function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var u=!("undefined"===typeof window||!window.document||!window.document.createElement);e.exports=function(e,t,n){if("function"!==typeof e)throw new Error("Expected reducePropsToState to be a function.");if("function"!==typeof t)throw new Error("Expected handleStateChangeOnClient to be a function.");if("undefined"!==typeof n&&"function"!==typeof n)throw new Error("Expected mapStateOnServer to either be undefined or a function.");return function(r){if("function"!==typeof r)throw new Error("Expected WrappedComponent to be a React component.");var c,s=[];function l(){c=e(s.map((function(e){return e.props}))),f.canUseDOM?t(c):n&&(c=n(c))}var f=function(e){var t,n;function o(){return e.apply(this,arguments)||this}n=e,(t=o).prototype=Object.create(n.prototype),t.prototype.constructor=t,t.__proto__=n,o.peek=function(){return c},o.rewind=function(){if(o.canUseDOM)throw new Error("You may only call rewind() on the server. Call peek() to read the current state.");var e=c;return c=void 0,s=[],e};var a=o.prototype;return a.UNSAFE_componentWillMount=function(){s.push(this),l()},a.componentDidUpdate=function(){l()},a.componentWillUnmount=function(){var e=s.indexOf(this);s.splice(e,1),l()},a.render=function(){return i.createElement(r,this.props)},o}(o.PureComponent);return a(f,"displayName","SideEffect("+function(e){return e.displayName||e.name||"Component"}(r)+")"),a(f,"canUseDOM",u),f}}}}]);
|
|
2
|
+
//# sourceMappingURL=0.75bd4211.chunk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../node_modules/react-helmet/es/Helmet.js","../node_modules/react-side-effect/lib/index.js"],"names":["ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","Object","keys","map","name","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","reduce","obj","key","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","_typeof","Symbol","iterator","constructor","prototype","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","_extends","assign","arguments","source","hasOwnProperty","call","objectWithoutProperties","indexOf","possibleConstructorReturn","self","ReferenceError","encodeSpecialCharacters","str","encode","undefined","String","replace","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","Array","isArray","join","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","filter","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","lowerCaseAttributeKey","toLowerCase","concat","getTagsFromPropsList","tagName","approvedSeenTags","warn","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","value","forEach","push","tagUnion","objectAssign","property","rafPolyfill","clock","Date","now","callback","currentTime","setTimeout","cafPolyfill","id","clearTimeout","requestAnimationFrame","window","bind","webkitRequestAnimationFrame","mozRequestAnimationFrame","global","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","console","_helmetCallback","commitTagChanges","newState","cb","baseTag","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","title","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","attributes","document","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","split","attributesToRemove","attributeKeys","attribute","setAttribute","indexToSave","splice","_i","removeAttribute","type","tags","headElement","head","querySelector","tagNodes","querySelectorAll","slice","indexToDelete","newElement","createElement","innerHTML","styleSheet","cssText","appendChild","createTextNode","some","existingTag","index","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","React","generateTitleAsReactComponent","toString","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","content","dangerouslySetInnerHTML","__html","generateTagsAsReactComponent","attributeHtml","string","tagContent","isSelfClosing","generateTagsAsString","mapStateOnServer","_ref","_ref$title","base","link","meta","noscript","script","style","HelmetExport","Component","_class","_temp","_React$Component","HelmetWrapper","this","apply","subClass","superClass","create","setPrototypeOf","__proto__","inherits","shouldComponentUpdate","nextProps","isEqual","mapNestedChildrenToProps","child","nestedChildren","Error","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_ref2","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","children","_this2","Children","_child$props","initAttributes","convertReactPropstoHtmlAttributes","render","_props","set","canUseDOM","propTypes","PropTypes","object","oneOfType","arrayOf","node","defaultTitle","defer","bool","func","titleTemplate","defaultProps","peek","rewind","mappedState","Helmet","withSideEffect","renderStatic","ex","require","React__default","_defineProperty","module","exports","reducePropsToState","handleStateChangeOnClient","WrappedComponent","state","mountedInstances","emitChange","SideEffect","_PureComponent","recordedState","_proto","UNSAFE_componentWillMount","componentDidUpdate","componentWillUnmount","PureComponent","displayName","getDisplayName"],"mappings":"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","file":"static/js/0.8b8f1672.chunk.js","sourcesContent":["import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\n\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\n\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\n\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\n\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\n\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\n\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\n\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\n\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\n\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n }\n // Special case for innerHTML which doesn't work lowercased\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n });\n\n // Update seen tags with tags from this instance\n var keys = Object.keys(instanceSeenTags);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\n\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n\n updateTitle(title, titleAttributes);\n\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n\n var addedTags = {};\n var removedTags = {};\n\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n\n cb && cb();\n\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\");\n\n // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"</\" + type + \">\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps;\n\n // assigning into an array to define toString function on it\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = { __html: content };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, { title: title, titleAttributes: titleAttributes }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}</\" + child.type + \"> ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n\n\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\n\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\n\nexport default HelmetExport;\nexport { HelmetExport as Helmet };\n","'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["../node_modules/react-helmet/es/Helmet.js","../node_modules/react-side-effect/lib/index.js"],"names":["ATTRIBUTE_NAMES","TAG_NAMES","BASE","BODY","HEAD","HTML","LINK","META","NOSCRIPT","SCRIPT","STYLE","TITLE","TAG_PROPERTIES","Object","keys","map","name","REACT_TAG_MAP","accesskey","charset","class","contenteditable","contextmenu","itemprop","tabindex","HELMET_PROPS","HTML_TAG_MAP","reduce","obj","key","SELF_CLOSING_TAGS","HELMET_ATTRIBUTE","_typeof","Symbol","iterator","constructor","prototype","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","defineProperty","protoProps","staticProps","_extends","assign","arguments","source","hasOwnProperty","call","objectWithoutProperties","indexOf","possibleConstructorReturn","self","ReferenceError","encodeSpecialCharacters","str","encode","undefined","String","replace","getTitleFromPropsList","propsList","innermostTitle","getInnermostProperty","innermostTemplate","Array","isArray","join","innermostDefaultTitle","getOnChangeClientState","getAttributesFromPropsList","tagType","filter","tagAttrs","current","getBaseTagFromPropsList","primaryAttributes","reverse","innermostBaseTag","tag","lowerCaseAttributeKey","toLowerCase","concat","getTagsFromPropsList","tagName","approvedSeenTags","warn","approvedTags","instanceTags","instanceSeenTags","primaryAttributeKey","attributeKey","value","forEach","push","tagUnion","objectAssign","property","rafPolyfill","clock","Date","now","callback","currentTime","setTimeout","cafPolyfill","id","clearTimeout","requestAnimationFrame","window","bind","webkitRequestAnimationFrame","mozRequestAnimationFrame","global","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","msg","console","_helmetCallback","commitTagChanges","newState","cb","baseTag","bodyAttributes","htmlAttributes","linkTags","metaTags","noscriptTags","onChangeClientState","scriptTags","styleTags","title","titleAttributes","updateAttributes","updateTitle","tagUpdates","updateTags","addedTags","removedTags","_tagUpdates$tagType","newTags","oldTags","flattenArray","possibleArray","attributes","document","elementTag","getElementsByTagName","helmetAttributeString","getAttribute","helmetAttributes","split","attributesToRemove","attributeKeys","attribute","setAttribute","indexToSave","splice","_i","removeAttribute","type","tags","headElement","head","querySelector","tagNodes","querySelectorAll","slice","indexToDelete","newElement","createElement","innerHTML","styleSheet","cssText","appendChild","createTextNode","some","existingTag","index","isEqualNode","parentNode","removeChild","generateElementAttributesAsString","attr","convertElementAttributestoReactProps","initProps","getMethodsForTag","toComponent","_initProps","React","generateTitleAsReactComponent","toString","attributeString","flattenedTitle","generateTitleAsString","_mappedTag","mappedTag","mappedAttribute","content","dangerouslySetInnerHTML","__html","generateTagsAsReactComponent","attributeHtml","string","tagContent","isSelfClosing","generateTagsAsString","mapStateOnServer","_ref","_ref$title","base","link","meta","noscript","script","style","HelmetExport","Component","_class","_temp","_React$Component","HelmetWrapper","this","apply","subClass","superClass","create","setPrototypeOf","__proto__","inherits","shouldComponentUpdate","nextProps","isEqual","mapNestedChildrenToProps","child","nestedChildren","Error","flattenArrayTypeChildren","_babelHelpers$extends","arrayTypeChildren","newChildProps","mapObjectTypeChildren","_ref2","_babelHelpers$extends2","_babelHelpers$extends3","newProps","mapArrayTypeChildrenToProps","newFlattenedProps","arrayChildName","_babelHelpers$extends4","warnOnInvalidChildren","mapChildrenToProps","children","_this2","Children","_child$props","initAttributes","convertReactPropstoHtmlAttributes","render","_props","set","canUseDOM","propTypes","PropTypes","object","oneOfType","arrayOf","node","defaultTitle","defer","bool","func","titleTemplate","defaultProps","peek","rewind","mappedState","Helmet","withSideEffect","renderStatic","ex","require","React__default","_defineProperty","module","exports","reducePropsToState","handleStateChangeOnClient","WrappedComponent","state","mountedInstances","emitChange","SideEffect","_PureComponent","recordedState","_proto","UNSAFE_componentWillMount","componentDidUpdate","componentWillUnmount","PureComponent","displayName","getDisplayName"],"mappings":"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","file":"static/js/0.75bd4211.chunk.js","sourcesContent":["import PropTypes from 'prop-types';\nimport withSideEffect from 'react-side-effect';\nimport isEqual from 'react-fast-compare';\nimport React from 'react';\nimport objectAssign from 'object-assign';\n\nvar ATTRIBUTE_NAMES = {\n BODY: \"bodyAttributes\",\n HTML: \"htmlAttributes\",\n TITLE: \"titleAttributes\"\n};\n\nvar TAG_NAMES = {\n BASE: \"base\",\n BODY: \"body\",\n HEAD: \"head\",\n HTML: \"html\",\n LINK: \"link\",\n META: \"meta\",\n NOSCRIPT: \"noscript\",\n SCRIPT: \"script\",\n STYLE: \"style\",\n TITLE: \"title\"\n};\n\nvar VALID_TAG_NAMES = Object.keys(TAG_NAMES).map(function (name) {\n return TAG_NAMES[name];\n});\n\nvar TAG_PROPERTIES = {\n CHARSET: \"charset\",\n CSS_TEXT: \"cssText\",\n HREF: \"href\",\n HTTPEQUIV: \"http-equiv\",\n INNER_HTML: \"innerHTML\",\n ITEM_PROP: \"itemprop\",\n NAME: \"name\",\n PROPERTY: \"property\",\n REL: \"rel\",\n SRC: \"src\",\n TARGET: \"target\"\n};\n\nvar REACT_TAG_MAP = {\n accesskey: \"accessKey\",\n charset: \"charSet\",\n class: \"className\",\n contenteditable: \"contentEditable\",\n contextmenu: \"contextMenu\",\n \"http-equiv\": \"httpEquiv\",\n itemprop: \"itemProp\",\n tabindex: \"tabIndex\"\n};\n\nvar HELMET_PROPS = {\n DEFAULT_TITLE: \"defaultTitle\",\n DEFER: \"defer\",\n ENCODE_SPECIAL_CHARACTERS: \"encodeSpecialCharacters\",\n ON_CHANGE_CLIENT_STATE: \"onChangeClientState\",\n TITLE_TEMPLATE: \"titleTemplate\"\n};\n\nvar HTML_TAG_MAP = Object.keys(REACT_TAG_MAP).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key]] = key;\n return obj;\n}, {});\n\nvar SELF_CLOSING_TAGS = [TAG_NAMES.NOSCRIPT, TAG_NAMES.SCRIPT, TAG_NAMES.STYLE];\n\nvar HELMET_ATTRIBUTE = \"data-react-helmet\";\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar encodeSpecialCharacters = function encodeSpecialCharacters(str) {\n var encode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (encode === false) {\n return String(str);\n }\n\n return String(str).replace(/&/g, \"&\").replace(/</g, \"<\").replace(/>/g, \">\").replace(/\"/g, \""\").replace(/'/g, \"'\");\n};\n\nvar getTitleFromPropsList = function getTitleFromPropsList(propsList) {\n var innermostTitle = getInnermostProperty(propsList, TAG_NAMES.TITLE);\n var innermostTemplate = getInnermostProperty(propsList, HELMET_PROPS.TITLE_TEMPLATE);\n\n if (innermostTemplate && innermostTitle) {\n // use function arg to avoid need to escape $ characters\n return innermostTemplate.replace(/%s/g, function () {\n return Array.isArray(innermostTitle) ? innermostTitle.join(\"\") : innermostTitle;\n });\n }\n\n var innermostDefaultTitle = getInnermostProperty(propsList, HELMET_PROPS.DEFAULT_TITLE);\n\n return innermostTitle || innermostDefaultTitle || undefined;\n};\n\nvar getOnChangeClientState = function getOnChangeClientState(propsList) {\n return getInnermostProperty(propsList, HELMET_PROPS.ON_CHANGE_CLIENT_STATE) || function () {};\n};\n\nvar getAttributesFromPropsList = function getAttributesFromPropsList(tagType, propsList) {\n return propsList.filter(function (props) {\n return typeof props[tagType] !== \"undefined\";\n }).map(function (props) {\n return props[tagType];\n }).reduce(function (tagAttrs, current) {\n return _extends({}, tagAttrs, current);\n }, {});\n};\n\nvar getBaseTagFromPropsList = function getBaseTagFromPropsList(primaryAttributes, propsList) {\n return propsList.filter(function (props) {\n return typeof props[TAG_NAMES.BASE] !== \"undefined\";\n }).map(function (props) {\n return props[TAG_NAMES.BASE];\n }).reverse().reduce(function (innermostBaseTag, tag) {\n if (!innermostBaseTag.length) {\n var keys = Object.keys(tag);\n\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && tag[lowerCaseAttributeKey]) {\n return innermostBaseTag.concat(tag);\n }\n }\n }\n\n return innermostBaseTag;\n }, []);\n};\n\nvar getTagsFromPropsList = function getTagsFromPropsList(tagName, primaryAttributes, propsList) {\n // Calculate list of tags, giving priority innermost component (end of the propslist)\n var approvedSeenTags = {};\n\n return propsList.filter(function (props) {\n if (Array.isArray(props[tagName])) {\n return true;\n }\n if (typeof props[tagName] !== \"undefined\") {\n warn(\"Helmet: \" + tagName + \" should be of type \\\"Array\\\". Instead found type \\\"\" + _typeof(props[tagName]) + \"\\\"\");\n }\n return false;\n }).map(function (props) {\n return props[tagName];\n }).reverse().reduce(function (approvedTags, instanceTags) {\n var instanceSeenTags = {};\n\n instanceTags.filter(function (tag) {\n var primaryAttributeKey = void 0;\n var keys = Object.keys(tag);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var lowerCaseAttributeKey = attributeKey.toLowerCase();\n\n // Special rule with link tags, since rel and href are both primary tags, rel takes priority\n if (primaryAttributes.indexOf(lowerCaseAttributeKey) !== -1 && !(primaryAttributeKey === TAG_PROPERTIES.REL && tag[primaryAttributeKey].toLowerCase() === \"canonical\") && !(lowerCaseAttributeKey === TAG_PROPERTIES.REL && tag[lowerCaseAttributeKey].toLowerCase() === \"stylesheet\")) {\n primaryAttributeKey = lowerCaseAttributeKey;\n }\n // Special case for innerHTML which doesn't work lowercased\n if (primaryAttributes.indexOf(attributeKey) !== -1 && (attributeKey === TAG_PROPERTIES.INNER_HTML || attributeKey === TAG_PROPERTIES.CSS_TEXT || attributeKey === TAG_PROPERTIES.ITEM_PROP)) {\n primaryAttributeKey = attributeKey;\n }\n }\n\n if (!primaryAttributeKey || !tag[primaryAttributeKey]) {\n return false;\n }\n\n var value = tag[primaryAttributeKey].toLowerCase();\n\n if (!approvedSeenTags[primaryAttributeKey]) {\n approvedSeenTags[primaryAttributeKey] = {};\n }\n\n if (!instanceSeenTags[primaryAttributeKey]) {\n instanceSeenTags[primaryAttributeKey] = {};\n }\n\n if (!approvedSeenTags[primaryAttributeKey][value]) {\n instanceSeenTags[primaryAttributeKey][value] = true;\n return true;\n }\n\n return false;\n }).reverse().forEach(function (tag) {\n return approvedTags.push(tag);\n });\n\n // Update seen tags with tags from this instance\n var keys = Object.keys(instanceSeenTags);\n for (var i = 0; i < keys.length; i++) {\n var attributeKey = keys[i];\n var tagUnion = objectAssign({}, approvedSeenTags[attributeKey], instanceSeenTags[attributeKey]);\n\n approvedSeenTags[attributeKey] = tagUnion;\n }\n\n return approvedTags;\n }, []).reverse();\n};\n\nvar getInnermostProperty = function getInnermostProperty(propsList, property) {\n for (var i = propsList.length - 1; i >= 0; i--) {\n var props = propsList[i];\n\n if (props.hasOwnProperty(property)) {\n return props[property];\n }\n }\n\n return null;\n};\n\nvar reducePropsToState = function reducePropsToState(propsList) {\n return {\n baseTag: getBaseTagFromPropsList([TAG_PROPERTIES.HREF, TAG_PROPERTIES.TARGET], propsList),\n bodyAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.BODY, propsList),\n defer: getInnermostProperty(propsList, HELMET_PROPS.DEFER),\n encode: getInnermostProperty(propsList, HELMET_PROPS.ENCODE_SPECIAL_CHARACTERS),\n htmlAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.HTML, propsList),\n linkTags: getTagsFromPropsList(TAG_NAMES.LINK, [TAG_PROPERTIES.REL, TAG_PROPERTIES.HREF], propsList),\n metaTags: getTagsFromPropsList(TAG_NAMES.META, [TAG_PROPERTIES.NAME, TAG_PROPERTIES.CHARSET, TAG_PROPERTIES.HTTPEQUIV, TAG_PROPERTIES.PROPERTY, TAG_PROPERTIES.ITEM_PROP], propsList),\n noscriptTags: getTagsFromPropsList(TAG_NAMES.NOSCRIPT, [TAG_PROPERTIES.INNER_HTML], propsList),\n onChangeClientState: getOnChangeClientState(propsList),\n scriptTags: getTagsFromPropsList(TAG_NAMES.SCRIPT, [TAG_PROPERTIES.SRC, TAG_PROPERTIES.INNER_HTML], propsList),\n styleTags: getTagsFromPropsList(TAG_NAMES.STYLE, [TAG_PROPERTIES.CSS_TEXT], propsList),\n title: getTitleFromPropsList(propsList),\n titleAttributes: getAttributesFromPropsList(ATTRIBUTE_NAMES.TITLE, propsList)\n };\n};\n\nvar rafPolyfill = function () {\n var clock = Date.now();\n\n return function (callback) {\n var currentTime = Date.now();\n\n if (currentTime - clock > 16) {\n clock = currentTime;\n callback(currentTime);\n } else {\n setTimeout(function () {\n rafPolyfill(callback);\n }, 0);\n }\n };\n}();\n\nvar cafPolyfill = function cafPolyfill(id) {\n return clearTimeout(id);\n};\n\nvar requestAnimationFrame = typeof window !== \"undefined\" ? window.requestAnimationFrame && window.requestAnimationFrame.bind(window) || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || rafPolyfill : global.requestAnimationFrame || rafPolyfill;\n\nvar cancelAnimationFrame = typeof window !== \"undefined\" ? window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || cafPolyfill : global.cancelAnimationFrame || cafPolyfill;\n\nvar warn = function warn(msg) {\n return console && typeof console.warn === \"function\" && console.warn(msg);\n};\n\nvar _helmetCallback = null;\n\nvar handleClientStateChange = function handleClientStateChange(newState) {\n if (_helmetCallback) {\n cancelAnimationFrame(_helmetCallback);\n }\n\n if (newState.defer) {\n _helmetCallback = requestAnimationFrame(function () {\n commitTagChanges(newState, function () {\n _helmetCallback = null;\n });\n });\n } else {\n commitTagChanges(newState);\n _helmetCallback = null;\n }\n};\n\nvar commitTagChanges = function commitTagChanges(newState, cb) {\n var baseTag = newState.baseTag,\n bodyAttributes = newState.bodyAttributes,\n htmlAttributes = newState.htmlAttributes,\n linkTags = newState.linkTags,\n metaTags = newState.metaTags,\n noscriptTags = newState.noscriptTags,\n onChangeClientState = newState.onChangeClientState,\n scriptTags = newState.scriptTags,\n styleTags = newState.styleTags,\n title = newState.title,\n titleAttributes = newState.titleAttributes;\n\n updateAttributes(TAG_NAMES.BODY, bodyAttributes);\n updateAttributes(TAG_NAMES.HTML, htmlAttributes);\n\n updateTitle(title, titleAttributes);\n\n var tagUpdates = {\n baseTag: updateTags(TAG_NAMES.BASE, baseTag),\n linkTags: updateTags(TAG_NAMES.LINK, linkTags),\n metaTags: updateTags(TAG_NAMES.META, metaTags),\n noscriptTags: updateTags(TAG_NAMES.NOSCRIPT, noscriptTags),\n scriptTags: updateTags(TAG_NAMES.SCRIPT, scriptTags),\n styleTags: updateTags(TAG_NAMES.STYLE, styleTags)\n };\n\n var addedTags = {};\n var removedTags = {};\n\n Object.keys(tagUpdates).forEach(function (tagType) {\n var _tagUpdates$tagType = tagUpdates[tagType],\n newTags = _tagUpdates$tagType.newTags,\n oldTags = _tagUpdates$tagType.oldTags;\n\n\n if (newTags.length) {\n addedTags[tagType] = newTags;\n }\n if (oldTags.length) {\n removedTags[tagType] = tagUpdates[tagType].oldTags;\n }\n });\n\n cb && cb();\n\n onChangeClientState(newState, addedTags, removedTags);\n};\n\nvar flattenArray = function flattenArray(possibleArray) {\n return Array.isArray(possibleArray) ? possibleArray.join(\"\") : possibleArray;\n};\n\nvar updateTitle = function updateTitle(title, attributes) {\n if (typeof title !== \"undefined\" && document.title !== title) {\n document.title = flattenArray(title);\n }\n\n updateAttributes(TAG_NAMES.TITLE, attributes);\n};\n\nvar updateAttributes = function updateAttributes(tagName, attributes) {\n var elementTag = document.getElementsByTagName(tagName)[0];\n\n if (!elementTag) {\n return;\n }\n\n var helmetAttributeString = elementTag.getAttribute(HELMET_ATTRIBUTE);\n var helmetAttributes = helmetAttributeString ? helmetAttributeString.split(\",\") : [];\n var attributesToRemove = [].concat(helmetAttributes);\n var attributeKeys = Object.keys(attributes);\n\n for (var i = 0; i < attributeKeys.length; i++) {\n var attribute = attributeKeys[i];\n var value = attributes[attribute] || \"\";\n\n if (elementTag.getAttribute(attribute) !== value) {\n elementTag.setAttribute(attribute, value);\n }\n\n if (helmetAttributes.indexOf(attribute) === -1) {\n helmetAttributes.push(attribute);\n }\n\n var indexToSave = attributesToRemove.indexOf(attribute);\n if (indexToSave !== -1) {\n attributesToRemove.splice(indexToSave, 1);\n }\n }\n\n for (var _i = attributesToRemove.length - 1; _i >= 0; _i--) {\n elementTag.removeAttribute(attributesToRemove[_i]);\n }\n\n if (helmetAttributes.length === attributesToRemove.length) {\n elementTag.removeAttribute(HELMET_ATTRIBUTE);\n } else if (elementTag.getAttribute(HELMET_ATTRIBUTE) !== attributeKeys.join(\",\")) {\n elementTag.setAttribute(HELMET_ATTRIBUTE, attributeKeys.join(\",\"));\n }\n};\n\nvar updateTags = function updateTags(type, tags) {\n var headElement = document.head || document.querySelector(TAG_NAMES.HEAD);\n var tagNodes = headElement.querySelectorAll(type + \"[\" + HELMET_ATTRIBUTE + \"]\");\n var oldTags = Array.prototype.slice.call(tagNodes);\n var newTags = [];\n var indexToDelete = void 0;\n\n if (tags && tags.length) {\n tags.forEach(function (tag) {\n var newElement = document.createElement(type);\n\n for (var attribute in tag) {\n if (tag.hasOwnProperty(attribute)) {\n if (attribute === TAG_PROPERTIES.INNER_HTML) {\n newElement.innerHTML = tag.innerHTML;\n } else if (attribute === TAG_PROPERTIES.CSS_TEXT) {\n if (newElement.styleSheet) {\n newElement.styleSheet.cssText = tag.cssText;\n } else {\n newElement.appendChild(document.createTextNode(tag.cssText));\n }\n } else {\n var value = typeof tag[attribute] === \"undefined\" ? \"\" : tag[attribute];\n newElement.setAttribute(attribute, value);\n }\n }\n }\n\n newElement.setAttribute(HELMET_ATTRIBUTE, \"true\");\n\n // Remove a duplicate tag from domTagstoRemove, so it isn't cleared.\n if (oldTags.some(function (existingTag, index) {\n indexToDelete = index;\n return newElement.isEqualNode(existingTag);\n })) {\n oldTags.splice(indexToDelete, 1);\n } else {\n newTags.push(newElement);\n }\n });\n }\n\n oldTags.forEach(function (tag) {\n return tag.parentNode.removeChild(tag);\n });\n newTags.forEach(function (tag) {\n return headElement.appendChild(tag);\n });\n\n return {\n oldTags: oldTags,\n newTags: newTags\n };\n};\n\nvar generateElementAttributesAsString = function generateElementAttributesAsString(attributes) {\n return Object.keys(attributes).reduce(function (str, key) {\n var attr = typeof attributes[key] !== \"undefined\" ? key + \"=\\\"\" + attributes[key] + \"\\\"\" : \"\" + key;\n return str ? str + \" \" + attr : attr;\n }, \"\");\n};\n\nvar generateTitleAsString = function generateTitleAsString(type, title, attributes, encode) {\n var attributeString = generateElementAttributesAsString(attributes);\n var flattenedTitle = flattenArray(title);\n return attributeString ? \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeString + \">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\" : \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\">\" + encodeSpecialCharacters(flattenedTitle, encode) + \"</\" + type + \">\";\n};\n\nvar generateTagsAsString = function generateTagsAsString(type, tags, encode) {\n return tags.reduce(function (str, tag) {\n var attributeHtml = Object.keys(tag).filter(function (attribute) {\n return !(attribute === TAG_PROPERTIES.INNER_HTML || attribute === TAG_PROPERTIES.CSS_TEXT);\n }).reduce(function (string, attribute) {\n var attr = typeof tag[attribute] === \"undefined\" ? attribute : attribute + \"=\\\"\" + encodeSpecialCharacters(tag[attribute], encode) + \"\\\"\";\n return string ? string + \" \" + attr : attr;\n }, \"\");\n\n var tagContent = tag.innerHTML || tag.cssText || \"\";\n\n var isSelfClosing = SELF_CLOSING_TAGS.indexOf(type) === -1;\n\n return str + \"<\" + type + \" \" + HELMET_ATTRIBUTE + \"=\\\"true\\\" \" + attributeHtml + (isSelfClosing ? \"/>\" : \">\" + tagContent + \"</\" + type + \">\");\n }, \"\");\n};\n\nvar convertElementAttributestoReactProps = function convertElementAttributestoReactProps(attributes) {\n var initProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(attributes).reduce(function (obj, key) {\n obj[REACT_TAG_MAP[key] || key] = attributes[key];\n return obj;\n }, initProps);\n};\n\nvar convertReactPropstoHtmlAttributes = function convertReactPropstoHtmlAttributes(props) {\n var initAttributes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.keys(props).reduce(function (obj, key) {\n obj[HTML_TAG_MAP[key] || key] = props[key];\n return obj;\n }, initAttributes);\n};\n\nvar generateTitleAsReactComponent = function generateTitleAsReactComponent(type, title, attributes) {\n var _initProps;\n\n // assigning into an array to define toString function on it\n var initProps = (_initProps = {\n key: title\n }, _initProps[HELMET_ATTRIBUTE] = true, _initProps);\n var props = convertElementAttributestoReactProps(attributes, initProps);\n\n return [React.createElement(TAG_NAMES.TITLE, props, title)];\n};\n\nvar generateTagsAsReactComponent = function generateTagsAsReactComponent(type, tags) {\n return tags.map(function (tag, i) {\n var _mappedTag;\n\n var mappedTag = (_mappedTag = {\n key: i\n }, _mappedTag[HELMET_ATTRIBUTE] = true, _mappedTag);\n\n Object.keys(tag).forEach(function (attribute) {\n var mappedAttribute = REACT_TAG_MAP[attribute] || attribute;\n\n if (mappedAttribute === TAG_PROPERTIES.INNER_HTML || mappedAttribute === TAG_PROPERTIES.CSS_TEXT) {\n var content = tag.innerHTML || tag.cssText;\n mappedTag.dangerouslySetInnerHTML = { __html: content };\n } else {\n mappedTag[mappedAttribute] = tag[attribute];\n }\n });\n\n return React.createElement(type, mappedTag);\n });\n};\n\nvar getMethodsForTag = function getMethodsForTag(type, tags, encode) {\n switch (type) {\n case TAG_NAMES.TITLE:\n return {\n toComponent: function toComponent() {\n return generateTitleAsReactComponent(type, tags.title, tags.titleAttributes, encode);\n },\n toString: function toString() {\n return generateTitleAsString(type, tags.title, tags.titleAttributes, encode);\n }\n };\n case ATTRIBUTE_NAMES.BODY:\n case ATTRIBUTE_NAMES.HTML:\n return {\n toComponent: function toComponent() {\n return convertElementAttributestoReactProps(tags);\n },\n toString: function toString() {\n return generateElementAttributesAsString(tags);\n }\n };\n default:\n return {\n toComponent: function toComponent() {\n return generateTagsAsReactComponent(type, tags);\n },\n toString: function toString() {\n return generateTagsAsString(type, tags, encode);\n }\n };\n }\n};\n\nvar mapStateOnServer = function mapStateOnServer(_ref) {\n var baseTag = _ref.baseTag,\n bodyAttributes = _ref.bodyAttributes,\n encode = _ref.encode,\n htmlAttributes = _ref.htmlAttributes,\n linkTags = _ref.linkTags,\n metaTags = _ref.metaTags,\n noscriptTags = _ref.noscriptTags,\n scriptTags = _ref.scriptTags,\n styleTags = _ref.styleTags,\n _ref$title = _ref.title,\n title = _ref$title === undefined ? \"\" : _ref$title,\n titleAttributes = _ref.titleAttributes;\n return {\n base: getMethodsForTag(TAG_NAMES.BASE, baseTag, encode),\n bodyAttributes: getMethodsForTag(ATTRIBUTE_NAMES.BODY, bodyAttributes, encode),\n htmlAttributes: getMethodsForTag(ATTRIBUTE_NAMES.HTML, htmlAttributes, encode),\n link: getMethodsForTag(TAG_NAMES.LINK, linkTags, encode),\n meta: getMethodsForTag(TAG_NAMES.META, metaTags, encode),\n noscript: getMethodsForTag(TAG_NAMES.NOSCRIPT, noscriptTags, encode),\n script: getMethodsForTag(TAG_NAMES.SCRIPT, scriptTags, encode),\n style: getMethodsForTag(TAG_NAMES.STYLE, styleTags, encode),\n title: getMethodsForTag(TAG_NAMES.TITLE, { title: title, titleAttributes: titleAttributes }, encode)\n };\n};\n\nvar Helmet = function Helmet(Component) {\n var _class, _temp;\n\n return _temp = _class = function (_React$Component) {\n inherits(HelmetWrapper, _React$Component);\n\n function HelmetWrapper() {\n classCallCheck(this, HelmetWrapper);\n return possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n HelmetWrapper.prototype.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return !isEqual(this.props, nextProps);\n };\n\n HelmetWrapper.prototype.mapNestedChildrenToProps = function mapNestedChildrenToProps(child, nestedChildren) {\n if (!nestedChildren) {\n return null;\n }\n\n switch (child.type) {\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.NOSCRIPT:\n return {\n innerHTML: nestedChildren\n };\n\n case TAG_NAMES.STYLE:\n return {\n cssText: nestedChildren\n };\n }\n\n throw new Error(\"<\" + child.type + \" /> elements are self-closing and can not contain children. Refer to our API for more information.\");\n };\n\n HelmetWrapper.prototype.flattenArrayTypeChildren = function flattenArrayTypeChildren(_ref) {\n var _babelHelpers$extends;\n\n var child = _ref.child,\n arrayTypeChildren = _ref.arrayTypeChildren,\n newChildProps = _ref.newChildProps,\n nestedChildren = _ref.nestedChildren;\n\n return _extends({}, arrayTypeChildren, (_babelHelpers$extends = {}, _babelHelpers$extends[child.type] = [].concat(arrayTypeChildren[child.type] || [], [_extends({}, newChildProps, this.mapNestedChildrenToProps(child, nestedChildren))]), _babelHelpers$extends));\n };\n\n HelmetWrapper.prototype.mapObjectTypeChildren = function mapObjectTypeChildren(_ref2) {\n var _babelHelpers$extends2, _babelHelpers$extends3;\n\n var child = _ref2.child,\n newProps = _ref2.newProps,\n newChildProps = _ref2.newChildProps,\n nestedChildren = _ref2.nestedChildren;\n\n switch (child.type) {\n case TAG_NAMES.TITLE:\n return _extends({}, newProps, (_babelHelpers$extends2 = {}, _babelHelpers$extends2[child.type] = nestedChildren, _babelHelpers$extends2.titleAttributes = _extends({}, newChildProps), _babelHelpers$extends2));\n\n case TAG_NAMES.BODY:\n return _extends({}, newProps, {\n bodyAttributes: _extends({}, newChildProps)\n });\n\n case TAG_NAMES.HTML:\n return _extends({}, newProps, {\n htmlAttributes: _extends({}, newChildProps)\n });\n }\n\n return _extends({}, newProps, (_babelHelpers$extends3 = {}, _babelHelpers$extends3[child.type] = _extends({}, newChildProps), _babelHelpers$extends3));\n };\n\n HelmetWrapper.prototype.mapArrayTypeChildrenToProps = function mapArrayTypeChildrenToProps(arrayTypeChildren, newProps) {\n var newFlattenedProps = _extends({}, newProps);\n\n Object.keys(arrayTypeChildren).forEach(function (arrayChildName) {\n var _babelHelpers$extends4;\n\n newFlattenedProps = _extends({}, newFlattenedProps, (_babelHelpers$extends4 = {}, _babelHelpers$extends4[arrayChildName] = arrayTypeChildren[arrayChildName], _babelHelpers$extends4));\n });\n\n return newFlattenedProps;\n };\n\n HelmetWrapper.prototype.warnOnInvalidChildren = function warnOnInvalidChildren(child, nestedChildren) {\n if (process.env.NODE_ENV !== \"production\") {\n if (!VALID_TAG_NAMES.some(function (name) {\n return child.type === name;\n })) {\n if (typeof child.type === \"function\") {\n return warn(\"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.\");\n }\n\n return warn(\"Only elements types \" + VALID_TAG_NAMES.join(\", \") + \" are allowed. Helmet does not support rendering <\" + child.type + \"> elements. Refer to our API for more information.\");\n }\n\n if (nestedChildren && typeof nestedChildren !== \"string\" && (!Array.isArray(nestedChildren) || nestedChildren.some(function (nestedChild) {\n return typeof nestedChild !== \"string\";\n }))) {\n throw new Error(\"Helmet expects a string as a child of <\" + child.type + \">. Did you forget to wrap your children in braces? ( <\" + child.type + \">{``}</\" + child.type + \"> ) Refer to our API for more information.\");\n }\n }\n\n return true;\n };\n\n HelmetWrapper.prototype.mapChildrenToProps = function mapChildrenToProps(children, newProps) {\n var _this2 = this;\n\n var arrayTypeChildren = {};\n\n React.Children.forEach(children, function (child) {\n if (!child || !child.props) {\n return;\n }\n\n var _child$props = child.props,\n nestedChildren = _child$props.children,\n childProps = objectWithoutProperties(_child$props, [\"children\"]);\n\n var newChildProps = convertReactPropstoHtmlAttributes(childProps);\n\n _this2.warnOnInvalidChildren(child, nestedChildren);\n\n switch (child.type) {\n case TAG_NAMES.LINK:\n case TAG_NAMES.META:\n case TAG_NAMES.NOSCRIPT:\n case TAG_NAMES.SCRIPT:\n case TAG_NAMES.STYLE:\n arrayTypeChildren = _this2.flattenArrayTypeChildren({\n child: child,\n arrayTypeChildren: arrayTypeChildren,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n\n default:\n newProps = _this2.mapObjectTypeChildren({\n child: child,\n newProps: newProps,\n newChildProps: newChildProps,\n nestedChildren: nestedChildren\n });\n break;\n }\n });\n\n newProps = this.mapArrayTypeChildrenToProps(arrayTypeChildren, newProps);\n return newProps;\n };\n\n HelmetWrapper.prototype.render = function render() {\n var _props = this.props,\n children = _props.children,\n props = objectWithoutProperties(_props, [\"children\"]);\n\n var newProps = _extends({}, props);\n\n if (children) {\n newProps = this.mapChildrenToProps(children, newProps);\n }\n\n return React.createElement(Component, newProps);\n };\n\n createClass(HelmetWrapper, null, [{\n key: \"canUseDOM\",\n\n\n // Component.peek comes from react-side-effect:\n // For testing, you may use a static peek() method available on the returned component.\n // It lets you get the current state without resetting the mounted instance stack.\n // Don’t use it for anything other than testing.\n\n /**\n * @param {Object} base: {\"target\": \"_blank\", \"href\": \"http://mysite.com/\"}\n * @param {Object} bodyAttributes: {\"className\": \"root\"}\n * @param {String} defaultTitle: \"Default Title\"\n * @param {Boolean} defer: true\n * @param {Boolean} encodeSpecialCharacters: true\n * @param {Object} htmlAttributes: {\"lang\": \"en\", \"amp\": undefined}\n * @param {Array} link: [{\"rel\": \"canonical\", \"href\": \"http://mysite.com/example\"}]\n * @param {Array} meta: [{\"name\": \"description\", \"content\": \"Test description\"}]\n * @param {Array} noscript: [{\"innerHTML\": \"<img src='http://mysite.com/js/test.js'\"}]\n * @param {Function} onChangeClientState: \"(newState) => console.log(newState)\"\n * @param {Array} script: [{\"type\": \"text/javascript\", \"src\": \"http://mysite.com/js/test.js\"}]\n * @param {Array} style: [{\"type\": \"text/css\", \"cssText\": \"div { display: block; color: blue; }\"}]\n * @param {String} title: \"Title\"\n * @param {Object} titleAttributes: {\"itemprop\": \"name\"}\n * @param {String} titleTemplate: \"MySite.com - %s\"\n */\n set: function set$$1(canUseDOM) {\n Component.canUseDOM = canUseDOM;\n }\n }]);\n return HelmetWrapper;\n }(React.Component), _class.propTypes = {\n base: PropTypes.object,\n bodyAttributes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n defaultTitle: PropTypes.string,\n defer: PropTypes.bool,\n encodeSpecialCharacters: PropTypes.bool,\n htmlAttributes: PropTypes.object,\n link: PropTypes.arrayOf(PropTypes.object),\n meta: PropTypes.arrayOf(PropTypes.object),\n noscript: PropTypes.arrayOf(PropTypes.object),\n onChangeClientState: PropTypes.func,\n script: PropTypes.arrayOf(PropTypes.object),\n style: PropTypes.arrayOf(PropTypes.object),\n title: PropTypes.string,\n titleAttributes: PropTypes.object,\n titleTemplate: PropTypes.string\n }, _class.defaultProps = {\n defer: true,\n encodeSpecialCharacters: true\n }, _class.peek = Component.peek, _class.rewind = function () {\n var mappedState = Component.rewind();\n if (!mappedState) {\n // provide fallback if mappedState is undefined\n mappedState = mapStateOnServer({\n baseTag: [],\n bodyAttributes: {},\n encodeSpecialCharacters: true,\n htmlAttributes: {},\n linkTags: [],\n metaTags: [],\n noscriptTags: [],\n scriptTags: [],\n styleTags: [],\n title: \"\",\n titleAttributes: {}\n });\n }\n\n return mappedState;\n }, _temp;\n};\n\nvar NullComponent = function NullComponent() {\n return null;\n};\n\nvar HelmetSideEffects = withSideEffect(reducePropsToState, handleClientStateChange, mapStateOnServer)(NullComponent);\n\nvar HelmetExport = Helmet(HelmetSideEffects);\nHelmetExport.renderStatic = HelmetExport.rewind;\n\nexport default HelmetExport;\nexport { HelmetExport as Helmet };\n","'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar React = require('react');\nvar React__default = _interopDefault(React);\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient, mapStateOnServer) {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n\n if (typeof mapStateOnServer !== 'undefined' && typeof mapStateOnServer !== 'function') {\n throw new Error('Expected mapStateOnServer to either be undefined or a function.');\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n\n if (SideEffect.canUseDOM) {\n handleStateChangeOnClient(state);\n } else if (mapStateOnServer) {\n state = mapStateOnServer(state);\n }\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n // Expose canUseDOM so tests can monkeypatch it\n SideEffect.peek = function peek() {\n return state;\n };\n\n SideEffect.rewind = function rewind() {\n if (SideEffect.canUseDOM) {\n throw new Error('You may only call rewind() on the server. Call peek() to read the current state.');\n }\n\n var recordedState = state;\n state = undefined;\n mountedInstances = [];\n return recordedState;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.UNSAFE_componentWillMount = function UNSAFE_componentWillMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React__default.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(React.PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n _defineProperty(SideEffect, \"canUseDOM\", canUseDOM);\n\n return SideEffect;\n };\n}\n\nmodule.exports = withSideEffect;\n"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[]).push([[11],{246:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var s=r(0),i=r(262),n={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"}}},a=r(122),o=r(1),c=function(e){var t=e.children,r=e.meta,c=e.pageName,l=Object(a.b)(n[c]);Object(s.useEffect)((function(){l()}),[l]);var u=r.suffix,d=void 0===u||u,h=r.title,b=r.description,p=d?"".concat(h," - Construct Hub"):h;return Object(o.jsxs)(o.Fragment,{children:[Object(o.jsxs)(i.a,{children:[!1,Object(o.jsx)("meta",{content:"width=device-width, initial-scale=1",name:"viewport"}),Object(o.jsx)("meta",{charSet:"utf-8"}),Object(o.jsx)("title",{children:p}),Object(o.jsx)("meta",{content:p,property:"og:title"}),Object(o.jsx)("meta",{content:p,name:"twitter:title"}),Object(o.jsx)("meta",{content:"summary",name:"twitter:card"}),Object(o.jsx)("meta",{content:b,name:"description"}),Object(o.jsx)("meta",{content:b,property:"og:description"}),Object(o.jsx)("meta",{content:b,name:"twitter:description"})]}),t]})}},335:function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return o})),r.d(t,"c",(function(){return u})),r.d(t,"d",(function(){return h})),r.d(t,"e",(function(){return b})),r.d(t,"f",(function(){return m}));var s=r(203),i=r(1),n=function(e){var t=e.children;return Object(i.jsxs)(s.a,{bg:"white",color:"blue.800",h:"100%",w:"100%",children:[t,Object(i.jsx)(s.a,{py:5,width:"100%"})]})},a=r(223),o=function(e){var t=e.children;return Object(i.jsx)(s.a,{bg:"gray.50",py:20,width:"100%",children:Object(i.jsx)(a.a,{as:"h1",mx:"auto",textAlign:"center",children:t})})},c=r(237),l=r(207),u=function(e){var t=e.question,r=e.children;return Object(i.jsxs)(c.d,{children:[Object(i.jsxs)(c.b,{children:[Object(i.jsx)(s.a,{flex:"1",py:2,textAlign:"left",children:Object(i.jsx)(a.a,{as:"h3",ml:8,size:"sm",children:t})}),Object(i.jsx)(c.c,{})]}),Object(i.jsx)(c.e,{px:12,py:4,children:Object(i.jsx)(l.a,{color:"blue.800",fontSize:"md",sx:{p:{marginTop:"0",marginBottom:"4"}},children:r})})]})},d=r(51),h=function(e){var t=e.href,r=e.children;return Object(i.jsx)(d.a,{color:"inherit",hasWarning:!1,href:t,textDecoration:"underline",children:r})},b=function(e){var t=e.heading,r=e.children;return Object(i.jsxs)(c.d,{children:[Object(i.jsxs)(c.b,{children:[Object(i.jsx)(s.a,{flex:"1",textAlign:"left",children:Object(i.jsx)(a.a,{as:"h2",ml:4,my:4,size:"lg",children:t})}),Object(i.jsx)(c.c,{})]}),Object(i.jsx)(c.e,{p:0,children:Object(i.jsx)(c.a,{allowMultiple:!0,w:"100%",children:r})})]})},p=r(6),j=r(24),y=["children"],m=function(e){var t=e.children,r=Object(j.a)(e,y);return Object(i.jsx)(c.a,Object(p.a)(Object(p.a)({allowMultiple:!0},r),{},{children:t}))}},651:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return u}));var s=r(237),i=r(207),n=r(222),a=r(335),o=r(246),c=r(58),l=r(1),u=function(){return Object(l.jsx)(o.a,{meta:{description:"Learn about contributing to Construct Hub.",title:"Contribute"},pageName:"contribute",children:Object(l.jsxs)(a.a,{children:[Object(l.jsx)(a.b,{children:"Contributing to Construct Hub"}),Object(l.jsxs)(s.a,{allowMultiple:!0,allowToggle:!0,defaultIndex:[0],children:[Object(l.jsxs)(a.c,{question:"How can I add my construct to Construct Hub?",children:[Object(l.jsxs)(i.a,{children:["Constructs intended for Construct Hub must be published to the"," ",Object(l.jsx)(a.d,{href:"https://www.npmjs.com/",children:"npm Registry"})," under a permissive license (such as Apache, BSD, EPL, MPL-2.0, ISC and CDDL or MIT) and annotated with a keyword recognized by Construct Hub (awscdk, cdk8s, or cdktf)."]}),Object(l.jsxs)(i.a,{children:["Additionally, since one of the main goals of Construct Hub is to enable an ecosystem of constructs that can be consumed by all CDK languages, your library ",Object(l.jsx)("strong",{children:"must"})," be compiled with"," ",Object(l.jsx)(a.d,{href:"https://aws.github.io/jsii/",children:"JSII"}),", a TypeScript-based tool for building multi-language libraries. Construct Hub leverages the type information produced by the JSII compiler to render a rich multi-language API reference for each construct."]}),Object(l.jsxs)(i.a,{children:["Construct Hub continuously monitors the npm Registry. Packages that meet the above requirements appear in Construct Hub in about 5-10 minutes. If your package does not appear in Construct Hub, but meets these requirements, please file an issue against our"," ",Object(l.jsx)(a.d,{href:"".concat(c.a,"/issues/new"),children:"GitHub repository."})]}),Object(l.jsxs)(i.a,{children:["The community has provided some great resources about publishing construct libraries that meet Construct Hub requirements. For example, see"," ",Object(l.jsxs)(a.d,{href:"https://dev.to/aws-builders/a-beginner-s-guide-to-create-aws-cdk-construct-library-with-projen-5eh4",children:["\u201cA Beginner's Guide to Create AWS CDK ConstructLibrary with"," ","projen\u201d"]})," ","by ",Object(l.jsx)(a.d,{href:"https://hayao-k.dev/",children:"hayao-k"}),"."]}),Object(l.jsxs)(i.a,{children:["If you already have a library written in TypeScript and want to migrate it to JSII so it can be included in Construct Hub, see the"," ",Object(l.jsx)(a.d,{href:"https://aws.github.io/jsii/user-guides/#library-author-guide",children:"JSII library author guide."})]})]}),Object(l.jsxs)(a.c,{question:"What are the best practices for improving discoverability of a construct library on Construct Hub?",children:[Object(l.jsx)(i.a,{children:"To improve your construct library\u2019s visibility on Construct Hub, follow these best practices:"}),Object(l.jsxs)(n.b,{sx:{li:{mt:4}},children:[Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Helpful description."})," Publish your library with a description. Libraries without description have lower chances to be discovered by users. When you write your library\u2019s description, think: Why would someone use it? What makes it unique? Make the description as accurate and differentiated as possible."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Helpful keywords."})," Publish your library with helpful keywords, ones that can help potential users to find your package. Helpful keywords can be technologies that are being used by the library, use cases the library is useful for, service names that are being used by the library etc. For example: \u2018Monitoring\u2019, \u2018Kubernetes\u2019, \u2018Cost Management\u2019, \u2018Websites\u2019, \u2018AI\u2019, \u2018Containers\u2019 and more."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Helpful keywords."})," Publish your library with helpful keywords, ones that can help potential users to find your package. Helpful keywords can be technologies that are being used by the library, use cases the library is useful for, service names that are being used by the library etc. For example: \u2018Monitoring\u2019, \u2018Kubernetes\u2019, \u2018Cost Management\u2019, \u2018Websites\u2019, \u2018AI\u2019, \u2018Containers\u2019 and more."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Helpful README."})," Review your library\u2019s README file. Is it developer-friendly? That is, can developers quickly understand the use case you\u2019re trying to solve? Does your README make it easy to get started with your library? Does it explain how your library is different from other libraries? Is it easy to understand at first glance the value developers gain from the library? For more information see *\u201cQ: What are the best practices for a developer-friendly README file?\u201d.*"]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"API documentation."})," Document the library classes, methods, properties in the library\u2019s code. Construct Hub will display this information when it automatically generates the API documentation."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Maintain your library."})," Developers prefer libraries that are updated on a regular basis. Our experience shows that successful libraries are those where publishers engage and collaborate with the user community, respond to issues and pull requests, fix bugs, and add capabilities. To gain more developers trust, maintain the releases section on your code repository and make sure to describe the changes between different releases. You may consider to link the libraries you\u2019ve published with your code repository."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"AWS Partner Network (APN) badge."})," If you\u2019re an AWS partner and you are publishing a library for your offering, please reach out to us and we will be happy to add a badge to your libraries with your company\u2019s name."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Enable support for multiple programming languages."})," ","Make your library usable by a broader set of users and increase its value to the ecosystem. Starting with your library written in TypeScript, JSII will create packages in the other CDK programming languages. Construct Hub will then automatically generate API reference and transliterate code samples. All you need to do is to follow the instructions under *\u201cQ: How can I add my construct to Construct Hub?\u201d.*"]})]})]}),Object(l.jsxs)(a.c,{question:"What are the best practices for writing a developer-friendly README file?",children:[Object(l.jsx)(i.a,{children:"Developer-friendly READMEs help readers quickly understand your library\u2019s relevance to their needs and its unique value in comparison to similar libraries on the Construct Hub. Below is a suggestion for a README file structure:"}),Object(l.jsxs)(n.c,{sx:{li:{mt:4}},children:[Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"State and maturity of the library."})," Start your READMEs with helpful badges like"," ",Object(l.jsx)(a.d,{href:"https://www.npmjs.com/package/cdk-codepipeline-badge-notification",children:"CDK pipelines badges"}),". It will help users see the state of your package."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Short description"}),". What does this library do? Which use case does it solve? Which technologies and services does it use or support?"]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"What is unique about this library?"})," Help readers quickly find the right library for their needs by stating its special advantages right up front. How does it compare to other libraries addressing the same need or that use the same technologies and services? You don\u2019t need an explicit \u201cus vs. them\u201d feature checklist; just make sure you communicate your library\u2019s unique value."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Code samples."})," Include as many complete and working code samples as you can to help developers quickly understand how they can use your library. Some developers start reading code samples before anything else. Write your code samples in TypeScript, and Construct Hub will transliterate them to the other programming languages your library supports. A good practice is to include a minimal code sample of how to use your library in the first page of your README."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Author information."})," Share information about you, other packages you\u2019ve published, and additional helpful links that can improve your credibility with readers."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"License and support."})," Include a \u201cLicense\u201d and \u201cContributing\u201d sections that invite users to contribute via links to your source code repository and issue tracker. (Construct Hub provides \u201cLicense\u201d and \u201cProvide Feedback\u201d in your library\u2019s package page, but it\u2019s convenient to have them in the README too.)"]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Diagrams."})," Diagrams always help readers quickly understand what a library does. Consider adding diagrams for libraries that create multiple services that work together."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Explanatory videos."})," Consider sharing links to videos that can help potential customers engage with your library."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Absolute links vs. relative."})," Use absolute links (those that start with http:// or https://) and not relative links. Relative links are prone to breaking when the content is shared elsewhere."]})]})]}),Object(l.jsx)(a.c,{question:"Why isn\u2019t my package displayed on Construct Hub?",children:Object(l.jsxs)(i.a,{children:["Construct Hub includes publicly-available constructs that are JSII-compatible and that were published to the npm Registry with a permissive open-source license and a CDK keyword: aws-cdk, cdk8s, or cdktf. If you believe your package qualifies, but it still does not appear in Construct Hub, please raise an issue"," ",Object(l.jsx)(a.d,{href:"".concat(c.a,"/issues/new"),children:"here"}),"."]})}),Object(l.jsx)(a.c,{question:"Can I update my package after it has been displayed?",children:Object(l.jsx)(i.a,{children:"Yes, you can and should! After you publish a new valid version to the public npm Registry, it should appear on Construct Hub in about 5-10 minutes."})}),Object(l.jsx)(a.c,{question:"How can I report a bug or contribute code to a construct?",children:Object(l.jsx)(i.a,{children:"Each package is owned by its publisher, so contributions, such as bug reports and pull requests, should be made via the repository link provided by the publisher. You may press the \u2018Provide feedback\u2019 link at the package page to open a new issue in at the package\u2019s repository."})}),Object(l.jsxs)(a.c,{question:"How can I participate in link the Construct Hub community?",children:["Construct Hub is itself an open-source construct! Join the"," ",Object(l.jsx)(a.d,{href:"https://github.com/cdklabs/construct-hub",children:"Construct Hub GitHub community"}),". You are also welcome to join the #construct-hub-dev channel in the"," ",Object(l.jsx)(a.d,{href:"https://cdk.dev/",children:"CDK community Slack workspace"})]}),Object(l.jsx)(a.c,{question:"Is there a Slack channel for the CDK community?",children:Object(l.jsxs)(i.a,{children:["Please join the"," ",Object(l.jsx)(a.d,{href:"https://cdk.dev/",children:"CDK Slack channel"}),". This Slack channel is managed by the CDK community, for the CDK community."]})})]})]})})}}}]);
|
|
2
|
-
//# sourceMappingURL=11.
|
|
1
|
+
(this["webpackJsonpconstruct-hub-webapp"]=this["webpackJsonpconstruct-hub-webapp"]||[]).push([[11],{246:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var s=r(0),i=r(263),n={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"}}},a=r(122),o=r(1),c=function(e){var t=e.children,r=e.meta,c=e.pageName,l=Object(a.b)(n[c]);Object(s.useEffect)((function(){l()}),[l]);var u=r.suffix,d=void 0===u||u,h=r.title,b=r.description,p=d?"".concat(h," - Construct Hub"):h;return Object(o.jsxs)(o.Fragment,{children:[Object(o.jsxs)(i.a,{children:[!1,Object(o.jsx)("meta",{content:"width=device-width, initial-scale=1",name:"viewport"}),Object(o.jsx)("meta",{charSet:"utf-8"}),Object(o.jsx)("title",{children:p}),Object(o.jsx)("meta",{content:p,property:"og:title"}),Object(o.jsx)("meta",{content:p,name:"twitter:title"}),Object(o.jsx)("meta",{content:"summary",name:"twitter:card"}),Object(o.jsx)("meta",{content:b,name:"description"}),Object(o.jsx)("meta",{content:b,property:"og:description"}),Object(o.jsx)("meta",{content:b,name:"twitter:description"})]}),t]})}},335:function(e,t,r){"use strict";r.d(t,"a",(function(){return n})),r.d(t,"b",(function(){return o})),r.d(t,"c",(function(){return u})),r.d(t,"d",(function(){return h})),r.d(t,"e",(function(){return b})),r.d(t,"f",(function(){return m}));var s=r(203),i=r(1),n=function(e){var t=e.children;return Object(i.jsxs)(s.a,{bg:"white",color:"blue.800",h:"100%",w:"100%",children:[t,Object(i.jsx)(s.a,{py:5,width:"100%"})]})},a=r(223),o=function(e){var t=e.children;return Object(i.jsx)(s.a,{bg:"gray.50",py:20,width:"100%",children:Object(i.jsx)(a.a,{as:"h1",mx:"auto",textAlign:"center",children:t})})},c=r(237),l=r(207),u=function(e){var t=e.question,r=e.children;return Object(i.jsxs)(c.d,{children:[Object(i.jsxs)(c.b,{children:[Object(i.jsx)(s.a,{flex:"1",py:2,textAlign:"left",children:Object(i.jsx)(a.a,{as:"h3",ml:8,size:"sm",children:t})}),Object(i.jsx)(c.c,{})]}),Object(i.jsx)(c.e,{px:12,py:4,children:Object(i.jsx)(l.a,{color:"blue.800",fontSize:"md",sx:{p:{marginTop:"0",marginBottom:"4"}},children:r})})]})},d=r(51),h=function(e){var t=e.href,r=e.children;return Object(i.jsx)(d.a,{color:"inherit",hasWarning:!1,href:t,textDecoration:"underline",children:r})},b=function(e){var t=e.heading,r=e.children;return Object(i.jsxs)(c.d,{children:[Object(i.jsxs)(c.b,{children:[Object(i.jsx)(s.a,{flex:"1",textAlign:"left",children:Object(i.jsx)(a.a,{as:"h2",ml:4,my:4,size:"lg",children:t})}),Object(i.jsx)(c.c,{})]}),Object(i.jsx)(c.e,{p:0,children:Object(i.jsx)(c.a,{allowMultiple:!0,w:"100%",children:r})})]})},p=r(6),j=r(24),y=["children"],m=function(e){var t=e.children,r=Object(j.a)(e,y);return Object(i.jsx)(c.a,Object(p.a)(Object(p.a)({allowMultiple:!0},r),{},{children:t}))}},651:function(e,t,r){"use strict";r.r(t),r.d(t,"default",(function(){return u}));var s=r(237),i=r(207),n=r(222),a=r(335),o=r(246),c=r(58),l=r(1),u=function(){return Object(l.jsx)(o.a,{meta:{description:"Learn about contributing to Construct Hub.",title:"Contribute"},pageName:"contribute",children:Object(l.jsxs)(a.a,{children:[Object(l.jsx)(a.b,{children:"Contributing to Construct Hub"}),Object(l.jsxs)(s.a,{allowMultiple:!0,allowToggle:!0,defaultIndex:[0],children:[Object(l.jsxs)(a.c,{question:"How can I add my construct to Construct Hub?",children:[Object(l.jsxs)(i.a,{children:["Constructs intended for Construct Hub must be published to the"," ",Object(l.jsx)(a.d,{href:"https://www.npmjs.com/",children:"npm Registry"})," under a permissive license (such as Apache, BSD, EPL, MPL-2.0, ISC and CDDL or MIT) and annotated with a keyword recognized by Construct Hub (awscdk, cdk8s, or cdktf)."]}),Object(l.jsxs)(i.a,{children:["Additionally, since one of the main goals of Construct Hub is to enable an ecosystem of constructs that can be consumed by all CDK languages, your library ",Object(l.jsx)("strong",{children:"must"})," be compiled with"," ",Object(l.jsx)(a.d,{href:"https://aws.github.io/jsii/",children:"JSII"}),", a TypeScript-based tool for building multi-language libraries. Construct Hub leverages the type information produced by the JSII compiler to render a rich multi-language API reference for each construct."]}),Object(l.jsxs)(i.a,{children:["Construct Hub continuously monitors the npm Registry. Packages that meet the above requirements appear in Construct Hub in about 5-10 minutes. If your package does not appear in Construct Hub, but meets these requirements, please file an issue against our"," ",Object(l.jsx)(a.d,{href:"".concat(c.a,"/issues/new"),children:"GitHub repository."})]}),Object(l.jsxs)(i.a,{children:["The community has provided some great resources about publishing construct libraries that meet Construct Hub requirements. For example, see"," ",Object(l.jsxs)(a.d,{href:"https://dev.to/aws-builders/a-beginner-s-guide-to-create-aws-cdk-construct-library-with-projen-5eh4",children:["\u201cA Beginner's Guide to Create AWS CDK ConstructLibrary with"," ","projen\u201d"]})," ","by ",Object(l.jsx)(a.d,{href:"https://hayao-k.dev/",children:"hayao-k"}),"."]}),Object(l.jsxs)(i.a,{children:["If you already have a library written in TypeScript and want to migrate it to JSII so it can be included in Construct Hub, see the"," ",Object(l.jsx)(a.d,{href:"https://aws.github.io/jsii/user-guides/#library-author-guide",children:"JSII library author guide."})]})]}),Object(l.jsxs)(a.c,{question:"What are the best practices for improving discoverability of a construct library on Construct Hub?",children:[Object(l.jsx)(i.a,{children:"To improve your construct library\u2019s visibility on Construct Hub, follow these best practices:"}),Object(l.jsxs)(n.b,{sx:{li:{mt:4}},children:[Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Helpful description."})," Publish your library with a description. Libraries without description have lower chances to be discovered by users. When you write your library\u2019s description, think: Why would someone use it? What makes it unique? Make the description as accurate and differentiated as possible."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Helpful keywords."})," Publish your library with helpful keywords, ones that can help potential users to find your package. Helpful keywords can be technologies that are being used by the library, use cases the library is useful for, service names that are being used by the library etc. For example: \u2018Monitoring\u2019, \u2018Kubernetes\u2019, \u2018Cost Management\u2019, \u2018Websites\u2019, \u2018AI\u2019, \u2018Containers\u2019 and more."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Helpful keywords."})," Publish your library with helpful keywords, ones that can help potential users to find your package. Helpful keywords can be technologies that are being used by the library, use cases the library is useful for, service names that are being used by the library etc. For example: \u2018Monitoring\u2019, \u2018Kubernetes\u2019, \u2018Cost Management\u2019, \u2018Websites\u2019, \u2018AI\u2019, \u2018Containers\u2019 and more."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Helpful README."})," Review your library\u2019s README file. Is it developer-friendly? That is, can developers quickly understand the use case you\u2019re trying to solve? Does your README make it easy to get started with your library? Does it explain how your library is different from other libraries? Is it easy to understand at first glance the value developers gain from the library? For more information see *\u201cQ: What are the best practices for a developer-friendly README file?\u201d.*"]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"API documentation."})," Document the library classes, methods, properties in the library\u2019s code. Construct Hub will display this information when it automatically generates the API documentation."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Maintain your library."})," Developers prefer libraries that are updated on a regular basis. Our experience shows that successful libraries are those where publishers engage and collaborate with the user community, respond to issues and pull requests, fix bugs, and add capabilities. To gain more developers trust, maintain the releases section on your code repository and make sure to describe the changes between different releases. You may consider to link the libraries you\u2019ve published with your code repository."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"AWS Partner Network (APN) badge."})," If you\u2019re an AWS partner and you are publishing a library for your offering, please reach out to us and we will be happy to add a badge to your libraries with your company\u2019s name."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Enable support for multiple programming languages."})," ","Make your library usable by a broader set of users and increase its value to the ecosystem. Starting with your library written in TypeScript, JSII will create packages in the other CDK programming languages. Construct Hub will then automatically generate API reference and transliterate code samples. All you need to do is to follow the instructions under *\u201cQ: How can I add my construct to Construct Hub?\u201d.*"]})]})]}),Object(l.jsxs)(a.c,{question:"What are the best practices for writing a developer-friendly README file?",children:[Object(l.jsx)(i.a,{children:"Developer-friendly READMEs help readers quickly understand your library\u2019s relevance to their needs and its unique value in comparison to similar libraries on the Construct Hub. Below is a suggestion for a README file structure:"}),Object(l.jsxs)(n.c,{sx:{li:{mt:4}},children:[Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"State and maturity of the library."})," Start your READMEs with helpful badges like"," ",Object(l.jsx)(a.d,{href:"https://www.npmjs.com/package/cdk-codepipeline-badge-notification",children:"CDK pipelines badges"}),". It will help users see the state of your package."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Short description"}),". What does this library do? Which use case does it solve? Which technologies and services does it use or support?"]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"What is unique about this library?"})," Help readers quickly find the right library for their needs by stating its special advantages right up front. How does it compare to other libraries addressing the same need or that use the same technologies and services? You don\u2019t need an explicit \u201cus vs. them\u201d feature checklist; just make sure you communicate your library\u2019s unique value."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Code samples."})," Include as many complete and working code samples as you can to help developers quickly understand how they can use your library. Some developers start reading code samples before anything else. Write your code samples in TypeScript, and Construct Hub will transliterate them to the other programming languages your library supports. A good practice is to include a minimal code sample of how to use your library in the first page of your README."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Author information."})," Share information about you, other packages you\u2019ve published, and additional helpful links that can improve your credibility with readers."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"License and support."})," Include a \u201cLicense\u201d and \u201cContributing\u201d sections that invite users to contribute via links to your source code repository and issue tracker. (Construct Hub provides \u201cLicense\u201d and \u201cProvide Feedback\u201d in your library\u2019s package page, but it\u2019s convenient to have them in the README too.)"]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Diagrams."})," Diagrams always help readers quickly understand what a library does. Consider adding diagrams for libraries that create multiple services that work together."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Explanatory videos."})," Consider sharing links to videos that can help potential customers engage with your library."]}),Object(l.jsxs)(n.a,{children:[Object(l.jsx)("strong",{children:"Absolute links vs. relative."})," Use absolute links (those that start with http:// or https://) and not relative links. Relative links are prone to breaking when the content is shared elsewhere."]})]})]}),Object(l.jsx)(a.c,{question:"Why isn\u2019t my package displayed on Construct Hub?",children:Object(l.jsxs)(i.a,{children:["Construct Hub includes publicly-available constructs that are JSII-compatible and that were published to the npm Registry with a permissive open-source license and a CDK keyword: aws-cdk, cdk8s, or cdktf. If you believe your package qualifies, but it still does not appear in Construct Hub, please raise an issue"," ",Object(l.jsx)(a.d,{href:"".concat(c.a,"/issues/new"),children:"here"}),"."]})}),Object(l.jsx)(a.c,{question:"Can I update my package after it has been displayed?",children:Object(l.jsx)(i.a,{children:"Yes, you can and should! After you publish a new valid version to the public npm Registry, it should appear on Construct Hub in about 5-10 minutes."})}),Object(l.jsx)(a.c,{question:"How can I report a bug or contribute code to a construct?",children:Object(l.jsx)(i.a,{children:"Each package is owned by its publisher, so contributions, such as bug reports and pull requests, should be made via the repository link provided by the publisher. You may press the \u2018Provide feedback\u2019 link at the package page to open a new issue in at the package\u2019s repository."})}),Object(l.jsxs)(a.c,{question:"How can I participate in link the Construct Hub community?",children:["Construct Hub is itself an open-source construct! Join the"," ",Object(l.jsx)(a.d,{href:"https://github.com/cdklabs/construct-hub",children:"Construct Hub GitHub community"}),". You are also welcome to join the #construct-hub-dev channel in the"," ",Object(l.jsx)(a.d,{href:"https://cdk.dev/",children:"CDK community Slack workspace"})]}),Object(l.jsx)(a.c,{question:"Is there a Slack channel for the CDK community?",children:Object(l.jsxs)(i.a,{children:["Please join the"," ",Object(l.jsx)(a.d,{href:"https://cdk.dev/",children:"CDK Slack channel"}),". This Slack channel is managed by the CDK community, for the CDK community."]})})]})]})})}}}]);
|
|
2
|
+
//# sourceMappingURL=11.95a7aff0.chunk.js.map
|