????JFIF??x?x????'
Server IP : 104.21.32.1 / Your IP : 216.73.216.127 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/././cwd/wp-content/plugins/wordpress-seo/js/dist/ |
Upload File : |
(()=>{var e={6746:(e,t,s)=>{"use strict";var r="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},a=i(s(9196)),n=i(s(9156)),o=i(s(6743));function i(e){return e&&e.__esModule?e:{default:e}}var l=void 0;function c(e,t){var s,o,i,d,u,p,m,h,g=[],y={};for(p=0;p<e.length;p++)if("string"!==(u=e[p]).type){if(!t.hasOwnProperty(u.value)||void 0===t[u.value])throw new Error("Invalid interpolation, missing component node: `"+u.value+"`");if("object"!==r(t[u.value]))throw new Error("Invalid interpolation, component node must be a ReactElement or null: `"+u.value+"`","\n> "+l);if("componentClose"===u.type)throw new Error("Missing opening component token: `"+u.value+"`");if("componentOpen"===u.type){s=t[u.value],i=p;break}g.push(t[u.value])}else g.push(u.value);return s&&(d=function(e,t){var s,r,a=t[e],n=0;for(r=e+1;r<t.length;r++)if((s=t[r]).value===a.value){if("componentOpen"===s.type){n++;continue}if("componentClose"===s.type){if(0===n)return r;n--}}throw new Error("Missing closing component token `"+a.value+"`")}(i,e),m=c(e.slice(i+1,d),t),o=a.default.cloneElement(s,{},m),g.push(o),d<e.length-1&&(h=c(e.slice(d+1),t),g=g.concat(h))),1===g.length?g[0]:(g.forEach((function(e,t){e&&(y["interpolation-child-"+t]=e)})),(0,n.default)(y))}t.Z=function(e){var t=e.mixedString,s=e.components,a=e.throwErrors;if(l=t,!s)return t;if("object"!==(void 0===s?"undefined":r(s))){if(a)throw new Error("Interpolation Error: unable to process `"+t+"` because components is not an object");return t}var n=(0,o.default)(t);try{return c(n,s)}catch(e){if(a)throw new Error("Interpolation Error: unable to process `"+t+"` because of error `"+e.message+"`");return t}}},6743:e=>{"use strict";function t(e){return e.match(/^\{\{\//)?{type:"componentClose",value:e.replace(/\W/g,"")}:e.match(/\/\}\}$/)?{type:"componentSelfClosing",value:e.replace(/\W/g,"")}:e.match(/^\{\{/)?{type:"componentOpen",value:e.replace(/\W/g,"")}:{type:"string",value:e}}e.exports=function(e){return e.split(/(\{\{\/?\s*\w+\s*\/?\}\})/g).map(t)}},9156:(e,t,s)=>{"use strict";var r=s(9196),a="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,n=s(7942),o=s(9179),i=s(397),l=".",c=":",d="function"==typeof Symbol&&Symbol.iterator,u="@@iterator";function p(e,t){return e&&"object"==typeof e&&null!=e.key?(s=e.key,r={"=":"=0",":":"=2"},"$"+(""+s).replace(/[=:]/g,(function(e){return r[e]}))):t.toString(36);var s,r}function m(e,t,s,r){var n,i=typeof e;if("undefined"!==i&&"boolean"!==i||(e=null),null===e||"string"===i||"number"===i||"object"===i&&e.$$typeof===a)return s(r,e,""===t?l+p(e,0):t),1;var h=0,g=""===t?l:t+c;if(Array.isArray(e))for(var y=0;y<e.length;y++)h+=m(n=e[y],g+p(n,y),s,r);else{var f=function(e){var t=e&&(d&&e[d]||e[u]);if("function"==typeof t)return t}(e);if(f)for(var b,w=f.call(e),E=0;!(b=w.next()).done;)h+=m(n=b.value,g+p(n,E++),s,r);else if("object"===i){var v=""+e;o(!1,"Objects are not valid as a React child (found: %s).%s","[object Object]"===v?"object with keys {"+Object.keys(e).join(", ")+"}":v,"")}}return h}var h=/\/+/g;function g(e){return(""+e).replace(h,"$&/")}var y,f,b=w,w=function(e){var t=this;if(t.instancePool.length){var s=t.instancePool.pop();return t.call(s,e),s}return new t(e)};function E(e,t,s,r){this.result=e,this.keyPrefix=t,this.func=s,this.context=r,this.count=0}function v(e,t,s){var a,o,i=e.result,l=e.keyPrefix,c=e.func,d=e.context,u=c.call(d,t,e.count++);Array.isArray(u)?k(u,i,s,n.thatReturnsArgument):null!=u&&(r.isValidElement(u)&&(a=u,o=l+(!u.key||t&&t.key===u.key?"":g(u.key)+"/")+s,u=r.cloneElement(a,{key:o},void 0!==a.props?a.props.children:void 0)),i.push(u))}function k(e,t,s,r,a){var n="";null!=s&&(n=g(s)+"/");var o=E.getPooled(t,n,r,a);!function(e,t,s){null==e||m(e,"",t,s)}(e,v,o),E.release(o)}E.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},y=function(e,t,s,r){var a=this;if(a.instancePool.length){var n=a.instancePool.pop();return a.call(n,e,t,s,r),n}return new a(e,t,s,r)},(f=E).instancePool=[],f.getPooled=y||b,f.poolSize||(f.poolSize=10),f.release=function(e){var t=this;o(e instanceof t,"Trying to release an instance into a pool of a different type."),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},e.exports=function(e){if("object"!=typeof e||!e||Array.isArray(e))return i(!1,"React.addons.createFragment only accepts a single object. Got: %s",e),e;if(r.isValidElement(e))return i(!1,"React.addons.createFragment does not accept a ReactElement without a wrapper object."),e;o(1!==e.nodeType,"React.addons.createFragment(...): Encountered an invalid child; DOM elements are not valid children of React components.");var t=[];for(var s in e)k(e[s],t,s,n.thatReturnsArgument);return t}},7942:e=>{"use strict";function t(e){return function(){return e}}var s=function(){};s.thatReturns=t,s.thatReturnsFalse=t(!1),s.thatReturnsTrue=t(!0),s.thatReturnsNull=t(null),s.thatReturnsThis=function(){return this},s.thatReturnsArgument=function(e){return e},e.exports=s},9179:e=>{"use strict";e.exports=function(e,t,s,r,a,n,o,i){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[s,r,a,n,o,i],d=0;(l=new Error(t.replace(/%s/g,(function(){return c[d++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},397:(e,t,s)=>{"use strict";var r=s(7942);e.exports=r},4530:(e,t)=>{var s;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var s=arguments[t];if(s){var n=typeof s;if("string"===n||"number"===n)e.push(s);else if(Array.isArray(s)){if(s.length){var o=a.apply(null,s);o&&e.push(o)}}else if("object"===n){if(s.toString!==Object.prototype.toString&&!s.toString.toString().includes("[native code]")){e.push(s.toString());continue}for(var i in s)r.call(s,i)&&s[i]&&e.push(i)}}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(s=function(){return a}.apply(t,[]))||(e.exports=s)}()},9196:e=>{"use strict";e.exports=window.React}},t={};function s(r){var a=t[r];if(void 0!==a)return a.exports;var n=t[r]={exports:{}};return e[r](n,n.exports,s),n.exports}s.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return s.d(t,{a:t}),t},s.d=(e,t)=>{for(var r in t)s.o(t,r)&&!s.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{"use strict";var e={};s.r(e),s.d(e,{refreshDelay:()=>i});var t={};s.r(t),s.d(t,{default:()=>f,initializationDone:()=>b,sortResultsByIdentifier:()=>y});var r={};s.r(r),s.d(r,{default:()=>Y,getIconForScore:()=>z});var a={};s.r(a),s.d(a,{doAjaxRequest:()=>As});var n={};s.r(n),s.d(n,{applyReplaceUsingPlugin:()=>Xs,createLabelFromName:()=>Hs,excerptFromContent:()=>Qs,fillReplacementVariables:()=>Ws,handlePrefixes:()=>Ks,mapCustomFields:()=>Zs,mapCustomTaxonomies:()=>Gs,nonReplaceVars:()=>Us,prepareCustomFieldForDispatch:()=>Ys,prepareCustomTaxonomyForDispatch:()=>Vs,pushNewReplaceVar:()=>js,replaceSpaces:()=>zs});const o=window.yoast.externals.contexts,i=500,l=window.lodash;function c(){return(0,l.get)(window,"wpseoScriptData.metabox",{intl:{},isRtl:!1})}const d=window.wp.i18n,u=window.yoast.analysis,p=window.wp.hooks,m=window.yoast.externals.redux;function h(){}let g=!1;function y(e){return e.sort(((e,t)=>e._identifier.localeCompare(t._identifier)))}function f(e,t,s,r,a){if(!g)return;const n=u.Paper.parse(t());e.analyze(n).then((o=>{const{result:{seo:i,readability:l,inclusiveLanguage:c}}=o;if(i){const e=i[""];e.results.forEach((e=>{e.getMarker=()=>()=>s(n,e.marks)})),e.results=y(e.results),r.dispatch(m.actions.setSeoResultsForKeyword(n.getKeyword(),e.results)),r.dispatch(m.actions.setOverallSeoScore(e.score,n.getKeyword())),r.dispatch(m.actions.refreshSnippetEditor()),a.saveScores(e.score,n.getKeyword())}l&&(l.results.forEach((e=>{e.getMarker=()=>()=>s(n,e.marks)})),l.results=y(l.results),r.dispatch(m.actions.setReadabilityResults(l.results)),r.dispatch(m.actions.setOverallReadabilityScore(l.score)),r.dispatch(m.actions.refreshSnippetEditor()),a.saveContentScore(l.score)),c&&(c.results.forEach((e=>{e.getMarker=()=>()=>s(n,e.marks)})),c.results=y(c.results),r.dispatch(m.actions.setInclusiveLanguageResults(c.results)),r.dispatch(m.actions.setOverallInclusiveLanguageScore(c.score)),r.dispatch(m.actions.refreshSnippetEditor()),a.saveInclusiveLanguageScore(c.score)),(0,p.doAction)("yoast.analysis.refresh",o,{paper:n,worker:e,collectData:t,applyMarks:s,store:r,dataCollector:a})})).catch(h)}function b(){g=!0}var w=s(9196),E=s.n(w);const v=window.wp.element,k=window.yoast.styledComponents;var x=s.n(k);const _=window.yoast.propTypes;var S=s.n(_);const R=window.yoast.componentsNew,C=window.yoast.helpers,I=window.yoast.styleGuide,L=I.colors.$color_bad,T=I.colors.$palette_error_background,N=I.colors.$color_grey_text_light,P=I.colors.$palette_error_text,M=x().div` display: flex; flex-direction: column; `,A=x().label` font-size: var(--yoast-font-size-default); font-weight: var(--yoast-font-weight-bold); ${(0,C.getDirectionalStyle)("margin-right: 4px","margin-left: 4px")}; `,q=x().span` margin-bottom: 0.5em; `,O=x()(R.InputField)` flex: 1 !important; box-sizing: border-box; max-width: 100%; margin: 0; // Reset margins inherited from WordPress. // Hide native X in Edge and IE11. &::-ms-clear { display: none; } &.has-error { border-color: ${L} !important; background-color: ${T} !important; &:focus { box-shadow: 0 0 2px ${L} !important; } } `,F=x().ul` color: ${P}; list-style-type: disc; list-style-position: outside; margin: 0; margin-left: 1.2em; `,$=x().li` color: ${P}; margin: 0 0 0.5em 0; `,B=(0,R.addFocusStyle)(x().button` border: 1px solid transparent; box-shadow: none; background: none; flex: 0 0 32px; height: 32px; max-width: 32px; padding: 0; cursor: pointer; `);B.propTypes={type:S().string,focusColor:S().string,focusBackgroundColor:S().string,focusBorderColor:S().string},B.defaultProps={type:"button",focusColor:I.colors.$color_button_text_hover,focusBackgroundColor:"transparent",focusBorderColor:I.colors.$color_blue};const D=x()(R.SvgIcon)` margin-top: 4px; `,U=x().div` display: flex; flex-direction: row; align-items: center; &.has-remove-keyword-button { ${O} { ${(0,C.getDirectionalStyle)("padding-right: 40px","padding-left: 40px")}; } ${B} { ${(0,C.getDirectionalStyle)("margin-left: -32px","margin-right: -32px")}; } } `;class W extends v.Component{constructor(e){super(e),this.handleChange=this.handleChange.bind(this)}handleChange(e){this.props.onChange(e.target.value)}renderLabel(){const{id:e,label:t,helpLink:s}=this.props;return(0,w.createElement)(q,null,(0,w.createElement)(A,{htmlFor:e},t),s)}renderErrorMessages(){const e=[...this.props.errorMessages];return!(0,l.isEmpty)(e)&&(0,w.createElement)(F,null,e.map(((e,t)=>(0,w.createElement)($,{key:t},(0,w.createElement)("span",{role:"alert"},e)))))}render(){const{id:e,showLabel:t,keyword:s,onRemoveKeyword:r,onBlurKeyword:a,onFocusKeyword:n,hasError:o}=this.props,i=!t,c=r!==l.noop;return(0,w.createElement)(M,null,t&&this.renderLabel(),o&&this.renderErrorMessages(),(0,w.createElement)(U,{className:c?"has-remove-keyword-button":null},(0,w.createElement)(O,{"aria-label":i?this.props.label:null,type:"text",id:e,className:o?"has-error":null,onChange:this.handleChange,onFocus:n,onBlur:a,value:s,autoComplete:"off"}),c&&(0,w.createElement)(B,{onClick:r,focusBoxShadowColor:"#084A67"},(0,w.createElement)(D,{size:"18px",icon:"times-circle",color:N}))))}}W.propTypes={id:S().string.isRequired,showLabel:S().bool,keyword:S().string,onChange:S().func.isRequired,onRemoveKeyword:S().func,onBlurKeyword:S().func,onFocusKeyword:S().func,label:S().string.isRequired,helpLink:S().node,hasError:S().bool,errorMessages:S().arrayOf(S().string)},W.defaultProps={showLabel:!0,keyword:"",onRemoveKeyword:l.noop,onBlurKeyword:l.noop,onFocusKeyword:l.noop,helpLink:null,hasError:!1,errorMessages:[]};const K=W;function H(e,t=""){const s=e.getIdentifier(),r={score:e.score,rating:u.interpreters.scoreToRating(e.score),hasMarks:e.hasMarks(),marker:e.getMarker(),id:s,text:e.text,markerId:t.length>0?`${t}:${s}`:s,hasBetaBadge:e.hasBetaBadge(),hasJumps:e.hasJumps(),hasAIFixes:e.hasAIFixes(),editFieldName:e.editFieldName};return"ok"===r.rating&&(r.rating="OK"),r}function j(e,t){switch(e.rating){case"error":t.errorsResults.push(e);break;case"feedback":t.considerationsResults.push(e);break;case"bad":t.problemsResults.push(e);break;case"OK":t.improvementsResults.push(e);break;case"good":t.goodResults.push(e)}return t}function z(e){switch(e){case"loading":return{icon:"loading-spinner",color:I.colors.$color_green_medium_light};case"not-set":return{icon:"seo-score-none",color:I.colors.$color_score_icon};case"noindex":return{icon:"seo-score-none",color:I.colors.$color_noindex};case"good":return{icon:"seo-score-good",color:I.colors.$color_green_medium};case"ok":return{icon:"seo-score-ok",color:I.colors.$color_ok};default:return{icon:"seo-score-bad",color:I.colors.$color_red}}}function Y(e,t=""){let s={errorsResults:[],problemsResults:[],improvementsResults:[],goodResults:[],considerationsResults:[]};if(!e)return s;for(let r=0;r<e.length;r++){const a=e[r];a.text&&(s=j(H(a,t),s))}return s}const V=(0,C.makeOutboundLink)(x().a` display: inline-block; position: relative; outline: none; text-decoration: none; border-radius: 100%; width: 24px; height: 24px; margin: -4px 0; vertical-align: middle; color: ${I.colors.$color_help_text}; &:hover, &:focus { color: ${I.colors.$color_snippet_focus}; } // Overwrite the default blue active color for links. &:active { color: ${I.colors.$color_help_text}; } &::before { position: absolute; top: 0; left: 0; padding: 2px; content: "\f223"; } `),G=x()(R.Collapsible)` h2 > button { padding-left: 24px; padding-top: 16px; &:hover { background-color: #f0f0f0; } } div[class^="collapsible_content"] { padding: 24px 0; margin: 0 24px; border-top: 1px solid rgba(0,0,0,0.2); } `,Z=window.wp.components,Q="yoast yoast-gutenberg-modal",X=e=>{const{title:t,className:s,showYoastIcon:r,additionalClassName:a,...n}=e,o=r?(0,w.createElement)("span",{className:"yoast-icon"}):null;return(0,w.createElement)(Z.Modal,{title:t,className:`${s} ${a}`,icon:o,...n},e.children)};X.propTypes={title:S().string,className:S().string,showYoastIcon:S().bool,children:S().oneOfType([S().node,S().arrayOf(S().node)]),additionalClassName:S().string},X.defaultProps={title:"Yoast SEO",className:Q,showYoastIcon:!0,children:null,additionalClassName:""};const J=X,ee=window.yoast.socialMetadataForms,te=e=>({type:e.subtype,width:e.width,height:e.height,url:e.url,id:e.id,sizes:e.sizes,alt:e.alt||e.title||e.name});const se=({hiddenField:e,hiddenFieldImageId:t,hiddenFieldFallbackImageId:s,hasImageValidation:r,...a})=>{const[n,o]=(0,v.useState)(null!==document.getElementById(s)),i=(0,v.useMemo)((()=>document.getElementById(e))),l=(0,v.useMemo)((()=>document.getElementById(t)));let c=null;c=s&&document.getElementById(s)?(0,v.useMemo)((()=>document.getElementById(s))):l;const[d,u]=(0,v.useState)({url:i?i.value:"",id:c?parseInt(c.value,10):"",alt:""}),[p,m]=(0,v.useState)([]),h=(0,v.useCallback)((e=>{i&&(i.value=e.url),c&&(c.value=e.id)})),g=(0,v.useCallback)((()=>{(function(e){const t=window.wp.media();return t.on("select",(()=>{const s=t.state().get("selection").first();e(te(s.attributes))})),t})((e=>{c=l,u(e),h(e),r&&m((0,C.validateFacebookImage)(e)),o(!1)})).open()}),[r,h]),y=(0,v.useCallback)((()=>{c=l;const e={url:"",id:"",alt:""};u(e),h(e),m([]),o(!0)}),[h]);return(0,v.useEffect)((()=>{var e;d.id&&!d.alt&&(e=d.id,new Promise(((t,s)=>{window.wp.media.attachment||s(),window.wp.media.attachment(e).fetch().then((e=>{t(te(e))})).catch((()=>s()))}))).then((e=>u(e)))}),[d]),(0,w.createElement)(R.ImageSelect,{...a,usingFallback:n,imageUrl:d.url,imageId:d.id,imageAltText:d.alt,onClick:g,onRemoveImageClick:y,warnings:p})};se.propTypes={hiddenField:S().string.isRequired,hiddenFieldImageId:S().string,hiddenFieldFallbackImageId:S().string,hasImageValidation:S().bool},se.defaultProps={hiddenFieldImageId:"",hiddenFieldFallbackImageId:"",hasImageValidation:!1};const re=se;function ae({target:e,children:t}){let s=e;return"string"==typeof e&&(s=document.getElementById(e)),s?(0,v.createPortal)(t,s):null}function ne({target:e,label:t,hasPreview:s,hiddenField:r,hiddenFieldImageId:a,hiddenFieldFallbackImageId:n,selectImageButtonId:o,replaceImageButtonId:i,removeImageButtonId:l,hasNewBadge:c,isDisabled:d,hasPremiumBadge:u,hasImageValidation:p}){return(0,w.createElement)(ae,{target:e},(0,w.createElement)(re,{label:t,hasPreview:s,hiddenField:r,hiddenFieldImageId:a,hiddenFieldFallbackImageId:n,selectImageButtonId:o,replaceImageButtonId:i,removeImageButtonId:l,hasNewBadge:c,isDisabled:d,hasPremiumBadge:u,hasImageValidation:p}))}ae.propTypes={target:S().oneOfType([S().string,S().object]).isRequired,children:S().node.isRequired},ne.propTypes={target:S().string.isRequired,label:S().string.isRequired,hasPreview:S().bool.isRequired,hiddenField:S().string.isRequired,hiddenFieldImageId:S().string,hiddenFieldFallbackImageId:S().string,selectImageButtonId:S().string,replaceImageButtonId:S().string,removeImageButtonId:S().string,hasNewBadge:S().bool,isDisabled:S().bool,hasPremiumBadge:S().bool,hasImageValidation:S().bool},ne.defaultProps={hiddenFieldImageId:"",hiddenFieldFallbackImageId:"",selectImageButtonId:"",replaceImageButtonId:"",removeImageButtonId:"",hasNewBadge:!1,isDisabled:!1,hasPremiumBadge:!1,hasImageValidation:!1};const oe=({target:e,scoreIndicator:t})=>(0,w.createElement)(ae,{target:e},(0,w.createElement)(R.SvgIcon,{...z(t)}));oe.propTypes={target:S().string.isRequired,scoreIndicator:S().string.isRequired};const ie=oe,le=e=>{const[t,s]=(0,v.useState)(!1),{prefixIcon:r}=e;return(0,w.createElement)("div",{className:"yoast components-panel__body "+(t?"is-opened":"")},(0,w.createElement)("h2",{className:"components-panel__body-title"},(0,w.createElement)("button",{onClick:function(){s(!t)},className:"components-button components-panel__body-toggle",type:"button",id:e.buttonId},(0,w.createElement)("span",{className:"yoast-icon-span",style:{fill:`${r&&r.color||""}`}},r&&(0,w.createElement)(R.SvgIcon,{icon:r.icon,color:r.color,size:r.size})),(0,w.createElement)("span",{className:"yoast-title-container"},(0,w.createElement)("div",{className:"yoast-title"},e.title),(0,w.createElement)("div",{className:"yoast-subtitle"},e.subTitle)),e.hasBetaBadgeLabel&&(0,w.createElement)(R.BetaBadge,null),(0,w.createElement)("span",{className:"yoast-chevron","aria-hidden":"true"}))),t&&e.children)},ce=le;le.propTypes={title:S().string.isRequired,children:S().oneOfType([S().node,S().arrayOf(S().node)]).isRequired,prefixIcon:S().object,subTitle:S().string,hasBetaBadgeLabel:S().bool,buttonId:S().string},le.defaultProps={prefixIcon:null,subTitle:"",hasBetaBadgeLabel:!1,buttonId:null};const de=({children:e})=>(0,w.createElement)("div",null,e);de.propTypes={renderPriority:S().number.isRequired,children:S().node.isRequired};const ue=de,pe=({theme:e,location:t,children:s})=>(0,w.createElement)(o.LocationProvider,{value:t},(0,w.createElement)(k.ThemeProvider,{theme:e},s));pe.propTypes={theme:S().object.isRequired,location:S().oneOf(["sidebar","metabox","modal"]).isRequired,children:S().element.isRequired};const me=pe,he=window.wp.compose,ge=window.wp.data,ye=e=>(0,w.createElement)("div",{className:"yoast components-panel__body"},(0,w.createElement)("h2",{className:"components-panel__body-title"},(0,w.createElement)("button",{id:e.id,onClick:e.onClick,className:"components-button components-panel__body-toggle",type:"button"},e.prefixIcon&&(0,w.createElement)("span",{className:"yoast-icon-span",style:{fill:`${e.prefixIcon&&e.prefixIcon.color||""}`}},(0,w.createElement)(R.SvgIcon,{size:e.prefixIcon.size,icon:e.prefixIcon.icon})),(0,w.createElement)("span",{className:"yoast-title-container"},(0,w.createElement)("div",{className:"yoast-title"},e.title),(0,w.createElement)("div",{className:"yoast-subtitle"},e.subTitle)),e.children,e.suffixIcon&&(0,w.createElement)(R.SvgIcon,{size:e.suffixIcon.size,icon:e.suffixIcon.icon}),e.SuffixHeroIcon))),fe=ye;ye.propTypes={onClick:S().func.isRequired,title:S().string.isRequired,id:S().string,subTitle:S().string,suffixIcon:S().object,SuffixHeroIcon:S().object,prefixIcon:S().object,children:S().node},ye.defaultProps={id:"",suffixIcon:null,SuffixHeroIcon:null,prefixIcon:null,subTitle:"",children:null};const be=({id:e,postTypeName:t,children:s,title:r,isOpen:a,close:n,open:i,shouldCloseOnClickOutside:l,showChangesWarning:c,SuffixHeroIcon:u})=>(0,w.createElement)(v.Fragment,null,a&&(0,w.createElement)(o.LocationProvider,{value:"modal"},(0,w.createElement)(J,{title:r,onRequestClose:n,additionalClassName:"yoast-collapsible-modal yoast-post-settings-modal",id:"id",shouldCloseOnClickOutside:l},(0,w.createElement)("div",{className:"yoast-content-container"},(0,w.createElement)("div",{className:"yoast-modal-content"},s)),(0,w.createElement)("div",{className:"yoast-notice-container"},(0,w.createElement)("hr",null),(0,w.createElement)("div",{className:"yoast-button-container"},c&&(0,w.createElement)("p",null,/* Translators: %s translates to the Post Label in singular form */ (0,d.sprintf)((0,d.__)("Make sure to save your %s for changes to take effect","wordpress-seo"),t)),(0,w.createElement)("button",{className:"yoast-button yoast-button--primary yoast-button--post-settings-modal",type:"button",onClick:n},/* Translators: %s translates to the Post Label in singular form */ (0,d.sprintf)((0,d.__)("Return to your %s","wordpress-seo"),t)))))),(0,w.createElement)(fe,{id:e+"-open-button",title:r,SuffixHeroIcon:u,suffixIcon:u?null:{size:"20px",icon:"pencil-square"},onClick:i}));be.propTypes={id:S().string.isRequired,postTypeName:S().string.isRequired,children:S().oneOfType([S().node,S().arrayOf(S().node)]).isRequired,title:S().string.isRequired,isOpen:S().bool.isRequired,open:S().func.isRequired,close:S().func.isRequired,shouldCloseOnClickOutside:S().bool,showChangesWarning:S().bool,SuffixHeroIcon:S().object},be.defaultProps={shouldCloseOnClickOutside:!0,showChangesWarning:!0};const we=be,Ee=(0,he.compose)([(0,ge.withSelect)(((e,t)=>{const{getPostOrPageString:s,getIsModalOpen:r}=e("yoast-seo/editor");return{postTypeName:s(),isOpen:r(t.id)}})),(0,ge.withDispatch)(((e,t)=>{const{openEditorModal:s,closeEditorModal:r}=e("yoast-seo/editor");return{open:()=>s(t.id),close:r}}))])(we),ve=(0,he.compose)([(0,ge.withSelect)(((e,t)=>{const{isAlertDismissed:s}=e(t.store||"yoast-seo/editor");return{isAlertDismissed:s(t.alertKey)}})),(0,ge.withDispatch)(((e,t)=>{const{dismissAlert:s}=e(t.store||"yoast-seo/editor");return{onDismissed:()=>s(t.alertKey)}}))])(R.Alert),ke=window.yoast.analysisReport,xe=window.yoast.uiLibrary,_e=w.forwardRef((function(e,t){return w.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:t},e),w.createElement("path",{fillRule:"evenodd",d:"M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z",clipRule:"evenodd"}))})),Se=(x().div` min-width: 600px; @media screen and ( max-width: 680px ) { min-width: 0; width: 86vw; } `,x().div` @media screen and ( min-width: 600px ) { max-width: 420px; } `),Re=(x()(R.Icon)` float: ${(0,C.getDirectionalStyle)("right","left")}; margin: ${(0,C.getDirectionalStyle)("0 0 16px 16px","0 16px 16px 0")}; && { width: 150px; height: 150px; @media screen and ( max-width: 680px ) { width: 80px; height: 80px; } } `,window.wp.url),Ce=()=>[(0,d.sprintf)(/* translators: %1$s expands to a strong opening tag, %2$s expands to a strong closing tag. */ (0,d.__)("%1$sAI%2$s: Better SEO titles and meta descriptions, faster.","wordpress-seo"),"<strong>","</strong>"),(0,d.sprintf)(/* translators: %1$s expands to a strong opening tag, %2$s expands to a strong closing tag. */ (0,d.__)("%1$sMultiple keywords%2$s: Rank higher for more searches.","wordpress-seo"),"<strong>","</strong>"),(0,d.sprintf)(/* translators: %1$s expands to a strong opening tag, %2$s expands to a strong closing tag. */ (0,d.__)("%1$sSuper fast%2$s internal linking suggestions.","wordpress-seo"),"<strong>","</strong>"),(0,d.sprintf)(/* translators: %1$s expands to a strong opening tag, %2$s expands to a strong closing tag. */ (0,d.__)("%1$sNo more broken links%2$s: Automatic redirect manager.","wordpress-seo"),"<strong>","</strong>"),(0,d.sprintf)(/* translators: %1$s expands to a strong opening tag, %2$s expands to a strong closing tag. */ (0,d.__)("%1$sAppealing social previews%2$s people actually want to click on.","wordpress-seo"),"<strong>","</strong>"),(0,d.sprintf)(/* translators: %1$s expands to a strong opening tag, %2$s expands to a strong closing tag. */ (0,d.__)("%1$s24/7 support%2$s: Also on evenings and weekends.","wordpress-seo"),"<strong>","</strong>")],Ie=(e,t)=>{try{return(0,v.createInterpolateElement)(e,t)}catch(t){return console.error("Error in translation for:",e,t),e}},Le=x().div` padding: 25px 32px 32px; color: #303030; `,Te=x().ul` margin: 0; padding: 0; li { list-style-image: var(--yoast-svg-icon-check); margin: 0.5rem 0 0 1.5rem; line-height: 1.4em; &::marker { font-size: 1.5rem; } } `,Ne=x().span` display: block; margin-top: 4px; `,Pe=x().h2` margin-top: 0; margin-bottom: 0.25rem; color: #303030; font-size: 0.8125rem; font-weight: 600; `,Me=x().p` display: block; margin: 0.25rem 0 1rem 0 !important; max-width: 420px; `,Ae=x().hr` margin-top: 1.5rem; margin-bottom: 1rem; border-top: 0; border-bottom: 1px solid #E2E8F0; `,qe=x().div` text-align: center; `,Oe=x().a` width: 100%; `,Fe=(0,C.makeOutboundLink)(Oe);class $e extends v.Component{constructor(e){super(e)}createBenefitsList(e){return e.length>0&&(0,w.createElement)(Te,{role:"list"},e.map(((e,t)=>(0,w.createElement)("li",{key:`upsell-benefit-${t}`},Ie(e,{strong:(0,w.createElement)("strong",null)})))))}render(){const e=(0,ge.select)("yoast-seo/editor").isPromotionActive("black-friday-2024-promotion");return(0,w.createElement)(v.Fragment,null,e&&(0,w.createElement)("div",{className:"yst-flex yst-items-center yst-text-lg yst-content-between yst-bg-black yst-text-amber-300 yst-h-9 yst-border-amber-300 yst-border-y yst-border-x-0 yst-border-solid yst-px-6"},(0,w.createElement)("div",{className:"yst-mx-auto"},(0,d.__)("30% OFF - BLACK FRIDAY","wordpress-seo"))),(0,w.createElement)(Le,null,(0,w.createElement)(Pe,null,this.props.title),(0,w.createElement)(Me,null,this.props.description),(0,w.createElement)(qe,null,(0,w.createElement)(Fe,{...this.props.upsellButton},this.props.upsellButtonText,this.props.upsellButtonHasCaret&&(0,w.createElement)("span",{"aria-hidden":"true",className:"yoast-button-upsell__caret"})),(0,w.createElement)(Ne,{id:this.props.upsellButton["aria-describedby"]},this.props.upsellButtonLabel)),(0,w.createElement)(Ae,null),(0,w.createElement)(Pe,null,this.props.benefitsTitle),this.createBenefitsList(this.props.benefits)))}}$e.propTypes={title:S().node,benefits:S().array,benefitsTitle:S().node,description:S().node,upsellButton:S().object,upsellButtonText:S().string.isRequired,upsellButtonLabel:S().string,upsellButtonHasCaret:S().bool},$e.defaultProps={title:null,description:null,benefits:[],benefitsTitle:null,upsellButton:{href:"",className:"button button-primary"},upsellButtonLabel:"",upsellButtonHasCaret:!0};const Be=$e,De=(0,d.__)("Check your text on even more SEO criteria and get an enhanced keyphrase analysis, making it easier to optimize your content.","wordpress-seo"),Ue=e=>{const{locationContext:t}=(0,o.useRootContext)(),s=(0,Re.addQueryArgs)(wpseoAdminL10n[e.buyLink],{context:t});return(0,w.createElement)(Be,{title:(0,d.__)("Get more help with writing content that ranks","wordpress-seo"),description:e.description,benefitsTitle:(0,d.sprintf)(/* translators: %s expands to 'Yoast SEO Premium'. */ (0,d.__)("%s also gives you:","wordpress-seo"),"Yoast SEO Premium"),benefits:Ce(),upsellButtonText:(0,d.sprintf)(/* translators: %s expands to 'Yoast SEO Premium'. */ (0,d.__)("Unlock with %s","wordpress-seo"),"Yoast SEO Premium"),upsellButton:{href:s,className:"yoast-button-upsell",rel:null,"data-ctb-id":"f6a84663-465f-4cb5-8ba5-f7a6d72224b2","data-action":"load-nfd-ctb"},upsellButtonLabel:(0,d.__)("1 year of premium support and updates included!","wordpress-seo")})};Ue.propTypes={buyLink:S().string.isRequired,description:S().string},Ue.defaultProps={description:De};const We=Ue;class Ke extends v.Component{constructor(e){super(e);const t=this.props.results;this.state={mappedResults:{}},null!==t&&(this.state={mappedResults:Y(t,this.props.keywordKey)}),this.handleMarkButtonClick=this.handleMarkButtonClick.bind(this),this.handleEditButtonClick=this.handleEditButtonClick.bind(this),this.handleResultsChange=this.handleResultsChange.bind(this),this.renderHighlightingUpsell=this.renderHighlightingUpsell.bind(this),this.createMarkButton=this.createMarkButton.bind(this)}componentDidUpdate(e){null!==this.props.results&&this.props.results!==e.results&&this.setState({mappedResults:Y(this.props.results,this.props.keywordKey)})}createMarkButton({ariaLabel:e,id:t,className:s,status:r,onClick:a,isPressed:n}){return(0,w.createElement)(v.Fragment,null,(0,w.createElement)(R.IconButtonToggle,{marksButtonStatus:r,className:s,onClick:a,id:t,icon:"eye",pressed:n,ariaLabel:e}),this.props.shouldUpsellHighlighting&&(0,w.createElement)("div",{className:"yst-root"},(0,w.createElement)(xe.Badge,{className:"yst-absolute yst-px-[3px] yst-py-[3px] yst--end-[6.5px] yst--top-[6.5px]",size:"small",variant:"upsell"},(0,w.createElement)(_e,{className:"yst-w-2.5 yst-h-2.5 yst-shrink-0",role:"img","aria-hidden":!0,focusable:!1}))))}deactivateMarker(){this.props.setActiveMarker(null),this.props.setMarkerPauseStatus(!1),this.removeMarkers()}activateMarker(e,t){this.props.setActiveMarker(e),t()}handleMarkButtonClick(e,t){const s=this.props.keywordKey.length>0?`${this.props.keywordKey}:${e}`:e;this.props.activeAIFixesButton&&this.props.setActiveAIFixesButton(null),s===this.props.activeMarker?this.deactivateMarker():this.activateMarker(s,t)}handleResultsChange(e,t,s){const r=this.props.keywordKey.length>0?`${this.props.keywordKey}:${e}`:e;r===this.props.activeMarker&&(s?(0,l.isUndefined)(t)||this.activateMarker(r,t):this.deactivateMarker())}focusOnKeyphraseField(e){const t=this.props.keywordKey,s=""===t?"focus-keyword-input-"+e:"yoast-keyword-input-"+t+"-"+e,r=document.getElementById(s);r.focus(),r.scrollIntoView({behavior:"auto",block:"center",inline:"center"})}focusOnGooglePreviewField(e,t){let s;s="metaDescriptionKeyword"===e||"metaDescriptionLength"===e?"description":"titleWidth"===e||"keyphraseInSEOTitle"===e?"title":"slug";const r=document.getElementById("yoast-google-preview-"+s+"-"+t);r.focus(),r.scrollIntoView({behavior:"auto",block:"center",inline:"center"})}handleEditButtonClick(e){const t=this.props.location;"functionWordsInKeyphrase"!==e&&"keyphraseLength"!==e?(["metaDescriptionKeyword","metaDescriptionLength","titleWidth","keyphraseInSEOTitle","slugKeyword"].includes(e)&&this.handleGooglePreviewFocus(t,e),(0,p.doAction)("yoast.focus.input",e)):this.focusOnKeyphraseField(t)}handleGooglePreviewFocus(e,t){if("sidebar"===e)document.getElementById("yoast-search-appearance-modal-open-button").click(),setTimeout((()=>this.focusOnGooglePreviewField(t,"modal")),500);else{const s=document.getElementById("yoast-snippet-editor-metabox");s&&"false"===s.getAttribute("aria-expanded")?(s.click(),setTimeout((()=>this.focusOnGooglePreviewField(t,e)),100)):this.focusOnGooglePreviewField(t,e)}}removeMarkers(){window.YoastSEO.analysis.applyMarks(new u.Paper("",{}),[])}renderHighlightingUpsell(e,t){const s=(0,d.__)("Highlight areas of improvement in your text, no more searching for a needle in a haystack, straight to optimizing! Now also in Elementor!","wordpress-seo");return e&&(0,w.createElement)(J,{title:(0,d.__)("Unlock Premium SEO analysis","wordpress-seo"),onRequestClose:t,additionalClassName:"",className:`${Q} yoast-gutenberg-modal__box yoast-gutenberg-modal__no-padding`,id:"yoast-premium-seo-analysis-highlighting-modal",shouldCloseOnClickOutside:!0},(0,w.createElement)(Se,null,(0,w.createElement)(We,{buyLink:this.props.highlightingUpsellLink,description:s})))}render(){const{mappedResults:e}=this.state,{errorsResults:t,improvementsResults:s,goodResults:r,considerationsResults:a,problemsResults:n}=e,{upsellResults:o,resultCategoryLabels:i}=this.props,l={errors:(0,d.__)("Errors","wordpress-seo"),problems:(0,d.__)("Problems","wordpress-seo"),improvements:(0,d.__)("Improvements","wordpress-seo"),considerations:(0,d.__)("Considerations","wordpress-seo"),goodResults:(0,d.__)("Good results","wordpress-seo")},c=Object.assign(l,i);let u=this.props.marksButtonStatus;return"enabled"===u&&this.props.shortcodesForParsing.length>0&&(u="disabled"),(0,w.createElement)(v.Fragment,null,(0,w.createElement)(ke.ContentAnalysis,{errorsResults:t,problemsResults:n,upsellResults:o,improvementsResults:s,considerationsResults:a,goodResults:r,activeMarker:this.props.activeMarker,onMarkButtonClick:this.handleMarkButtonClick,onEditButtonClick:this.handleEditButtonClick,marksButtonClassName:this.props.marksButtonClassName,editButtonClassName:this.props.editButtonClassName,marksButtonStatus:u,headingLevel:3,keywordKey:this.props.keywordKey,isPremium:this.props.isPremium,resultCategoryLabels:c,onResultChange:this.handleResultsChange,shouldUpsellHighlighting:this.props.shouldUpsellHighlighting,renderAIOptimizeButton:this.props.renderAIOptimizeButton,renderHighlightingUpsell:this.renderHighlightingUpsell,markButtonFactory:this.createMarkButton}))}}Ke.propTypes={results:S().array,upsellResults:S().array,marksButtonClassName:S().string,editButtonClassName:S().string,marksButtonStatus:S().oneOf(["enabled","disabled","hidden"]),setActiveMarker:S().func.isRequired,setMarkerPauseStatus:S().func.isRequired,setActiveAIFixesButton:S().func.isRequired,activeMarker:S().string,activeAIFixesButton:S().string,keywordKey:S().string,location:S().string,isPremium:S().bool,resultCategoryLabels:S().shape({errors:S().string,problems:S().string,improvements:S().string,considerations:S().string,goodResults:S().string}),shortcodesForParsing:S().array,shouldUpsellHighlighting:S().bool,highlightingUpsellLink:S().string,renderAIOptimizeButton:S().func},Ke.defaultProps={results:null,upsellResults:[],marksButtonStatus:"enabled",marksButtonClassName:"",editButtonClassName:"",activeMarker:null,activeAIFixesButton:null,keywordKey:"",location:"",isPremium:!1,resultCategoryLabels:{},shortcodesForParsing:[],shouldUpsellHighlighting:!1,highlightingUpsellLink:"",renderAIOptimizeButton:()=>{}};const He=Ke,je=(0,he.compose)([(0,ge.withSelect)((e=>{const{getActiveMarker:t,getIsPremium:s,getShortcodesForParsing:r,getActiveAIFixesButton:a}=e("yoast-seo/editor");return{activeMarker:t(),isPremium:s(),shortcodesForParsing:r(),activeAIFixesButton:a()}})),(0,ge.withDispatch)((e=>{const{setActiveMarker:t,setMarkerPauseStatus:s,setActiveAIFixesButton:r}=e("yoast-seo/editor");return{setActiveMarker:t,setMarkerPauseStatus:s,setActiveAIFixesButton:r}}))])(He),ze=window.yoast.relatedKeyphraseSuggestions;function Ye(e){const{requestLimitReached:t,isSuccess:s,response:r,requestHasData:a,relatedKeyphrases:n}=e;return t?"requestLimitReached":!s&&function(e){return"invalid_json"===(null==e?void 0:e.code)||"fetch_error"===(null==e?void 0:e.code)||!(0,l.isEmpty)(e)&&"error"in e}(r)?"requestFailed":a?function(e){return e&&e.length>=4}(n)?"maxRelatedKeyphrases":null:"requestEmpty"}function Ve(e){var t,s;const{keyphrase:r="",relatedKeyphrases:a=[],renderAction:n=null,requestLimitReached:o=!1,countryCode:i="us",setCountry:l,newRequest:c,response:d={},isRtl:u=!1,userLocale:p="en_US",isPending:m=!1,isPremium:h=!1,semrushUpsellLink:g="",premiumUpsellLink:y=""}=e,[f,b]=(0,v.useState)(i),E=(0,v.useCallback)((async()=>{c(i,r),b(i)}),[i,r,c]);return(0,w.createElement)(xe.Root,{context:{isRtl:u}},!o&&!h&&(0,w.createElement)(ze.PremiumUpsell,{url:y,className:"yst-mb-4"}),!o&&(0,w.createElement)(ze.CountrySelector,{countryCode:i,activeCountryCode:f,onChange:l,onClick:E,className:"yst-mb-4",userLocale:p.split("_")[0]}),!m&&(0,w.createElement)(ze.UserMessage,{variant:Ye(e),upsellLink:g}),(0,w.createElement)(ze.KeyphrasesTable,{relatedKeyphrases:a,columnNames:null==d||null===(t=d.results)||void 0===t?void 0:t.columnNames,data:null==d||null===(s=d.results)||void 0===s?void 0:s.rows,isPending:m,renderButton:n,className:"yst-mt-4"}))}Ve.propTypes={keyphrase:S().string,relatedKeyphrases:S().array,renderAction:S().func,requestLimitReached:S().bool,countryCode:S().string.isRequired,setCountry:S().func.isRequired,newRequest:S().func.isRequired,response:S().object,isRtl:S().bool,userLocale:S().string,isPending:S().bool,isPremium:S().bool,semrushUpsellLink:S().string,premiumUpsellLink:S().string};const Ge=(0,he.compose)([(0,ge.withSelect)((e=>{const{getFocusKeyphrase:t,getSEMrushSelectedCountry:s,getSEMrushRequestLimitReached:r,getSEMrushRequestResponse:a,getSEMrushRequestIsSuccess:n,getSEMrushIsRequestPending:o,getSEMrushRequestHasData:i,getSEMrushRequestKeyphrase:l,getPreference:c,getIsPremium:d,selectLinkParams:u}=e("yoast-seo/editor");return{keyphrase:t(),countryCode:s(),requestLimitReached:r(),response:a(),isSuccess:n(),isPending:o(),requestHasData:i(),lastRequestKeyphrase:l(),isRtl:c("isRtl",!1),userLocale:c("userLocale","en_US"),isPremium:d(),semrushUpsellLink:(0,Re.addQueryArgs)("https://yoa.st/semrush-prices",u()),premiumUpsellLink:(0,Re.addQueryArgs)("https://yoa.st/413",u())}})),(0,ge.withDispatch)((e=>{const{setSEMrushChangeCountry:t,setSEMrushNewRequest:s}=e("yoast-seo/editor");return{setCountry:e=>{t(e)},newRequest:(e,t)=>{s(e,t)}}}))])(Ve),Ze=window.moment;var Qe=s.n(Ze),Xe=s(6746);const Je=(0,C.makeOutboundLink)(),et=e=>{const t=(0,d.sprintf)(/* translators: %1$d expands to the amount of allowed keyphrases on a free account, %2$s expands to a link to Wincher plans. */ (0,d.__)("You've reached the maximum amount of %1$d keyphrases you can add to your Wincher account. If you wish to add more keyphrases, please %2$s.","wordpress-seo"),e.limit,"{{updateWincherPlanLink/}}");return(0,w.createElement)(R.Alert,{type:"error"},(0,Xe.Z)({mixedString:t,components:{updateWincherPlanLink:(0,w.createElement)(Je,{href:wpseoAdminGlobalL10n["links.wincher.pricing"]},(0,d.sprintf)(/* translators: %s : Expands to "Wincher". */ (0,d.__)("upgrade your %s plan","wordpress-seo"),"Wincher"))}}))};et.propTypes={limit:S().number},et.defaultProps={limit:10};const tt=et,st=()=>(0,w.createElement)(R.Alert,{type:"error"},(0,d.__)("Something went wrong while tracking the ranking position(s) of your page. Please try again later.","wordpress-seo")),rt=window.wp.apiFetch;var at=s.n(rt);async function nt(e,t,s,r=200){try{const a=await e();return!!a&&(a.status===r?t(a):s(a))}catch(e){console.error(e.message)}}async function ot(e){try{return await at()(e)}catch(e){return e.error&&e.status?e:e instanceof Response&&await e.json()}}async function it(e){return(0,l.isArray)(e)||(e=[e]),await ot({path:"yoast/v1/wincher/keyphrases/track",method:"POST",data:{keyphrases:e}})}const lt=x().p` color: ${I.colors.$color_pink_dark}; font-size: 14px; font-weight: 700; margin: 13px 0 10px; `,ct=x()(R.SvgIcon)` margin-right: 5px; vertical-align: middle; `,dt=x().button` position: absolute; top: 9px; right: 9px; border: none; background: none; cursor: pointer; `,ut=x().p` font-size: 13px; font-weight: 500; margin: 10px 0 13px; `,pt=x().div` position: relative; background: ${e=>e.isTitleShortened?"#F5F7F7":"transparent"}; border: 1px solid #C7C7C7; border-left: 4px solid${I.colors.$color_pink_dark}; padding: 0 16px; margin-bottom: 1.5em; `,mt=e=>{const[t,s]=(0,v.useState)(null);return(0,v.useEffect)((()=>{e&&!t&&async function(){return await ot({path:"yoast/v1/wincher/account/limit",method:"GET"})}().then((e=>s(e)))}),[t]),t};mt.propTypes={limit:S().bool.isRequired};const ht=({limit:e,usage:t,isTitleShortened:s,isFreeAccount:r})=>{const a=(0,d.sprintf)( /* Translators: %1$s expands to the number of used keywords. * %2$s expands to the account keywords limit. */ (0,d.__)("Your are tracking %1$s out of %2$s keyphrases included in your free account.","wordpress-seo"),t,e),n=(0,d.sprintf)( /* Translators: %1$s expands to the number of used keywords. * %2$s expands to the account keywords limit. */ (0,d.__)("Your are tracking %1$s out of %2$s keyphrases included in your account.","wordpress-seo"),t,e),o=r?a:n,i=(0,d.sprintf)( /* Translators: %1$s expands to the number of used keywords. * %2$s expands to the account keywords limit. */ (0,d.__)("Keyphrases tracked: %1$s/%2$s","wordpress-seo"),t,e),l=s?i:o;return(0,w.createElement)(lt,null,s&&(0,w.createElement)(ct,{icon:"exclamation-triangle",color:I.colors.$color_pink_dark,size:"14px"}),l)};ht.propTypes={limit:S().number.isRequired,usage:S().number.isRequired,isTitleShortened:S().bool,isFreeAccount:S().bool};const gt=(0,C.makeOutboundLink)(),yt=({discount:e,months:t})=>{const s=(0,w.createElement)(gt,{href:wpseoAdminGlobalL10n["links.wincher.upgrade"],style:{fontWeight:600}},(0,d.sprintf)(/* Translators: %s : Expands to "Wincher". */ (0,d.__)("Click here to upgrade your %s plan","wordpress-seo"),"Wincher"));if(!e||!t)return(0,w.createElement)(ut,null,s);const r=100*e,a=(0,d.sprintf)( /* Translators: %1$s expands to upgrade account link. * %2$s expands to the upgrade discount value. * %3$s expands to the upgrade discount duration e.g. 2 months. */ (0,d.__)("%1$s and get an exclusive %2$s discount for %3$s month(s).","wordpress-seo"),"{{wincherAccountUpgradeLink/}}",r+"%",t);return(0,w.createElement)(ut,null,(0,Xe.Z)({mixedString:a,components:{wincherAccountUpgradeLink:s}}))};yt.propTypes={discount:S().number,months:S().number};const ft=({onClose:e,isTitleShortened:t,trackingInfo:s})=>{const r=(()=>{const[e,t]=(0,v.useState)(null);return(0,v.useEffect)((()=>{e||async function(){return await ot({path:"yoast/v1/wincher/account/upgrade-campaign",method:"GET"})}().then((e=>t(e)))}),[e]),e})();if(null===s)return null;const{limit:a,usage:n}=s;if(!(a&&n/a>=.8))return null;const o=Boolean(null==r?void 0:r.discount);return(0,w.createElement)(pt,{isTitleShortened:t},e&&(0,w.createElement)(dt,{type:"button","aria-label":(0,d.__)("Close the upgrade callout","wordpress-seo"),onClick:e},(0,w.createElement)(R.SvgIcon,{icon:"times-circle",color:I.colors.$color_pink_dark,size:"14px"})),(0,w.createElement)(ht,{...s,isTitleShortened:t,isFreeAccount:o}),(0,w.createElement)(yt,{discount:null==r?void 0:r.discount,months:null==r?void 0:r.months}))};ft.propTypes={onClose:S().func,isTitleShortened:S().bool,trackingInfo:S().object};const bt=ft,wt=()=>(0,w.createElement)(R.Alert,{type:"success"},(0,d.sprintf)(/* translators: %s: Expands to "Wincher". */ (0,d.__)("You have successfully connected to %s! You can now track the SEO performance for the keyphrase(s) of this page.","wordpress-seo"),"Wincher")),Et=()=>(0,w.createElement)(R.Alert,{type:"info"},(0,d.sprintf)(/* translators: %s: Expands to "Wincher". */ (0,d.__)("%s is currently tracking the ranking position(s) of your page. This may take a few minutes. Please wait or check back later.","wordpress-seo"),"Wincher")),vt=({data:e,mapChartDataToTableData:t,dataTableCaption:s,dataTableHeaderLabels:r,isDataTableVisuallyHidden:a})=>e.length!==r.length?(0,w.createElement)("p",null,(0,d.__)("The number of headers and header labels don't match.","wordpress-seo")):(0,w.createElement)("div",{className:a?"screen-reader-text":null},(0,w.createElement)("table",null,(0,w.createElement)("caption",null,s),(0,w.createElement)("thead",null,(0,w.createElement)("tr",null,r.map(((e,t)=>(0,w.createElement)("th",{key:t},e))))),(0,w.createElement)("tbody",null,(0,w.createElement)("tr",null,e.map(((e,s)=>(0,w.createElement)("td",{key:s},t(e.y))))))));vt.propTypes={data:S().arrayOf(S().shape({x:S().number,y:S().number})).isRequired,mapChartDataToTableData:S().func,dataTableCaption:S().string.isRequired,dataTableHeaderLabels:S().array.isRequired,isDataTableVisuallyHidden:S().bool},vt.defaultProps={mapChartDataToTableData:null,isDataTableVisuallyHidden:!0};const kt=vt,xt=({data:e,width:t,height:s,fillColor:r,strokeColor:a,strokeWidth:n,className:o,mapChartDataToTableData:i,dataTableCaption:l,dataTableHeaderLabels:c,isDataTableVisuallyHidden:d})=>{const u=Math.max(1,Math.max(...e.map((e=>e.x)))),p=Math.max(1,Math.max(...e.map((e=>e.y)))),m=s-n,h=e.map((e=>`${e.x/u*t},${m-e.y/p*m+n}`)).join(" "),g=`0,${m+n} `+h+` ${t},${m+n}`;return(0,w.createElement)(v.Fragment,null,(0,w.createElement)("svg",{width:t,height:s,viewBox:`0 0 ${t} ${s}`,className:o,role:"img","aria-hidden":"true",focusable:"false"},(0,w.createElement)("polygon",{fill:r,points:g}),(0,w.createElement)("polyline",{fill:"none",stroke:a,strokeWidth:n,strokeLinejoin:"round",strokeLinecap:"round",points:h})),i&&(0,w.createElement)(kt,{data:e,mapChartDataToTableData:i,dataTableCaption:l,dataTableHeaderLabels:c,isDataTableVisuallyHidden:d}))};xt.propTypes={data:S().arrayOf(S().shape({x:S().number,y:S().number})).isRequired,width:S().number.isRequired,height:S().number.isRequired,fillColor:S().string,strokeColor:S().string,strokeWidth:S().number,className:S().string,mapChartDataToTableData:S().func,dataTableCaption:S().string.isRequired,dataTableHeaderLabels:S().array.isRequired,isDataTableVisuallyHidden:S().bool},xt.defaultProps={fillColor:null,strokeColor:"#000000",strokeWidth:1,className:"",mapChartDataToTableData:null,isDataTableVisuallyHidden:!0};const _t=xt,St=()=>(0,w.createElement)("p",{className:"yoast-wincher-seo-performance-modal__loading-message"},(0,d.__)("Tracking the ranking position…","wordpress-seo")," ",(0,w.createElement)(R.SvgIcon,{icon:"loading-spinner"})),Rt=x()(R.SvgIcon)` margin-left: 2px; flex-shrink: 0; rotate: ${e=>e.isImproving?"-90deg":"90deg"}; `,Ct=x().span` color: ${e=>e.isImproving?"#69AB56":"#DC3332"}; font-size: 13px; font-weight: 600; line-height: 20px; margin-right: 2px; margin-left: 12px; `,It=x().td` padding-right: 0 !important; & > div { margin: 0px; } `,Lt=x().td` padding-left: 2px !important; `,Tt=x().td.attrs({className:"yoast-table--nopadding"})` & > div { justify-content: center; } `,Nt=x().div` display: flex; align-items: center; & > a { box-sizing: border-box; } `,Pt=x().button` background: none; color: inherit; border: none; padding: 0; font: inherit; cursor: pointer; outline: inherit; display: flex; align-items: center; `,Mt=x().tr` background-color: ${e=>e.isEnabled?"#FFFFFF":"#F9F9F9"} !important; `;function At(e){return Math.round(100*e)}function qt({chartData:e}){if((0,l.isEmpty)(e)||(0,l.isEmpty)(e.position))return"?";const t=function(e){return Array.from({length:e.position.history.length},((e,t)=>t+1)).map((e=>(0,d.sprintf)((0,d._n)("%d day","%d days",e,"wordpress-seo"),e)))}(e),s=e.position.history.map(((e,t)=>({x:t,y:101-e.value})));return(0,w.createElement)(_t,{width:66,height:24,data:s,strokeWidth:1.8,strokeColor:"#498afc",fillColor:"#ade3fc",mapChartDataToTableData:At,dataTableCaption:(0,d.__)("Keyphrase position in the last 90 days on a scale from 0 to 100.","wordpress-seo"),dataTableHeaderLabels:t})}qt.propTypes={chartData:S().object},qt.defaultProps={chartData:{}};const Ot=({rowData:e})=>{var t;if(null==e||null===(t=e.position)||void 0===t||!t.change)return(0,w.createElement)(qt,{chartData:e});const s=e.position.change<0;return(0,w.createElement)(v.Fragment,null,(0,w.createElement)(qt,{chartData:e}),(0,w.createElement)(Ct,{isImproving:s},Math.abs(e.position.change)),(0,w.createElement)(Rt,{icon:"caret-right",color:s?"#69AB56":"#DC3332",size:"14px",isImproving:s}))};function Ft(e){var t;const{keyphrase:s,rowData:r,onTrackKeyphrase:a,onUntrackKeyphrase:n,isFocusKeyphrase:o,isDisabled:i,isLoading:c,isSelected:u,onSelectKeyphrases:p}=e,m=!(0,l.isEmpty)(r),h=!(0,l.isEmpty)(null==r||null===(t=r.position)||void 0===t?void 0:t.history),g=(0,v.useCallback)((()=>{i||(m?n(s,r.id):a(s))}),[s,a,n,m,r,i]),y=(0,v.useCallback)((()=>{p((e=>u?e.filter((e=>e!==s)):e.concat(s)))}),[p,u,s]);return(0,w.createElement)(Mt,{isEnabled:m},(0,w.createElement)(It,null,h&&(0,w.createElement)(R.Checkbox,{id:"select-"+s,onChange:y,checked:u,label:""})),(0,w.createElement)(Lt,null,s,o&&(0,w.createElement)("span",null,"*")),function(e){const{rowData:t,websiteId:s,keyphrase:r,onSelectKeyphrases:a}=e,n=(0,v.useCallback)((()=>{a([r])}),[a,r]),o=!(0,l.isEmpty)(t),i=t&&t.updated_at&&Qe()(t.updated_at)>=Qe()().subtract(7,"days"),c=t?`https://app.wincher.com/websites/${s}/keywords?serp=${t.id}&utm_medium=plugin&utm_source=yoast&referer=yoast&partner=yoast`:null;return o?i?(0,w.createElement)(v.Fragment,null,(0,w.createElement)("td",null,(0,w.createElement)(Nt,null,function(e){return!e||!e.position||e.position.value>100?"> 100":e.position.value}(t),(0,w.createElement)(R.ButtonStyledLink,{variant:"secondary",href:c,style:{height:28,marginLeft:12},rel:"noopener",target:"_blank"},(0,d.__)("View","wordpress-seo")))),(0,w.createElement)("td",{className:"yoast-table--nopadding"},(0,w.createElement)(Pt,{type:"button",onClick:n},(0,w.createElement)(Ot,{rowData:t}))),(0,w.createElement)("td",null,(u=t.updated_at,Qe()(u).fromNow()))):(0,w.createElement)("td",{className:"yoast-table--nopadding",colSpan:"3"},(0,w.createElement)(St,null)):(0,w.createElement)("td",{className:"yoast-table--nopadding",colSpan:"3"},(0,w.createElement)("i",null,(0,d.__)("Activate tracking to show the ranking position","wordpress-seo")));var u}(e),(0,w.createElement)(Tt,null,function({keyphrase:e,isEnabled:t,toggleAction:s,isLoading:r}){return r?(0,w.createElement)(R.SvgIcon,{icon:"loading-spinner"}):(0,w.createElement)(R.Toggle,{id:`toggle-keyphrase-tracking-${e}`,className:"wincher-toggle",isEnabled:t,onSetToggleState:s,showToggleStateLabel:!1})}({keyphrase:s,isEnabled:m,toggleAction:g,isLoading:c})))}Ot.propTypes={rowData:S().object},Ft.propTypes={rowData:S().object,keyphrase:S().string.isRequired,onTrackKeyphrase:S().func,onUntrackKeyphrase:S().func,isFocusKeyphrase:S().bool,isDisabled:S().bool,isLoading:S().bool,websiteId:S().string,isSelected:S().bool.isRequired,onSelectKeyphrases:S().func.isRequired},Ft.defaultProps={rowData:{},onTrackKeyphrase:()=>{},onUntrackKeyphrase:()=>{},isFocusKeyphrase:!1,isDisabled:!1,isLoading:!1,websiteId:""};const $t=(0,C.makeOutboundLink)(),Bt=x().span` display: block; font-style: italic; @media (min-width: 782px) { display: inline; position: absolute; ${(0,C.getDirectionalStyle)("right","left")}: 8px; } `,Dt=x().div` width: 100%; overflow-y: auto; `,Ut=x().th` pointer-events: ${e=>e.isDisabled?"none":"initial"}; padding-right: 0 !important; & > div { margin: 0px; } `,Wt=x().th` padding-left: 2px !important; `,Kt=e=>{const t=(0,v.useRef)();return(0,v.useEffect)((()=>{t.current=e})),t.current},Ht=(0,l.debounce)((async function(e=null,t=null,s=null,r){return await ot({path:"yoast/v1/wincher/keyphrases",method:"POST",data:{keyphrases:e,permalink:s,startAt:t},signal:r})}),500,{leading:!0}),jt=e=>{const{addTrackedKeyphrase:t,isLoggedIn:s,keyphrases:r,permalink:a,removeTrackedKeyphrase:n,setKeyphraseLimitReached:o,setRequestFailed:i,setRequestSucceeded:c,setTrackedKeyphrases:u,setHasTrackedAll:p,trackAll:m,trackedKeyphrases:h,isNewlyAuthenticated:g,websiteId:y,focusKeyphrase:f,newRequest:b,startAt:E,selectedKeyphrases:k,onSelectKeyphrases:x}=e,_=(0,v.useRef)(),S=(0,v.useRef)(),C=(0,v.useRef)(!1),[I,L]=(0,v.useState)([]),T=(0,v.useCallback)((e=>{const t=e.toLowerCase();return h&&!(0,l.isEmpty)(h)&&h.hasOwnProperty(t)?h[t]:null}),[h]),N=(0,v.useMemo)((()=>async()=>{await nt((()=>(S.current&&S.current.abort(),S.current="undefined"==typeof AbortController?null:new AbortController,Ht(r,E,a,S.current.signal))),(e=>{c(e),u(e.results)}),(e=>{i(e)}))}),[c,i,u,r,a,E]),P=(0,v.useCallback)((async e=>{const s=(Array.isArray(e)?e:[e]).map((e=>e.toLowerCase()));L((e=>[...e,...s])),await nt((()=>it(s)),(e=>{c(e),t(e.results),N()}),(e=>{400===e.status&&e.limit&&o(e.limit),i(e)}),201),L((e=>(0,l.without)(e,...s)))}),[c,i,o,t,N]),M=(0,v.useCallback)((async(e,t)=>{e=e.toLowerCase(),L((t=>[...t,e])),await nt((()=>async function(e){return await ot({path:"yoast/v1/wincher/keyphrases/untrack",method:"DELETE",data:{keyphraseID:e}})}(t)),(t=>{c(t),n(e)}),(e=>{i(e)})),L((t=>(0,l.without)(t,e)))}),[c,n,i]),A=(0,v.useCallback)((async e=>{b(),await P(e)}),[b,P]),q=Kt(a),O=Kt(r),F=Kt(E),$=a&&E;(0,v.useEffect)((()=>{s&&$&&(a!==q||(0,l.difference)(r,O).length||E!==F)&&N()}),[s,a,q,r,O,N,$,E,F]),(0,v.useEffect)((()=>{if(s&&m&&null!==h){const e=r.filter((e=>!T(e)));e.length&&P(e),p()}}),[s,m,h,P,p,T,r]),(0,v.useEffect)((()=>{g&&!C.current&&(N(),C.current=!0)}),[g,N]),(0,v.useEffect)((()=>{if(s&&!(0,l.isEmpty)(h))return(0,l.filter)(h,(e=>(0,l.isEmpty)(e.updated_at))).length>0&&(_.current=setInterval((()=>{N()}),1e4)),()=>{clearInterval(_.current)}}),[s,h,N]);const B=s&&null===h,D=(0,v.useMemo)((()=>(0,l.isEmpty)(h)?[]:Object.values(h).filter((e=>{var t;return!(0,l.isEmpty)(null==e||null===(t=e.position)||void 0===t?void 0:t.history)})).map((e=>e.keyword))),[h]),U=(0,v.useMemo)((()=>k.length>0&&D.length>0&&D.every((e=>k.includes(e)))),[k,D]),W=(0,v.useCallback)((()=>{x(U?[]:D)}),[x,U,D]),K=(0,v.useMemo)((()=>(0,l.orderBy)(r,[e=>Object.values(h||{}).map((e=>e.keyword)).includes(e)],["desc"])),[r,h]);return r&&!(0,l.isEmpty)(r)&&(0,w.createElement)(v.Fragment,null,(0,w.createElement)(Dt,null,(0,w.createElement)("table",{className:"yoast yoast-table"},(0,w.createElement)("thead",null,(0,w.createElement)("tr",null,(0,w.createElement)(Ut,{isDisabled:0===D.length},(0,w.createElement)(R.Checkbox,{id:"select-all",onChange:W,checked:U,label:""})),(0,w.createElement)(Wt,{scope:"col",abbr:(0,d.__)("Keyphrase","wordpress-seo")},(0,d.__)("Keyphrase","wordpress-seo")),(0,w.createElement)("th",{scope:"col",abbr:(0,d.__)("Position","wordpress-seo")},(0,d.__)("Position","wordpress-seo")),(0,w.createElement)("th",{scope:"col",abbr:(0,d.__)("Position over time","wordpress-seo")},(0,d.__)("Position over time","wordpress-seo")),(0,w.createElement)("th",{scope:"col",abbr:(0,d.__)("Last updated","wordpress-seo")},(0,d.__)("Last updated","wordpress-seo")),(0,w.createElement)("th",{scope:"col",abbr:(0,d.__)("Tracking","wordpress-seo")},(0,d.__)("Tracking","wordpress-seo")))),(0,w.createElement)("tbody",null,K.map(((e,t)=>(0,w.createElement)(Ft,{key:`trackable-keyphrase-${t}`,keyphrase:e,onTrackKeyphrase:A,onUntrackKeyphrase:M,rowData:T(e),isFocusKeyphrase:e===f.trim().toLowerCase(),websiteId:y,isDisabled:!s,isLoading:B||I.indexOf(e.toLowerCase())>=0,isSelected:k.includes(e),onSelectKeyphrases:x})))))),(0,w.createElement)("p",{style:{marginBottom:0,position:"relative"}},(0,w.createElement)($t,{href:wpseoAdminGlobalL10n["links.wincher.login"]},(0,d.sprintf)(/* translators: %s expands to Wincher */ (0,d.__)("Get more insights over at %s","wordpress-seo"),"Wincher")),(0,w.createElement)(Bt,null,(0,d.__)("* focus keyphrase","wordpress-seo"))))};jt.propTypes={addTrackedKeyphrase:S().func.isRequired,isLoggedIn:S().bool,isNewlyAuthenticated:S().bool,keyphrases:S().array,newRequest:S().func.isRequired,removeTrackedKeyphrase:S().func.isRequired,setRequestFailed:S().func.isRequired,setKeyphraseLimitReached:S().func.isRequired,setRequestSucceeded:S().func.isRequired,setTrackedKeyphrases:S().func.isRequired,setHasTrackedAll:S().func.isRequired,trackAll:S().bool,trackedKeyphrases:S().object,websiteId:S().string,permalink:S().string.isRequired,focusKeyphrase:S().string,startAt:S().string,selectedKeyphrases:S().arrayOf(S().string).isRequired,onSelectKeyphrases:S().func.isRequired},jt.defaultProps={isLoggedIn:!1,isNewlyAuthenticated:!1,keyphrases:[],trackAll:!1,websiteId:"",focusKeyphrase:""};const zt=jt,Yt=(0,he.compose)([(0,ge.withSelect)((e=>{const{getWincherWebsiteId:t,getWincherTrackableKeyphrases:s,getWincherLoginStatus:r,getWincherPermalink:a,getFocusKeyphrase:n,isWincherNewlyAuthenticated:o,shouldWincherTrackAll:i}=e("yoast-seo/editor");return{focusKeyphrase:n(),keyphrases:s(),isLoggedIn:r(),trackAll:i(),websiteId:t(),isNewlyAuthenticated:o(),permalink:a()}})),(0,ge.withDispatch)((e=>{const{setWincherNewRequest:t,setWincherRequestSucceeded:s,setWincherRequestFailed:r,setWincherSetKeyphraseLimitReached:a,setWincherTrackedKeyphrases:n,setWincherTrackingForKeyphrase:o,setWincherTrackAllKeyphrases:i,unsetWincherTrackingForKeyphrase:l}=e("yoast-seo/editor");return{newRequest:()=>{t()},setRequestSucceeded:e=>{s(e)},setRequestFailed:e=>{r(e)},setKeyphraseLimitReached:e=>{a(e)},addTrackedKeyphrase:e=>{o(e)},removeTrackedKeyphrase:e=>{l(e)},setTrackedKeyphrases:e=>{n(e)},setHasTrackedAll:()=>{i(!1)}}}))])(zt),Vt=(0,C.makeOutboundLink)(),Gt=(0,C.makeOutboundLink)(),Zt=()=>{const e=(0,d.sprintf)(/* translators: %1$s expands to a link to Wincher, %2$s expands to a link to the keyphrase tracking article on Yoast.com */ (0,d.__)("With %1$s you can track the ranking position of your page in the search results based on your keyphrase(s). %2$s","wordpress-seo"),"{{wincherLink/}}","{{wincherReadMoreLink/}}");return(0,w.createElement)("p",null,(0,Xe.Z)({mixedString:e,components:{wincherLink:(0,w.createElement)(Vt,{href:wpseoAdminGlobalL10n["links.wincher.website"]},"Wincher"),wincherReadMoreLink:(0,w.createElement)(Gt,{href:wpseoAdminL10n["shortlinks.wincher.seo_performance"]},(0,d.__)("Read more about keyphrase tracking with Wincher","wordpress-seo"))}}))},Qt=()=>(0,w.createElement)(R.Alert,{type:"error"},(0,d.__)("No keyphrase has been set. Please set a keyphrase first.","wordpress-seo")),Xt=()=>(0,w.createElement)(R.Alert,{type:"info"},(0,d.sprintf)(/* translators: %s: Expands to "Wincher". */ (0,d.__)("Automatic tracking of keyphrases is enabled. Your keyphrase(s) will automatically be tracked by %s when you publish your post.","wordpress-seo"),"Wincher"));class Jt{constructor(e,t={},s={}){this.url=e,this.origin=new URL(e).origin,this.eventHandlers=Object.assign({success:{type:"",callback:()=>{}},error:{type:"",callback:()=>{}}},t),this.options=Object.assign({height:570,width:340,title:""},s),this.popup=null,this.createPopup=this.createPopup.bind(this),this.messageHandler=this.messageHandler.bind(this),this.getPopup=this.getPopup.bind(this)}createPopup(){const{height:e,width:t,title:s}=this.options,r=["top="+(window.top.outerHeight/2+window.top.screenY-e/2),"left="+(window.top.outerWidth/2+window.top.screenX-t/2),"width="+t,"height="+e,"resizable=1","scrollbars=1","status=0"];this.popup&&!this.popup.closed||(this.popup=window.open(this.url,s,r.join(","))),this.popup&&this.popup.focus(),window.addEventListener("message",this.messageHandler,!1)}async messageHandler(e){const{data:t,source:s,origin:r}=e;r===this.origin&&this.popup===s&&(t.type===this.eventHandlers.success.type&&(this.popup.close(),window.removeEventListener("message",this.messageHandler,!1),await this.eventHandlers.success.callback(t)),t.type===this.eventHandlers.error.type&&(this.popup.close(),window.removeEventListener("message",this.messageHandler,!1),await this.eventHandlers.error.callback(t)))}getPopup(){return this.popup}isClosed(){return!this.popup||this.popup.closed}focus(){this.isClosed()||this.popup.focus()}}const es=e=>{const t=(0,d.sprintf)(/* translators: %s expands to a link to open the Wincher login popup. */ (0,d.__)("It seems like something went wrong when retrieving your website's data. Please %s and try again.","wordpress-seo"),"{{reconnectToWincher/}}","Wincher");return(0,w.createElement)(R.Alert,{type:"error",className:e.className},(0,Xe.Z)({mixedString:t,components:{reconnectToWincher:(0,w.createElement)("a",{href:"#",onClick:t=>{t.preventDefault(),e.onReconnect()}},(0,d.sprintf)(/* translators: %s : Expands to "Wincher". */ (0,d.__)("reconnect to %s","wordpress-seo"),"Wincher"))}}))};es.propTypes={onReconnect:S().func.isRequired,className:S().string},es.defaultProps={className:""};const ts=es,ss=()=>(0,w.createElement)(R.Alert,{type:"error"},(0,d.__)("Before you can track your SEO performance make sure to set either the post’s title and save it as a draft or manually set the post’s slug.","wordpress-seo")),rs=window.yoast["chart.js"],as="label";function ns(e,t){"function"==typeof e?e(t):e&&(e.current=t)}function os(e,t){e.labels=t}function is(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:as;const r=[];e.datasets=t.map((t=>{const a=e.datasets.find((e=>e[s]===t[s]));return a&&t.data&&!r.includes(a)?(r.push(a),Object.assign(a,t),a):{...t}}))}function ls(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:as;const s={labels:[],datasets:[]};return os(s,e.labels),is(s,e.datasets,t),s}function cs(e,t){const{height:s=150,width:r=300,redraw:a=!1,datasetIdKey:n,type:o,data:i,options:l,plugins:c=[],fallbackContent:d,updateMode:u,...p}=e,m=(0,w.useRef)(null),h=(0,w.useRef)(),g=()=>{m.current&&(h.current=new rs.Chart(m.current,{type:o,data:ls(i,n),options:l&&{...l},plugins:c}),ns(t,h.current))},y=()=>{ns(t,null),h.current&&(h.current.destroy(),h.current=null)};return(0,w.useEffect)((()=>{!a&&h.current&&l&&function(e,t){const s=e.options;s&&t&&Object.assign(s,t)}(h.current,l)}),[a,l]),(0,w.useEffect)((()=>{!a&&h.current&&os(h.current.config.data,i.labels)}),[a,i.labels]),(0,w.useEffect)((()=>{!a&&h.current&&i.datasets&&is(h.current.config.data,i.datasets,n)}),[a,i.datasets]),(0,w.useEffect)((()=>{h.current&&(a?(y(),setTimeout(g)):h.current.update(u))}),[a,l,i.labels,i.datasets,u]),(0,w.useEffect)((()=>{h.current&&(y(),setTimeout(g))}),[o]),(0,w.useEffect)((()=>(g(),()=>y())),[]),w.createElement("canvas",Object.assign({ref:m,role:"img",height:s,width:r},p),d)}const ds=(0,w.forwardRef)(cs);function us(e,t){return rs.Chart.register(t),(0,w.forwardRef)(((t,s)=>w.createElement(ds,Object.assign({},t,{ref:s,type:e}))))}const ps=us("line",rs.LineController),ms={datetime:"MMM D, YYYY, h:mm:ss a",millisecond:"h:mm:ss.SSS a",second:"h:mm:ss a",minute:"h:mm a",hour:"hA",day:"MMM D",week:"ll",month:"MMM YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"};rs._adapters._date.override("function"==typeof Qe()?{_id:"moment",formats:function(){return ms},parse:function(e,t){return"string"==typeof e&&"string"==typeof t?e=Qe()(e,t):e instanceof Qe()||(e=Qe()(e)),e.isValid()?e.valueOf():null},format:function(e,t){return Qe()(e).format(t)},add:function(e,t,s){return Qe()(e).add(t,s).valueOf()},diff:function(e,t,s){return Qe()(e).diff(Qe()(t),s)},startOf:function(e,t,s){return e=Qe()(e),"isoWeek"===t?(s=Math.trunc(Math.min(Math.max(0,s),6)),e.isoWeekday(s).startOf("day").valueOf()):e.startOf(t).valueOf()},endOf:function(e,t){return Qe()(e).endOf(t).valueOf()}}:{}),Math.PI,Number.POSITIVE_INFINITY,Math.log10,Math.sign,"undefined"==typeof window||window.requestAnimationFrame,new Map,Object.create(null),Object.create(null),Number.EPSILON;const hs=["top","right","bottom","left"];function gs(e,t,s){const r={};s=s?"-"+s:"";for(let a=0;a<4;a++){const n=hs[a];r[n]=parseFloat(e[t+"-"+n+s])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}!function(){let e=!1;try{const t={get passive(){return e=!0,!1}};window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(e){}}(),rs.Chart.register(rs.CategoryScale,rs.LineController,rs.LineElement,rs.PointElement,rs.LinearScale,rs.TimeScale,rs.Legend,rs.Tooltip);const ys=["#ff983b","#ffa3f7","#3798ff","#ff3b3b","#acce81","#b51751","#3949ab","#26c6da","#ccb800","#de66ff","#4db6ac","#ffab91","#45f5f1","#77f210","#90a4ae","#ffd54f","#006b5e","#8ec7d2","#b1887c","#cc9300"];function fs({datasets:e,isChartShown:t,keyphrases:s}){if(!t)return null;const r=(0,v.useMemo)((()=>Object.fromEntries([...s].sort().map(((e,t)=>[e,ys[t%ys.length]])))),[s]),a=e.map((e=>{const t=r[e.label];return{...e,data:e.data.map((({datetime:e,value:t})=>({x:e,y:t}))),lineTension:0,pointRadius:1,pointHoverRadius:4,borderWidth:2,pointHitRadius:6,backgroundColor:t,borderColor:t}})).filter((e=>!1!==e.selected));return(0,w.createElement)(ps,{height:100,data:{datasets:a},options:{plugins:{legend:{display:!0,position:"bottom",labels:{color:"black",usePointStyle:!0,boxHeight:7,boxWidth:7},onClick:l.noop},tooltip:{enabled:!0,callbacks:{title:e=>Qe()(e[0].raw.x).utc().format("YYYY-MM-DD")},titleAlign:"center",mode:"xPoint",position:"nearest",usePointStyle:!0,boxHeight:7,boxWidth:7,boxPadding:2}},scales:{x:{bounds:"ticks",type:"time",time:{unit:"day",minUnit:"day"},grid:{display:!1},ticks:{autoSkipPadding:50,maxRotation:0,color:"black"}},y:{bounds:"ticks",offset:!0,reverse:!0,ticks:{precision:0,color:"black"},max:101}}}})}rs.Interaction.modes.xPoint=(e,t,s,r)=>{const a=function(e,t){if("native"in e)return e;const{canvas:s,currentDevicePixelRatio:r}=t,a=(m=s).ownerDocument.defaultView.getComputedStyle(m,null),n="border-box"===a.boxSizing,o=gs(a,"padding"),i=gs(a,"border","width"),{x:l,y:c,box:d}=function(e,t){const s=e.touches,r=s&&s.length?s[0]:e,{offsetX:a,offsetY:n}=r;let o,i,l=!1;if(((e,t,s)=>(e>0||t>0)&&(!s||!s.shadowRoot))(a,n,e.target))o=a,i=n;else{const e=t.getBoundingClientRect();o=r.clientX-e.left,i=r.clientY-e.top,l=!0}return{x:o,y:i,box:l}}(e,s),u=o.left+(d&&i.left),p=o.top+(d&&i.top);var m;let{width:h,height:g}=t;return n&&(h-=o.width+i.width,g-=o.height+i.height),{x:Math.round((l-u)/h*s.width/r),y:Math.round((c-p)/g*s.height/r)}}(t,e);let n=[];if(rs.Interaction.evaluateInteractionItems(e,"x",a,((e,t,s)=>{e.inXRange(a.x,r)&&n.push({element:e,datasetIndex:t,index:s})})),0===n.length)return n;const o=n.reduce(((e,t)=>Math.abs(a.x-e.element.x)<Math.abs(a.x-t.element.x)?e:t)).element.x;return n=n.filter((e=>e.element.x===o)),n.some((e=>Math.abs(e.element.y-a.y)<10))?n:[]},fs.propTypes={datasets:S().arrayOf(S().shape({label:S().string.isRequired,data:S().arrayOf(S().shape({datetime:S().string.isRequired,value:S().number.isRequired})).isRequired,selected:S().bool})).isRequired,isChartShown:S().bool.isRequired,keyphrases:S().array.isRequired};const bs=({response:e,onLogin:t})=>[401,403,404].includes(e.status)?(0,w.createElement)(ts,{onReconnect:t}):(0,w.createElement)(st,null);bs.propTypes={response:S().object.isRequired,onLogin:S().func.isRequired};const ws=({isSuccess:e,response:t,allKeyphrasesMissRanking:s,onLogin:r,keyphraseLimitReached:a,limit:n})=>a?(0,w.createElement)(tt,{limit:n}):(0,l.isEmpty)(t)||e?s?(0,w.createElement)(Et,null):null:(0,w.createElement)(bs,{response:t,onLogin:r});ws.propTypes={isSuccess:S().bool.isRequired,allKeyphrasesMissRanking:S().bool.isRequired,response:S().object,onLogin:S().func.isRequired,keyphraseLimitReached:S().bool.isRequired,limit:S().number.isRequired},ws.defaultProps={response:{}};let Es=null;const vs=async e=>{if(Es&&!Es.isClosed())return void Es.focus();const{url:t}=await async function(){return await ot({path:"yoast/v1/wincher/authorization-url",method:"GET"})}();Es=new Jt(t,{success:{type:"wincher:oauth:success",callback:t=>(async(e,t)=>{const{onAuthentication:s,setRequestSucceeded:r,setRequestFailed:a,keyphrases:n,addTrackedKeyphrase:o,setKeyphraseLimitReached:i}=e;await nt((()=>async function(e){const{code:t,websiteId:s}=e;return await ot({path:"yoast/v1/wincher/authenticate",method:"POST",data:{code:t,websiteId:s}})}(t)),(async e=>{s(!0,!0,t.websiteId.toString()),r(e);const l=(Array.isArray(n)?n:[n]).map((e=>e.toLowerCase()));await nt((()=>it(l)),(e=>{r(e),o(e.results)}),(e=>{400===e.status&&e.limit&&i(e.limit),a(e)}),201);const c=Es.getPopup();c&&c.close()}),(async e=>a(e)))})(e,t)},error:{type:"wincher:oauth:error",callback:()=>e.onAuthentication(!1,!1)}},{title:"Wincher_login",width:500,height:700}),Es.createPopup()},ks=e=>e.isLoggedIn?null:(0,w.createElement)("p",null,(0,w.createElement)(R.NewButton,{onClick:e.onLogin,variant:"primary"},(0,d.sprintf)(/* translators: %s expands to Wincher */ (0,d.__)("Connect with %s","wordpress-seo"),"Wincher")));ks.propTypes={isLoggedIn:S().bool.isRequired,onLogin:S().func.isRequired};const xs=x().div` p { margin: 1em 0; } `,_s=x().div` ${e=>e.isDisabled&&"\n\t\topacity: .5;\n\t\tpointer-events: none;\n\t"}; `,Ss=x().div` font-weight: var(--yoast-font-weight-bold); color: var(--yoast-color-label); font-size: var(--yoast-font-size-default); `,Rs=x().div.attrs({className:"yoast-field-group"})` display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; `,Cs=x().div` margin: 8px 0; `,Is=Qe().utc().startOf("day"),Ls=[{name:(0,d.__)("Last day","wordpress-seo"),value:Qe()(Is).subtract(1,"days").format(),defaultIndex:1},{name:(0,d.__)("Last week","wordpress-seo"),value:Qe()(Is).subtract(1,"week").format(),defaultIndex:2},{name:(0,d.__)("Last month","wordpress-seo"),value:Qe()(Is).subtract(1,"month").format(),defaultIndex:3},{name:(0,d.__)("Last year","wordpress-seo"),value:Qe()(Is).subtract(1,"year").format(),defaultIndex:0}],Ts=e=>{const{onSelect:t,selected:s,options:r,isLoggedIn:a}=e;return a?r.length<1?null:(0,w.createElement)("select",{className:"components-select-control__input",id:"wincher-period-picker",value:(null==s?void 0:s.value)||r[0].value,onChange:t},r.map((e=>(0,w.createElement)("option",{key:e.name,value:e.value},e.name)))):null};Ts.propTypes={onSelect:S().func.isRequired,selected:S().object,options:S().array.isRequired,isLoggedIn:S().bool.isRequired};const Ns=e=>{const{trackedKeyphrases:t,isLoggedIn:s,keyphrases:r,shouldTrackAll:a,permalink:n,historyDaysLimit:o}=e;if(!n&&s)return(0,w.createElement)(ss,null);if(0===r.length)return(0,w.createElement)(Qt,null);const i=Qe()(Is).subtract(o,"days"),c=Ls.filter((e=>Qe()(e.value).isSameOrAfter(i))),u=(0,l.orderBy)(c,(e=>e.defaultIndex),"desc")[0],[p,m]=(0,v.useState)(u),[h,g]=(0,v.useState)([]),y=h.length>0,f=(0,he.usePrevious)(t);(0,v.useEffect)((()=>{if(!(0,l.isEmpty)(t)&&(0,l.difference)(Object.keys(t),Object.keys(f||[])).length){const e=Object.values(t).map((e=>e.keyword));g(e)}}),[t,f]),(0,v.useEffect)((()=>{m(u)}),[null==u?void 0:u.name]);const b=(0,v.useCallback)((e=>{const t=Ls.find((t=>t.value===e.target.value));t&&m(t)}),[m]),E=(0,v.useMemo)((()=>(0,l.isEmpty)(h)||(0,l.isEmpty)(t)?[]:Object.values(t).filter((e=>{var t;return!(null==e||null===(t=e.position)||void 0===t||!t.history)})).map((e=>{var t;return{label:e.keyword,data:e.position.history,selected:h.includes(e.keyword)&&!(0,l.isEmpty)(null===(t=e.position)||void 0===t?void 0:t.history)}}))),[h,t]);return(0,w.createElement)(_s,{isDisabled:!s},(0,w.createElement)("p",null,(0,d.__)("You can enable / disable tracking the SEO performance for each keyphrase below.","wordpress-seo")),s&&a&&(0,w.createElement)(Xt,null),(0,w.createElement)(Rs,null,(0,w.createElement)(Ts,{selected:p,onSelect:b,options:c,isLoggedIn:s})),(0,w.createElement)(Cs,null,(0,w.createElement)(fs,{isChartShown:y,datasets:E,keyphrases:r})),(0,w.createElement)(Yt,{startAt:null==p?void 0:p.value,selectedKeyphrases:h,onSelectKeyphrases:g,trackedKeyphrases:t}))};function Ps(e){const{isNewlyAuthenticated:t,isLoggedIn:s}=e,r=(0,v.useCallback)((()=>{vs(e)}),[vs,e]),a=mt(s);return(0,w.createElement)(xs,null,t&&(0,w.createElement)(wt,null),s&&(0,w.createElement)(bt,{trackingInfo:a}),(0,w.createElement)(Ss,null,(0,d.__)("SEO performance","wordpress-seo"),(0,w.createElement)(R.HelpIcon,{linkTo:wpseoAdminL10n["shortlinks.wincher.seo_performance"] /* translators: Hidden accessibility text. */,linkText:(0,d.__)("Learn more about the SEO performance feature.","wordpress-seo")})),(0,w.createElement)(Zt,null),(0,w.createElement)(ks,{isLoggedIn:s,onLogin:r}),(0,w.createElement)(ws,{...e,onLogin:r}),(0,w.createElement)(Ns,{...e,historyDaysLimit:(null==a?void 0:a.historyDays)||31}))}Ns.propTypes={trackedKeyphrases:S().object,keyphrases:S().array.isRequired,isLoggedIn:S().bool.isRequired,shouldTrackAll:S().bool.isRequired,permalink:S().string.isRequired,historyDaysLimit:S().number},Ps.propTypes={trackedKeyphrases:S().object,addTrackedKeyphrase:S().func.isRequired,isLoggedIn:S().bool,isNewlyAuthenticated:S().bool,keyphrases:S().array,response:S().object,shouldTrackAll:S().bool,permalink:S().string,historyDaysLimit:S().number},Ps.defaultProps={trackedKeyphrases:null,isLoggedIn:!1,isNewlyAuthenticated:!1,keyphrases:[],response:{},shouldTrackAll:!1,permalink:"",historyDaysLimit:0};const Ms=(0,he.compose)([(0,ge.withSelect)((e=>{const{isWincherNewlyAuthenticated:t,getWincherKeyphraseLimitReached:s,getWincherLimit:r,getWincherHistoryDaysLimit:a,getWincherLoginStatus:n,getWincherRequestIsSuccess:o,getWincherRequestResponse:i,getWincherTrackableKeyphrases:l,getWincherTrackedKeyphrases:c,getWincherAllKeyphrasesMissRanking:d,getWincherPermalink:u,shouldWincherAutomaticallyTrackAll:p}=e("yoast-seo/editor");return{keyphrases:l(),trackedKeyphrases:c(),allKeyphrasesMissRanking:d(),isLoggedIn:n(),isNewlyAuthenticated:t(),isSuccess:o(),keyphraseLimitReached:s(),limit:r(),response:i(),shouldTrackAll:p(),permalink:u(),historyDaysLimit:a()}})),(0,ge.withDispatch)((e=>{const{setWincherWebsiteId:t,setWincherRequestSucceeded:s,setWincherRequestFailed:r,setWincherTrackingForKeyphrase:a,setWincherSetKeyphraseLimitReached:n,setWincherLoginStatus:o}=e("yoast-seo/editor");return{setRequestSucceeded:e=>{s(e)},setRequestFailed:e=>{r(e)},addTrackedKeyphrase:e=>{a(e)},setKeyphraseLimitReached:e=>{n(e)},onAuthentication:(e,s,r)=>{t(r),o(e,s)}}}))])(Ps);function As(e,t,s,r){return new Promise(((a,n)=>{jQuery.ajax({type:e,url:t,beforeSend:s?e=>{e.setRequestHeader("X-WP-Nonce",s)}:null,data:r,dataType:"json",success:a,error:n})}))}const qs=window.wp.sanitize,Os="SNIPPET_EDITOR_UPDATE_REPLACEMENT_VARIABLE",Fs="SNIPPET_EDITOR_UPDATE_REPLACEMENT_VARIABLES_BATCH";function $s(e,t,s="",r=!1){const a="string"==typeof t?(0,C.decodeHTML)(t):t;return{type:Os,name:e,value:a,label:s,hidden:r}}function Bs(e){return e.charAt(0).toUpperCase()+e.slice(1)}const{stripHTMLTags:Ds}=C.strings,Us=["slug","content","contentImage","snippetPreviewImageURL"];function Ws(e,t){(0,l.forEach)(e,((e,s)=>{Us.includes(s)||t.dispatch($s(s,e))}))}function Ks(e){if(!["ct_","cf_","pt_"].includes(e.substring(0,3)))return e.replace(/_/g," ");const t=e.slice(0,3);switch(-1!==(e=e.slice(3)).indexOf("desc_")&&(e=e.slice(5)+" description"),t){case"ct_":e+=" (custom taxonomy)";break;case"cf_":e+=" (custom field)";break;case"pt_":e="Post type ("+(e=e.replace("single","singular"))+")"}return e}function Hs(e){return Bs(e=Ks(e))}function js(e,t){return e.push({name:t.name,label:t.label||Hs(t.name),value:t.value}),e}function zs(e,t="_"){return e.replace(/\s/g,t)}function Ys(e){return{name:"cf_"+zs(e),label:Bs(e+" (custom field)")}}function Vs(e){const t=zs(e);return{name:"ct_"+t,label:Bs(e+" (custom taxonomy)"),descriptionName:"ct_desc_"+t,descriptionLabel:Bs(e+" description (custom taxonomy)")}}function Gs(e,t){if(!e.custom_taxonomies)return e;const s={};return(0,l.forEach)(e.custom_taxonomies,((e,t)=>{const{name:r,label:a,descriptionName:n,descriptionLabel:o}=Vs(t),i="string"==typeof e.name?(0,C.decodeHTML)(e.name):e.name,l="string"==typeof e.description?(0,C.decodeHTML)(e.description):e.description;s[r]={value:i,label:a},s[n]={value:l,label:o}})),t.dispatch(function(e){return{type:Fs,updatedVariables:e}}(s)),(0,l.omit)({...e},"custom_taxonomies")}function Zs(e,t){return e.custom_fields?((0,l.forEach)(e.custom_fields,((e,s)=>{const{name:r,label:a}=Ys(s);t.dispatch($s(r,e,a))})),(0,l.omit)({...e},"custom_fields")):e}function Qs(e,t=156){return(e=(e=(0,qs.stripTags)(e)).trim()).length<=t||(e=e.substring(0,t),/\s/.test(e)&&(e=e.substring(0,e.lastIndexOf(" ")))),e}const Xs=function(e){const t=(0,l.get)(window,["YoastSEO","app","pluggable"],!1);if(!t||!(0,l.get)(window,["YoastSEO","app","pluggable","loaded"],!1))return function(e){const t=(0,l.get)(window,["YoastSEO","wp","replaceVarsPlugin","replaceVariables"],l.identity);return{url:e.url,title:Ds(t(e.title)),description:Ds(t(e.description)),filteredSEOTitle:e.filteredSEOTitle?Ds(t(e.filteredSEOTitle)):""}}(e);const s=t._applyModifications.bind(t);return{url:e.url,title:Ds(s("data_page_title",e.title)),description:Ds(s("data_meta_desc",e.description)),filteredSEOTitle:e.filteredSEOTitle?Ds(s("data_page_title",e.filteredSEOTitle)):""}};var Js="score-text",er="image yoast-logo svg",tr=jQuery;function sr(e,t,s=null){var r,a,n,o,i;if(null!==s)return(0,l.get)(s,t,"");const c=(0,ge.select)("yoast-seo/editor").getIsPremium(),u={na:(0,d.__)("Not available","wordpress-seo"),bad:(0,d.__)("Needs improvement","wordpress-seo"),ok:(0,d.__)("OK","wordpress-seo"),good:(0,d.__)("Good","wordpress-seo")},p={keyword:{label:c?(0,d.__)("Premium SEO analysis:","wordpress-seo"):(0,d.__)("SEO analysis:","wordpress-seo"),anchor:"yoast-seo-analysis-collapsible-metabox",status:u},content:{label:(0,d.__)("Readability analysis:","wordpress-seo"),anchor:"yoast-readability-analysis-collapsible-metabox",status:u},"inclusive-language":{label:(0,d.__)("Inclusive language:","wordpress-seo"),anchor:"yoast-inclusive-language-analysis-collapsible-metabox",status:{...u,ok:(0,d.__)("Potentially non-inclusive","wordpress-seo")}}};return null!=p&&null!==(r=p[e])&&void 0!==r&&null!==(a=r.status)&&void 0!==a&&a[t]?`<a href="#${null===(n=p[e])||void 0===n?void 0:n.anchor}">${null===(o=p[e])||void 0===o?void 0:o.label}</a> <strong>${null===(i=p[e])||void 0===i?void 0:i.status[t]}</strong>`:""}w.forwardRef((function(e,t){return w.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:t},e),w.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"}))})),window.yoast.aiFrontend;const rr="error",ar="loading",nr="showPlay",or="askPermission",ir="isPlaying",lr="yoast-seo/ai-generator",cr="yoast-seo/editor",dr="google",ur="social",pr="twitter",mr="title",hr="description",gr="post",yr="term",fr={post:"title",term:"term_title"},br=(0,l.mapValues)(fr,(e=>`%%${e}%%`)),wr={mobile:"mobile",desktop:"desktop"},Er={idle:"idle",loading:"loading",success:"success",error:"error"},vr="success",kr="error",xr="abort";let _r,Sr=!1;const Rr=["_formal","_informal","_ao90"],Cr=e=>{for(const t of Rr)if(e.endsWith(t))return e.slice(0,-t.length);return e},Ir=async({endpoint:e,data:t})=>{let s;const r=1e3*(0,l.get)(window,"wpseoAiGenerator.requestTimeout",30);try{_r&&_r.abort(),_r=new AbortController,Sr=!1,s=setTimeout((()=>{Sr=!0,_r.abort()}),r);const a=await at()({path:e,method:"POST",data:t,parse:!1,signal:_r.signal}),n=await a.json();return{status:vr,payload:n}}catch(e){if(e instanceof DOMException&&"AbortError"===e.name)return Sr?{status:kr,payload:{message:"timeout",code:408}}:{status:xr};const{message:t,missingLicenses:s,errorIdentifier:r}=await(async e=>{try{const t=e.body.getReader(),{value:s}=await t.read(),r=new TextDecoder("utf-8").decode(s);return console.error(r),JSON.parse(r)}catch(e){return{message:"Unknown"}}})(e);return{status:kr,payload:{message:t,code:e.status||500,missingLicenses:s,errorIdentifier:r}}}finally{clearTimeout(s)}},Lr="\\–\\-\\(\\)_\\[\\]’‘“”〝〞〟‟„\"'.?!:;,¿¡«»‹›—×+&۔؟،؛。。!‼?⁇⁉⁈‥…・ー、〃〄〆〇〈〉《》「」『』【】〒〓〔〕〖〗〘〙〚〛〜〝〞〟〠〶〼〽{}|~⦅⦆「」、[]・¥$%@&'()*/:;<>\\\<>";Lr.split(""),new RegExp("^["+Lr+"]+"),new RegExp("["+Lr+"]+$");new RegExp("["+Lr+"#$%&*+/=@^`{|}~ -¿–-⁊ -₠-⃀]","g");const Tr=e=>{const t={...e};return""!==e.value||["title","excerpt","excerpt_only"].includes(e.name)||(t.value="%%"+e.name+"%%"),t.badge=`<badge>${e.label}</badge>`,t},Nr={editType:mr,previewType:dr,postType:"post",contentType:gr},Pr=(0,v.createContext)(Nr),Mr=(Pr.Provider,()=>(0,v.useContext)(Pr)),Ar=()=>(0,v.useContext)(o.LocationContext),qr=e=>{const t=(0,v.useRef)(null);return(0,v.useCallback)((s=>{(0,l.attempt)((()=>t.current&&t.current.disconnect())),null!==s&&(t.current=new ResizeObserver((t=>{(0,l.forEach)(t,(t=>e(t)))})),t.current.observe(s))}),[e])},Or=window.yoast.reduxJsToolkit,Fr=(0,Or.createSlice)({name:"suggestions",initialState:{status:Er.loading,error:{code:200,message:""},entities:[],selected:""},reducers:{setLoading:e=>{e.status=Er.loading},setSuccess:(e,{payload:t})=>{e.status=Er.success,e.selected=t[0],e.entities.push(...t)},setError:(e,{payload:t})=>{e.status=Er.error,e.error=t},setSelected:(e,{payload:t})=>{e.selected=t}}}),$r=e=>{switch(e){case ur:return"Facebook";case pr:return"Twitter";default:return"Google"}},Br=window.yoast.searchMetadataPreviews,Dr="usageCount",Ur="fetchUsageCount",Wr=`${Ur}/success`,Kr={errorCode:null,errorIdentifier:null,errorMessage:null},Hr=(0,Or.createSlice)({name:Dr,initialState:{status:"idle",count:0,limit:10,endpoint:"yoast/v1/ai_generator/get_usage",error:Kr},reducers:{addUsageCount:(e,{payload:t=1})=>{e.count+=t},setUsageCount:(e,{payload:t})=>{e.count=t},setUsageCountEndpoint:(e,{payload:t})=>{e.endpoint=t},setUsageCountLimit:(e,{payload:t})=>{e.limit=t}},extraReducers:e=>{e.addCase(`${Ur}/request`,(e=>{e.status=ar,e.error=Kr})),e.addCase(Wr,((e,{payload:t})=>{e.status="success",e.count=t.count,e.limit=t.limit,e.error=Kr})),e.addCase(`${Ur}/${rr}`,((e,{payload:t})=>{e.status="error",e.error={errorCode:502,...t}}))}}),jr=(Hr.getInitialState,{selectUsageCountStatus:e=>(0,l.get)(e,[Dr,"status"],Hr.getInitialState()),selectUsageCount:e=>(0,l.get)(e,[Dr,"count"],Hr.getInitialState().count),selectUsageCountLimit:e=>(0,l.get)(e,[Dr,"limit"],Hr.getInitialState().limit),selectUsageCountEndpoint:e=>(0,l.get)(e,[Dr,"endpoint"],Hr.getInitialState().endpoint),selectUsageCountError:e=>(0,l.get)(e,[Dr,"error"],Hr.getInitialState().error)});jr.selectUsageCountRemaining=(0,Or.createSelector)([jr.selectUsageCount,jr.selectUsageCountLimit],((e,t)=>Math.max(t-e,0))),jr.isUsageCountLimitReached=(0,Or.createSelector)([jr.selectUsageCount,jr.selectUsageCountLimit,jr.selectUsageCountError],((e,t,s)=>429===s.errorCode||e>=t)),Hr.actions,Hr.reducer;S().string.isRequired;const zr=w.forwardRef((function(e,t){return w.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),w.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8 11V7a4 4 0 118 0m-4 8v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2z"}))})),Yr=w.forwardRef((function(e,t){return w.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:t},e),w.createElement("path",{fillRule:"evenodd",d:"M12.293 5.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-2.293-2.293a1 1 0 010-1.414z",clipRule:"evenodd"}))})),Vr=({learnMoreLink:e,thumbnail:t,wistiaEmbedPermission:s,upsellLink:r,upsellLabel:a,newToText:n,ctbId:o})=>{const{onClose:i,initialFocus:l}=(0,xe.useModalContext)(),c={a:(0,w.createElement)(ua,{href:e,className:"yst-inline-flex yst-items-center yst-gap-1 yst-no-underline yst-font-medium",variant:"primary"}),ArrowNarrowRightIcon:(0,w.createElement)(Yr,{className:"yst-w-4 yst-h-4 rtl:yst-rotate-180"}),br:(0,w.createElement)("br",null)};return(0,w.createElement)(w.Fragment,null,(0,w.createElement)("div",{className:"yst-px-10 yst-pt-10 yst-introduction-gradient yst-text-center"},(0,w.createElement)("div",{className:"yst-relative yst-w-full"},(0,w.createElement)(Aa,{videoId:"vun9z1dpfh",thumbnail:t,wistiaEmbedPermission:s}),(0,w.createElement)(xe.Badge,{className:"yst-absolute yst-end-4 yst-text-center yst-justify-center",variant:"info",style:{top:"-8px"}},(0,d.__)("Beta","wordpress-seo"))),(0,w.createElement)("div",{className:"yst-mt-6 yst-text-xs yst-font-medium yst-flex yst-flex-col yst-items-center"},(0,w.createElement)("span",{className:"yst-introduction-modal-uppercase yst-flex yst-gap-2 yst-items-center"},(0,w.createElement)("span",{className:"yst-logo-icon"}),n))),(0,w.createElement)("div",{className:"yst-px-10 yst-pb-4 yst-flex yst-flex-col yst-items-center"},(0,w.createElement)("div",{className:"yst-mt-4 yst-mx-1.5 yst-text-center"},(0,w.createElement)("h3",{className:"yst-text-slate-900 yst-text-lg yst-font-medium"},(0,d.sprintf)(/* translators: %s: Expands to "Yoast AI" */ (0,d.__)("Optimize your SEO content with %s","wordpress-seo"),"Yoast AI")),(0,w.createElement)("div",{className:"yst-mt-2 yst-text-slate-600 yst-text-sm"},Ie((0,d.sprintf)(/* translators: %1$s is a break tag; %2$s and %3$s are anchor tags; %4$s is the arrow icon. */ (0,d.__)("Make content editing a breeze! Optimize your SEO content with quick, actionable suggestions at the click of a button.%1$s%2$sLearn more%3$s%4$s","wordpress-seo"),"<br/>","<a>","<ArrowNarrowRightIcon />","</a>"),c))),(0,w.createElement)("div",{className:"yst-w-full yst-flex yst-mt-6"},(0,w.createElement)(xe.Button,{as:"a",className:"yst-grow",size:"extra-large",variant:"upsell",href:r,target:"_blank",ref:l,"data-action":"load-nfd-ctb","data-ctb-id":o},(0,w.createElement)(zr,{className:"yst--ms-1 yst-me-2 yst-h-5 yst-w-5"}),a,(0,w.createElement)("span",{className:"yst-sr-only"},/* translators: Hidden accessibility text. */ (0,d.__)("(Opens in a new browser tab)","wordpress-seo")))),(0,w.createElement)(xe.Button,{as:"a",className:"yst-mt-4",variant:"tertiary",onClick:i},(0,d.__)("Close","wordpress-seo"))))};Vr.propTypes={learnMoreLink:S().string.isRequired,upsellLink:S().string.isRequired,thumbnail:S().shape({src:S().string.isRequired,width:S().string,height:S().string}).isRequired,wistiaEmbedPermission:S().shape({value:S().bool.isRequired,status:S().string.isRequired,set:S().func.isRequired}).isRequired,upsellLabel:S().string,newToText:S().string,ctbId:S().string},Vr.defaultProps={upsellLabel:(0,d.sprintf)(/* translators: %1$s expands to Yoast SEO Premium. */ (0,d.__)("Unlock with %1$s","wordpress-seo"),"Yoast SEO Premium"),newToText:"Yoast SEO Premium",ctbId:"f6a84663-465f-4cb5-8ba5-f7a6d72224b2"};const Gr=({handleRefreshClick:e,supportLink:t})=>(0,w.createElement)("div",{className:"yst-flex yst-gap-2"},(0,w.createElement)(xe.Button,{onClick:e},(0,d.__)("Refresh this page","wordpress-seo")),(0,w.createElement)(xe.Button,{variant:"secondary",as:"a",href:t,target:"_blank",rel:"noopener"},(0,d.__)("Contact support","wordpress-seo")));Gr.propTypes={handleRefreshClick:S().func.isRequired,supportLink:S().string.isRequired};const Zr=({handleRefreshClick:e,supportLink:t})=>(0,w.createElement)("div",{className:"yst-grid yst-grid-cols-1 yst-gap-y-2"},(0,w.createElement)(xe.Button,{className:"yst-order-last",onClick:e},(0,d.__)("Refresh this page","wordpress-seo")),(0,w.createElement)(xe.Button,{variant:"secondary",as:"a",href:t,target:"_blank",rel:"noopener"},(0,d.__)("Contact support","wordpress-seo")));Zr.propTypes={handleRefreshClick:S().func.isRequired,supportLink:S().string.isRequired};const Qr=({error:e,children:t})=>(0,w.createElement)("div",{role:"alert",className:"yst-max-w-screen-sm yst-p-8 yst-space-y-4"},(0,w.createElement)(xe.Title,null,(0,d.__)("Something went wrong. An unexpected error occurred.","wordpress-seo")),(0,w.createElement)("p",null,(0,d.__)("We're very sorry, but it seems like the following error has interrupted our application:","wordpress-seo")),(0,w.createElement)(xe.Alert,{variant:"error"},(null==e?void 0:e.message)||(0,d.__)("Undefined error message.","wordpress-seo")),(0,w.createElement)("p",null,(0,d.__)("Unfortunately, this means that any unsaved changes in this section will be lost. You can try and refresh this page to resolve the problem. If this error still occurs, please get in touch with our support team, and we'll get you all the help you need!","wordpress-seo")),t);Qr.propTypes={error:S().object.isRequired,children:S().node},Qr.VerticalButtons=Zr,Qr.HorizontalButtons=Gr;var Xr;function Jr(){return Jr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(e[r]=s[r])}return e},Jr.apply(this,arguments)}S().string,S().node.isRequired,S().node.isRequired,S().node,S().oneOf(Object.keys({lg:{grid:"yst-grid lg:yst-grid-cols-3 lg:yst-gap-12",col1:"yst-col-span-1",col2:"lg:yst-mt-0 lg:yst-col-span-2"},xl:{grid:"yst-grid xl:yst-grid-cols-3 xl:yst-gap-12",col1:"yst-col-span-1",col2:"xl:yst-mt-0 xl:yst-col-span-2"},"2xl":{grid:"yst-grid 2xl:yst-grid-cols-3 2xl:yst-gap-12",col1:"yst-col-span-1",col2:"2xl:yst-mt-0 2xl:yst-col-span-2"}}));const ea=e=>w.createElement("svg",Jr({xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",viewBox:"0 0 1000 1000"},e),Xr||(Xr=w.createElement("path",{fill:"#fff",d:"M500 0C223.9 0 0 223.9 0 500s223.9 500 500 500 500-223.9 500-500S776.1 0 500 0Zm87.2 412.4c0-21.9 4.3-40.2 13.1-54.4s24-27.1 45.9-38.2l10.1-4.9c17.8-9 22.4-16.7 22.4-26 0-11.1-9.5-19.1-25-19.1-18.3 0-32.2 9.5-41.8 28.9l-24.7-24.8c5.4-11.6 14.1-20.9 25.8-28.1a70.8 70.8 0 0 1 38.9-11.1c17.8 0 33.3 4.6 45.9 14.2s19.4 22.7 19.4 39.4c0 26.6-15 42.9-43.1 57.3l-15.7 8c-16.8 8.5-25.1 16-27.4 29.4h85.4v35.4H587.2Zm-82.1 373.3c-157.8 0-285.7-127.9-285.7-285.7s127.9-285.7 285.7-285.7a286.4 286.4 0 0 1 55.9 5.5l-55.9 116.9c-90 0-163.3 73.3-163.3 163.3s73.3 163.3 163.3 163.3a162.8 162.8 0 0 0 106.4-39.6l61.8 107.2a283.9 283.9 0 0 1-168.2 54.8ZM705 704.1l-70.7-122.5H492.9l70.7-122.4H705l70.7 122.4Z"}))),ta=window.ReactDOM;var sa,ra,aa;(ra=sa||(sa={})).Pop="POP",ra.Push="PUSH",ra.Replace="REPLACE",function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(aa||(aa={})),new Set(["lazy","caseSensitive","path","id","index","children"]),Error;const na=["post","put","patch","delete"],oa=(new Set(na),["get",...na]);new Set(oa),new Set([301,302,303,307,308]),new Set([307,308]),Symbol("deferred"),w.Component,w.startTransition,new Promise((()=>{})),w.Component,new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);try{window.__reactRouterVersion="6"}catch(e){}var ia,la,ca,da;new Map,w.startTransition,ta.flushSync,w.useId,"undefined"!=typeof window&&void 0!==window.document&&window.document.createElement,(da=ia||(ia={})).UseScrollRestoration="useScrollRestoration",da.UseSubmit="useSubmit",da.UseSubmitFetcher="useSubmitFetcher",da.UseFetcher="useFetcher",da.useViewTransitionState="useViewTransitionState",(ca=la||(la={})).UseFetcher="useFetcher",ca.UseFetchers="useFetchers",ca.UseScrollRestoration="useScrollRestoration",S().string.isRequired,S().string;const ua=({href:e,children:t,...s})=>(0,w.createElement)(xe.Link,{target:"_blank",rel:"noopener noreferrer",...s,href:e},t,(0,w.createElement)("span",{className:"yst-sr-only"},/* translators: Hidden accessibility text. */ (0,d.__)("(Opens in a new browser tab)","wordpress-seo")));ua.propTypes={href:S().string.isRequired,children:S().node},ua.defaultProps={children:null};const pa=w.forwardRef((function(e,t){return w.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),w.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M17 8l4 4m0 0l-4 4m4-4H3"}))}));var ma,ha,ga;function ya(){return ya=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(e[r]=s[r])}return e},ya.apply(this,arguments)}const fa=e=>w.createElement("svg",ya({xmlns:"http://www.w3.org/2000/svg",id:"star-rating-half_svg__Layer_1","data-name":"Layer 1",viewBox:"0 0 500 475.53"},e),ma||(ma=w.createElement("defs",null,w.createElement("style",null,".star-rating-half_svg__cls-1{fill:#fbbf24}"))),ha||(ha=w.createElement("path",{d:"M250 392.04 98.15 471.87l29-169.09L4.3 183.03l169.77-24.67L250 4.52l75.93 153.84 169.77 24.67-122.85 119.75 29 169.09L250 392.04z",className:"star-rating-half_svg__cls-1"})),ga||(ga=w.createElement("path",{d:"m250 9.04 73.67 149.27.93 1.88 2.08.3 164.72 23.94-119.19 116.19-1.51 1.47.36 2.07 28.14 164.06-147.34-77.46-1.86-1-1.86 1-147.34 77.46 28.14-164.06.36-2.07-1.51-1.47L8.6 184.43l164.72-23.9 2.08-.3.93-1.88L250 9.04m0-9-77.25 156.49L0 181.64l125 121.89-29.51 172L250 394.3l154.51 81.23-29.51-172 125-121.89-172.75-25.11L250 0Z",className:"star-rating-half_svg__cls-1"})),w.createElement("path",{d:"m500 181.64-172.75-25.11L250 0v394.3l154.51 81.23L375 303.48l125-121.84z",style:{fill:"#f3f4f6"}}));function ba(){return ba=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(e[r]=s[r])}return e},ba.apply(this,arguments)}const wa=e=>w.createElement("svg",ba({xmlns:"http://www.w3.org/2000/svg","data-name":"Layer 1",viewBox:"0 0 500 475.53"},e),w.createElement("path",{d:"m250 0 77.25 156.53L500 181.64 375 303.48l29.51 172.05L250 394.3 95.49 475.53 125 303.48 0 181.64l172.75-25.11L250 0z",style:{fill:"#fbbf24"}}));var Ea,va,ka,xa,_a,Sa,Ra,Ca,Ia;function La(){return La=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var s=arguments[t];for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(e[r]=s[r])}return e},La.apply(this,arguments)}const Ta=e=>w.createElement("svg",La({xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",viewBox:"0 0 500 500"},e),Ea||(Ea=w.createElement("path",{fill:"#a4286a",d:"M80 0h340a80 80 0 0 1 80 80v420H80a80 80 0 0 1-80-80V80A80 80 0 0 1 80 0z"})),va||(va=w.createElement("path",{fill:"#6c2548",d:"M437.61 2 155.89 500H500V80a80 80 0 0 0-62.39-78z"})),ka||(ka=w.createElement("path",{fill:"#fff",d:"M74.4 337.3v34.9c21.6-.9 38.5-8 52.8-22.5s27.4-38 39.9-72.9l92.6-248h-44.8L140.3 236l-37-116.2h-41l54.4 139.8a57.54 57.54 0 0 1 0 41.8c-5.5 14.2-15.4 30.9-42.3 35.9z"})),xa||(xa=w.createElement("circle",{cx:368.33,cy:124.68,r:97.34,fill:"#9fda4f",transform:"rotate(-45 368.335 124.68)"})),_a||(_a=w.createElement("path",{fill:"#77b227",d:"m416.2 39.93-95.74 169.51A97.34 97.34 0 1 0 416.2 39.93z"})),Sa||(Sa=w.createElement("path",{fill:"#fec228",d:"m294.78 254.75-.15-.08-.13-.07a63.6 63.6 0 0 0-62.56 110.76h.13a63.6 63.6 0 0 0 62.71-110.67z"})),Ra||(Ra=w.createElement("path",{fill:"#f49a00",d:"m294.5 254.59-62.56 110.76a63.6 63.6 0 1 0 62.56-110.76z"})),Ca||(Ca=w.createElement("path",{fill:"#ff4e47",d:"M222.31 450.07A38.16 38.16 0 0 0 203 416.83a38.18 38.18 0 1 0 19.41 33.27z"})),Ia||(Ia=w.createElement("path",{fill:"#ed261f",d:"m202.9 416.8-37.54 66.48a38.17 38.17 0 0 0 37.54-66.48z"}))),Na=({link:e,linkProps:t,isPromotionActive:s})=>{let r=(0,v.useMemo)((()=>(0,d.__)("Use AI to generate titles and meta descriptions, automatically redirect deleted pages, get 24/7 support, and much, much more!","wordpress-seo")),[]),a=Ie((0,d.sprintf)(/* translators: %1$s and %2$s expand to a span wrap to avoid linebreaks. %3$s expands to "Yoast SEO Premium". */ (0,d.__)("%1$sGet%2$s %3$s","wordpress-seo"),"<nowrap>","</nowrap>","Yoast SEO Premium"),{nowrap:(0,w.createElement)("span",{className:"yst-whitespace-nowrap"})});const n=s("black-friday-2024-promotion");return n&&(r=(0,v.useMemo)((()=>(0,d.__)("If you were thinking about upgrading, now's the time! 30% OFF ends 3rd Dec 11am (CET)","wordpress-seo")),[]),a=Ie((0,d.sprintf)(/* translators: %1$s and %2$s expand to a span wrap to avoid linebreaks. %3$s expands to "Yoast SEO Premium". */ (0,d.__)("%1$sBuy%2$s %3$s","wordpress-seo"),"<nowrap>","</nowrap>","Yoast SEO Premium"),{nowrap:(0,w.createElement)("span",{className:"yst-whitespace-nowrap"})})),(0,w.createElement)("div",{className:"yst-p-6 yst-rounded-lg yst-text-white yst-bg-primary-500 yst-shadow"},(0,w.createElement)("figure",{className:"yst-logo-square yst-w-16 yst-h-16 yst-mx-auto yst-overflow-hidden yst-border yst-border-white yst-rounded-xl yst-rounded-br-none yst-relative yst-z-10 yst-mt-[-2.6rem]"},(0,w.createElement)(Ta,null)),n&&(0,w.createElement)("div",{className:"sidebar__sale_banner_container"},(0,w.createElement)("div",{className:"sidebar__sale_banner"},(0,w.createElement)("span",{className:"banner_text"},(0,d.__)("30% OFF - BLACK FRIDAY","wordpress-seo")))),(0,w.createElement)(xe.Title,{as:"h2",className:"yst-mt-6 yst-text-base yst-font-extrabold yst-text-white"},a),(0,w.createElement)("p",{className:"yst-mt-2"},r),(0,w.createElement)(xe.Button,{as:"a",variant:"upsell",href:e,target:"_blank",rel:"noopener",className:"yst-flex yst-justify-center yst-gap-2 yst-mt-4 focus:yst-ring-offset-primary-500",...t},(0,w.createElement)("span",null,n?(0,d.__)("Buy now","wordpress-seo"):a),(0,w.createElement)(pa,{className:"yst-w-4 yst-h-4 yst-icon-rtl"})),(0,w.createElement)("p",{className:"yst-text-center yst-text-xs yst-mx-2 yst-font-light yst-leading-5 yst-mt-2"},(0,d.__)("30-day money back guarantee.","wordpress-seo")),(0,w.createElement)("hr",{className:"yst-border-t yst-border-primary-300 yst-my-4"}),(0,w.createElement)("a",{className:"yst-block yst-mt-4 yst-no-underline",href:"https://www.g2.com/products/yoast-yoast/reviews",target:"_blank",rel:"noopener noreferrer"},(0,w.createElement)("span",{className:"yst-font-medium yst-text-white hover:yst-underline"},(0,d.__)("Read reviews from real users","wordpress-seo")),(0,w.createElement)("span",{className:"yst-flex yst-gap-2 yst-mt-2 yst-items-center"},(0,w.createElement)(ea,{className:"yst-w-5 yst-h-5"}),(0,w.createElement)("span",{className:"yst-flex yst-gap-1"},(0,w.createElement)(wa,{className:"yst-w-5 yst-h-5"}),(0,w.createElement)(wa,{className:"yst-w-5 yst-h-5"}),(0,w.createElement)(wa,{className:"yst-w-5 yst-h-5"}),(0,w.createElement)(wa,{className:"yst-w-5 yst-h-5"}),(0,w.createElement)(fa,{className:"yst-w-5 yst-h-5"})),(0,w.createElement)("span",{className:"yst-text-sm yst-font-semibold yst-text-white"},"4.6 / 5"))))};Na.propTypes={link:S().string.isRequired,linkProps:S().object,isPromotionActive:S().func},Na.defaultProps={linkProps:{},isPromotionActive:l.noop};const Pa=({premiumLink:e,premiumUpsellConfig:t,isPromotionActive:s})=>{const r=s("black-friday-2024-promotion");return(0,w.createElement)(xe.Paper,{as:"div",className:"xl:yst-max-w-3xl"},r&&(0,w.createElement)("div",{className:"yst-rounded-t-lg yst-h-9 yst-flex yst-justify-between yst-items-center yst-bg-black yst-text-amber-300 yst-px-4 yst-text-lg yst-border-b yst-border-amber-300 yst-border-solid yst-font-semibold"},(0,w.createElement)("div",null,(0,d.__)("30% OFF","wordpress-seo")),(0,w.createElement)("div",null,(0,d.__)("BLACK FRIDAY","wordpress-seo"))),(0,w.createElement)("div",{className:"yst-p-6 yst-flex yst-flex-col"},(0,w.createElement)(xe.Title,{as:"h2",size:"4",className:"yst-text-xl yst-text-primary-500"},(0,d.sprintf)(/* translators: %s expands to "Yoast SEO" Premium */ (0,d.__)("Upgrade to %s","wordpress-seo"),"Yoast SEO Premium")),(0,w.createElement)("ul",{className:"yst-grid yst-grid-cols-1 sm:yst-grid-cols-2 yst-gap-x-6 yst-list-disc yst-ps-[1em] yst-list-outside yst-text-slate-800 yst-mt-6"},Ce().map(((e,t)=>(0,w.createElement)("li",{key:`upsell-benefit-${t}`},Ie(e,{strong:(0,w.createElement)("span",{className:"yst-font-semibold"})}))))),(0,w.createElement)(xe.Button,{as:"a",variant:"upsell",size:"extra-large",href:e,className:"yst-gap-2 yst-mt-4",target:"_blank",rel:"noopener",...t},r?(0,d.__)("Claim your 30% off now!","wordpress-seo"):(0,d.sprintf)(/* translators: %s expands to "Yoast SEO" Premium */ (0,d.__)("Explore %s now!","wordpress-seo"),"Yoast SEO Premium"),(0,w.createElement)(pa,{className:"yst-w-4 yst-h-4 yst-icon-rtl"}))))};Pa.propTypes={premiumLink:S().string.isRequired,premiumUpsellConfig:S().object,isPromotionActive:S().func},Pa.defaultProps={premiumUpsellConfig:{},isPromotionActive:l.noop},S().string.isRequired,S().object.isRequired,S().string.isRequired,S().func.isRequired,w.forwardRef((function(e,t){return w.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),w.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"}))})),S().bool.isRequired,S().func,S().func,S().string.isRequired,S().string.isRequired,S().string.isRequired,S().string.isRequired;const Ma=window.yoast.reactHelmet,Aa=({videoId:e,thumbnail:t,wistiaEmbedPermission:s})=>{const[r,a]=(0,v.useState)(s.value?ir:nr),n=(0,v.useCallback)((()=>a(ir)),[a]),o=(0,v.useCallback)((()=>{s.value?n():a(or)}),[s.value,n,a]),i=(0,v.useCallback)((()=>a(nr)),[a]),l=(0,v.useCallback)((()=>{s.set(!0),n()}),[s.set,n]);return(0,w.createElement)(w.Fragment,null,s.value&&(0,w.createElement)(Ma.Helmet,null,(0,w.createElement)("script",{src:"https://fast.wistia.com/assets/external/E-v1.js",async:!0})),(0,w.createElement)("div",{className:"yst-relative yst-w-full yst-h-0 yst-pt-[56.25%] yst-overflow-hidden yst-rounded-md yst-drop-shadow-md yst-bg-white"},r===nr&&(0,w.createElement)("button",{type:"button",className:"yst-absolute yst-inset-0 yst-button yst-p-0 yst-border-none yst-bg-white yst-transition-opacity yst-duration-1000 yst-opacity-100",onClick:o},(0,w.createElement)("img",{className:"yst-w-full yst-h-auto",alt:"",loading:"lazy",decoding:"async",...t})),r===or&&(0,w.createElement)("div",{className:"yst-absolute yst-inset-0 yst-flex yst-flex-col yst-items-center yst-justify-center yst-bg-white"},(0,w.createElement)("p",{className:"yst-max-w-xs yst-mx-auto yst-text-center"},s.status===ar&&(0,w.createElement)(xe.Spinner,null),s.status!==ar&&(0,d.sprintf)(/* translators: %1$s expands to Yoast SEO. %2$s expands to Wistia. */ (0,d.__)("To see this video, you need to allow %1$s to load embedded videos from %2$s.","wordpress-seo"),"Yoast SEO","Wistia")),(0,w.createElement)("div",{className:"yst-flex yst-mt-6 yst-gap-x-4"},(0,w.createElement)(xe.Button,{type:"button",variant:"secondary",onClick:i,disabled:s.status===ar},(0,d.__)("Deny","wordpress-seo")),(0,w.createElement)(xe.Button,{type:"button",variant:"primary",onClick:l,disabled:s.status===ar},(0,d.__)("Allow","wordpress-seo")))),s.value&&r===ir&&(0,w.createElement)("div",{className:"yst-absolute yst-w-full yst-h-full yst-top-0 yst-right-0"},null===e&&(0,w.createElement)(xe.Spinner,{className:"yst-h-full yst-mx-auto"}),null!==e&&(0,w.createElement)("div",{className:`wistia_embed wistia_async_${e} videoFoam=true`}))))};Aa.propTypes={videoId:S().string.isRequired,thumbnail:S().shape({src:S().string.isRequired,width:S().string,height:S().string}).isRequired,wistiaEmbedPermission:S().shape({value:S().bool.isRequired,status:S().string.isRequired,set:S().func.isRequired}).isRequired},w.forwardRef((function(e,t){return w.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:t},e),w.createElement("path",{fillRule:"evenodd",d:"M10.293 5.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L12.586 11H5a1 1 0 110-2h7.586l-2.293-2.293a1 1 0 010-1.414z",clipRule:"evenodd"}))})),S().bool.isRequired,S().func.isRequired,S().func,S().string;const qa=({onGiveConsent:e,learnMoreLink:t,privacyPolicyLink:s,termsOfServiceLink:r,imageLink:a})=>{const{onClose:n,initialFocus:o}=(0,xe.useModalContext)(),[i,l]=(0,xe.useToggleState)(!1),c=(0,v.useMemo)((()=>({src:a,width:"432",height:"244"})),[a]),u=Ie((0,d.sprintf)(/* translators: %1$s and %2$s are a set of anchor tags and %3$s and %4$s are a set of anchor tags. */ (0,d.__)("I approve the %1$sTerms of Service%2$s & %3$sPrivacy Policy%4$s of the Yoast AI service. This includes consenting to the collection and use of data to improve user experience.","wordpress-seo"),"<a1>","</a1>","<a2>","</a2>"),{a1:(0,w.createElement)(ua,{href:r}),a2:(0,w.createElement)(ua,{href:s})}),[p,m]=(0,xe.useToggleState)(!1),h=(0,v.useCallback)((async()=>{m(),await e(),m()}),[e]);return(0,w.createElement)(w.Fragment,null,(0,w.createElement)("div",{className:"yst-px-10 yst-pt-10 yst-introduction-gradient yst-text-center"},(0,w.createElement)("div",{className:"yst-relative yst-w-full"},(0,w.createElement)("img",{className:"yst-w-full yst-h-auto yst-rounded-md yst-drop-shadow-md",alt:"",loading:"lazy",decoding:"async",...c}))),(0,w.createElement)("div",{className:"yst-px-10 yst-pb-4 yst-flex yst-flex-col yst-items-center"},(0,w.createElement)("div",{className:"yst-mt-4 yst-mx-1.5 yst-text-center"},(0,w.createElement)("h3",{className:"yst-text-slate-900 yst-text-lg yst-font-medium"},(0,d.sprintf)(/* translators: %s expands to Yoast AI. */ (0,d.__)("Grant consent for %s","wordpress-seo"),"Yoast AI")),(0,w.createElement)("div",{className:"yst-mt-2 yst-text-slate-600 yst-text-sm"},Ie((0,d.sprintf)(/* translators: %1$s is a break tag; %2$s and %3$s are anchor tag; %4$s is the arrow icon. */ (0,d.__)("Enable AI-powered SEO! Use all AI Generate and Optimize features to boost your efficiency. Just give us the green light. %1$s%2$sLearn more%3$s%4$s","wordpress-seo"),"<br/>","<a>","<ArrowNarrowRightIcon />","</a>"),{a:(0,w.createElement)(ua,{href:t,className:"yst-inline-flex yst-items-center yst-gap-1 yst-no-underline yst-font-medium",variant:"primary"}),ArrowNarrowRightIcon:(0,w.createElement)(Yr,{className:"yst-w-4 yst-h-4 rtl:yst-rotate-180"}),br:(0,w.createElement)("br",null)}))),(0,w.createElement)("div",{className:"yst-flex yst-w-full yst-mt-6"},(0,w.createElement)("hr",{className:"yst-w-full yst-text-gray-200"})),(0,w.createElement)("div",{className:"yst-flex yst-items-start yst-mt-4"},(0,w.createElement)("input",{type:"checkbox",id:"yst-ai-consent-checkbox",name:"yst-ai-consent-checkbox",checked:i,value:i?"true":"false",onChange:l,className:"yst-checkbox__input",ref:o}),(0,w.createElement)("label",{htmlFor:"yst-ai-consent-checkbox",className:"yst-label yst-checkbox__label yst-text-xs yst-font-normal yst-text-slate-500"},u)),(0,w.createElement)("div",{className:"yst-w-full yst-flex yst-mt-4"},(0,w.createElement)(xe.Button,{as:"button",className:"yst-grow",size:"large",disabled:!i,onClick:h},p&&(0,w.createElement)(xe.Spinner,{className:"yst-me-2"}),(0,d.__)("Grant consent","wordpress-seo"))),(0,w.createElement)(xe.Button,{as:"button",className:"yst-mt-4",variant:"tertiary",onClick:n},(0,d.__)("Close","wordpress-seo"))))};qa.propTypes={onGiveConsent:S().func.isRequired,learnMoreLink:S().string.isRequired,privacyPolicyLink:S().string.isRequired,termsOfServiceLink:S().string.isRequired,imageLink:S().string.isRequired};const Oa=()=>{const e=(0,ge.useSelect)((e=>e(cr).selectLink("https://yoa.st/ai-common-errors")),[]),t=(0,ge.useSelect)((e=>e(cr).selectAdminLink("?page=wpseo_page_support")),[]);return(0,w.createElement)(xe.Alert,{variant:"error"},(0,w.createElement)("span",{className:"yst-block yst-font-medium"},(0,d.__)("Something went wrong","wordpress-seo")),(0,w.createElement)("p",{className:"yst-mt-2"},Ie((0,d.sprintf)(/* translators: %1$s and %3$s expand to an opening tag. %2$s and %4$s expand to a closing tag. */ (0,d.__)("Please try again later. If this issue persists, you can learn more about possible reasons for this error on our page about %1$scommon AI feature problems and errors%2$s. In case you need further help, please %3$scontact our support team%4$s.","wordpress-seo"),"<a1>","</a1>","<a2>","</a2>"),{a1:(0,w.createElement)(ua,{variant:"error",href:e}),a2:(0,w.createElement)(ua,{variant:"error",href:t})})))},Fa=()=>{const e=(0,ge.useSelect)((e=>e(cr).selectLink("https://yoa.st/ai-common-errors")),[]),t=(0,ge.useSelect)((e=>e(cr).selectAdminLink("?page=wpseo_page_support")),[]);return(0,w.createElement)(xe.Alert,{variant:"error"},(0,w.createElement)("span",{className:"yst-block yst-font-medium"},(0,d.__)("Not enough content","wordpress-seo")),(0,w.createElement)("p",{className:"yst-mt-2"},Ie((0,d.sprintf)(/* translators: %1$s and %3$s expand to an opening tag. %2$s and %4$s expand to a closing tag. */ (0,d.__)("Please add more content to ensure a valuable AI suggestion. Learn more on our page about %1$scommon AI feature problems and errors%2$s. In case you need further help, please %3$scontact our support team%4$s.","wordpress-seo"),"<a1>","</a1>","<a2>","</a2>"),{a1:(0,w.createElement)(ua,{variant:"error",href:e}),a2:(0,w.createElement)(ua,{variant:"error",href:t})})))},$a=()=>{const e=(0,ge.useSelect)((e=>e(cr).selectAdminLink("?page=wpseo_page_settings#/site-features#card-wpseo-keyword_analysis_active")),[]),t=(0,v.useCallback)((()=>{window.location.reload()}),[]),{onClose:s}=(0,xe.useModalContext)();return(0,w.createElement)(w.Fragment,null,(0,w.createElement)(xe.Alert,{variant:"error"},(0,w.createElement)("span",{className:"yst-block yst-font-medium"},(0,d.__)("SEO analysis required","wordpress-seo")),(0,w.createElement)("p",{className:"yst-mt-2"},Ie((0,d.sprintf)( /** * translators: * %1$s expands to Yoast SEO. * %2$s and %3$s expand to an opening and closing anchor tag, respectively, that links to the settings page. * %4$s expands to Yoast AI. */ (0,d.__)("%4$s requires the SEO analysis to be enabled. To enable it, please navigate to %2$sSite features%3$s in %1$s, turn on the SEO analysis, and click 'Save changes'. If it's disabled in your WordPress user profile, access your profile and enable it there. Please contact your administrator if you don't have access to these settings.","wordpress-seo"),"Yoast SEO","<a>","</a>","Yoast AI"),{a:(0,w.createElement)(ua,{variant:"error",href:e})}))),(0,w.createElement)("div",{className:"yst-mt-6 yst-mb-1 yst-flex yst-space-x-3 rtl:yst-space-x-reverse yst-place-content-end"},(0,w.createElement)(xe.Button,{variant:"secondary",onClick:s},(0,d.__)("Close","wordpress-seo")),(0,w.createElement)(xe.Button,{className:"yst-revoke-button",variant:"primary",onClick:t},(0,d.__)("Refresh page","wordpress-seo"))))},Ba=()=>{const e=(0,ge.useSelect)((e=>e(cr).selectLink("https://yoa.st/ai-generator-rate-limit-help")),[]);return(0,w.createElement)(xe.Alert,{variant:"error"},(0,w.createElement)("span",{className:"yst-block yst-font-medium"},(0,d.__)("You've reached the Yoast AI rate limit","wordpress-seo")),(0,w.createElement)("p",{className:"yst-mt-2"},Ie((0,d.sprintf)(/* translators: %1$s expands to an opening tag. %2$s expands to a closing tag. */ (0,d.__)("You might have reached your Yoast AI rate limit for a specific time frame or your sparks limit for this month. If you have reached your rate limit, please reduce the frequency of your requests to continue using Yoast AI features. Our %1$shelp article%2$s provides guidance on effectively planning and pacing your requests for an optimized workflow.","wordpress-seo"),"<a>","</a>"),{a:(0,w.createElement)(ua,{variant:"error",href:e})})))},Da=({invalidSubscriptions:e=[]})=>{const t=(0,ge.useSelect)((e=>e(cr).selectLink("https://yoa.st/ai-generator-activate-premium")),[]),s=(0,ge.useSelect)((e=>e(cr).selectLink("https://yoa.st/ai-generator-new-premium")),[]),r=(0,ge.useSelect)((e=>e(cr).selectLink("https://yoa.st/ai-generator-activate-yoast-woocommerce")),[]),a=(0,ge.useSelect)((e=>e(cr).selectLink("https://yoa.st/ai-generator-new-yoast-woocommerce")),[]),n=(0,ge.useSelect)((e=>e(cr).selectLink("https://yoa.st/ai-generator-activate-woocommerce-premium-bundle")),[]),o=(0,ge.useSelect)((e=>e(cr).selectLink("https://yoa.st/ai-generator-new-woocommerce-premium-bundle")),[]),{onClose:i}=(0,xe.useModalContext)(),l=(0,v.useCallback)((async()=>{try{await at()({path:"yoast/v1/ai_generator/bust_subscription_cache",method:"POST",parse:!1})}catch(e){console.error(e)}window.location.reload()}),[]);let c,u,p;1===e.length&&(c=e[0],u="Yoast SEO Premium"===c?t:r,p="Yoast SEO Premium"===c?s:a);const m=Ie((0,d.sprintf)( /** * translators: * %1$s expands to Yoast SEO Premium or Yoast WooCommerce SEO. * %2$s expands to MyYoast. * %3$s and %4$s expand to an opening and closing anchor tag, respectively, to activate your subscription. * %5$s and %6$s expand to an opening and closing anchor tag, respectively, to get a new subscription. **/ (0,d.__)("To access this feature, you need an active %1$s subscription. Please %3$sactivate your subscription in %2$s%4$s or %5$sget a new %1$s subscription%6$s. Afterward, refresh this page. It may take up to 30 seconds for the feature to function correctly.","wordpress-seo"),c,"MyYoast","<Activate>","</Activate>","<New>","</New>"),{Activate:(0,w.createElement)(ua,{variant:"error",href:u}),New:(0,w.createElement)(ua,{variant:"error",href:p})}),h=Ie((0,d.sprintf)( /** * translators: * %1$s expands to MyYoast. * %2$s expands to Yoast SEO Premium. * %3$s expands to Yoast WooCommerce SEO. * %4$s expands to Yoast WooCommerce SEO Premium bundle. * %5$s and %6$s expand to an opening and closing anchor tag, respectively, to activate your subscription. * %7$s and %8$s expand to an opening and closing anchor tag, respectively, to get a new subscription. **/ (0,d.__)("To access this feature, you need active %2$s and %3$s subscriptions. Please %5$sactivate your subscriptions in %1$s%6$s or %7$sget a new %4$s%8$s. Afterward, refresh this page. It may take up to 30 seconds for the feature to function correctly.","wordpress-seo"),"MyYoast","Yoast SEO Premium","Yoast WooCommerce SEO","Yoast WooCommerce SEO Premium bundle","<Activate>","</Activate>","<New>","</New>"),{Activate:(0,w.createElement)(ua,{variant:"error",href:n}),New:(0,w.createElement)(ua,{variant:"error",href:o})});return(0,w.createElement)(v.Fragment,null,(0,w.createElement)(xe.Alert,{variant:"error"},(0,w.createElement)("span",{className:"yst-block yst-font-medium"},(0,d.__)("Subscription required","wordpress-seo")),(0,w.createElement)("p",{className:"yst-mt-2"},1===e.length&&m,e.length>1&&h)),(0,w.createElement)("div",{className:"yst-mt-6 yst-mb-1 yst-flex yst-space-x-3 rtl:yst-space-x-reverse yst-place-content-end"},(0,w.createElement)(xe.Button,{variant:"secondary",onClick:i},(0,d.__)("Close","wordpress-seo")),(0,w.createElement)(xe.Button,{variant:"primary",onClick:l},(0,d.__)("Refresh page","wordpress-seo"))))};Da.propTypes={invalidSubscriptions:S().array};const Ua=()=>{const e=(0,ge.useSelect)((e=>e(cr).selectLink("https://yoa.st/ai-common-errors")),[]),t=(0,ge.useSelect)((e=>e(cr).selectAdminLink("?page=wpseo_page_support")),[]);return(0,w.createElement)(xe.Alert,{variant:"error"},(0,w.createElement)("span",{className:"yst-block yst-font-medium"},(0,d.__)("Connection timeout","wordpress-seo")),(0,w.createElement)("p",{className:"yst-mt-2"},Ie((0,d.sprintf)(/* translators: %1$s and %3$s expand to an opening tag. %2$s and %4$s expand to a closing tag. */ (0,d.__)("It seems that a connection timeout has occurred. Please check your internet connection and try again later. Learn more on our page about %1$scommon AI feature problems and errors%2$s. In case you need further help, please %3$scontact our support team%4$s.","wordpress-seo"),"<a1>","</a1>","<a2>","</a2>"),{a1:(0,w.createElement)(ua,{variant:"error",href:e}),a2:(0,w.createElement)(ua,{variant:"error",href:t})})))},Wa=()=>{const e=(0,ge.useSelect)((e=>e(cr).selectAdminLink("?page=wpseo_page_support")),[]);return(0,w.createElement)(xe.Alert,{variant:"error"},(0,w.createElement)("span",{className:"yst-block yst-font-medium"},(0,d.__)("Usage policy violation","wordpress-seo")),(0,w.createElement)("p",{className:"yst-mt-2"},Ie((0,d.sprintf)( /* translators: %1$s, %2$s, %3$s, %4$s are anchor tags. * %5$s expands to OpenAI. */ (0,d.__)("Due to %5$s's strict ethical guidelines and %1$susage policies%2$s, we cannot generate suggestions for the content on this page. If you intend to use AI, kindly avoid the use of explicit, violent, copyrighted, or sexually explicit content. In case you need further help, please %3$scontact our support team%4$s.","wordpress-seo"),"<a1>","</a1>","<a2>","</a2>","OpenAI"),{a1:(0,w.createElement)(ua,{variant:"error",href:"https://openai.com/policies/usage-policies"}),a2:(0,w.createElement)(ua,{variant:"error",href:e})})))},Ka=({errorMessage:e=""})=>{const t=(0,ge.useSelect)((e=>e(cr).selectAdminLink("?page=wpseo_page_support")),[]);return(0,w.createElement)(xe.Alert,{variant:"error"},(0,w.createElement)("span",{className:"yst-block yst-font-medium"},(0,d.__)("Something went wrong","wordpress-seo")),(0,w.createElement)("p",{className:"yst-mt-2"},(0,d.sprintf)(/* translators: %s is the error response of the request. */ (0,d.__)("The request came back with the following error: '%s'.","wordpress-seo"),e)),(0,w.createElement)("p",{className:"yst-mt-2"},Ie((0,d.sprintf)(/* translators: %1$s expands to an opening tag. %2$s expands to a closing tag. */ (0,d.__)("Please try again later. If the issue persists, please %1$scontact our support team%2$s.","wordpress-seo"),"<a>","</a>"),{a:(0,w.createElement)(ua,{variant:"error",href:t})})))};Ka.propTypes={errorMessage:S().string};const Ha=()=>{const e=(0,ge.useSelect)((e=>e(cr).selectAdminLink("plugins.php")),[]);return(0,w.createElement)(xe.Alert,{variant:"error"},(0,w.createElement)("span",{className:"yst-block yst-font-medium"},(0,d.__)("Something went wrong","wordpress-seo")),(0,w.createElement)("p",{className:"yst-mt-2"},Ie((0,d.sprintf)(/* translators: %1$s expands to Yoast SEO Premium. %2$s expands to an opening link tag. %3$s expands to a closing link tag. */ (0,d.__)("The version of %1$s is outdated. Please upgrade %1$s %2$shere%3$s!","wordpress-seo"),"Yoast SEO Premium","<a>","</a>"),{a:(0,w.createElement)(ua,{variant:"error",href:e})})))},ja=()=>{const e=(0,ge.useSelect)((e=>e(cr).selectLink("https://yoa.st/ai-common-errors")),[]),t=(0,ge.useSelect)((e=>e(cr).selectAdminLink("?page=wpseo_page_support")),[]);return(0,w.createElement)(xe.Alert,{variant:"error"},(0,w.createElement)("span",{className:"yst-block yst-font-medium"},(0,d.__)("Yoast AI cannot reach your site","wordpress-seo")),(0,w.createElement)("p",{className:"yst-mt-2"},Ie((0,d.sprintf)(/* translators: %1$s and %3$s expand to an opening tag. %2$s and %4$s expand to a closing tag. */ (0,d.__)("To use this feature, your site must be publicly accessible. This applies to both test sites and instances where your REST API is password-protected. Please ensure your site is accessible to the public and try again. Learn more on our page about %1$scommon AI feature problems and errors%2$s. In case you need further help, please %3$scontact our support team%4$s.","wordpress-seo"),"<a1>","</a1>","<a2>","</a2>"),{a1:(0,w.createElement)(ua,{variant:"error",href:e}),a2:(0,w.createElement)(ua,{variant:"error",href:t})})))},za=({errorCode:e,errorIdentifier:t="",errorMessage:s=""})=>{switch(e){case 400:switch(t){case"SITE_UNREACHABLE":return(0,w.createElement)(ja,null);case"WP_HTTP_REQUEST_ERROR":return(0,w.createElement)(Ka,{errorMessage:s});default:return(0,w.createElement)(Oa,null)}case 429:return(0,w.createElement)(Ba,null);default:return(0,w.createElement)(Oa,null)}};za.propTypes={errorCode:S().number.isRequired,errorIdentifier:S().string,errorMessage:S().string};const Ya=({currentSubscriptions:e,isSeoAnalysisActive:t=!0})=>{const{isPremium:s,usageCountStatus:r,usageCountError:a,isWooProductEntity:n,isWooSeoActive:o}=(0,ge.useSelect)((e=>{const t=e(cr);return{isPremium:t.getIsPremium(),usageCountStatus:e(lr).selectUsageCountStatus(),usageCountError:e(lr).selectUsageCountError(),isWooProductEntity:t.getIsWooProductEntity(),isWooSeoActive:t.getIsWooSeoActive()}}),[]),i=(0,v.useMemo)((()=>!e.wooCommerceSubscription&&n),[e.wooCommerceSubscription]),l=(0,v.useMemo)((()=>{const t=[];return!s&&!n||e.premiumSubscription||t.push("Yoast SEO Premium"),i&&o&&t.push("Yoast WooCommerce SEO"),t}),[s,e.premiumSubscription,i,o,n]);return l.length>0?(0,w.createElement)(Da,{invalidSubscriptions:l}):t?r===Er.error?(0,w.createElement)(za,{...a}):void 0:(0,w.createElement)($a,null)};Ya.propTypes={currentSubscriptions:S().object.isRequired,isSeoAnalysisActive:S().bool};const Va=({onStartGenerating:e})=>{const{termsOfServiceLink:t,privacyPolicyLink:s,learnMoreLink:r,imageLink:a,consentEndpoint:n}=(0,ge.useSelect)((e=>({termsOfServiceLink:e(cr).selectLink("https://yoa.st/ai-generator-terms-of-service"),privacyPolicyLink:e(cr).selectLink("https://yoa.st/ai-generator-privacy-policy"),learnMoreLink:e(cr).selectLink("https://yoa.st/ai-generator-learn-more"),imageLink:e(cr).selectImageLink("ai-consent.png"),consentEndpoint:e(lr).selectAiGeneratorConsentEndpoint()})),[]),{storeAiGeneratorConsent:o}=(0,ge.useDispatch)(lr),i=(0,v.useCallback)((async()=>{await o(!0,n),e()}),[o,e,n]);return(0,w.createElement)(qa,{termsOfServiceLink:t,privacyPolicyLink:s,learnMoreLink:r,imageLink:a,onGiveConsent:i})};Va.propTypes={onStartGenerating:S().func.isRequired};const Ga=w.forwardRef((function(e,t){return w.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),w.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"}))})),Za=w.forwardRef((function(e,t){return w.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor","aria-hidden":"true",ref:t},e),w.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"}))})),Qa=/(?<start><\/badge>|^(?!<badge>))(?<wrap>[\s\S]+?)(?<end><badge>|$)/g,Xa=({total:e,current:t,onNavigate:s,disabled:r=!1,...a})=>(0,w.createElement)("div",{className:"yst-flex yst-justify-between yst-gap-x-2 yst-items-start"},(0,w.createElement)("p",{className:"yst-text-slate-500 yst-text-xxs yst-mt-1"},(0,d.__)("Text generated by AI may be offensive or inaccurate.","wordpress-seo")),e>1&&(0,w.createElement)(xe.Pagination,{className:"yst-shrink-0",current:t,total:e,onNavigate:s,disabled:r,variant:"text" /* translators: Hidden accessibility text. */,screenReaderTextPrevious:(0,d.__)("Previous","wordpress-seo") /* translators: Hidden accessibility text. */,screenReaderTextNext:(0,d.__)("Next","wordpress-seo"),...a})),Ja=({height:e})=>{const[t,s]=(0,v.useState)(""),{onClose:r}=(0,xe.useModalContext)(),{editType:a,previewType:n,contentType:o}=Mr(),i=(()=>{const{editType:e,previewType:t}=Mr();let s="SEO";switch(t){case ur:s="social";break;case pr:s="X"}switch(e){case mr:return(0,d.sprintf)(/* translators: %s is the type of title. */ (0,d.__)("Generated %s titles","wordpress-seo"),s);case hr:return t===dr&&(s="meta"),(0,d.sprintf)(/* translators: %s is the type of description. */ (0,d.__)("Generated %s descriptions","wordpress-seo"),s)}})(),c=(()=>{const{editType:e,previewType:t}=Mr();let s="SEO";switch(t){case ur:s="social";break;case pr:s="X"}switch(e){case mr:return(0,d.sprintf)(/* translators: %s is the type of title. */ (0,d.__)("Apply %s title","wordpress-seo"),s);case hr:return t===dr&&(s="meta"),(0,d.sprintf)(/* translators: %s is the type of description. */ (0,d.__)("Apply %s description","wordpress-seo"),s)}})(),p=Ar(),{suggestions:m,fetchSuggestions:h,setSelectedSuggestion:g}=(()=>{const[e,t]=(0,v.useReducer)(Fr.reducer,Fr.getInitialState()),{editType:s,previewType:r,postType:a,contentType:n}=Mr(),o=(0,ge.useSelect)((e=>e(lr).selectPromptContent()),[]),{contentLocale:i,focusKeyphrase:l,isWooCommerceActive:c,isGutenberg:d,isElementor:p}=(0,ge.useSelect)((e=>({contentLocale:e(cr).getContentLocale(),focusKeyphrase:e(cr).getFocusKeyphrase(),isWooCommerceActive:e(cr).getIsWooCommerceActive(),isGutenberg:e(cr).getIsBlockEditor(),isElementor:e(cr).getIsElementorEditor()})),[]);let m,h=u.languageProcessing.helpers.processExactMatchRequest(l).keyphrase;h.length>191&&(h=h.slice(0,191)),m=p?"elementor":d?"gutenberg":"classic";const g=((e,t,s,r)=>{const a=e===hr?"meta-description":"seo-title";let n=((e,t)=>{if(e)switch(t){case"product":return"product-";case"product_cat":case"product_tag":return"product-taxonomy-"}return""})(t,s);return n&&t||r!==yr||(n="taxonomy-"),`${n}${a}`})(s,c,a,n);return{suggestions:e,fetchSuggestions:(0,v.useCallback)((async(e=!0)=>{t(Fr.actions.setLoading());const{status:s,payload:a}=await Ir({endpoint:"yoast/v1/ai_generator/get_suggestions/",canAbort:e,data:{type:g,prompt_content:o,focus_keyphrase:h,platform:$r(r),language:Cr(i).replace("_","-"),editor:m}});switch(s){case xr:break;case kr:t(Fr.actions.setError(a));break;case vr:t(Fr.actions.setSuccess(a))}return s}),[t]),setSelectedSuggestion:(0,v.useCallback)((e=>t(Fr.actions.setSelected(e))),[t])}})(),y=(()=>{const{previewType:e}=Mr();switch(e){case ur:return cn;case pr:return ho;default:return sn}})(),{addAppliedSuggestion:f,addUsageCount:b}=(0,ge.useDispatch)(lr),{isUsageCountLimitReached:E,isWooProductEntity:k,hasValidPremiumSubscription:x,hasValidWooSubscription:_}=(0,ge.useSelect)((e=>{const t=e(lr),s=e(cr);return{isUsageCountLimitReached:t.isUsageCountLimitReached(),isPremium:s.getIsPremium(),isWooProductEntity:s.getIsWooProductEntity(),isWooSeoActive:s.getIsWooSeoActive(),hasValidPremiumSubscription:t.selectPremiumSubscription(),hasValidWooSubscription:t.selectWooCommerceSubscription()}}),[]),S=(0,v.useMemo)((()=>m.status===Er.loading||!(_||!E||!k)||!(x||!E)),[x,E,m.status,k,_]),R=(0,xe.usePrevious)(e),C=m.status===Er.success?e:R,I=`calc(${0===C?"50%":C/2+"px"} - 40vh)`,[L,T]=(0,v.useState)(!1),N=(0,v.useCallback)((e=>{T(e.target.offsetHeight!==e.target.scrollHeight)}),[T]),P=qr(N),M=(()=>{const{editType:e,previewType:t,contentType:s}=Mr(),r=(()=>{const{previewType:e}=Mr();return(0,v.useMemo)((()=>{switch(e){case dr:return()=>(0,ge.select)(cr).getSnippetEditorData().title;case ur:return(0,ge.select)(cr).getFacebookTitleOrFallback;case pr:return(0,ge.select)(cr).getTwitterTitleOrFallback;default:return(0,l.constant)("")}}),[e])})(),a=(0,ge.useSelect)((s=>s(lr).selectAppliedSuggestionFor({editType:e,previewType:t})),[e,t]);return(0,v.useMemo)((()=>{let t=r();return e===hr?t:(a&&(t=t.replace(a,br[s])),((e,t)=>e.includes(br[t])?e:br[t])(t,s))}),[e,r])})(),A=(()=>{const e=(()=>{const{previewType:e}=Mr();return(0,v.useMemo)((()=>{switch(e){case dr:return()=>(0,ge.select)(cr).getSnippetEditorData().description;case ur:return(0,ge.select)(cr).getFacebookDescriptionOrFallback;case pr:return(0,ge.select)(cr).getTwitterDescriptionOrFallback;default:return(0,l.constant)("")}}),[e])})();return(0,v.useMemo)(e,[e])})(),q=(()=>{const e=(0,ge.useSelect)((e=>e(cr).getReplaceVars()),[]),t=(0,v.useMemo)((()=>e.map(Tr)),[e]);return(0,v.useCallback)(((e,{key:s="value",overrides:r={},applyPluggable:a=!0,editType:n=mr,contentType:o=gr}={})=>{for(const a of t)e=e.replace(new RegExp("%%"+(0,l.escapeRegExp)(a.name)+"%%","g"),(0,l.get)(r,a.name,a[s]));return o===yr&&(e=e.replace(" Archives","")),a?((e,t=mr)=>{const s=Xs({title:"",description:"",[t]:u.languageProcessing.stripSpaces(e)});return(0,l.get)(s,t,e)})(e,n):e}),[t])})(),O=(0,v.useMemo)((()=>a===mr?{[fr[o]]:m.selected}:{}),[a,o,m.selected]),F=(0,v.useMemo)((()=>q(M,{overrides:O,contentType:o})),[q,M,a,o,m.selected]),$=(0,v.useMemo)((()=>q(M,{overrides:{...O,sep:"",sitename:""},contentType:o})),[q,M,a,o,m.selected]),B=(0,v.useMemo)((()=>a===hr?m.selected:q(A,{editType:hr})),[q,A,a,m.selected]),D=(0,v.useCallback)((e=>q(M,{overrides:{[fr[o]]:e},key:"badge",applyPluggable:!1,contentType:o})),[q,M,o]),{currentPage:U,setCurrentPage:W,isOnLastPage:K,totalPages:H,getItemsOnCurrentPage:j}=(({totalItems:e=0,perPage:t=5})=>{const[s,r]=(0,v.useState)(1),a=(0,v.useMemo)((()=>Math.ceil(e/t)),[e,t]),n=(0,v.useMemo)((()=>s*t),[s,t]),o=(0,v.useMemo)((()=>n-t),[n,t]),i=(0,v.useMemo)((()=>1===s),[s]),c=(0,v.useMemo)((()=>s===a),[s,a]),d=(0,v.useCallback)((()=>{s>1&&r(s-1)}),[s,r]),u=(0,v.useCallback)((()=>{s<a&&r(s+1)}),[s,r,a]),p=(0,v.useCallback)((e=>(0,l.slice)(e,o,n)),[o,n]);return{currentPage:s,setCurrentPage:r,totalPages:a,isOnFirstPage:i,isOnLastPage:c,previousPage:d,nextPage:u,firstOnPage:o,lastOnPage:n,getItemsOnCurrentPage:p}})({totalItems:m.status===Er.loading||m.status===Er.error?m.entities.length+5:m.entities.length,perPage:5}),z=(0,v.useMemo)((()=>(0,l.map)(j(m.entities),(e=>{let t=e;return a===mr&&(t=D(e),t=t.replace(Qa,((e,t,s,r,a,n,{start:o,wrap:i,end:l})=>{const c=i.trim();return 0===c.length?`${o}${i}${l}`:`${o}<span>${c}</span>${l}`})),t=Ie(t,{badge:(0,w.createElement)(xe.Badge,{className:"yst-me-2 last:yst-me-0",variant:"plain"}," "),span:(0,w.createElement)("span",{className:"yst-flex yst-items-center yst-me-2 last:yst-me-0"})})),{value:e,label:t}}))),[m.entities,j,a,D]),Y=(0,v.useMemo)((()=>m.status!==Er.error||m.status===Er.error&&!K),[m.status,K]),V=(0,v.useMemo)((()=>m.status===Er.loading&&K),[m.status,K]),G=(0,v.useMemo)((()=>m.status===Er.error&&K),[m.status,K]),Z=(0,v.useCallback)((()=>{S||(W(m.status===Er.error?H:H+1),h().then((e=>{e===vr&&b()})))}),[h,m.status,H,W,g,E]),Q=(0,v.useCallback)((()=>s("")),[s]),X=(()=>{const{editType:e}=Mr();switch(e){case mr:return(()=>{const{previewType:e}=Mr(),{updateData:t,setFacebookPreviewTitle:s,setTwitterPreviewTitle:r}=(0,ge.useDispatch)(cr);return(0,v.useMemo)((()=>{switch(e){case dr:return e=>t({title:e});case ur:return s;case pr:return r;default:return l.noop}}),[e,t,s,r])})();case hr:return(()=>{const{previewType:e}=Mr(),{updateData:t,setFacebookPreviewDescription:s,setTwitterPreviewDescription:r}=(0,ge.useDispatch)(cr);return(0,v.useMemo)((()=>{switch(e){case dr:return e=>t({description:e});case ur:return s;case pr:return r;default:return l.noop}}),[e,t,s,r])})();default:return l.noop}})(),J=(0,v.useCallback)((()=>{const e=a===mr?M.replace(new RegExp(br[o]+"( Archives)?"),m.selected):m.selected;X(e),f({editType:a,previewType:n,suggestion:m.selected}),r()}),[X,a,n,m.selected,M,r,f]);return((e,t=[])=>{const s=(0,v.useRef)(!1);(0,v.useEffect)((()=>{s.current||(s.current=!0,e().finally((()=>{s.current=!1})))}),[e,t])})((()=>""===t?h().then((e=>{s(e),e===vr&&b()})):Promise.resolve()),[t,b,h]),t===kr||m.status===Er.error&&402===m.error.code?(0,w.createElement)("div",{className:"yst-flex yst-flex-col yst-space-y-6 yst-mt-6"},(0,w.createElement)(no,{errorCode:m.error.code,errorIdentifier:m.error.errorIdentifier,invalidSubscriptions:m.error.missingLicenses,showActions:!0,onRetry:Q,errorMessage:m.error.message})):(0,w.createElement)(v.Fragment,null,(0,w.createElement)(xe.Modal.Container.Content,{ref:P,className:"yst-flex yst-flex-col yst-py-6 yst-space-y-2"},(0,w.createElement)(y,{title:F,description:B,status:m.status,titleForLength:$,showPreviewSkeleton:""===t,showLengthProgress:!V}),Y&&(V?(0,w.createElement)(uo,{idSuffix:p,suggestionClassNames:a===mr?[["yst-h-3 yst-w-9/12"],["yst-h-3 yst-w-7/12"],["yst-h-3 yst-w-10/12"],["yst-h-3 yst-w-11/12"],["yst-h-3 yst-w-8/12"]]:void 0}):(0,w.createElement)(v.Fragment,null,(0,w.createElement)("div",{className:"yst-flex yst-space-y-4"},(0,w.createElement)(xe.Label,{as:"span",className:"yst-flex-grow yst-cursor-default yst-mt-auto"},i),(0,w.createElement)(xe.Button,{variant:"secondary",size:"small",onClick:m.status===Er.loading?l.noop:Z,isLoading:m.status===Er.loading,disabled:S},m.status!==Er.loading&&(0,w.createElement)(Ga,{className:"yst--ms-1 yst-me-2 yst-h-4 yst-w-4 yst-text-gray-400"}),(0,d.__)("Generate 5 more","wordpress-seo"))),(0,w.createElement)(lo,{idSuffix:p,suggestions:z,selected:m.selected,onChange:g}),(0,w.createElement)(Xa,{current:U,total:H,onNavigate:W,disabled:m.status===Er.loading||G}))),m.status===Er.error&&K&&(0,w.createElement)(v.Fragment,null,(0,w.createElement)("div",{className:"yst-mt-8"}),(0,w.createElement)(no,{errorCode:m.error.code,errorIdentifier:m.error.errorIdentifier,invalidSubscriptions:m.error.missingLicenses,errorMessage:m.error.message}),(0,w.createElement)(Xa,{current:U,total:H,onNavigate:W,disabled:m.status===Er.loading}))),(0,w.createElement)(xe.Modal.Container.Footer,null,L&&(0,w.createElement)("div",{className:"yst-absolute yst-inset-x-0 yst--mt-10 yst-me-[calc(2.5rem-1px)] yst-h-10 yst-pointer-events-none yst-bg-gradient-to-t yst-from-slate-50"}),(0,w.createElement)("hr",{className:"yst-mb-6 yst--mx-6"}),(0,w.createElement)("div",{className:"sm:yst-flex sm:yst-justify-end sm:yst-space-x-2 sm:rtl:yst-space-x-reverse"},(0,w.createElement)("div",{className:"yst-hidden sm:yst-inline"},(0,w.createElement)(xe.Button,{variant:"secondary",onClick:r},(0,d.__)("Close","wordpress-seo"))),(0,w.createElement)("div",{className:"yst-block sm:yst-inline"},(0,w.createElement)(xe.Button,{className:"yst-w-full sm:yst-w-auto",variant:"primary",onClick:J,disabled:""===m.selected||m.status===Er.loading||G},(0,w.createElement)(Za,{className:"yst--ms-1 yst-me-1 yst-h-4 yst-w-4 yst-text-white"}),c)),(0,w.createElement)("div",{className:"yst-mt-3 sm:yst-hidden"},(0,w.createElement)(xe.Button,{variant:"secondary",onClick:r,className:"yst-w-full sm:yst-w-auto"},(0,d.__)("Close","wordpress-seo"))))),(0,w.createElement)(xe.Notifications,{className:"yst-mx-[calc(50%-50vw)] yst-transition-all",style:{marginTop:I},position:"bottom-left"},m.status!==Er.loading&&(0,w.createElement)(vo,{className:"yst-mx-[calc(50%-50vw)] yst-transition-all"}),(m.status===Er.success||m.status===Er.loading)&&(0,w.createElement)(mo,null)))};Ja.propTypes={height:S().number.isRequired};var en=s(4530),tn=s.n(en);S().func.isRequired;const sn=({title:e,description:t,status:s,titleForLength:r,showPreviewSkeleton:a,showLengthProgress:n})=>{const o=(0,ge.useSelect)((e=>e(cr).getSnippetEditorMode()),[]),[i,l]=(0,v.useState)(o),{editType:c}=Mr(),u=Ar(),p=(({editType:e,title:t,description:s})=>{const r=(0,ge.useSelect)((e=>e(cr).getDateFromSettings()),[]),a=(0,ge.useSelect)((e=>e(cr).getContentLocale()),[]),n=(0,ge.useSelect)((e=>e(cr).isCornerstoneContent()),[]),o=(0,ge.useSelect)((e=>e(cr).getIsTerm()),[]);return(0,v.useMemo)((()=>e===hr?(0,Br.getDescriptionProgress)(s,r,n,o,a):(0,Br.getTitleProgress)(t)),[e,t,s,r,n,o,a])})({editType:c,title:r,description:t});return(0,w.createElement)(w.Fragment,null,(0,w.createElement)("div",{className:"yst-mb-2 lg:yst-flex"},(0,w.createElement)(xe.Label,{as:"span",className:"yst-flex-grow yst-cursor-default"},(0,d.__)("Google preview","wordpress-seo")),(0,w.createElement)(ln,{mode:i,idSuffix:u,onChange:l,disabled:s===Er.loading})),a?(0,w.createElement)(nn,null):(0,w.createElement)(an,{mode:i,title:e,description:t}),(0,w.createElement)("div",{className:"yst-pt-4"},(0,w.createElement)(xe.Label,{as:"span",className:"yst-flex-grow yst-cursor-default"},c===mr?(0,d.__)("SEO title width","wordpress-seo"):(0,d.__)("Meta description length","wordpress-seo")),(0,w.createElement)(on,{className:"yst-mt-2",progress:n?p.actual:0,min:0,max:p.max,score:p.score})))};sn.propTypes={title:S().string.isRequired,description:S().string.isRequired,status:S().oneOf(Object.keys(Er)).isRequired,titleForLength:S().string.isRequired,showPreviewSkeleton:S().bool.isRequired,showLengthProgress:S().bool.isRequired};const rn=/mobi/i,an=({mode:e,title:t,description:s})=>{var r,a;const n=(0,ge.useSelect)((e=>e(cr).getBaseUrlFromSettings()),[]),o=(0,ge.useSelect)((e=>e(cr).getSnippetEditorData().slug||""),[]),i=(0,ge.useSelect)((e=>e(cr).getDateFromSettings()),[]),c=(0,ge.useSelect)((e=>e(cr).getFocusKeyphrase()),[]),d=(0,ge.useSelect)((e=>e(cr).getSnippetEditorPreviewImageUrl()),[]),u=(0,ge.useSelect)((e=>e(cr).getSiteIconUrlFromSettings()),[]),p=(0,ge.useSelect)((e=>e(cr).getShoppingData()),[]),m=(0,ge.useSelect)((e=>e(cr).getSnippetEditorWordsToHighlight()),[]),h=(0,ge.useSelect)((e=>e(cr).getSiteName()),[]),g=(0,ge.useSelect)((e=>e(cr).getContentLocale()),[]),y=(0,v.useMemo)((()=>n+o),[n,o]),f=(0,v.useMemo)((()=>{var e,t;return rn.test(null===(e=window)||void 0===e||null===(t=e.navigator)||void 0===t?void 0:t.userAgent)}),[null===(r=window)||void 0===r||null===(a=r.navigator)||void 0===a?void 0:a.userAgent]);return(0,w.createElement)("div",{className:`yst-bg-slate-200 yst--mx-6 ${e}${f?" yst-user-agent__mobile":""}`},(0,w.createElement)(Br.SnippetPreview,{title:t,description:s,mode:e,url:y,keyword:c,date:i,faviconSrc:u,mobileImageSrc:d,wordsToHighlight:m,siteName:h,locale:g,shoppingData:p,onMouseUp:l.noop}))};an.propTypes={mode:S().oneOf(Object.keys(wr)).isRequired,title:S().string.isRequired,description:S().string.isRequired};const nn=()=>(0,w.createElement)("div",{className:"yst-max-w-[400px] yst-py-4 yst-px-3 yst-border yst-rounded-lg yst-w-full yst-mx-auto"},(0,w.createElement)("div",{className:"yst-flex yst-gap-x-3"},(0,w.createElement)(xe.SkeletonLoader,{className:"yst-flex-shrink-0 yst-h-7 yst-w-7 yst-rounded-full"}),(0,w.createElement)("div",{className:"yst-flex yst-flex-col yst-w-full yst-gap-y-1"},(0,w.createElement)(xe.SkeletonLoader,{className:"yst-h-3 yst-w-1/3"}),(0,w.createElement)(xe.SkeletonLoader,{className:"yst-h-2.5 yst-w-10/12"}))),(0,w.createElement)(xe.SkeletonLoader,{className:"yst-h-4 yst-w-full yst-mt-6 yst-mb-4"}),(0,w.createElement)(xe.SkeletonLoader,{className:"yst-h-3 yst-w-full"}),(0,w.createElement)(xe.SkeletonLoader,{className:"yst-h-3 yst-w-10/12 yst-mt-2.5"})),on=({className:e="",progress:t,max:s,score:r})=>{const a=(0,v.useMemo)((()=>(e=>e>=7?"yst-score-good":e>=5?"yst-score-ok":"yst-score-bad")(r)),[r]);return(0,w.createElement)(xe.ProgressBar,{className:tn()("yst-length-progress-bar",a,e),progress:t,min:0,max:s})};on.propTypes={className:S().string,progress:S().number.isRequired,max:S().number.isRequired,score:S().number.isRequired};const ln=({idSuffix:e,mode:t,onChange:s,disabled:r})=>{const a=(0,v.useCallback)((({target:e})=>e.checked&&s(e.value)),[s]);return(0,w.createElement)(xe.RadioGroup,{id:`yst-ai-mode__${e}`,className:"yst-ai-mode yst-pt-2 lg:yst-pt-0",disabled:r},(0,w.createElement)(xe.RadioGroup.Radio,{id:`yst-ai-mode__mobile__${e}`,name:`yst-ai-mode__${e}`,label:(0,d.__)("Mobile result","wordpress-seo"),value:wr.mobile,checked:t===wr.mobile,onChange:a,disabled:r}),(0,w.createElement)(xe.RadioGroup.Radio,{id:`yst-ai-mode__desktop__${e}`,name:`yst-ai-mode__${e}`,label:(0,d.__)("Desktop result","wordpress-seo"),value:wr.desktop,checked:t===wr.desktop,onChange:a,disabled:r}))};ln.propTypes={idSuffix:S().string.isRequired,mode:S().oneOf(Object.keys(wr)).isRequired,onChange:S().func.isRequired,disabled:S().bool.isRequired};const cn=({title:e,description:t,showPreviewSkeleton:s})=>(0,w.createElement)("div",null,(0,w.createElement)("div",{className:"yst-flex yst-mb-6"},(0,w.createElement)(xe.Label,{as:"span",className:"yst-flex-grow yst-cursor-default"},(0,d.__)("Social preview","wordpress-seo"))),s?(0,w.createElement)(ro,null):(0,w.createElement)(so,{title:e,description:t}));cn.propTypes={title:S().string.isRequired,description:S().string.isRequired,showPreviewSkeleton:S().bool.isRequired};const dn=x().p` color: #606770; flex-shrink: 0; font-size: 12px; line-height: 16px; overflow: hidden; padding: 0; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; margin: 0; position: ${e=>"landscape"===e.mode?"relative":"static"}; `,un=e=>{const{siteUrl:t}=e;return(0,w.createElement)(w.Fragment,null,(0,w.createElement)("span",{className:"screen-reader-text"},t),(0,w.createElement)(dn,{"aria-hidden":"true"},(0,w.createElement)("span",null,t)))};un.propTypes={siteUrl:S().string.isRequired};const pn=un,mn=x().img` && { max-width: ${e=>e.width}px; height: ${e=>e.height}px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: none; } `,hn=x().img` && { height: 100%; position: absolute; width: 100%; object-fit: cover; } `,gn=x().div` padding-bottom: ${e=>e.aspectRatio}%; `,yn=({imageProps:e,width:t,height:s,imageMode:r="landscape"})=>"landscape"===r?(0,w.createElement)(gn,{aspectRatio:e.aspectRatio},(0,w.createElement)(hn,{src:e.src,alt:e.alt})):(0,w.createElement)(mn,{src:e.src,alt:e.alt,width:t,height:s,imageProperties:e});function fn(e,t,s){return"landscape"===s?{widthRatio:t.width/e.landscapeWidth,heightRatio:t.height/e.landscapeHeight}:"portrait"===s?{widthRatio:t.width/e.portraitWidth,heightRatio:t.height/e.portraitHeight}:{widthRatio:t.width/e.squareWidth,heightRatio:t.height/e.squareHeight}}function bn(e,t){return t.widthRatio<=t.heightRatio?{width:Math.round(e.width/t.widthRatio),height:Math.round(e.height/t.widthRatio)}:{width:Math.round(e.width/t.heightRatio),height:Math.round(e.height/t.heightRatio)}}async function wn(e,t,s=!1){const r=await function(e){return new Promise(((t,s)=>{const r=new Image;r.onload=()=>{t({width:r.width,height:r.height})},r.onerror=s,r.src=e}))}(e);let a=s?"landscape":"square";"Facebook"===t&&(a=(0,ee.determineFacebookImageMode)(r));const n=function(e){return"Twitter"===e?ee.TWITTER_IMAGE_SIZES:ee.FACEBOOK_IMAGE_SIZES}(t),o=function(e,t,s){return"square"===s&&t.width===t.height?{width:e.squareWidth,height:e.squareHeight}:bn(t,fn(e,t,s))}(n,r,a);return{mode:a,height:o.height,width:o.width}}async function En(e,t,s=!1){try{return{imageProperties:await wn(e,t,s),status:"loaded"}}catch(e){return{imageProperties:null,status:"errored"}}}yn.propTypes={imageProps:S().shape({src:S().string.isRequired,alt:S().string.isRequired,aspectRatio:S().number.isRequired}).isRequired,width:S().number.isRequired,height:S().number.isRequired,imageMode:S().string};const vn=x().div` position: relative; ${e=>"landscape"===e.mode?`max-width: ${e.dimensions.width}`:`min-width: ${e.dimensions.width}; height: ${e.dimensions.height}`}; overflow: hidden; background-color: ${I.colors.$color_white}; `,kn=x().div` box-sizing: border-box; max-width: ${ee.FACEBOOK_IMAGE_SIZES.landscapeWidth}px; height: ${ee.FACEBOOK_IMAGE_SIZES.landscapeHeight}px; background-color: ${I.colors.$color_grey}; border-style: dashed; border-width: 1px; // We're not using standard colors to increase contrast for accessibility. color: #006DAC; // We're not using standard colors to increase contrast for accessibility. background-color: #f1f1f1; display: flex; justify-content: center; align-items: center; text-decoration: underline; font-size: 14px; cursor: pointer; `;class xn extends w.Component{constructor(e){super(e),this.state={imageProperties:null,status:"loading"},this.socialMedium="Facebook",this.handleFacebookImage=this.handleFacebookImage.bind(this),this.setState=this.setState.bind(this)}async handleFacebookImage(){try{const e=await En(this.props.src,this.socialMedium);this.setState(e),this.props.onImageLoaded(e.imageProperties.mode||"landscape")}catch(e){this.setState(e),this.props.onImageLoaded("landscape")}}componentDidUpdate(e){e.src!==this.props.src&&this.handleFacebookImage()}componentDidMount(){this.handleFacebookImage()}retrieveContainerDimensions(e){switch(e){case"square":return{height:ee.FACEBOOK_IMAGE_SIZES.squareHeight+"px",width:ee.FACEBOOK_IMAGE_SIZES.squareWidth+"px"};case"portrait":return{height:ee.FACEBOOK_IMAGE_SIZES.portraitHeight+"px",width:ee.FACEBOOK_IMAGE_SIZES.portraitWidth+"px"};case"landscape":return{height:ee.FACEBOOK_IMAGE_SIZES.landscapeHeight+"px",width:ee.FACEBOOK_IMAGE_SIZES.landscapeWidth+"px"}}}render(){const{imageProperties:e,status:t}=this.state;if("loading"===t||""===this.props.src||"errored"===t)return(0,w.createElement)(kn,{onClick:this.props.onImageClick,onMouseEnter:this.props.onMouseEnter,onMouseLeave:this.props.onMouseLeave},(0,d.__)("Select image","wordpress-seo"));const s=this.retrieveContainerDimensions(e.mode);return(0,w.createElement)(vn,{mode:e.mode,dimensions:s,onMouseEnter:this.props.onMouseEnter,onMouseLeave:this.props.onMouseLeave,onClick:this.props.onImageClick},(0,w.createElement)(yn,{imageProps:{src:this.props.src,alt:this.props.alt,aspectRatio:ee.FACEBOOK_IMAGE_SIZES.aspectRatio},width:e.width,height:e.height,imageMode:e.mode}))}}xn.propTypes={src:S().string,alt:S().string,onImageLoaded:S().func,onImageClick:S().func,onMouseEnter:S().func,onMouseLeave:S().func},xn.defaultProps={src:"",alt:"",onImageLoaded:l.noop,onImageClick:l.noop,onMouseEnter:l.noop,onMouseLeave:l.noop};const Sn=xn,Rn=x().span` line-height: ${20}px; min-height : ${20}px; color: #1d2129; font-weight: 600; overflow: hidden; font-size: 16px; margin: 3px 0 0; letter-spacing: normal; white-space: normal; flex-shrink: 0; cursor: pointer; display: -webkit-box; -webkit-line-clamp: ${e=>e.lineCount}; -webkit-box-orient: vertical; overflow: hidden; `,Cn=x().p` line-height: ${16}px; min-height : ${16}px; color: #606770; font-size: 14px; padding: 0; text-overflow: ellipsis; margin: 3px 0 0 0; display: -webkit-box; cursor: pointer; -webkit-line-clamp: ${e=>e.lineCount}; -webkit-box-orient: vertical; overflow: hidden; @media all and ( max-width: ${e=>e.maxWidth} ) { display: none; } `,In=e=>{switch(e){case"landscape":return"527px";case"square":case"portrait":return"369px";default:return"476px"}},Ln=x().div` box-sizing: border-box; display: flex; flex-direction: ${e=>"landscape"===e.mode?"column":"row"}; background-color: #f2f3f5; max-width: 527px; `,Tn=x().div` box-sizing: border-box; background-color: #f2f3f5; margin: 0; padding: 10px 12px; position: relative; border-bottom: ${e=>"landscape"===e.mode?"":"1px solid #dddfe2"}; border-top: ${e=>"landscape"===e.mode?"":"1px solid #dddfe2"}; border-right: ${e=>"landscape"===e.mode?"":"1px solid #dddfe2"}; border: ${e=>"landscape"===e.mode?"1px solid #dddfe2":""}; display: flex; flex-direction: column; flex-grow: 1; justify-content: ${e=>"landscape"===e.mode?"flex-start":"center"}; font-size: 12px; overflow: hidden; `;class Nn extends w.Component{constructor(e){super(e),this.state={imageMode:null,maxLineCount:0,descriptionLineCount:0},this.facebookTitleRef=E().createRef(),this.onImageLoaded=this.onImageLoaded.bind(this),this.onImageEnter=this.props.onMouseHover.bind(this,"image"),this.onTitleEnter=this.props.onMouseHover.bind(this,"title"),this.onDescriptionEnter=this.props.onMouseHover.bind(this,"description"),this.onLeave=this.props.onMouseHover.bind(this,""),this.onSelectTitle=this.props.onSelect.bind(this,"title"),this.onSelectDescription=this.props.onSelect.bind(this,"description")}onImageLoaded(e){this.setState({imageMode:e})}getTitleLineCount(){return this.facebookTitleRef.current.offsetHeight/20}maybeSetMaxLineCount(){const{imageMode:e,maxLineCount:t}=this.state,s="landscape"===e?2:5;s!==t&&this.setState({maxLineCount:s})}maybeSetDescriptionLineCount(){const{descriptionLineCount:e,maxLineCount:t,imageMode:s}=this.state,r=this.getTitleLineCount();let a=t-r;"portrait"===s&&(a=5===r?0:4),a!==e&&this.setState({descriptionLineCount:a})}componentDidUpdate(){this.maybeSetMaxLineCount(),this.maybeSetDescriptionLineCount()}render(){const{imageMode:e,maxLineCount:t,descriptionLineCount:s}=this.state;return(0,w.createElement)(Ln,{id:"facebookPreview",mode:e},(0,w.createElement)(Sn,{src:this.props.imageUrl||this.props.imageFallbackUrl,alt:this.props.alt,onImageLoaded:this.onImageLoaded,onImageClick:this.props.onImageClick,onMouseEnter:this.onImageEnter,onMouseLeave:this.onLeave}),(0,w.createElement)(Tn,{mode:e},(0,w.createElement)(pn,{siteUrl:this.props.siteUrl,mode:e}),(0,w.createElement)(Rn,{ref:this.facebookTitleRef,onMouseEnter:this.onTitleEnter,onMouseLeave:this.onLeave,onClick:this.onSelectTitle,lineCount:t},this.props.title),s>0&&(0,w.createElement)(Cn,{maxWidth:In(e),onMouseEnter:this.onDescriptionEnter,onMouseLeave:this.onLeave,onClick:this.onSelectDescription,lineCount:s},this.props.description)))}}Nn.propTypes={siteUrl:S().string.isRequired,title:S().string.isRequired,description:S().string,imageUrl:S().string,imageFallbackUrl:S().string,alt:S().string,onSelect:S().func,onImageClick:S().func,onMouseHover:S().func},Nn.defaultProps={description:"",alt:"",imageUrl:"",imageFallbackUrl:"",onSelect:()=>{},onImageClick:()=>{},onMouseHover:()=>{}};const Pn=Nn,Mn=x().div` text-transform: lowercase; color: rgb(83, 100, 113); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0; fill: currentcolor; display: flex; flex-direction: row; align-items: flex-end; `,An=e=>(0,w.createElement)(Mn,null,(0,w.createElement)("span",null,e.siteUrl));An.propTypes={siteUrl:S().string.isRequired};const qn=An,On=(e,t=!0)=>e?`\n\t\t\tmax-width: ${ee.TWITTER_IMAGE_SIZES.landscapeWidth}px;\n\t\t\t${t?"border-bottom: 1px solid #E1E8ED;":""}\n\t\t\tborder-radius: 14px 14px 0 0;\n\t\t\t`:`\n\t\twidth: ${ee.TWITTER_IMAGE_SIZES.squareWidth}px;\n\t\t${t?"border-right: 1px solid #E1E8ED;":""}\n\t\tborder-radius: 14px 0 0 14px;\n\t\t`,Fn=x().div` position: relative; box-sizing: content-box; overflow: hidden; background-color: #e1e8ed; flex-shrink: 0; ${e=>On(e.isLarge)} `,$n=x().div` display: flex; justify-content: center; align-items: center; box-sizing: border-box; max-width: 100%; margin: 0; padding: 1em; text-align: center; font-size: 1rem; ${e=>On(e.isLarge,!1)} `,Bn=x()($n)` ${e=>e.isLarge&&`height: ${ee.TWITTER_IMAGE_SIZES.landscapeHeight}px;`} border-top-left-radius: 14px; ${e=>e.isLarge?"border-top-right-radius":"border-bottom-left-radius"}: 14px; border-style: dashed; border-width: 1px; // We're not using standard colors to increase contrast for accessibility. color: #006DAC; // We're not using standard colors to increase contrast for accessibility. background-color: #f1f1f1; text-decoration: underline; font-size: 14px; cursor: pointer; `;class Dn extends E().Component{constructor(e){super(e),this.state={status:"loading"},this.socialMedium="Twitter",this.handleTwitterImage=this.handleTwitterImage.bind(this),this.setState=this.setState.bind(this)}async handleTwitterImage(){if(null===this.props.src)return;const e=await En(this.props.src,this.socialMedium,this.props.isLarge);this.setState(e)}componentDidUpdate(e){e.src!==this.props.src&&this.handleTwitterImage()}componentDidMount(){this.handleTwitterImage()}render(){const{status:e,imageProperties:t}=this.state;return"loading"===e||""===this.props.src||"errored"===e?(0,w.createElement)(Bn,{isLarge:this.props.isLarge,onClick:this.props.onImageClick,onMouseEnter:this.props.onMouseEnter,onMouseLeave:this.props.onMouseLeave},(0,d.__)("Select image","wordpress-seo")):(0,w.createElement)(Fn,{isLarge:this.props.isLarge,onClick:this.props.onImageClick,onMouseEnter:this.props.onMouseEnter,onMouseLeave:this.props.onMouseLeave},(0,w.createElement)(yn,{imageProps:{src:this.props.src,alt:this.props.alt,aspectRatio:ee.TWITTER_IMAGE_SIZES.aspectRatio},width:t.width,height:t.height,imageMode:t.mode}))}}Dn.propTypes={isLarge:S().bool.isRequired,src:S().string,alt:S().string,onImageClick:S().func,onMouseEnter:S().func,onMouseLeave:S().func},Dn.defaultProps={src:"",alt:"",onMouseEnter:l.noop,onImageClick:l.noop,onMouseLeave:l.noop};const Un=x().div` display: flex; flex-direction: column; padding: 12px; justify-content: center; margin: 0; box-sizing: border-box; flex: auto; min-width: 0px; gap:2px; > * { line-height:20px; min-height:20px; font-size:15px; } `,Wn=e=>(0,w.createElement)(Un,null,e.children);Wn.propTypes={children:S().array.isRequired};const Kn=Wn,Hn=x().p` white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin: 0; color: rgb(15, 20, 25); cursor: pointer; `,jn=x().p` max-height: 55px; overflow: hidden; text-overflow: ellipsis; margin: 0; color: rgb(83, 100, 113); display: -webkit-box; cursor: pointer; -webkit-line-clamp: 2; -webkit-box-orient: vertical; @media all and ( max-width: ${ee.TWITTER_IMAGE_SIZES.landscapeWidth}px ) { display: none; } `,zn=x().div` font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif; font-size: 15px; font-weight: 400; line-height: 20px; max-width: 507px; border: 1px solid #E1E8ED; box-sizing: border-box; border-radius: 14px; color: #292F33; background: #FFFFFF; text-overflow: ellipsis; display: flex; &:hover { background: #f5f8fa; border: 1px solid rgba(136,153,166,.5); } `,Yn=x()(zn)` flex-direction: column; max-height: 370px; `,Vn=x()(zn)` flex-direction: row; height: 125px; `;class Gn extends w.Component{constructor(e){super(e),this.onImageEnter=this.props.onMouseHover.bind(this,"image"),this.onTitleEnter=this.props.onMouseHover.bind(this,"title"),this.onDescriptionEnter=this.props.onMouseHover.bind(this,"description"),this.onLeave=this.props.onMouseHover.bind(this,""),this.onSelectTitle=this.props.onSelect.bind(this,"title"),this.onSelectDescription=this.props.onSelect.bind(this,"description")}render(){const{isLarge:e,imageUrl:t,imageFallbackUrl:s,alt:r,title:a,description:n,siteUrl:o}=this.props,i=e?Yn:Vn;return(0,w.createElement)(i,{id:"twitterPreview"},(0,w.createElement)(Dn,{src:t||s,alt:r,isLarge:e,onImageClick:this.props.onImageClick,onMouseEnter:this.onImageEnter,onMouseLeave:this.onLeave}),(0,w.createElement)(Kn,null,(0,w.createElement)(qn,{siteUrl:o}),(0,w.createElement)(Hn,{onMouseEnter:this.onTitleEnter,onMouseLeave:this.onLeave,onClick:this.onSelectTitle},a),(0,w.createElement)(jn,{onMouseEnter:this.onDescriptionEnter,onMouseLeave:this.onLeave,onClick:this.onSelectDescription},n)))}}Gn.propTypes={siteUrl:S().string.isRequired,title:S().string.isRequired,description:S().string,isLarge:S().bool,imageUrl:S().string,imageFallbackUrl:S().string,alt:S().string,onSelect:S().func,onImageClick:S().func,onMouseHover:S().func},Gn.defaultProps={description:"",alt:"",imageUrl:"",imageFallbackUrl:"",onSelect:()=>{},onImageClick:()=>{},onMouseHover:()=>{},isLarge:!0};const Zn=Gn,Qn=window.yoast.replacementVariableEditor;class Xn extends w.Component{constructor(e){super(e),this.state={activeField:"",hoveredField:""},this.SocialPreview="Social"===e.socialMediumName?Pn:Zn,this.setHoveredField=this.setHoveredField.bind(this),this.setActiveField=this.setActiveField.bind(this),this.setEditorRef=this.setEditorRef.bind(this),this.setEditorFocus=this.setEditorFocus.bind(this)}setHoveredField(e){e!==this.state.hoveredField&&this.setState({hoveredField:e})}setActiveField(e){e!==this.state.activeField&&this.setState({activeField:e},(()=>this.setEditorFocus(e)))}setEditorFocus(e){switch(e){case"title":this.titleEditorRef.focus();break;case"description":this.descriptionEditorRef.focus()}}setEditorRef(e,t){switch(e){case"title":this.titleEditorRef=t;break;case"description":this.descriptionEditorRef=t}}render(){const{onDescriptionChange:e,onTitleChange:t,onSelectImageClick:s,onRemoveImageClick:r,socialMediumName:a,imageWarnings:n,siteUrl:o,description:i,descriptionInputPlaceholder:l,descriptionPreviewFallback:c,imageUrl:d,imageFallbackUrl:u,alt:p,title:m,titleInputPlaceholder:h,titlePreviewFallback:g,replacementVariables:y,recommendedReplacementVariables:f,applyReplacementVariables:b,onReplacementVariableSearchChange:v,isPremium:k,isLarge:x,socialPreviewLabel:_,idSuffix:S,activeMetaTabId:C}=this.props,I=b({title:m||g,description:i||c});return(0,w.createElement)(E().Fragment,null,_&&(0,w.createElement)(R.SimulatedLabel,null,_),(0,w.createElement)(this.SocialPreview,{onMouseHover:this.setHoveredField,onSelect:this.setActiveField,onImageClick:s,siteUrl:o,title:I.title,description:I.description,imageUrl:d,imageFallbackUrl:u,alt:p,isLarge:x,activeMetaTabId:C}),(0,w.createElement)(ee.SocialMetadataPreviewForm,{onDescriptionChange:e,socialMediumName:a,title:m,titleInputPlaceholder:h,onRemoveImageClick:r,imageSelected:!!d,imageUrl:d,imageFallbackUrl:u,onTitleChange:t,onSelectImageClick:s,description:i,descriptionInputPlaceholder:l,imageWarnings:n,replacementVariables:y,recommendedReplacementVariables:f,onReplacementVariableSearchChange:v,onMouseHover:this.setHoveredField,hoveredField:this.state.hoveredField,onSelect:this.setActiveField,activeField:this.state.activeField,isPremium:k,setEditorRef:this.setEditorRef,idSuffix:S}))}}Xn.propTypes={title:S().string.isRequired,onTitleChange:S().func.isRequired,description:S().string.isRequired,onDescriptionChange:S().func.isRequired,imageUrl:S().string.isRequired,imageFallbackUrl:S().string.isRequired,onSelectImageClick:S().func.isRequired,onRemoveImageClick:S().func.isRequired,socialMediumName:S().string.isRequired,alt:S().string,isPremium:S().bool,imageWarnings:S().array,isLarge:S().bool,siteUrl:S().string,descriptionInputPlaceholder:S().string,titleInputPlaceholder:S().string,descriptionPreviewFallback:S().string,titlePreviewFallback:S().string,replacementVariables:Qn.replacementVariablesShape,recommendedReplacementVariables:Qn.recommendedReplacementVariablesShape,applyReplacementVariables:S().func,onReplacementVariableSearchChange:S().func,socialPreviewLabel:S().string,idSuffix:S().string,activeMetaTabId:S().string},Xn.defaultProps={imageWarnings:[],recommendedReplacementVariables:[],replacementVariables:[],isPremium:!1,isLarge:!0,siteUrl:"",descriptionInputPlaceholder:"",titleInputPlaceholder:"",descriptionPreviewFallback:"",titlePreviewFallback:"",alt:"",applyReplacementVariables:e=>e,onReplacementVariableSearchChange:null,socialPreviewLabel:"",idSuffix:"",activeMetaTabId:""};const Jn={},eo=(e,t,{log:s=console.warn}={})=>{Jn[e]||(Jn[e]=!0,s(t))},to=(e,t=l.noop)=>{const s={};for(const r in e)Object.hasOwn(e,r)&&Object.defineProperty(s,r,{set:s=>{e[r]=s,t("set",r,s)},get:()=>(t("get",r),e[r])});return s};to({squareWidth:125,squareHeight:125,landscapeWidth:506,landscapeHeight:265,aspectRatio:50.2},((e,t)=>eo(`@yoast/social-metadata-previews/TWITTER_IMAGE_SIZES/${e}/${t}`,`[@yoast/social-metadata-previews] "TWITTER_IMAGE_SIZES.${t}" is deprecated and will be removed in the future, please use this from @yoast/social-metadata-forms instead.`))),to({squareWidth:158,squareHeight:158,landscapeWidth:527,landscapeHeight:273,portraitWidth:158,portraitHeight:237,aspectRatio:52.2,largeThreshold:{width:446,height:233}},((e,t)=>eo(`@yoast/social-metadata-previews/FACEBOOK_IMAGE_SIZES/${e}/${t}`,`[@yoast/social-metadata-previews] "FACEBOOK_IMAGE_SIZES.${t}" is deprecated and will be removed in the future, please use this from @yoast/social-metadata-forms instead.`)));const so=({title:e,description:t})=>{const s=(0,ge.useSelect)((e=>e(cr).getSiteUrl()),[]),r=(0,ge.useSelect)((e=>e(cr).getFacebookImageUrl()),[]),a=(0,ge.useSelect)((e=>e(cr).getEditorDataImageFallback()),[]),n=(0,ge.useSelect)((e=>e(cr).getFacebookAltText()),[]);return(0,w.createElement)("div",{className:"yst-bg-slate-200 yst-p-2 yst--mx-6 yst-mx-auto"},(0,w.createElement)(Pn,{title:e,description:t,siteUrl:s,imageUrl:r,imageFallbackUrl:a,alt:n,onSelect:l.noop,onImageClick:l.noop,onMouseHover:l.noop}))};so.propTypes={title:S().string.isRequired,description:S().string.isRequired};const ro=()=>(0,w.createElement)("div",{className:"yst-flex yst-flex-col yst-w-[527px] yst-border yst-mx-auto"},(0,w.createElement)(xe.SkeletonLoader,{className:"yst-h-[273px] yst-w-full yst-rounded-none yst-border yst-border-dashed"}),(0,w.createElement)("div",{className:"yst-w-full yst-p-4 yst-space-y-1"},(0,w.createElement)(xe.SkeletonLoader,{className:"yst-h-3 yst-w-1/3"}),(0,w.createElement)(xe.SkeletonLoader,{className:"yst-h-5 yst-w-10/12"}),(0,w.createElement)(xe.SkeletonLoader,{className:"yst-h-3 yst-w-full"}))),ao=({children:e,onRetry:t})=>{const{onClose:s}=(0,xe.useModalContext)();return(0,w.createElement)(v.Fragment,null,e,(0,w.createElement)("div",{className:"yst-mt-6 yst-mb-1 yst-flex yst-space-x-3 rtl:yst-space-x-reverse yst-place-content-end"},(0,w.createElement)(xe.Button,{variant:"secondary",onClick:s},(0,d.__)("Close","wordpress-seo")),(0,w.createElement)(xe.Button,{variant:"primary",onClick:t},(0,d.__)("Try again","wordpress-seo"))))};ao.propTypes={children:S().node.isRequired,onRetry:S().func.isRequired};const no=({errorCode:e,errorIdentifier:t,invalidSubscriptions:s=[],showActions:r=!1,onRetry:a=l.noop,errorMessage:n=""})=>{switch(e){case 400:switch(t){case"AI_CONTENT_FILTER":return(0,w.createElement)(Wa,null);case"NOT_ENOUGH_CONTENT":return(0,w.createElement)(Fa,null);case"SITE_UNREACHABLE":return(0,w.createElement)(ja,null);case"WP_HTTP_REQUEST_ERROR":return r?(0,w.createElement)(ao,{onRetry:a},(0,w.createElement)(Ka,{errorMessage:n})):(0,w.createElement)(Ka,{errorMessage:n});default:return r?(0,w.createElement)(ao,{onRetry:a},(0,w.createElement)(Oa,null)):(0,w.createElement)(Oa,null)}case 402:return(0,w.createElement)(Da,{invalidSubscriptions:s});case 408:return r?(0,w.createElement)(ao,{onRetry:a},(0,w.createElement)(Ua,null)):(0,w.createElement)(Ua,null);case 429:return(0,w.createElement)(Ba,null);case 410:return(0,w.createElement)(Ha,null);default:return r?(0,w.createElement)(ao,{onRetry:a},(0,w.createElement)(Oa,null)):(0,w.createElement)(Oa,null)}};no.propTypes={errorCode:S().number.isRequired,errorIdentifier:S().string.isRequired,invalidSubscriptions:S().array,showActions:S().bool,onRetry:S().func,errorMessage:S().string};const oo=S().shape({value:S().string.isRequired,label:S().node.isRequired}),io=({id:e,name:t,suggestion:s,isChecked:r,onChange:a})=>{const n=(0,v.useCallback)((()=>a(s.value)),[s,a]);return(0,w.createElement)("label",{htmlFor:e,className:tn()("yst-flex yst-p-4 yst-items-center yst-border first:yst-rounded-t-md last:yst-rounded-b-md",r&&"yst-z-10 yst-border-primary-500")},(0,w.createElement)("input",{type:"radio",id:e,name:t,className:"yst-radio__input",value:s.value,checked:r,onChange:n}),(0,w.createElement)("div",{className:tn()("yst-label yst-radio__label yst-flex yst-flex-wrap yst-items-center",!r&&"yst-text-slate-600")},s.label))};io.propTypes={id:S().string.isRequired,name:S().string.isRequired,suggestion:oo.isRequired,isChecked:S().bool.isRequired,onChange:S().func.isRequired};const lo=({idSuffix:e,suggestions:t,selected:s,onChange:r})=>(0,w.createElement)("div",null,(0,w.createElement)(xe.RadioGroup,{className:"yst-suggestions-radio-group yst-flex yst-flex-col",id:`yst-ai-suggestions-radio-group__${e}`},t.map(((t,a)=>(0,w.createElement)(io,{key:`yst-ai-suggestions-radio-${e}__${a}`,id:`yst-ai-suggestions-radio-${e}__${a}`,name:`ai-suggestion__${e}`,isChecked:t.value===s,onChange:r,suggestion:t})))));lo.propTypes={idSuffix:S().string.isRequired,suggestions:S().arrayOf(oo).isRequired,selected:S().string.isRequired,onChange:S().func.isRequired};const co=[["yst-h-3 yst-w-full","yst-mt-2.5 yst-h-3 yst-w-9/12"],["yst-h-3 yst-w-full","yst-mt-2.5 yst-h-3 yst-w-7/12"],["yst-h-3 yst-w-full","yst-mt-2.5 yst-h-3 yst-w-10/12"],["yst-h-3 yst-w-full","yst-mt-2.5 yst-h-3 yst-w-11/12"],["yst-h-3 yst-w-full","yst-mt-2.5 yst-h-3 yst-w-8/12"]],uo=({suggestionClassNames:e=co})=>(0,w.createElement)("div",{className:"yst-flex yst-flex-col yst--space-y-[1px]"},e.map(((e,t)=>(0,w.createElement)("div",{key:`yst-ai-suggestion-radio-skeleton__${t}`,className:"yst-flex yst-p-4 yst-gap-x-3 yst-items-center yst-border first:yst-rounded-t-md last:yst-rounded-b-md"},(0,w.createElement)("input",{type:"radio",disabled:!0,className:"yst-my-0.5"}),(0,w.createElement)("div",{className:"yst-flex yst-flex-col yst-w-full"},e.map(((e,s)=>(0,w.createElement)(xe.SkeletonLoader,{key:`yst-ai-suggestion-radio-skeleton-${t}__${s}`,className:e}))))))));uo.propTypes={suggestionClassNames:S().arrayOf(S().arrayOf(S().string))};const po="ai_generator_tip_notification",mo=()=>{const e=(0,ge.useSelect)((e=>e(cr).isAlertDismissed(po)),[]),t=(0,ge.useSelect)((e=>e(cr).getEditorDataContent()),[]),s=(0,ge.useSelect)((e=>e(cr).getIsWooProductEntity()),[]),[r,,,a]=(0,xe.useToggleState)(!1),{editType:n,contentType:o}=Mr(),{dismissAlert:i}=(0,ge.useDispatch)(cr),l=(0,v.useCallback)((()=>{i(po)}),[i]),c=(0,v.useMemo)((()=>n===hr?(0,d.__)("%1$sTip%2$s: Improve the accuracy of your generated AI descriptions by writing more content in your page.","wordpress-seo"):(0,d.__)("%1$sTip%2$s: Improve the accuracy of your generated AI titles by writing more content in your page.","wordpress-seo") /* translators: %1$s and %2$s expand to opening and closing of a span in order to emphasise the word. */),[n]),u=(0,v.useMemo)((()=>((e,t)=>e||t===yr?150:300)(s,o)),[o,s]);return e||r||t.length>u?null:(0,w.createElement)(xe.Notifications.Notification,{id:"ai-generator-content-tip",variant:"info",dismissScreenReaderLabel:(0,d.__)("Dismiss","wordpress-seo")},Ie((0,d.sprintf)(c,"<span>","</span>"),{span:(0,w.createElement)("span",{className:"yst-font-medium yst-text-slate-800"})}),(0,w.createElement)("div",{className:"yst-flex yst-mt-3 yst--ms-3 yst-gap-1"},(0,w.createElement)(xe.Button,{type:"button",variant:"tertiary",onClick:l},(0,d.__)("Don’t show again","wordpress-seo")),(0,w.createElement)(xe.Button,{type:"button",variant:"tertiary",className:"yst-text-slate-800",onClick:a},(0,d.__)("Dismiss","wordpress-seo"))))},ho=({title:e,description:t,showPreviewSkeleton:s})=>(0,w.createElement)("div",null,(0,w.createElement)("div",{className:"yst-flex yst-mb-6"},(0,w.createElement)(xe.Label,{as:"span",className:"yst-flex-grow yst-cursor-default"},(0,d.__)("X preview","wordpress-seo"))),s?(0,w.createElement)(yo,null):(0,w.createElement)(go,{title:e,description:t}));ho.propTypes={title:S().string.isRequired,description:S().string.isRequired,showPreviewSkeleton:S().bool.isRequired};const go=({title:e,description:t})=>{const s=(0,ge.useSelect)((e=>e(cr).getSiteUrl()),[]),r=(0,ge.useSelect)((e=>e(cr).getTwitterImageUrl()),[]),a=(0,ge.useSelect)((e=>e(cr).getFacebookImageUrl()),[]),n=(0,ge.useSelect)((e=>e(cr).getEditorDataImageFallback()),[]),o=(0,ge.useSelect)((e=>e(cr).getTwitterImageType()),[]),i=(0,ge.useSelect)((e=>e(cr).getTwitterAltText()),[]);return(0,w.createElement)("div",{className:"yst-bg-slate-200 yst-p-2 yst--mx-6"},(0,w.createElement)(Zn,{title:e,description:t,siteUrl:s,imageUrl:r,imageFallbackUrl:a||n,isLarge:"summary"!==o,alt:i,onSelect:l.noop,onImageClick:l.noop,onMouseHover:l.noop}))};go.propTypes={title:S().string.isRequired,description:S().string.isRequired};const yo=()=>(0,w.createElement)("div",{className:"yst-flex yst-flex-col yst-max-h-[370px] yst-w-[507px] yst-border yst-rounded-t-[14px] yst-overflow-hidden yst-mx-auto"},(0,w.createElement)(xe.SkeletonLoader,{className:"yst-h-[265px] yst-w-full yst-rounded-none yst-border yst-border-dashed"}),(0,w.createElement)("div",{className:"yst-w-full yst-p-4 yst-space-y-1"},(0,w.createElement)(xe.SkeletonLoader,{className:"yst-h-3 yst-w-1/3"}),(0,w.createElement)(xe.SkeletonLoader,{className:"yst-h-5 yst-w-10/12"}),(0,w.createElement)(xe.SkeletonLoader,{className:"yst-h-3 yst-w-full"}))),fo="yst-mt-1 yst-mb-3",bo="yst-flex yst-justify-end yst--me-8 yst-gap-3 yst--ms-2",wo=({onClose:e})=>(0,w.createElement)(w.Fragment,null,(0,w.createElement)("p",{className:fo},(0,d.__)("As long as this is a beta feature, you get unlimited sparks.","wordpress-seo")),(0,w.createElement)("div",{className:bo},(0,w.createElement)(xe.Button,{type:"button",variant:"primary",size:"small",onClick:e},(0,d.__)("Got it!","wordpress-seo")))),Eo=({onClose:e,upsellLink:t,isWooProductEntity:s=!1,ctbId:r="f6a84663-465f-4cb5-8ba5-f7a6d72224b2"})=>{const a=(0,xe.useSvgAria)();return(0,w.createElement)(w.Fragment,null,(0,w.createElement)("p",{className:fo},(0,d.sprintf)(/* translators: %s expands to Yoast SEO Premium or Yoast WooCommerce SEO. */ (0,d.__)("Keep the momentum going, unlock unlimited sparks with %s!","wordpress-seo"),s?"Yoast WooCommerce SEO":"Yoast SEO Premium")),(0,w.createElement)("div",{className:bo},(0,w.createElement)(xe.Button,{type:"button",variant:"tertiary",size:"small",onClick:e},(0,d.__)("Close","wordpress-seo")),(0,w.createElement)(xe.Button,{as:"a",size:"small",variant:"upsell",href:t,target:"_blank",rel:"noopener noreferrer","data-action":"load-nfd-ctb","data-ctb-id":r},(0,w.createElement)(zr,{className:"yst-w-4 yst-h-4 yst--ms-1 yst-me-2 yst-shrink-0",...a}),(0,d.sprintf)(/* translators: %1$s expands to Yoast SEO Premium or Yoast WooCommerce SEO. */ (0,d.__)("Unlock with %1$s","wordpress-seo"),s?"Yoast WooCommerce SEO":"Yoast SEO Premium"),(0,w.createElement)("span",{className:"yst-sr-only"},/* translators: Hidden accessibility text. */ (0,d.__)("(Opens in a new browser tab)","wordpress-seo")))))},vo=({className:e=""})=>{const{isUsageCountLimitReached:t,usageCount:s,usageCountLimit:r,premiumUpsellLink:a,wooUpsellLink:n,isWooProductEntity:o,hasValidPremiumSubscription:i,hasValidWooSubscription:l}=(0,ge.useSelect)((e=>{const t=e(lr),s=e(cr);return{isUsageCountLimitReached:t.isUsageCountLimitReached(),usageCount:t.selectUsageCount(),usageCountLimit:t.selectUsageCountLimit(),premiumUpsellLink:s.selectLink("https://yoa.st/ai-toast-out-of-free-sparks"),wooUpsellLink:s.selectLink("https://yoa.st/ai-toast-out-of-free-sparks-woo"),isWooProductEntity:s.getIsWooProductEntity(),hasValidPremiumSubscription:t.selectPremiumSubscription(),hasValidWooSubscription:t.selectWooCommerceSubscription()}}),[]),c=(0,v.useMemo)((()=>i&&!o||o&&l&&i),[i,o,l]),[u,,p,,m]=(0,xe.useToggleState)(s===r);(0,v.useEffect)((()=>{p(c&&s===r||!c&&t)}),[s,r,c,t]);const h=(0,v.useMemo)((()=>o?n:a),[o,n,a]),g=(0,v.useMemo)((()=>o&&!l),[o,l]);return u&&(0,w.createElement)(xe.Notifications.Notification,{id:"ai-sparks-limit",className:e,variant:"info",dismissScreenReaderLabel:(0,d.__)("Close","wordpress-seo"),title:c?(0,d.sprintf)(/* translators: %s is the number of the sparks. */ (0,d._n)("You've used %s spark this month.","You've used %s sparks this month.",r,"wordpress-seo"),r):(0,d.__)("You're out of free sparks!","wordpress-seo"),size:c?"default":"large"},c?(0,w.createElement)(wo,{onClose:m}):(0,w.createElement)(Eo,{onClose:m,upsellLink:h,isWooUpsell:g}))};window.yoast=window.yoast||{},window.yoast.editorModules={analysis:{getL10nObject:c,getContentLocale:function(){const e=c();return(0,l.get)(e,"contentLocale","en_US")},getIndicatorForScore:function(e){return(0,l.isNil)(e)||(e/=10),function(e){switch(e){case"feedback":return{className:"na",screenReaderText:(0,d.__)("Not available","wordpress-seo"),screenReaderReadabilityText:(0,d.__)("Not available","wordpress-seo"),screenReaderInclusiveLanguageText:(0,d.__)("Not available","wordpress-seo")};case"bad":return{className:"bad",screenReaderText:(0,d.__)("Needs improvement","wordpress-seo"),screenReaderReadabilityText:(0,d.__)("Needs improvement","wordpress-seo"),screenReaderInclusiveLanguageText:(0,d.__)("Needs improvement","wordpress-seo")};case"ok":return{className:"ok",screenReaderText:(0,d.__)("OK SEO score","wordpress-seo"),screenReaderReadabilityText:(0,d.__)("OK","wordpress-seo"),screenReaderInclusiveLanguageText:(0,d.__)("Potentially non-inclusive","wordpress-seo")};case"good":return{className:"good",screenReaderText:(0,d.__)("Good SEO score","wordpress-seo"),screenReaderReadabilityText:(0,d.__)("Good","wordpress-seo"),screenReaderInclusiveLanguageText:(0,d.__)("Good","wordpress-seo")};default:return{className:"loading",screenReaderText:"",screenReaderReadabilityText:"",screenReaderInclusiveLanguageText:""}}}(u.interpreters.scoreToRating(e))},constants:e,refreshAnalysis:t},aiGenerator:{components:{Introduction:Va,SuggestionError:no,SparksLimitNotification:vo,FeatureError:Ya},helpers:{removesLocaleVariantSuffixes:Cr,fetchSuggestions:Ir}},components:{HelpLink:V,TopLevelProviders:me,higherorder:{withYoastSidebarPriority:e=>{const t=t=>{const{renderPriority:s,...r}=t;return(0,w.createElement)(e,{...r})};return t.propTypes={renderPriority:S().number},t}},contentAnalysis:{KeywordInput:K,mapResults:r},contexts:{location:{LocationContext:o.LocationContext,LocationProvider:o.LocationProvider,LocationConsumer:o.LocationConsumer}},SidebarItem:ue,SidebarCollapsible:ce,MetaboxCollapsible:e=>(0,w.createElement)(G,{hasPadding:!0,hasSeparator:!0,...e}),Modal:J,portals:{Portal:ae,ImageSelectPortal:ne,ScoreIconPortal:ie}},containers:{EditorModal:Ee,PersistentDismissableAlert:ve,Results:je,SEMrushRelatedKeyphrases:Ge,WincherSEOPerformance:Ms},helpers:{ajaxHelper:a,createInterpolateElement:Ie,createWatcher:(e,t)=>{let s=e();return()=>{const r=e();(0,l.isEqual)(r,s)||(s=r,t((0,l.clone)(r)))}},isBlockEditor:function(){return window.wpseoScriptData&&"1"===window.wpseoScriptData.isBlockEditor},i18n:{setTextdomainL10n:function(e,t="wpseoYoastJSL10n"){const s=(0,l.get)(window,[t,e,"locale_data",e],!1);"yoast-components"===e&&(e="wordpress-seo"),!1===s?(0,d.setLocaleData)({"":{}},e):(0,d.setLocaleData)(s,e)}},replacementVariableHelpers:n,publishBox:{updateScore:function(e,t,s=null){var r=tr("#"+e+"-score"),a=er+" "+t;r.children(".image").attr("class",a);var n=sr(e,t,s);r.children("."+Js).html(n)},createScoresInPublishBox:function(e,t,s=null){const r=tr("<div />",{class:"misc-pub-section yoast yoast-seo-score "+e+"-score",id:e+"-score"}),a=tr("<span />",{class:Js,html:sr(e,t,s)}),n=tr("<span>").attr("class",er+" na");r.append(n).append(a),tr("#yoast-seo-publishbox-section").append(r)},scrollToCollapsible:function(e){const t=tr("#wpadminbar"),s=tr(e);if(!t||!s)return;const r="fixed"===t.css("position")?t.height():0;tr([document.documentElement,document.body]).animate({scrollTop:s.offset().top-r},1e3),s.trigger("focus"),0===s.parent().siblings().length&&s.trigger("click")}},updateAdminBar:function(e){jQuery("#wp-admin-bar-wpseo-menu .wpseo-score-icon").attr("title",e.screenReaderText).attr("class","wpseo-score-icon "+e.className).find(".wpseo-score-text").text(e.screenReaderText)},updateTrafficLight:function(e){var t=jQuery(".yst-traffic-light"),s=t.closest(".wpseo-meta-section-link"),r=jQuery("#wpseo-traffic-light-desc"),a=e.className||"na";t.attr("class","yst-traffic-light "+a),s.attr("aria-describedby","wpseo-traffic-light-desc"),r.length>0?r.text(e.screenReaderText):s.closest("li").append("<span id='wpseo-traffic-light-desc' class='screen-reader-text'>"+e.screenReaderText+"</span>")}}}})()})();