OwlCyberSecurity - MANAGER
Edit File: dashboardFrontend.js
(()=>{var e={20841:(e,t)=>{var a;!function(){"use strict";var r={}.hasOwnProperty;function s(){for(var e="",t=0;t<arguments.length;t++){var a=arguments[t];a&&(e=n(e,o(a)))}return e}function o(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return s.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var a in e)r.call(e,a)&&e[a]&&(t=n(t,a));return t}function n(e,t){return t?e?e+" "+t:e+t:e}e.exports?(s.default=s,e.exports=s):void 0===(a=function(){return s}.apply(t,[]))||(e.exports=a)}()}},t={};function a(r){var s=t[r];if(void 0!==s)return s.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,a),o.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{"use strict";a.r(r),a.d(r,{ComparisonMetricsDataFormatter:()=>it,Dashboard:()=>Ye,DataFormatterInterface:()=>nt,DataProvider:()=>_t,OrganicSessionsWidget:()=>be,PlainMetricsDataFormatter:()=>lt,RemoteCachedDataProvider:()=>vt,RemoteDataProvider:()=>dt,ScoreWidget:()=>Ke,SearchRankingCompareWidget:()=>X,TopPagesWidget:()=>M,TopQueriesWidget:()=>z,Widget:()=>v,WidgetDataSources:()=>h,WidgetErrorBoundary:()=>E,WidgetFactory:()=>Lt,WidgetTitle:()=>g,WidgetTooltip:()=>f});const e=window.React,t=e.forwardRef((function(t,a){return e.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:a},t),e.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z"}))})),s=window.wp.i18n,o=window.yoast.uiLibrary,n=window.wp.element;var l=a(20841),i=a.n(l);const c=(e,t)=>{try{return(0,n.createInterpolateElement)((0,s.sprintf)(e,"<link>","</link>"),{link:t})}catch(t){return(0,s.sprintf)(e,"","")}},d=({error:e,supportLink:t,className:a=""})=>{if(!e)return null;const r=React.createElement(o.Link,{variant:"error",href:t}," ");return React.createElement(o.Alert,{variant:"error",className:i()("yst-max-w-2xl",a)},((e,t)=>{switch(!0){case 408===e.status||"TimeoutError"===e.name:return c(/* translators: %1$s expands to an anchor start tag, %2$s to an anchor end tag. */ (0,s.__)("The request timed out. Try refreshing the page. If the problem persists, please check our %1$sSupport page%2$s.","wordpress-seo"),t);case 403===e.status:return c(/* translators: %1$s expands to an anchor start tag, %2$s to an anchor end tag. */ (0,s.__)("You don’t have permission to access this resource. Please contact your admin for access. In case you need further help, please check our %1$sSupport page%2$s.","wordpress-seo"),t);default:return c(/* translators: %1$s expands to an anchor start tag, %2$s to an anchor end tag. */ (0,s.__)("Something went wrong. Try refreshing the page. If the problem persists, please check our %1$sSupport page%2$s.","wordpress-seo"),t)}})(e,r))},m=({className:e="yst-mt-4"})=>React.createElement("p",{className:e},(0,s.__)("No data to display: Your site hasn't received any visitors yet.","wordpress-seo"));function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},u.apply(null,arguments)}const p=e.forwardRef((function(t,a){return e.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:a},t),e.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"}))})),y=({children:e})=>React.createElement(o.TooltipContainer,{as:"div",className:"yst-h-fit yst-leading-[0]"},React.createElement(o.TooltipTrigger,null,React.createElement(p,{className:"yst-w-5 yst-h-5 yst-text-slate-400"})),React.createElement(o.TooltipWithContext,{variant:"light",className:"yst-leading-normal yst-max-w-80 yst-p-4 yst-shadow-md",position:"left"},e)),g=({children:e,...t})=>React.createElement(o.Title,u({as:"h2"},t),e);g.displayName="Widget.Title";const f=({content:e,children:t})=>React.createElement(y,null,React.createElement("p",{className:"yst-mb-2 yst-text-slate-600"},e),t);f.displayName="Widget.Tooltip";const h=({dataSources:e})=>React.createElement("div",{className:"yst-border-t yst-mt-3 yst-border-slate-200 yst-italic yst-text-xxs"},React.createElement("div",{className:"yst-mt-3 yst-font-semibold yst-text-slate-800"},(0,s.__)("Data provided by:","wordpress-seo")),React.createElement("ul",null,e.map(((e,t)=>React.createElement("li",{className:"yst-text-slate-500",key:t},e.feature?React.createElement(React.Fragment,null,React.createElement("span",{className:"yst-font-medium"},e.source," - "),e.feature):e.source)))));h.displayName="Widget.DataSources";const E=({className:t="yst-mt-4",supportLink:a,children:r,...s})=>{const n=(0,e.useCallback)((({error:e})=>React.createElement(d,{error:e,className:t,supportLink:a})),[t,a]);return React.createElement(o.ErrorBoundary,u({},s,{FallbackComponent:n}),r)};E.displayName="Widget.ErrorBoundary";const v=({className:e="yst-paper__content",title:t,tooltip:a,dataSources:r,children:s,errorSupportLink:n})=>React.createElement(o.Paper,{className:i()("yst-shadow-md",e)},(t||a)&&React.createElement("div",{className:"yst-flex yst-justify-between"},t&&React.createElement(g,null,t),a&&React.createElement(f,{content:a},r&&r.length>0&&React.createElement(h,{dataSources:r}))),n?React.createElement(E,{supportLink:n},s):s),R={good:{label:(0,s.__)("Good","wordpress-seo"),color:"yst-bg-analysis-good",hex:"#7ad03a"},ok:{label:(0,s.__)("OK","wordpress-seo"),color:"yst-bg-analysis-ok",hex:"#ee7c1b"},bad:{label:(0,s.__)("Needs improvement","wordpress-seo"),color:"yst-bg-analysis-bad",hex:"#dc3232"},notAnalyzed:{label:(0,s.__)("Not analyzed","wordpress-seo"),color:"yst-bg-analysis-na",hex:"#cbd5e1"}},b={seo:{good:(0,s.__)("Most of your content has a good SEO score. Well done!","wordpress-seo"),ok:(0,s.__)("Your content has an average SEO score. Time to find opportunities for improvement!","wordpress-seo"),bad:(0,s.__)("Some of your content could use a little extra care. Take a look and start improving!","wordpress-seo"),notAnalyzed:(0,s.__)("Some of your content hasn't been analyzed yet. Please open it in your editor, ensure a focus keyphrase is entered, and save it so we can start the analysis.","wordpress-seo")},readability:{good:(0,s.__)("Most of your content has a good readability score. Well done!","wordpress-seo"),ok:(0,s.__)("Your content has an average readability score. Time to find opportunities for improvement!","wordpress-seo"),bad:(0,s.__)("Some of your content could use a little extra care. Take a look and start improving!","wordpress-seo"),notAnalyzed:(0,s.__)("Some of your content hasn't been analyzed yet. Please open it and save it in your editor so we can start the analysis.","wordpress-seo")}},w={seo:{notAnalyzed:(0,s.__)("We haven’t analyzed this content yet. Please open it in your editor, ensure a focus keyphrase is entered, and save it so we can start the analysis.","wordpress-seo")},readability:{notAnalyzed:(0,s.__)("We haven’t analyzed this content yet. Please open it in your editor and save it so we can start the analysis.","wordpress-seo")}},k=e.forwardRef((function(t,a){return e.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",ref:a},t),e.createElement("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"}))})),S=({tooltip:e,id:t})=>React.createElement(o.TooltipContainer,{className:"yst-h-4"},React.createElement(o.TooltipTrigger,{ariaDescribedby:t},React.createElement(k,{className:"yst-w-4 yst-h-4 yst-text-slate-400"}),React.createElement("span",{className:"yst-sr-only"},(0,s.__)("Disabled","wordpress-seo"))),e&&React.createElement(o.TooltipWithContext,{position:"left",id:t},e)),_=({score:e,id:t})=>{var a;return React.createElement(o.TooltipContainer,{className:"yst-h-4 yst-flex yst-items-center yst-justify-center"},React.createElement(o.TooltipTrigger,{ariaDescribedby:t},React.createElement("div",{className:i()("yst-shrink-0 yst-w-3 yst-aspect-square yst-rounded-full",R[e].color)},React.createElement("span",{className:"yst-sr-only"},R[e].label))),(null===(a=R[e])||void 0===a?void 0:a.tooltip)&&React.createElement(o.TooltipWithContext,{position:"left",id:t},"notAnalyzed"===e?(0,s.__)("Content analysis hasn't started. Please open this page in your editor, enter a focus keyphrase and save.","wordpress-seo"):R[e].tooltip))},N=({score:e,isIndexablesEnabled:t,isSeoAnalysisEnabled:a,isEditable:r,id:o})=>t&&a?r?React.createElement(_,{score:e,id:o}):React.createElement(S,{id:o,tooltip:(0,s.__)("We can’t provide an SEO score for this page.","wordpress-seo")}):React.createElement(S,{id:o}),x=({children:e})=>React.createElement("div",{className:"yst-overflow-auto"},React.createElement(o.Table,{variant:"minimal"},e));x.Head=({children:e})=>React.createElement(o.Table.Head,null,React.createElement(o.Table.Row,null,React.createElement(o.Table.Header,{className:"yst-px-0 yst-w-5"},""),e)),x.Row=({children:e,index:t})=>React.createElement(o.Table.Row,null,React.createElement(o.Table.Cell,{className:"yst-px-0 yst-text-slate-500"},t+1,". "),e),x.Cell=o.Table.Cell,x.Header=o.Table.Header,x.Body=o.Table.Body;const C=window.yoast.reduxJsToolkit,P=window.lodash,T=(0,C.createSlice)({name:"data",initialState:{data:void 0,error:void 0,isPending:!0},reducers:{setData(e,t){e.data=t.payload,e.error=void 0,e.isPending=!1},setError(e,t){e.error=t.payload,e.isPending=!1},setIsPending(e,t){e.isPending=Boolean(t.payload)}}}),L=(t,a=P.identity)=>{const[r,s]=(0,e.useReducer)(T.reducer,{},T.getInitialState),o=(0,e.useRef)();return(0,e.useEffect)((()=>{var e,r;return null===(e=o.current)||void 0===e||e.abort(),o.current=new AbortController,s(T.actions.setIsPending(!0)),t({signal:null===(r=o.current)||void 0===r?void 0:r.signal}).then((e=>s(T.actions.setData(a(e))))).catch((e=>{"AbortError"!==(null==e?void 0:e.name)&&s(T.actions.setError(e))})),()=>{var e;return null===(e=o.current)||void 0===e?void 0:e.abort()}}),[t]),r},F=({isIndexablesEnabled:e,isSeoAnalysisEnabled:t})=>{if(e&&t)return React.createElement(React.Fragment,null,"Yoast",React.createElement("br",null),(0,s.__)("SEO score","wordpress-seo"));let a;return e?t||(a=(0,s.__)("We can’t provide SEO scores, because the SEO analysis is disabled for your site.","wordpress-seo")):a=(0,s.__)("We can’t analyze your content, because you’re in a non-production environment.","wordpress-seo"),React.createElement(o.TooltipContainer,{className:"yst-inline-block"},React.createElement(o.TooltipTrigger,{ariaDescribedby:"yst-disabled-score-header-tooltip",className:"yst-cursor-help yst-underline yst-decoration-dotted yst-underline-offset-4"},"Yoast",React.createElement("br",null),(0,s.__)("SEO score","wordpress-seo")),React.createElement(o.TooltipWithContext,{position:"bottom",id:"yst-disabled-score-header-tooltip",className:"yst-w-52"},a))},D=({index:e})=>React.createElement(x.Row,{index:e},React.createElement(x.Cell,null,React.createElement(o.SkeletonLoader,null,"https://example.com/page")),React.createElement(x.Cell,null,React.createElement(o.SkeletonLoader,{className:"yst-ms-auto"},"10")),React.createElement(x.Cell,null,React.createElement(o.SkeletonLoader,{className:"yst-ms-auto"},"100")),React.createElement(x.Cell,null,React.createElement(o.SkeletonLoader,{className:"yst-ms-auto"},"0.12")),React.createElement(x.Cell,null,React.createElement(o.SkeletonLoader,{className:"yst-ms-auto"},"12.34")),React.createElement(x.Cell,null,React.createElement("div",{className:"yst-flex yst-justify-center"},React.createElement(o.SkeletonLoader,{className:"yst-shrink-0 yst-w-3 yst-aspect-square yst-rounded-full"}))),React.createElement(x.Cell,null,React.createElement(o.SkeletonLoader,{className:"yst-ms-auto"},"Edit"))),j=({data:e,children:a,isIndexablesEnabled:r=!0,isSeoAnalysisEnabled:n=!0})=>React.createElement(x,null,React.createElement(x.Head,null,React.createElement(x.Header,null,(0,s.__)("Landing page","wordpress-seo")),React.createElement(x.Header,{className:"yst-text-end"},(0,s.__)("Clicks","wordpress-seo")),React.createElement(x.Header,{className:"yst-text-end"},(0,s.__)("Impressions","wordpress-seo")),React.createElement(x.Header,{className:"yst-text-end"},(0,s.__)("CTR","wordpress-seo")),React.createElement(x.Header,{className:"yst-text-end"},(0,s.__)("Average position","wordpress-seo")),React.createElement(x.Header,{className:"yst-text-center"},React.createElement(F,{isIndexablesEnabled:r,isSeoAnalysisEnabled:n})),React.createElement(x.Header,{className:"yst-text-end"},(0,s.__)("Actions","wordpress-seo"))),React.createElement(x.Body,null,a||e.map((({subject:e,clicks:a,impressions:l,ctr:i,position:c,seoScore:d,links:m},u)=>React.createElement(x.Row,{key:`most-popular-content-${u}`,index:u},React.createElement(x.Cell,{className:"yst-text-slate-900 yst-font-medium"},e),React.createElement(x.Cell,{className:"yst-text-end"},a),React.createElement(x.Cell,{className:"yst-text-end"},l),React.createElement(x.Cell,{className:"yst-text-end"},i),React.createElement(x.Cell,{className:"yst-text-end"},c),React.createElement(x.Cell,null,React.createElement("div",{className:"yst-flex yst-justify-center"},React.createElement(N,{id:`yst-top-pages-widget__seo-score-${u}`,score:d,isIndexablesEnabled:r,isSeoAnalysisEnabled:n,isEditable:null==m?void 0:m.edit}))),React.createElement(x.Cell,{className:"yst-text-end"},React.createElement(o.Button,{variant:"tertiary",size:"small",as:"a",href:null==m?void 0:m.edit,className:"yst-px-0 yst-me-1",disabled:!(null!=m&&m.edit),"aria-disabled":!(null!=m&&m.edit),role:"link"},React.createElement(t,{className:"yst-w-4 yst-h-4 yst-me-1.5"}),(0,s.__)("Edit","wordpress-seo")))))))),W=({dataProvider:t,remoteDataProvider:a,dataFormatter:r,limit:s})=>{const{data:o,isPending:n,error:l}=(({dataProvider:t,remoteDataProvider:a,dataFormatter:r,limit:s=5})=>{const o=(0,e.useCallback)((e=>a.fetchJson(t.getEndpoint("timeBasedSeoMetrics"),{limit:s.toString(10),options:{widget:"page"}},e)),[t,s]),n=(0,e.useMemo)((()=>(e=>(t=[])=>t.map((t=>({subject:e.format(t.subject,"subject",{widget:"topPages"}),clicks:e.format(t.clicks,"clicks",{widget:"topPages"}),impressions:e.format(t.impressions,"impressions",{widget:"topPages"}),ctr:e.format(t.ctr,"ctr",{widget:"topPages"}),position:e.format(t.position,"position",{widget:"topPages"}),seoScore:e.format(t.seoScore,"seoScore",{widget:"topPages"}),links:e.format(t.links,"links",{widget:"topPages"})}))))(r)),[r]);return L(o,n)})({dataProvider:t,remoteDataProvider:a,dataFormatter:r,limit:s});return n?React.createElement(j,null,Array.from({length:s},((e,t)=>React.createElement(D,{key:`top-pages-table--row__${t}`,index:t})))):l?React.createElement(d,{error:l,supportLink:t.getLink("errorSupport"),className:"yst-mt-4"}):0===o.length?React.createElement(m,null):React.createElement(j,{data:o,isIndexablesEnabled:t.hasFeature("indexables"),isSeoAnalysisEnabled:t.hasFeature("seoAnalysis")})},M=({dataProvider:e,remoteDataProvider:t,dataFormatter:a,limit:r=5})=>React.createElement(v,{className:"yst-paper__content yst-col-span-4",title:(0,s.__)("Top 5 most popular content","wordpress-seo"),tooltip:(0,s.__)("The top 5 URLs on your website with the highest number of clicks over the last 28 days.","wordpress-seo"),dataSources:[{source:"Site Kit by Google",feature:(0,s.__)("Clicks, Impressions, CTR, Position","wordpress-seo")},{source:"Yoast SEO",feature:(0,s.sprintf)(/* translators: 1: Yoast SEO. */ (0,s.__)("%1$s score","wordpress-seo"),"Yoast SEO")}],errorSupportLink:e.getLink("errorSupport")},React.createElement(W,{dataProvider:e,remoteDataProvider:t,dataFormatter:a,limit:r})),O=({index:e})=>React.createElement(x.Row,{index:e},React.createElement(x.Cell,null,React.createElement(o.SkeletonLoader,null,"focus keyphrase")),React.createElement(x.Cell,null,React.createElement(o.SkeletonLoader,{className:"yst-ms-auto"},"10")),React.createElement(x.Cell,null,React.createElement(o.SkeletonLoader,{className:"yst-ms-auto"},"100")),React.createElement(x.Cell,null,React.createElement(o.SkeletonLoader,{className:"yst-ms-auto"},"0.12")),React.createElement(x.Cell,null,React.createElement(o.SkeletonLoader,{className:"yst-ms-auto"},"12.34"))),A=({data:e,children:t})=>React.createElement(x,null,React.createElement(x.Head,null,React.createElement(x.Header,null,(0,s.__)("Query","wordpress-seo")),React.createElement(x.Header,{className:"yst-text-end"},(0,s.__)("Clicks","wordpress-seo")),React.createElement(x.Header,{className:"yst-text-end"},(0,s.__)("Impressions","wordpress-seo")),React.createElement(x.Header,{className:"yst-text-end"},(0,s.__)("CTR","wordpress-seo")),React.createElement(x.Header,null,React.createElement("div",{className:"yst-flex yst-justify-end"},React.createElement("div",{className:"yst-w-min yst-text-end"},(0,s.__)("Average position","wordpress-seo"))))),React.createElement(x.Body,null,t||e.map((({subject:e,clicks:t,impressions:a,ctr:r,position:s},o)=>React.createElement(x.Row,{key:`most-popular-content-${o}`,index:o},React.createElement(x.Cell,{className:"yst-text-slate-900 yst-font-medium"},e),React.createElement(x.Cell,{className:"yst-text-end"},t),React.createElement(x.Cell,{className:"yst-text-end"},a),React.createElement(x.Cell,{className:"yst-text-end"},r),React.createElement(x.Cell,{className:"yst-text-end"},s)))))),I=({dataProvider:t,remoteDataProvider:a,dataFormatter:r,limit:s=5})=>{const{data:o,error:n,isPending:l}=(({dataProvider:t,remoteDataProvider:a,dataFormatter:r,limit:s})=>{const o=(0,e.useCallback)((e=>a.fetchJson(t.getEndpoint("timeBasedSeoMetrics"),{limit:s.toString(10),options:{widget:"query"}},e)),[t,s]),n=(0,e.useMemo)((()=>(e=>(t=[])=>t.map((t=>({subject:e.format(t.subject,"subject",{widget:"topQueries"}),clicks:e.format(t.clicks,"clicks",{widget:"topQueries"}),impressions:e.format(t.impressions,"impressions",{widget:"topQueries"}),ctr:e.format(t.ctr,"ctr",{widget:"topQueries"}),position:e.format(t.position,"position",{widget:"topQueries"})}))))(r)),[r]);return L(o,n)})({dataProvider:t,remoteDataProvider:a,dataFormatter:r,limit:s});return l?React.createElement(A,null,Array.from({length:s},((e,t)=>React.createElement(O,{key:`top-queries-table--row__${t}`,index:t})))):n?React.createElement(d,{error:n,supportLink:t.getLink("errorSupport"),className:"yst-mt-4"}):0===o.length?React.createElement(m,null):React.createElement(A,{data:o})},z=({dataProvider:e,remoteDataProvider:t,dataFormatter:a,limit:r=5})=>React.createElement(v,{className:"yst-paper__content yst-col-span-4",title:(0,s.__)("Top 5 search queries","wordpress-seo"),tooltip:(0,s.__)("The top 5 search queries on your website with the highest number of clicks over the last 28 days.","wordpress-seo"),dataSources:[{source:"Site Kit by Google"}],errorSupportLink:e.getLink("errorSupport")},React.createElement(I,{dataProvider:e,remoteDataProvider:t,dataFormatter:a,limit:r})),G=({value:e,formattedValue:t,moreIsGood:a})=>{if(!e)return null;const r=e>=0,s=a?"yst-text-green-600":"yst-text-red-600",o=a?"yst-text-red-600":"yst-text-green-600";return React.createElement("div",{className:i()("yst-flex yst-items-center yst-font-semibold",r?s:o)},[r?"+":"",t].join(""))},H=({className:e,children:t})=>React.createElement("div",{className:i()("yst-flex yst-gap-4 yst-justify-center yst-bg-white","yst-col-span-4 @lg:yst-col-span-2 @3xl:yst-col-span-1","yst-ps-0 yst-pe-0 yst-pt-4 yst-pb-4 first:yst-pt-0 last:yst-pb-0","@lg:yst-ps-0 @lg:yst-pe-0 @lg:yst-pt-0 @lg:yst-pb-0","@3xl:yst-ps-4 @3xl:yst-pe-4 @3xl:yst-pt-0 @3xl:yst-pb-0 @3xl:first:yst-ps-0 @3xl:last:yst-pe-0",e)},t),$=({children:e})=>React.createElement("div",{className:"yst-flex yst-flex-col yst-items-center yst-min-w-28 @3xl:yst-min-w-0"},e),B=({className:e,tooltipLocalizedContent:t,dataSources:a})=>React.createElement(H,{className:e},React.createElement("div",{className:"yst-w-5"}),React.createElement($,null,React.createElement(o.SkeletonLoader,{className:"yst-text-center yst-text-2xl yst-font-bold yst-text-slate-900"},"12345"),React.createElement(o.SkeletonLoader,{className:"yst-text-center yst-text-sm yst-mt-2"},"Dummy"),React.createElement(o.SkeletonLoader,{className:"yst-text-center yst-text-sm yst-mt-2 yst-font-semibold"},"- 13%")),React.createElement("div",{className:"yst-mt-2"},React.createElement(f,{content:t},React.createElement(h,{dataSources:a})))),Q=({className:e,metricName:t,data:a,dataSources:r,tooltipLocalizedContent:s,moreIsGood:o})=>React.createElement(H,{className:e},React.createElement("div",{className:"yst-w-5"}),React.createElement($,null,React.createElement("div",{className:"yst-text-center yst-text-2xl yst-font-bold yst-text-slate-900"},a.formattedValue),React.createElement("div",{className:"yst-text-center"},t),React.createElement("div",{className:"yst-text-center yst-mt-2"},React.createElement(G,{value:a.delta,formattedValue:a.formattedDelta,moreIsGood:o}))),React.createElement("div",{className:"yst-mt-2"},React.createElement(f,{content:s},React.createElement(h,{dataSources:r})))),V=e=>!e&&0!==e,q=(e,t)=>V(e)||V(t)?NaN:e===t?0:0===t?1:(e-t)/t,J={impressions:{name:(0,s._x)("Impressions","The number of times your website appeared in the Google search results","wordpress-seo"),tooltip:(0,s.__)("The number of times your website appeared in the Google search results over the last 28 days.","wordpress-seo"),dataSources:[{source:(0,s.__)("Site Kit by Google","wordpress-seo")}]},clicks:{name:(0,s._x)("Clicks","The number of times users clicked on your website's link in the Google search results","wordpress-seo"),tooltip:(0,s.__)("The number of times users clicked on your website's link in the Google search results over the last 28 days.","wordpress-seo"),dataSources:[{source:(0,s.__)("Site Kit by Google","wordpress-seo")}]},ctr:{name:(0,s._x)("Average CTR","Click-through-rate for your website in the Google search results","wordpress-seo"),tooltip:(0,s.__)("The average click-through-rate for your website in the Google search results over the last 28 days.","wordpress-seo"),dataSources:[{source:(0,s.__)("Site Kit by Google","wordpress-seo")}]},position:{name:(0,s._x)("Average position","Average position of your website in the Google search results","wordpress-seo"),tooltip:(0,s.__)("The average position of your website in the Google search results over the last 28 days.","wordpress-seo"),dataSources:[{source:(0,s.__)("Site Kit by Google","wordpress-seo")}]}},U=({children:e})=>React.createElement("div",{className:"yst-grid yst-grid-cols-4 yst-gap-px yst-bg-slate-200"},e),K=()=>React.createElement(U,null,React.createElement(B,{className:"@lg:yst-pe-4 @lg:yst-pb-4",tooltipLocalizedContent:J.impressions.tooltip,dataSources:J.impressions.dataSources}),React.createElement(B,{className:"@lg:yst-ps-4 @lg:yst-pb-4",tooltipLocalizedContent:J.clicks.tooltip,dataSources:J.clicks.dataSources}),React.createElement(B,{className:"@lg:yst-pe-4 @lg:yst-pt-4",tooltipLocalizedContent:J.ctr.tooltip,dataSources:J.ctr.dataSources}),React.createElement(B,{className:"@lg:yst-ps-4 @lg:yst-pt-4",tooltipLocalizedContent:J.position.tooltip,dataSources:J.position.dataSources})),Y=({dataProvider:t,remoteDataProvider:a,dataFormatter:r,setShowTitle:s})=>{const{data:o,error:n,isPending:l}=(({dataProvider:t,remoteDataProvider:a,dataFormatter:r})=>{const s=(0,e.useCallback)((e=>a.fetchJson(t.getEndpoint("timeBasedSeoMetrics"),{options:{widget:"searchRankingCompare"}},e)),[t]),o=(0,e.useMemo)((()=>e=>(e=>t=>null===t?null:{impressions:e.format(t.impressions,"impressions"),clicks:e.format(t.clicks,"clicks"),ctr:e.format(t.ctr,"ctr"),position:e.format(t.position,"position")})(r)((e=>{if(0===e.length)return null;const t={impressions:{value:e[0].current.total_impressions,delta:q(e[0].current.total_impressions,e[0].previous.total_impressions)},clicks:{value:e[0].current.total_clicks,delta:q(e[0].current.total_clicks,e[0].previous.total_clicks)},ctr:null,position:null};return e[0].current.average_ctr&&(t.ctr={value:e[0].current.average_ctr,delta:q(e[0].current.average_ctr,e[0].previous.average_ctr)}),e[0].current.average_position&&(t.position={value:e[0].current.average_position,delta:e[0].current.average_position-e[0].previous.average_position}),t})(e))),[r]);return L(s,o)})({dataProvider:t,remoteDataProvider:a,dataFormatter:r});return(0,e.useEffect)((()=>{s(!l&&(n||null===o))}),[o,n,l,s]),l?React.createElement(K,null):n?React.createElement(d,{error:n,supportLink:t.getLink("errorSupport"),className:"yst-mt-4"}):null===o?React.createElement(m,null):React.createElement(U,null,React.createElement(Q,{className:"@lg:yst-pe-4 @lg:yst-pb-4",metricName:J.impressions.name,data:o.impressions,tooltipLocalizedContent:J.impressions.tooltip,dataSources:J.impressions.dataSources,moreIsGood:!0}),React.createElement(Q,{className:"@lg:yst-ps-4 @lg:yst-pb-4",metricName:J.clicks.name,data:o.clicks,tooltipLocalizedContent:J.clicks.tooltip,dataSources:J.clicks.dataSources,moreIsGood:!0}),React.createElement(Q,{className:"@lg:yst-pe-4 @lg:yst-pt-4",metricName:J.ctr.name,data:o.ctr,tooltipLocalizedContent:J.ctr.tooltip,dataSources:J.ctr.dataSources,moreIsGood:!0}),React.createElement(Q,{className:"@lg:yst-ps-4 @lg:yst-pt-4",metricName:J.position.name,data:o.position,tooltipLocalizedContent:J.position.tooltip,dataSources:J.position.dataSources,moreIsGood:!1}))},X=({dataProvider:t,remoteDataProvider:a,dataFormatter:r})=>{const[n,l]=(0,e.useState)(!1),[i,,,c]=(0,o.useToggleState)(!1);return React.createElement(v,{className:"yst-paper__content yst-col-span-4",title:(n||i)&&(0,s.__)("Impressions, Clicks, Site CTR, Average position","wordpress-seo")},React.createElement(E,{supportLink:t.getLink("errorSupport"),onError:c},React.createElement(Y,{dataProvider:t,remoteDataProvider:a,dataFormatter:r,setShowTitle:l})))},Z=({children:e})=>React.createElement("div",{className:"yst-flex yst-flex-col yst-gap-1"},React.createElement("div",{className:"yst-flex yst-gap-3"},e),React.createElement("span",null,(0,s.__)("Last 28 days","wordpress-seo"))),ee=({data:e,isPending:t,error:a,supportLink:r})=>t?React.createElement(Z,null,React.createElement(o.SkeletonLoader,{className:"yst-title yst-title--1"},"10_000"),React.createElement(o.SkeletonLoader,null,"^ +100%")):a?React.createElement(d,{error:a,supportLink:r}):React.createElement(Z,null,React.createElement(o.Title,{as:"h2",size:"1",className:"yst-font-bold"},e.sessions),React.createElement(G,{value:e.difference,formattedValue:e.formattedDifference,moreIsGood:!0})),te=window.yoast["chart.js"],ae="label";function re(e,t){"function"==typeof e?e(t):e&&(e.current=t)}function se(e,t){e.labels=t}function oe(e,t){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:ae;const r=[];e.datasets=t.map((t=>{const s=e.datasets.find((e=>e[a]===t[a]));return s&&t.data&&!r.includes(s)?(r.push(s),Object.assign(s,t),s):{...t}}))}function ne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ae;const a={labels:[],datasets:[]};return se(a,e.labels),oe(a,e.datasets,t),a}function le(t,a){const{height:r=150,width:s=300,redraw:o=!1,datasetIdKey:n,type:l,data:i,options:c,plugins:d=[],fallbackContent:m,updateMode:u,...p}=t,y=(0,e.useRef)(null),g=(0,e.useRef)(),f=()=>{y.current&&(g.current=new te.Chart(y.current,{type:l,data:ne(i,n),options:c&&{...c},plugins:d}),re(a,g.current))},h=()=>{re(a,null),g.current&&(g.current.destroy(),g.current=null)};return(0,e.useEffect)((()=>{!o&&g.current&&c&&function(e,t){const a=e.options;a&&t&&Object.assign(a,t)}(g.current,c)}),[o,c]),(0,e.useEffect)((()=>{!o&&g.current&&se(g.current.config.data,i.labels)}),[o,i.labels]),(0,e.useEffect)((()=>{!o&&g.current&&i.datasets&&oe(g.current.config.data,i.datasets,n)}),[o,i.datasets]),(0,e.useEffect)((()=>{g.current&&(o?(h(),setTimeout(f)):g.current.update(u))}),[o,c,i.labels,i.datasets,u]),(0,e.useEffect)((()=>{g.current&&(h(),setTimeout(f))}),[l]),(0,e.useEffect)((()=>(f(),()=>h())),[]),e.createElement("canvas",Object.assign({ref:y,role:"img",height:r,width:s},p),m)}const ie=(0,e.forwardRef)(le);function ce(t,a){return te.Chart.register(a),(0,e.forwardRef)(((a,r)=>e.createElement(ie,Object.assign({},a,{ref:r,type:t}))))}const de=ce("line",te.LineController),me=ce("doughnut",te.DoughnutController);var ue,pe;te.Chart.register(te.Filler,te.CategoryScale,te.LinearScale,te.LineElement,te.PointElement,te.Tooltip);const ye="rgba(166, 30, 105, 1)",ge="transparent",fe=null===(ue=document.createElement("canvas"))||void 0===ue||null===(pe=ue.getContext("2d"))||void 0===pe?void 0:pe.createLinearGradient(0,0,0,225);null==fe||fe.addColorStop(0,"rgba(166, 30, 105, 0.2)"),null==fe||fe.addColorStop(1,"rgba(166, 30, 105, 0)");const he={parsing:{xAxisKey:"date",yAxisKey:"sessions"},elements:{point:{radius:5,borderWidth:2,borderColor:"white",backgroundColor:ye},line:{tension:.3,borderWidth:3,borderColor:ye,backgroundColor:fe||ge}},layout:{padding:{left:-20}},scales:{x:{grid:{color:"oklch(0.869 0.022 252.894)",drawTicks:!1},ticks:{font:{size:12,weight:400},padding:12,maxRotation:0,maxTicksLimit:14}},y:{grid:{color:e=>e.tick.value%1?ge:"oklch(0.929 0.013 255.508)",drawTicks:!1},ticks:{color:"oklch(0.554 0.046 257.417)",font:{size:14,weight:400},padding:20,callback:function(e){return e%1?"":this.getLabelForValue(e)}}}},responsive:!0,maintainAspectRatio:!1,plugins:{legend:!1,tooltip:{displayColors:!1,callbacks:{title:()=>"",label:e=>`${e.label}: ${null==e?void 0:e.formattedValue}`}}}},Ee=({data:e})=>React.createElement(React.Fragment,null,React.createElement("div",{className:"yst-w-full yst-h-60"},React.createElement(de,{"aria-hidden":!0,options:he,data:e})),React.createElement("table",{className:"yst-sr-only yst-table-fixed"},React.createElement("caption",null,(0,s.__)("Organic sessions chart","wordpress-seo")),React.createElement("thead",null,React.createElement("tr",null,e.labels.map((e=>React.createElement("th",{key:e},e))))),React.createElement("tbody",null,React.createElement("tr",null,e.datasets[0].data.map((({date:e,sessions:t})=>React.createElement("td",{key:e},String(t)))))))),ve=({data:e,isPending:t,error:a,supportLink:r})=>t?React.createElement(o.SkeletonLoader,{className:"yst-w-full yst-h-52 yst-mt-8"}):a?React.createElement(d,{className:"yst-mt-4",error:a,supportLink:r}):React.createElement(Ee,{data:e}),Re=({dataProvider:t,remoteDataProvider:a,dataFormatter:r})=>{var s;const o=t.getLink("errorSupport"),n=((t,a,r)=>{const s=(0,e.useCallback)((e=>a.fetchJson(t.getEndpoint("timeBasedSeoMetrics"),{options:{widget:"organicSessionsDaily"}},e)),[t]),o=(0,e.useMemo)((()=>(e=[])=>{return t=(e=>(t=[])=>t.map((t=>({date:e.format(t.date,"date",{widget:"organicSessions"}),sessions:Number(t.sessions)}))))(r)(e),{labels:t.map((({date:e})=>e)),datasets:[{fill:"origin",data:t}]};var t}),[r]);return L(s,o)})(t,a,r),l=((t,a,r)=>{const s=(0,e.useCallback)((e=>a.fetchJson(t.getEndpoint("timeBasedSeoMetrics"),{options:{widget:"organicSessionsCompare"}},e)),[t]),o=(0,e.useMemo)((()=>(e=>([t])=>{var a,r;const s=(null==t||null===(a=t.current)||void 0===a?void 0:a.sessions)||NaN,o=q(s,(null==t||null===(r=t.previous)||void 0===r?void 0:r.sessions)||NaN);return{sessions:e.format(s,"sessions",{widget:"organicSessions"}),difference:o,formattedDifference:e.format(o,"difference",{widget:"organicSessions"})}})(r)),[r]);return L(s,o)})(t,a,r);return l.error&&n.error&&(0,P.isEqual)(l.error,n.error)?React.createElement(d,{className:"yst-mt-4",error:l.error,supportLink:o}):0===(null===(s=n.data)||void 0===s?void 0:s.labels.length)?React.createElement(m,null):React.createElement(React.Fragment,null,React.createElement("div",{className:"yst-flex yst-justify-between yst-mt-4"},React.createElement(ee,{data:l.data,error:l.error,isPending:l.isPending,supportLink:o})),React.createElement(ve,{data:n.data,error:n.error,isPending:n.isPending,supportLink:o}))},be=({dataProvider:e,remoteDataProvider:t,dataFormatter:a})=>React.createElement(v,{className:"yst-paper__content yst-col-span-4",title:(0,s.__)("Organic sessions","wordpress-seo"),tooltip:(0,s.__)("The number of organic sessions that began on your website.","wordpress-seo"),dataSources:[{source:"Site Kit by Google"}],errorSupportLink:e.getLink("errorSupport")},React.createElement(Re,{dataProvider:e,remoteDataProvider:t,dataFormatter:a})),we=new RegExp("�?39;","g");function ke(e){return(0,P.replace)((0,P.unescape)(e),we,"'")}const Se=({idSuffix:t,contentTypes:a,selected:r,onChange:n})=>{const[l,i]=(0,e.useState)((()=>a)),c=(0,e.useCallback)((e=>{n(a.find((({name:t})=>t===e)))}),[a]),d=(0,e.useCallback)((e=>{const t=e.target.value.trim().toLowerCase();i(t?a.filter((({name:e,label:a})=>a.toLowerCase().includes(t)||e.toLowerCase().includes(t))):a)}),[a]);return React.createElement(o.AutocompleteField,{id:`content-type--${t}`,label:(0,s.__)("Content type","wordpress-seo"),value:null==r?void 0:r.name,selectedLabel:ke(null==r?void 0:r.label)||"",onChange:c,onQueryChange:d},l.map((({name:e,label:t})=>{const a=ke(t);return React.createElement(o.AutocompleteField.Option,{key:e,value:e},a)})))},_e=({scores:e,descriptions:t})=>{const a=(0,P.maxBy)(e,"amount");return React.createElement("p",{className:"yst-max-w-2xl"},t[null==a?void 0:a.name]||"")};te.Chart.register(te.ArcElement,te.Tooltip);const Ne=e=>({labels:e.map((({name:e})=>R[e].label)),datasets:[{cutout:"82%",data:e.map((({amount:e})=>e)),backgroundColor:e.map((({name:e})=>R[e].hex)),borderWidth:0,offset:0,hoverOffset:5,spacing:1,weight:1,animation:{animateRotate:!0}}]}),xe={plugins:{legend:!1,tooltip:{displayColors:!1,callbacks:{title:()=>"",label:e=>`${e.label}: ${null==e?void 0:e.formattedValue}`}}},layout:{padding:5}},Ce=({className:e})=>React.createElement("div",{className:i()(e,"yst-relative")},React.createElement(o.SkeletonLoader,{className:"yst-w-full yst-aspect-square yst-rounded-full"}),React.createElement("div",{className:"yst-absolute yst-inset-5 yst-aspect-square yst-bg-white yst-rounded-full"})),Pe=({className:e,scores:t})=>React.createElement("div",{className:e},React.createElement(me,{options:xe,data:Ne(t)})),Te="yst-flex yst-items-center yst-py-3 first:yst-pt-0 last:yst-pb-0 yst-border-b last:yst-border-b-0",Le="yst-shrink-0 yst-w-3 yst-aspect-square yst-rounded-full",Fe="yst-ms-3 yst-me-2",De=({className:e})=>React.createElement("ul",{className:e},Object.entries(R).map((([e,{label:t}])=>React.createElement("li",{key:`skeleton-loader--${e}`,className:Te},React.createElement(o.SkeletonLoader,{className:Le}),React.createElement(o.SkeletonLoader,{className:Fe},t),React.createElement(o.SkeletonLoader,{className:"yst-w-7 yst-me-3"},"1"),React.createElement(o.SkeletonLoader,{className:"yst-ms-auto yst-button yst-button--small"},(0,s.__)("View","wordpress-seo")))))),je=({score:e})=>React.createElement(React.Fragment,null,React.createElement("span",{className:i()(Le,R[e.name].color)}),React.createElement(o.Label,{as:"span",className:i()(Fe,"yst-leading-4 yst-py-1.5")},R[e.name].label),React.createElement(o.Badge,{variant:"plain",className:i()(e.links.view&&"yst-me-3")},e.amount)),We=({score:e,idSuffix:t,tooltip:a})=>{const r=`tooltip--${t}__${e.name}`;return React.createElement(o.TooltipContainer,null,React.createElement(o.TooltipTrigger,{className:"yst-flex yst-items-center",ariaDescribedby:r},React.createElement(je,{score:e})),React.createElement(o.TooltipWithContext,{id:r,className:"max-[784px]:yst-max-w-full"},a))},Me=({score:e,idSuffix:t,tooltips:a})=>{const r=a[e.name]?We:je;return React.createElement("li",{className:Te},React.createElement(r,{score:e,idSuffix:t,tooltip:a[e.name]}),e.links.view&&React.createElement(o.Button,{as:"a",variant:"secondary",size:"small",href:e.links.view,className:"yst-ms-auto"},(0,s.__)("View","wordpress-seo")))},Oe=({className:e,scores:t,idSuffix:a,tooltips:r})=>React.createElement("ul",{className:e},t.map((e=>React.createElement(Me,{key:e.name,score:e,idSuffix:a,tooltips:r})))),Ae="yst-flex yst-flex-col @md:yst-flex-row yst-gap-12 yst-mt-6",Ie="yst-grow",ze="yst-w-[calc(11.5rem+3px)] yst-aspect-square",Ge=()=>React.createElement(React.Fragment,null,React.createElement(o.SkeletonLoader,{className:"yst-w-full"}," "),React.createElement("div",{className:Ae},React.createElement(De,{className:Ie}),React.createElement(Ce,{className:ze}))),He=({scores:e=[],isLoading:t,descriptions:a,tooltips:r,idSuffix:s})=>t?React.createElement(Ge,null):React.createElement(React.Fragment,null,React.createElement(_e,{scores:e,descriptions:a}),React.createElement("div",{className:Ae},e&&React.createElement(Oe,{className:Ie,scores:e,idSuffix:s,tooltips:r}),e&&React.createElement(Pe,{className:ze,scores:e}))),$e=async(e,t)=>{try{const a=await fetch(e,t);if(!a.ok){const e=new Error(a.statusText);throw e.status=a.status,e}return a.json()}catch(e){return Promise.reject(e)}},Be=(e,t)=>{const a=new URL(e);return a.searchParams.set("search",t),a.searchParams.set("_fields",["id","name"]),a},Qe=e=>({name:String(e.id),label:(0,P.unescape)(e.name)}),Ve=({terms:e})=>0===e.length?React.createElement("div",{className:"yst-autocomplete__option"},(0,s.__)("Nothing found","wordpress-seo")):e.map((({name:e,label:t})=>React.createElement(o.AutocompleteField.Option,{key:e,value:e},t))),qe=({idSuffix:t,taxonomy:a,selected:r,onChange:n})=>{const[l,i]=(0,e.useState)(""),{data:c=[],error:d,isPending:m}=(({dependencies:t,url:a,options:r,prepareData:s=P.identity,doFetch:o=$e,fetchDelay:n=200})=>{const[l,i]=(0,e.useState)(!0),[c,d]=(0,e.useState)(),[m,u]=(0,e.useState)(),p=(0,e.useRef)(),y=(0,e.useCallback)((0,P.debounce)(((...e)=>{o(...e).then((e=>{u(s(e)),d(void 0)})).catch((e=>{"AbortError"!==(null==e?void 0:e.name)&&d(e)})).finally((()=>{i(!1)}))}),n),[]);return(0,e.useEffect)((()=>{var e;return i(!0),null===(e=p.current)||void 0===e||e.abort(),p.current=new AbortController,y(a,{signal:p.current.signal,...r}),()=>{var e;return null===(e=p.current)||void 0===e?void 0:e.abort()}}),t),{data:m,error:c,isPending:l}})({dependencies:[a.links.search,l],url:Be(a.links.search,l),options:{headers:{"Content-Type":"application/json"}},prepareData:e=>e.map(Qe)}),u=(0,e.useCallback)((e=>{null===e&&i(""),n(c.find((({name:t})=>t===e)))}),[c]),p=(0,e.useCallback)((e=>{var t,a,r;i((null==e||null===(t=e.target)||void 0===t||null===(a=t.value)||void 0===a||null===(r=a.trim())||void 0===r?void 0:r.toLowerCase())||"")}),[]);return React.createElement(o.AutocompleteField,{id:`term--${t}`,label:a.label,value:(null==r?void 0:r.name)||"",selectedLabel:(null==r?void 0:r.label)||l,onChange:u,onQueryChange:p,placeholder:(0,s.__)("All","wordpress-seo"),nullable:!0,clearButtonScreenReaderText:(0,s.__)("Clear filter","wordpress-seo"),validation:d&&{variant:"error",message:(0,s.__)("Something went wrong.","wordpress-seo")}},m&&React.createElement("div",{className:"yst-autocomplete__option"},React.createElement(o.Spinner,null)),!m&&React.createElement(Ve,{terms:c}))},Je=e=>null==e?void 0:e.scores,Ue=({analysisType:t,contentTypes:a,dataProvider:r,remoteDataProvider:s})=>{var o,n;const[l,i]=(0,e.useState)(a[0]),[c,m]=(0,e.useState)(),u=(0,e.useCallback)((e=>s.fetchJson(r.getEndpoint(t+"Scores"),((e,t)=>{var a;const r={contentType:null==e?void 0:e.name};return null!=e&&null!==(a=e.taxonomy)&&void 0!==a&&a.name&&null!=t&&t.name&&(r.taxonomy=e.taxonomy.name,r.term=t.name),r})(l,c),e)),[r,t,l,c]),{data:p,error:y,isPending:g}=L(u,Je);return(0,e.useEffect)((()=>{m(void 0)}),[null==l?void 0:l.name]),React.createElement(React.Fragment,null,React.createElement("div",{className:"yst-grid yst-grid-cols-1 @md:yst-grid-cols-2 yst-gap-6 yst-mt-4"},React.createElement(Se,{idSuffix:t,contentTypes:a,selected:l,onChange:i}),l.taxonomy&&(null===(o=l.taxonomy)||void 0===o||null===(n=o.links)||void 0===n?void 0:n.search)&&React.createElement(qe,{idSuffix:t,taxonomy:l.taxonomy,selected:c,onChange:m})),React.createElement("div",{className:"yst-mt-6"},React.createElement(d,{error:y,supportLink:r.getLink("errorSupport")}),!y&&React.createElement(He,{scores:p,isLoading:g,descriptions:b[t],tooltips:w[t],idSuffix:t})))},Ke=({analysisType:t,dataProvider:a,remoteDataProvider:r})=>{const[o,n]=(0,e.useState)((()=>a.getContentTypes()));return(0,e.useEffect)((()=>{n(a.getContentTypes())}),[a]),null!=o&&o.length?React.createElement(v,{className:"yst-paper__content yst-@container @3xl:yst-col-span-2 yst-col-span-4",title:"readability"===t?(0,s.__)("Readability scores","wordpress-seo"):(0,s.__)("SEO scores","wordpress-seo"),errorSupportLink:a.getLink("errorSupport")},React.createElement(Ue,{analysisType:t,contentTypes:o,dataProvider:a,remoteDataProvider:r})):null},Ye=({widgetFactory:e})=>React.createElement(React.Fragment,null,(0,P.values)(e.types).map((t=>e.createWidget(t))));function Xe(e){return Xe="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},Xe(e)}function Ze(e,t,a){return(t=function(e){var t=function(e,t){if("object"!=Xe(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0!==a){var r=a.call(e,"string");if("object"!=Xe(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==Xe(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function et(e,t){return e.get(function(e,t,a){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:a;throw new TypeError("Private element is not present on this object")}(e,t))}function tt(e,t){return function(e,t){return t.get?t.get.call(e):t.value}(e,et(t,e))}function at(e,t,a){return function(e,t,a){if(t.set)t.set.call(e,a);else{if(!t.writable)throw new TypeError("attempted to set read only private field");t.value=a}}(e,et(t,e),a),a}function rt(e,t,a){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,a)}var st=new WeakMap,ot=new WeakMap;class nt{constructor({locale:e="en-US"}={}){if(rt(this,st,{writable:!0,value:void 0}),rt(this,ot,{writable:!0,value:{}}),new.target===nt)throw new Error("DataFormatterInterface cannot be instantiated directly.");at(this,st,e),tt(this,ot).nonFractional=new Intl.NumberFormat(e,{maximumFractionDigits:0}),tt(this,ot).compactNonFractional=new Intl.NumberFormat(e,{maximumFractionDigits:0,notation:"compact",compactDisplay:"short"}),tt(this,ot).percentage=new Intl.NumberFormat(e,{style:"percent",minimumFractionDigits:2,maximumFractionDigits:2}),tt(this,ot).twoFractions=new Intl.NumberFormat(e,{maximumFractionDigits:2,minimumFractionDigits:2})}get numberFormat(){return tt(this,ot)}get locale(){return tt(this,st)}format(e,t,a={}){throw new Error("You must implement the format() method before using it.")}}Ze(nt,"safeUrl",(e=>{try{return new URL(e)}catch{return null}})),Ze(nt,"safeNumberFormat",((e,t)=>{try{return t.format(e)}catch{return e.toString(10)}}));class lt extends nt{formatLandingPage(e){const t=nt.safeUrl(e);return null===t?e:decodeURI(t.pathname)}format(e,t,a={}){switch(t){case"subject":switch(a.widget){case"topPages":return this.formatLandingPage(e);case"topQueries":return String(e);default:return e}case"clicks":case"impressions":return nt.safeNumberFormat(e,this.numberFormat.nonFractional);case"ctr":return nt.safeNumberFormat(e,this.numberFormat.percentage);case"position":return nt.safeNumberFormat(e,this.numberFormat.twoFractions);case"seoScore":return Object.keys(R).includes(e)?e:"notAnalyzed";default:return e}}}class it extends nt{format(e,t,a={}){switch(t){case"impressions":case"clicks":return{formattedValue:nt.safeNumberFormat(e.value,this.numberFormat.nonFractional),delta:e.delta,formattedDelta:nt.safeNumberFormat(e.delta,this.numberFormat.percentage)};case"ctr":return null===e?{formattedValue:"-",delta:null,formattedDelta:"-"}:{formattedValue:nt.safeNumberFormat(e.value,this.numberFormat.percentage),delta:e.delta,formattedDelta:nt.safeNumberFormat(e.delta,this.numberFormat.percentage)};case"position":return null===e?{formattedValue:"-",delta:null,formattedDelta:"-"}:{formattedValue:nt.safeNumberFormat(e.value,this.numberFormat.twoFractions),delta:e.delta,formattedDelta:nt.safeNumberFormat(e.delta,this.numberFormat.twoFractions)};case"date":return new Date(Date.UTC(e.slice(0,4),e.slice(4,6)-1,e.slice(6,8))).toLocaleDateString(this.locale,{month:"short",day:"numeric"});case"sessions":return nt.safeNumberFormat(e||0,this.numberFormat.nonFractional);case"difference":return nt.safeNumberFormat(e,this.numberFormat.percentage);default:return e}}}var ct=new WeakMap;class dt{constructor(e){var t,a,r;r={writable:!0,value:void 0},function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(t=this,a=ct),a.set(t,r),at(this,ct,e)}getOptions(){return tt(this,ct)}getUrl(e,t){const a=new URL(e);return(0,P.forEach)(t,((e,t)=>{"object"==typeof e?(0,P.forEach)(e,((e,r)=>{a.searchParams.append(`${t}[${r}]`,e)})):a.searchParams.append(t,e)})),a}async fetchJson(e,t,a){return $e(this.getUrl(e,t),(0,P.defaultsDeep)(a,tt(this,ct),{headers:{"Content-Type":"application/json"}}))}}let mt,ut=["sessionStorage","localStorage"];const pt=e=>{const t=a.g[e];if(!t)return!1;try{const e="__storage_test__";return t.setItem(e,e),t.removeItem(e),!0}catch(e){return e instanceof DOMException&&(22===e.code||1014===e.code||"QuotaExceededError"===e.name||"NS_ERROR_DOM_QUOTA_REACHED"===e.name)&&0!==t.length}},yt=()=>{if(void 0!==mt)return mt;for(const e of ut)mt||pt(e)&&(mt=a.g[e]);return void 0===mt&&(mt=null),mt};function gt(e,t,a){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,a)}var ft=new WeakMap,ht=new WeakMap,Et=new WeakMap;class vt extends dt{constructor(e,t,a,r){if(super(e),gt(this,ft,{writable:!0,value:void 0}),gt(this,ht,{writable:!0,value:void 0}),gt(this,Et,{writable:!0,value:void 0}),at(this,ft,t),at(this,ht,a),!Number.isInteger(r)||r<=0)throw new TypeError("The TTL provided must be a positive integer.");at(this,Et,r)}async fetchJson(e,t,r){const s="yoastseo_"+tt(this,ht)+"_"+tt(this,ft)+"_"+t.options.widget,{cacheHit:o,value:n}=(e=>{const t=yt();if(t){const a=t.getItem(e);if(a){const e=JSON.parse(a),{timestamp:t,ttl:r,value:s}=e;if(t&&(!r||Math.round(Date.now()/1e3)-t<r))return{cacheHit:!0,value:s}}}return{cacheHit:!1,value:void 0}})(s);if(o)return n;const l=await super.fetchJson(e,t,r);return((e,t,{ttl:r=3600,timestamp:s=Math.round(Date.now()/1e3)}={})=>{const o=yt();if(o)try{return o.setItem(e,JSON.stringify({timestamp:s,ttl:r,value:t})),!0}catch(e){return a.g.console.warn("Encountered an unexpected storage error:",e),!1}})(s,l,{ttl:tt(this,Et)}),l}}function Rt(e,t,a){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,a)}var bt=new WeakMap,wt=new WeakMap,kt=new WeakMap,St=new WeakMap;class _t{constructor({contentTypes:e,features:t,endpoints:a,links:r}){Rt(this,bt,{writable:!0,value:void 0}),Rt(this,wt,{writable:!0,value:void 0}),Rt(this,kt,{writable:!0,value:void 0}),Rt(this,St,{writable:!0,value:void 0}),at(this,bt,e),at(this,wt,t),at(this,kt,a),at(this,St,r)}getContentTypes(){return tt(this,bt)}hasFeature(e){var t;return!0===(null===(t=tt(this,wt))||void 0===t?void 0:t[e])}getEndpoint(e){var t;return null===(t=tt(this,kt))||void 0===t?void 0:t[e]}getLink(e){var t;return null===(t=tt(this,St))||void 0===t?void 0:t[e]}}function Nt(e,t,a){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.set(e,a)}var xt=new WeakMap,Ct=new WeakMap,Pt=new WeakMap,Tt=new WeakMap;class Lt{constructor(e,t,a,r){Nt(this,xt,{writable:!0,value:void 0}),Nt(this,Ct,{writable:!0,value:void 0}),Nt(this,Pt,{writable:!0,value:void 0}),Nt(this,Tt,{writable:!0,value:void 0}),at(this,xt,e),at(this,Ct,t),at(this,Pt,a),at(this,Tt,r)}getRemoteDataProvider(e){var t;return null!==(t=tt(this,Pt)[e])&&void 0!==t?t:tt(this,Ct)}get types(){return{searchRankingCompare:"searchRankingCompare",organicSessions:"organicSessions",topPages:"topPages",topQueries:"topQueries",seoScores:"seoScores",readabilityScores:"readabilityScores"}}createWidget(e){switch(e){case this.types.seoScores:return tt(this,xt).hasFeature("indexables")&&tt(this,xt).hasFeature("seoAnalysis")?React.createElement(Ke,{key:e,analysisType:"seo",dataProvider:tt(this,xt),remoteDataProvider:this.getRemoteDataProvider(e)}):null;case this.types.readabilityScores:return tt(this,xt).hasFeature("indexables")&&tt(this,xt).hasFeature("readabilityAnalysis")?React.createElement(Ke,{key:e,analysisType:"readability",dataProvider:tt(this,xt),remoteDataProvider:this.getRemoteDataProvider(e)}):null;case this.types.topPages:return React.createElement(M,{key:e,dataProvider:tt(this,xt),remoteDataProvider:this.getRemoteDataProvider(e),dataFormatter:tt(this,Tt).plainMetricsDataFormatter});case this.types.topQueries:return React.createElement(z,{key:e,dataProvider:tt(this,xt),remoteDataProvider:this.getRemoteDataProvider(e),dataFormatter:tt(this,Tt).plainMetricsDataFormatter});case this.types.searchRankingCompare:return React.createElement(X,{key:e,dataProvider:tt(this,xt),remoteDataProvider:this.getRemoteDataProvider(e),dataFormatter:tt(this,Tt).comparisonMetricsDataFormatter});case this.types.organicSessions:return React.createElement(be,{key:e,dataProvider:tt(this,xt),remoteDataProvider:this.getRemoteDataProvider(e),dataFormatter:tt(this,Tt).comparisonMetricsDataFormatter});default:return null}}}})(),(window.yoast=window.yoast||{}).dashboardFrontend=r})();