var t=require("react"),e=require("prop-types"),r=require("react-fast-compare"),n=require("invariant"),i=require("shallowequal");function a(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var o=/*#__PURE__*/a(t),u=/*#__PURE__*/a(e),s=/*#__PURE__*/a(r),c=/*#__PURE__*/a(n),l=/*#__PURE__*/a(i);function f(){return f=Object.assign||function(t){for(var e=1;e=0||(i[r]=t[r]);return i}var m={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},y={rel:["amphtml","canonical","alternate"]},T={type:["application/ld+json"]},g={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},b=Object.keys(m).map(function(t){return m[t]}),v={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},A=Object.keys(v).reduce(function(t,e){return t[v[e]]=e,t},{}),C=function(t,e){for(var r=t.length-1;r>=0;r-=1){var n=t[r];if(Object.prototype.hasOwnProperty.call(n,e))return n[e]}return null},O=function(t){var e=C(t,m.TITLE),r=C(t,"titleTemplate");if(Array.isArray(e)&&(e=e.join("")),r&&e)return r.replace(/%s/g,function(){return e});var n=C(t,"defaultTitle");return e||n||void 0},S=function(t){return C(t,"onChangeClientState")||function(){}},E=function(t,e){return e.filter(function(e){return void 0!==e[t]}).map(function(e){return e[t]}).reduce(function(t,e){return f({},t,e)},{})},I=function(t,e){return e.filter(function(t){return void 0!==t[m.BASE]}).map(function(t){return t[m.BASE]}).reverse().reduce(function(e,r){if(!e.length)for(var n=Object.keys(r),i=0;i/g,">").replace(/"/g,""").replace(/'/g,"'")},H=function(t){return Object.keys(t).reduce(function(e,r){var n=void 0!==t[r]?r+'="'+t[r]+'"':""+r;return e?e+" "+n:n},"")},N=function(t,e){return void 0===e&&(e={}),Object.keys(t).reduce(function(e,r){return e[v[r]||r]=t[r],e},e)},D=function(t,e){return e.map(function(e,r){var n,i=((n={key:r})["data-rh"]=!0,n);return Object.keys(e).forEach(function(t){var r=v[t]||t;"innerHTML"===r||"cssText"===r?i.dangerouslySetInnerHTML={__html:e.innerHTML||e.cssText}:i[r]=e[t]}),o.default.createElement(t,i)})},R=function(t,e,r){switch(t){case m.TITLE:return{toComponent:function(){return r=e.titleAttributes,(n={key:t=e.title})["data-rh"]=!0,i=N(r,n),[o.default.createElement(m.TITLE,i,t)];var t,r,n,i},toString:function(){return function(t,e,r,n){var i=H(r),a=w(e);return i?"<"+t+' data-rh="true" '+i+">"+k(a,n)+"":"<"+t+' data-rh="true">'+k(a,n)+""}(t,e.title,e.titleAttributes,r)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return N(e)},toString:function(){return H(e)}};default:return{toComponent:function(){return D(t,e)},toString:function(){return function(t,e,r){return e.reduce(function(e,n){var i=Object.keys(n).filter(function(t){return!("innerHTML"===t||"cssText"===t)}).reduce(function(t,e){var i=void 0===n[e]?e:e+'="'+k(n[e],r)+'"';return t?t+" "+i:i},""),a=n.innerHTML||n.cssText||"",o=-1===M.indexOf(t);return e+"<"+t+' data-rh="true" '+i+(o?"/>":">"+a+"")},"")}(t,e,r)}}}},q=function(t){var e=t.baseTag,r=t.bodyAttributes,n=t.encode,i=t.htmlAttributes,a=t.noscriptTags,o=t.styleTags,u=t.title,s=void 0===u?"":u,c=t.titleAttributes,l=t.linkTags,f=t.metaTags,d=t.scriptTags,p={toComponent:function(){},toString:function(){return""}};if(t.prioritizeSeoTags){var h=function(t){var e=t.linkTags,r=t.scriptTags,n=t.encode,i=L(t.metaTags,g),a=L(e,y),o=L(r,T);return{priorityMethods:{toComponent:function(){return[].concat(D(m.META,i.priority),D(m.LINK,a.priority),D(m.SCRIPT,o.priority))},toString:function(){return R(m.META,i.priority,n)+" "+R(m.LINK,a.priority,n)+" "+R(m.SCRIPT,o.priority,n)}},metaTags:i.default,linkTags:a.default,scriptTags:o.default}}(t);p=h.priorityMethods,l=h.linkTags,f=h.metaTags,d=h.scriptTags}return{priority:p,base:R(m.BASE,e,n),bodyAttributes:R("bodyAttributes",r,n),htmlAttributes:R("htmlAttributes",i,n),link:R(m.LINK,l,n),meta:R(m.META,f,n),noscript:R(m.NOSCRIPT,a,n),script:R(m.SCRIPT,d,n),style:R(m.STYLE,o,n),title:R(m.TITLE,{title:s,titleAttributes:c},n)}},U=[],Y=function(t,e){var r=this;void 0===e&&(e="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(t){r.context.helmet=t},helmetInstances:{get:function(){return r.canUseDOM?U:r.instances},add:function(t){(r.canUseDOM?U:r.instances).push(t)},remove:function(t){var e=(r.canUseDOM?U:r.instances).indexOf(t);(r.canUseDOM?U:r.instances).splice(e,1)}}},this.context=t,this.canUseDOM=e,e||(t.helmet=q({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},B=o.default.createContext({}),K=u.default.shape({setHelmet:u.default.func,helmetInstances:u.default.shape({get:u.default.func,add:u.default.func,remove:u.default.func})}),_="undefined"!=typeof document,z=/*#__PURE__*/function(t){function e(r){var n;return(n=t.call(this,r)||this).helmetData=new Y(n.props.context,e.canUseDOM),n}return d(e,t),e.prototype.render=function(){/*#__PURE__*/return o.default.createElement(B.Provider,{value:this.helmetData.value},this.props.children)},e}(t.Component);z.canUseDOM=_,z.propTypes={context:u.default.shape({helmet:u.default.shape()}),children:u.default.node.isRequired},z.defaultProps={context:{}},z.displayName="HelmetProvider";var F=function(t,e){var r,n=document.head||document.querySelector(m.HEAD),i=n.querySelectorAll(t+"[data-rh]"),a=[].slice.call(i),o=[];return e&&e.length&&e.forEach(function(e){var n=document.createElement(t);for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&("innerHTML"===i?n.innerHTML=e.innerHTML:"cssText"===i?n.styleSheet?n.styleSheet.cssText=e.cssText:n.appendChild(document.createTextNode(e.cssText)):n.setAttribute(i,void 0===e[i]?"":e[i]));n.setAttribute("data-rh","true"),a.some(function(t,e){return r=e,n.isEqualNode(t)})?a.splice(r,1):o.push(n)}),a.forEach(function(t){return t.parentNode.removeChild(t)}),o.forEach(function(t){return n.appendChild(t)}),{oldTags:a,newTags:o}},G=function(t,e){var r=document.getElementsByTagName(t)[0];if(r){for(var n=r.getAttribute("data-rh"),i=n?n.split(","):[],a=[].concat(i),o=Object.keys(e),u=0;u=0;f-=1)r.removeAttribute(a[f]);i.length===a.length?r.removeAttribute("data-rh"):r.getAttribute("data-rh")!==o.join(",")&&r.setAttribute("data-rh",o.join(","))}},W=function(t,e){var r=t.baseTag,n=t.htmlAttributes,i=t.linkTags,a=t.metaTags,o=t.noscriptTags,u=t.onChangeClientState,s=t.scriptTags,c=t.styleTags,l=t.title,f=t.titleAttributes;G(m.BODY,t.bodyAttributes),G(m.HTML,n),function(t,e){void 0!==t&&document.title!==t&&(document.title=w(t)),G(m.TITLE,e)}(l,f);var d={baseTag:F(m.BASE,r),linkTags:F(m.LINK,i),metaTags:F(m.META,a),noscriptTags:F(m.NOSCRIPT,o),scriptTags:F(m.SCRIPT,s),styleTags:F(m.STYLE,c)},p={},h={};Object.keys(d).forEach(function(t){var e=d[t],r=e.newTags,n=e.oldTags;r.length&&(p[t]=r),n.length&&(h[t]=d[t].oldTags)}),e&&e(),u(t,p,h)},J=null,Q=/*#__PURE__*/function(t){function e(){for(var e,r=arguments.length,n=new Array(r),i=0;i elements are self-closing and can not contain children. Refer to our API for more information.")}},r.flattenArrayTypeChildren=function(t){var e,r=t.child,n=t.arrayTypeChildren;return f({},n,((e={})[r.type]=[].concat(n[r.type]||[],[f({},t.newChildProps,this.mapNestedChildrenToProps(r,t.nestedChildren))]),e))},r.mapObjectTypeChildren=function(t){var e,r,n=t.child,i=t.newProps,a=t.newChildProps,o=t.nestedChildren;switch(n.type){case m.TITLE:return f({},i,((e={})[n.type]=o,e.titleAttributes=f({},a),e));case m.BODY:return f({},i,{bodyAttributes:f({},a)});case m.HTML:return f({},i,{htmlAttributes:f({},a)});default:return f({},i,((r={})[n.type]=f({},a),r))}},r.mapArrayTypeChildrenToProps=function(t,e){var r=f({},e);return Object.keys(t).forEach(function(e){var n;r=f({},r,((n={})[e]=t[e],n))}),r},r.warnOnInvalidChildren=function(t,e){return c.default(b.some(function(e){return t.type===e}),"function"==typeof t.type?"You may be attempting to nest components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+b.join(", ")+" are allowed. Helmet does not support rendering <"+t.type+"> elements. Refer to our API for more information."),c.default(!e||"string"==typeof e||Array.isArray(e)&&!e.some(function(t){return"string"!=typeof t}),"Helmet expects a string as a child of <"+t.type+">. Did you forget to wrap your children in braces? ( <"+t.type+">{``} ) Refer to our API for more information."),!0},r.mapChildrenToProps=function(t,e){var r=this,n={};return o.default.Children.forEach(t,function(t){if(t&&t.props){var i=t.props,a=i.children,o=h(i,V),u=Object.keys(o).reduce(function(t,e){return t[A[e]||e]=o[e],t},{}),s=t.type;switch("symbol"==typeof s?s=s.toString():r.warnOnInvalidChildren(t,a),s){case m.FRAGMENT:e=r.mapChildrenToProps(a,e);break;case m.LINK:case m.META:case m.NOSCRIPT:case m.SCRIPT:case m.STYLE:n=r.flattenArrayTypeChildren({child:t,arrayTypeChildren:n,newChildProps:u,nestedChildren:a});break;default:e=r.mapObjectTypeChildren({child:t,newProps:e,newChildProps:u,nestedChildren:a})}}}),this.mapArrayTypeChildrenToProps(n,e)},r.render=function(){var t=this.props,e=t.children,r=h(t,X),n=f({},r),i=r.helmetData;return e&&(n=this.mapChildrenToProps(e,n)),!i||i instanceof Y||(i=new Y(i.context,i.instances)),i?/*#__PURE__*/o.default.createElement(Q,f({},n,{context:i.value,helmetData:void 0})):/*#__PURE__*/o.default.createElement(B.Consumer,null,function(t){/*#__PURE__*/return o.default.createElement(Q,f({},n,{context:t}))})},e}(t.Component);Z.propTypes={base:u.default.object,bodyAttributes:u.default.object,children:u.default.oneOfType([u.default.arrayOf(u.default.node),u.default.node]),defaultTitle:u.default.string,defer:u.default.bool,encodeSpecialCharacters:u.default.bool,htmlAttributes:u.default.object,link:u.default.arrayOf(u.default.object),meta:u.default.arrayOf(u.default.object),noscript:u.default.arrayOf(u.default.object),onChangeClientState:u.default.func,script:u.default.arrayOf(u.default.object),style:u.default.arrayOf(u.default.object),title:u.default.string,titleAttributes:u.default.object,titleTemplate:u.default.string,prioritizeSeoTags:u.default.bool,helmetData:u.default.object},Z.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},Z.displayName="Helmet",exports.Helmet=Z,exports.HelmetData=Y,exports.HelmetProvider=z; //# sourceMappingURL=index.js.map