diff --git a/build/main.css b/build/main.css index 8cb1d52..3536d91 100644 --- a/build/main.css +++ b/build/main.css @@ -1,2 +1,2 @@ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--leading-tight:1.25;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none!important}.sr-only{clip-path:inset(50%)!important;white-space:nowrap!important;border-width:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.m-0{margin:0!important}.mx-auto{margin-inline:auto!important}.ms-1\.5{margin-inline-start:calc(var(--spacing) * 1.5)!important}.ms-auto{margin-inline-start:auto!important}.mt-\[1px\]{margin-top:1px!important}.mt-auto{margin-top:auto!important}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)!important}.block{display:block!important}.contents{display:contents!important}.flex{display:flex!important}.grid{display:grid!important}.hidden{display:none!important}.inline-block{display:inline-block!important}.inline-flex{display:inline-flex!important}.h-2{height:calc(var(--spacing) * 2)!important}.h-5{height:calc(var(--spacing) * 5)!important}.h-7{height:calc(var(--spacing) * 7)!important}.h-8{height:calc(var(--spacing) * 8)!important}.h-9{height:calc(var(--spacing) * 9)!important}.h-10{height:calc(var(--spacing) * 10)!important}.h-\[22px\]{height:22px!important}.h-\[34px\]{height:34px!important}.h-\[38px\]{height:38px!important}.h-\[150px\]{height:150px!important}.h-\[180px\]{height:180px!important}.h-\[260px\]{height:260px!important}.min-h-7{min-height:calc(var(--spacing) * 7)!important}.min-h-16{min-height:calc(var(--spacing) * 16)!important}.w-2{width:calc(var(--spacing) * 2)!important}.w-8{width:calc(var(--spacing) * 8)!important}.w-9{width:calc(var(--spacing) * 9)!important}.w-\[12\%\]{width:12%!important}.w-\[15\%\]{width:15%!important}.w-\[18\%\]{width:18%!important}.w-\[22px\]{width:22px!important}.w-\[96px\]{width:96px!important}.w-full{width:100%!important}.max-w-\[72ch\]{max-width:72ch!important}.max-w-\[80ch\]{max-width:80ch!important}.max-w-\[180px\]{max-width:180px!important}.max-w-\[440px\]{max-width:440px!important}.max-w-\[1260px\]{max-width:1260px!important}.max-w-full{max-width:100%!important}.min-w-0{min-width:0!important}.min-w-\[130px\]{min-width:130px!important}.flex-1{flex:1!important}.flex-\[1_0_auto\]{flex:1 0 auto!important}.flex-\[1_1_420px\]{flex:420px!important}.shrink-0{flex-shrink:0!important}.grow{flex-grow:1!important}.table-fixed{table-layout:fixed!important}.border-collapse{border-collapse:collapse!important}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.animate-pulse{animation:var(--animate-pulse)!important}.cursor-pointer{cursor:pointer!important}.resize{resize:both!important}.list-none{list-style-type:none!important}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.grid-cols-\[150px_minmax\(0\,1fr\)\]{grid-template-columns:150px minmax(0,1fr)!important}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important}.grid-cols-\[minmax\(0\,3fr\)_minmax\(0\,2fr\)\]{grid-template-columns:minmax(0,3fr) minmax(0,2fr)!important}.flex-col{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.content-start{align-content:flex-start!important}.items-baseline{align-items:baseline!important}.items-center{align-items:center!important}.items-start{align-items:flex-start!important}.justify-between{justify-content:space-between!important}.justify-center{justify-content:center!important}.gap-0\.5{gap:calc(var(--spacing) * .5)!important}.gap-1{gap:var(--spacing)!important}.gap-1\.5{gap:calc(var(--spacing) * 1.5)!important}.gap-2{gap:calc(var(--spacing) * 2)!important}.gap-2\.5{gap:calc(var(--spacing) * 2.5)!important}.gap-3{gap:calc(var(--spacing) * 3)!important}.gap-4{gap:calc(var(--spacing) * 4)!important}.gap-5{gap:calc(var(--spacing) * 5)!important}.gap-7{gap:calc(var(--spacing) * 7)!important}.gap-8{gap:calc(var(--spacing) * 8)!important}.gap-\[5px\]{gap:5px!important}.gap-\[6px\]{gap:6px!important}.gap-\[7px\]{gap:7px!important}.gap-\[14px\]{gap:14px!important}.gap-\[22px\]{gap:22px!important}.gap-x-1\.5{column-gap:calc(var(--spacing) * 1.5)!important}.gap-x-3{column-gap:calc(var(--spacing) * 3)!important}.gap-x-5{column-gap:calc(var(--spacing) * 5)!important}.gap-x-6{column-gap:calc(var(--spacing) * 6)!important}.gap-y-1{row-gap:var(--spacing)!important}.gap-y-2{row-gap:calc(var(--spacing) * 2)!important}.gap-y-3{row-gap:calc(var(--spacing) * 3)!important}.self-stretch{align-self:stretch!important}.truncate{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important}.overflow-hidden{overflow:hidden!important}.overflow-x-auto{overflow-x:auto!important}.rounded-\[9px\]{border-radius:9px!important}.rounded-full{border-radius:2147483647px!important}.rounded-lg{border-radius:8px!important}.rounded-md{border-radius:7px!important}.rounded-sm{border-radius:5px!important}.rounded-xl{border-radius:12px!important}.rounded-b-xl{border-bottom-right-radius:12px!important;border-bottom-left-radius:12px!important}.border{border-style:var(--tw-border-style)!important;border-width:1px!important}.border-s{border-inline-start-style:var(--tw-border-style)!important;border-inline-start-width:1px!important}.border-t{border-top-style:var(--tw-border-style)!important;border-top-width:1px!important}.border-b{border-bottom-style:var(--tw-border-style)!important;border-bottom-width:1px!important}.border-b-2{border-bottom-style:var(--tw-border-style)!important;border-bottom-width:2px!important}.border-band-edge{border-color:var(--bandEdge)!important}.border-border{border-color:var(--border)!important}.border-brand{border-color:var(--accent)!important}.border-critical,.border-critical\/40{border-color:var(--critical)!important}@supports (color:color-mix(in lab, red, red)){.border-critical\/40{border-color:color-mix(in oklab, var(--critical) 40%, transparent)!important}}.border-critical\/50{border-color:var(--critical)!important}@supports (color:color-mix(in lab, red, red)){.border-critical\/50{border-color:color-mix(in oklab, var(--critical) 50%, transparent)!important}}.border-grid{border-color:var(--grid)!important}.border-input{border-color:var(--input)!important}.border-primary{border-color:var(--primary)!important}.border-transparent{border-color:#0000!important}.bg-band{background-color:var(--band)!important}.bg-brand{background-color:var(--accent)!important}.bg-critical{background-color:var(--critical)!important}.bg-good{background-color:var(--good)!important}.bg-ink{background-color:var(--ink)!important}.bg-mute{background-color:var(--muted)!important}.bg-primary{background-color:var(--primary)!important}.bg-surface{background-color:var(--surface)!important}.bg-surface2{background-color:var(--surface2)!important}.bg-surface3{background-color:var(--surface3)!important}.bg-transparent{background-color:#0000!important}.bg-warn{background-color:var(--warn)!important}.p-0{padding:0!important}.px-0{padding-inline:0!important}.px-3{padding-inline:calc(var(--spacing) * 3)!important}.px-5{padding-inline:calc(var(--spacing) * 5)!important}.px-6{padding-inline:calc(var(--spacing) * 6)!important}.px-10{padding-inline:calc(var(--spacing) * 10)!important}.px-\[7px\]{padding-inline:7px!important}.px-\[10px\]{padding-inline:10px!important}.px-\[12px\]{padding-inline:12px!important}.px-\[14px\]{padding-inline:14px!important}.px-\[18px\]{padding-inline:18px!important}.px-\[22px\]{padding-inline:22px!important}.py-2{padding-block:calc(var(--spacing) * 2)!important}.py-3{padding-block:calc(var(--spacing) * 3)!important}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)!important}.py-4{padding-block:calc(var(--spacing) * 4)!important}.py-7{padding-block:calc(var(--spacing) * 7)!important}.py-9{padding-block:calc(var(--spacing) * 9)!important}.py-\[2px\]{padding-block:2px!important}.py-\[11px\]{padding-block:11px!important}.py-\[18px\]{padding-block:18px!important}.ps-7{padding-inline-start:calc(var(--spacing) * 7)!important}.ps-\[7px\]{padding-inline-start:7px!important}.pe-2{padding-inline-end:calc(var(--spacing) * 2)!important}.pt-1{padding-top:var(--spacing)!important}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)!important}.pt-2{padding-top:calc(var(--spacing) * 2)!important}.pt-3{padding-top:calc(var(--spacing) * 3)!important}.pt-4{padding-top:calc(var(--spacing) * 4)!important}.pt-\[2px\]{padding-top:2px!important}.pt-\[18px\]{padding-top:18px!important}.pt-\[22px\]{padding-top:22px!important}.pt-\[30px\]{padding-top:30px!important}.pb-1{padding-bottom:var(--spacing)!important}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)!important}.pb-10{padding-bottom:calc(var(--spacing) * 10)!important}.pb-\[18px\]{padding-bottom:18px!important}.pb-\[22px\]{padding-bottom:22px!important}.text-center{text-align:center!important}.text-end{text-align:end!important}.text-start{text-align:start!important}.align-middle{vertical-align:middle!important}.text-2xl{font-size:26px!important;line-height:var(--tw-leading,var(--text-2xl--line-height))!important}.text-\[11px\]{font-size:11px!important}.text-\[12\.5px\]{font-size:12.5px!important}.text-\[12px\]{font-size:12px!important}.text-\[13px\]{font-size:13px!important}.text-\[15px\]{font-size:15px!important}.text-\[26px\]{font-size:26px!important}.leading-none{--tw-leading:1!important;line-height:1!important}.leading-tight{--tw-leading:var(--leading-tight)!important;line-height:var(--leading-tight)!important}.font-medium{--tw-font-weight:var(--font-weight-medium)!important;font-weight:var(--font-weight-medium)!important}.font-normal{--tw-font-weight:var(--font-weight-normal)!important;font-weight:var(--font-weight-normal)!important}.font-semibold{--tw-font-weight:var(--font-weight-semibold)!important;font-weight:var(--font-weight-semibold)!important}.tracking-\[-0\.01em\]{--tw-tracking:-.01em!important;letter-spacing:-.01em!important}.tracking-\[-0\.02em\]{--tw-tracking:-.02em!important;letter-spacing:-.02em!important}.tracking-\[\.08em\]{--tw-tracking:.08em!important;letter-spacing:.08em!important}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere!important}.text-ellipsis{text-overflow:ellipsis!important}.whitespace-nowrap{white-space:nowrap!important}.text-band-ink{color:var(--bandInk)!important}.text-band-muted{color:var(--bandMuted)!important}.text-brand-ink{color:var(--accentInk)!important}.text-critical{color:var(--critical)!important}.text-good-ink{color:var(--goodInk)!important}.text-ink{color:var(--ink)!important}.text-ink2{color:var(--ink2)!important}.text-mute{color:var(--muted)!important}.text-page{color:var(--page)!important}.text-primary-foreground{color:var(--primary-foreground)!important}.text-warn{color:var(--warn)!important}.text-white{color:var(--color-white)!important}.uppercase{text-transform:uppercase!important}.tabular-nums{--tw-numeric-spacing:tabular-nums!important;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)!important}.opacity-75{opacity:.75!important}.opacity-85{opacity:.85!important}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.transition-\[background-color\,border-color\,color\,opacity\]{transition-property:background-color,border-color,color,opacity!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-transform{transition-property:transform,translate,scale,rotate!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.duration-100{--tw-duration:.1s!important;transition-duration:.1s!important}.outline-none{--tw-outline-style:none!important;outline-style:none!important}.group-last\:border-b-0:is(:where(.group):last-child *){border-bottom-style:var(--tw-border-style)!important;border-bottom-width:0!important}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg!important}.placeholder\:text-mute::placeholder{color:var(--muted)!important}.last\:border-b-0:last-child,.last-of-type\:border-b-0:last-of-type{border-bottom-style:var(--tw-border-style)!important;border-bottom-width:0!important}.empty\:hidden:empty{display:none!important}@media (hover:hover){.hover\:border-critical:hover{border-color:var(--critical)!important}.hover\:border-line:hover{border-color:var(--line)!important}.hover\:bg-band-edge:hover{background-color:var(--bandEdge)!important}.hover\:bg-critical:hover{background-color:var(--critical)!important}.hover\:bg-surface2:hover{background-color:var(--surface2)!important}.hover\:bg-surface3:hover{background-color:var(--surface3)!important}.hover\:text-band-muted:hover{color:var(--bandMuted)!important}.hover\:text-ink:hover{color:var(--ink)!important}.hover\:text-white:hover{color:var(--color-white)!important}.hover\:underline:hover{text-decoration-line:underline!important}.hover\:underline-offset-4:hover{text-underline-offset:4px!important}.hover\:opacity-85:hover{opacity:.85!important}.hover\:opacity-100:hover{opacity:1!important}}.focus\:border-brand:focus{border-color:var(--accent)!important}.disabled\:pointer-events-none:disabled{pointer-events:none!important}.disabled\:opacity-55:disabled{opacity:.55!important}@media not all and (width>=960px){.max-\[960px\]\:col-start-1{grid-column-start:1!important}.max-\[960px\]\:col-start-2{grid-column-start:2!important}.max-\[960px\]\:row-span-2{grid-row:span 2/span 2!important}.max-\[960px\]\:row-start-1{grid-row-start:1!important}.max-\[960px\]\:mt-1{margin-top:var(--spacing)!important}.max-\[960px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.max-\[960px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.max-\[960px\]\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto!important}.max-\[960px\]\:gap-5{gap:calc(var(--spacing) * 5)!important}.max-\[960px\]\:border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.max-\[960px\]\:px-6{padding-inline:calc(var(--spacing) * 6)!important}.max-\[960px\]\:ps-0{padding-inline-start:0!important}}@media not all and (width>=782px){.max-\[782px\]\:col-auto{grid-column:auto!important}.max-\[782px\]\:row-auto{grid-row:auto!important}.max-\[782px\]\:hidden{display:none!important}.max-\[782px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.max-\[782px\]\:gap-3{gap:calc(var(--spacing) * 3)!important}.max-\[782px\]\:px-4{padding-inline:calc(var(--spacing) * 4)!important}}@media not all and (width>=600px){.max-\[600px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none!important}.\[\&_svg\]\:h-5 svg{height:calc(var(--spacing) * 5)!important}.\[\&_svg\]\:w-5 svg{width:calc(var(--spacing) * 5)!important}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0!important}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none!important}.\[\&\>svg\]\:block>svg{display:block!important}.\[\&\>svg\]\:h-7>svg{height:calc(var(--spacing) * 7)!important}.\[\&\>svg\]\:h-\[26px\]>svg{height:26px!important}.\[\&\>svg\]\:h-auto>svg{height:auto!important}.\[\&\>svg\]\:w-28>svg{width:calc(var(--spacing) * 28)!important}.\[\&\>svg\]\:w-\[128px\]>svg{width:128px!important}.\[\&\>svg\]\:w-\[138px\]>svg{width:138px!important}@media (hover:hover){.hover\:\[\&\>td\]\:bg-surface2:hover>td{background-color:var(--surface2)!important}}}#monoranks-admin,.mr-scope,body.monoranks-screen{--page:#f5f6f8;--surface:#fff;--surface2:#f1f3f6;--surface3:#e9ecf1;--ink:#14181f;--ink2:#4c5563;--muted:#8a929e;--grid:#e6e9ee;--line:#cbd2db;--border:#e3e7ec;--accent:#2a6fdb;--accentInk:#1d5bbf;--accentSoft:#e8f0fc;--good:#0ca30c;--goodInk:#0a7a0a;--warn:#e6a100;--critical:#d03b3b;--grayTrack:#e6e9ee;--primaryBtn:#14181f;--primaryBtnInk:#fff;--band:#14181f;--bandInk:#f3f4f6;--bandMuted:#b8bec8;--bandEdge:#2c313a;--tintGood:#0ca30c12;--tintGoodEdge:#0ca30c59;--tintWarn:#e6a1001a;--tintWarnEdge:#e6a10066;--tintBad:#d03b3b12;--tintBadEdge:#d03b3b59;--background:var(--page);--foreground:var(--ink);--card:var(--surface);--card-foreground:var(--ink);--popover:var(--surface);--popover-foreground:var(--ink);--primary:var(--primaryBtn);--primary-foreground:var(--primaryBtnInk);--secondary:var(--surface2);--secondary-foreground:var(--ink);--muted-token:var(--surface2);--muted-foreground:var(--muted);--accent-token:var(--surface2);--accent-foreground:var(--ink);--destructive:var(--critical);--input:var(--line);--ring:var(--accent);--radius:.5rem}#monoranks-admin[data-theme=dark]{--page:#0f1115;--surface:#171a20;--surface2:#1e2229;--surface3:#262b33;--ink:#f3f4f6;--ink2:#b8bec8;--muted:#7d8590;--grid:#262b33;--line:#3a404a;--border:#262b33;--accent:#3987e5;--accentInk:#86b6ef;--accentSoft:#1a2a44;--good:#0ca30c;--goodInk:#3ccf3c;--warn:#fab219;--critical:#e05656;--grayTrack:#2c313a;--primaryBtn:#f3f4f6;--primaryBtnInk:#14181f;--band:#0b0d11;--bandEdge:#262b33;--tintGood:#3ccf3c1f;--tintGoodEdge:#3ccf3c61;--tintWarn:#fab21924;--tintWarnEdge:#fab2196b;--tintBad:#e056561f;--tintBadEdge:#e0565661;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body.monoranks-screen #wpbody-content{padding-bottom:0}body.monoranks-screen #wpfooter{display:none}body.monoranks-screen #wpwrap{min-height:0}body.monoranks-screen #wpwrap,body.monoranks-screen #wpcontent,body.monoranks-screen #wpbody,body.monoranks-screen #wpbody-content{background:var(--page)}body.monoranks-screen #wpbody-content{min-height:max(calc(100vh - var(--wp-admin--admin-bar--height,32px)), var(--mr-fill,0px));flex-direction:column;display:flex}body.monoranks-screen #wpbody-content>.wrap{flex-direction:column;flex:1 0 auto;min-height:0;margin:0;padding:0;display:flex}body.monoranks-screen #wpbody-content>:is(.notice,.update-nag,.updated,.error,#message){display:none}#monoranks-admin :is(.notice,.update-nag,.updated,.error,#message){border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);box-shadow:none;border-radius:12px;margin:0;padding:12px 16px;font-size:13px;line-height:1.45;display:block}#monoranks-admin>:is(.notice,.updated,.error,#message){max-width:1180px;margin:0 auto 4px}#monoranks-admin div.notice-success{background-image:linear-gradient(var(--tintGood), var(--tintGood))!important;border-color:var(--tintGoodEdge)!important}#monoranks-admin div.notice-error{background-image:linear-gradient(var(--tintBad), var(--tintBad))!important;border-color:var(--tintBadEdge)!important}#monoranks-admin div.notice-warning,#monoranks-admin div.update-nag{background-image:linear-gradient(var(--tintWarn), var(--tintWarn))!important;border-color:var(--tintWarnEdge)!important}@media (width<=1340px){#monoranks-admin>:is(.notice,.updated,.error,#message){max-width:calc(100% - 80px)}}@media (width<=960px){#monoranks-admin>:is(.notice,.updated,.error,#message){max-width:calc(100% - 48px)}}@media (width<=782px){#monoranks-admin>:is(.notice,.updated,.error,#message){max-width:calc(100% - 32px)}}body.monoranks-screen #wpbody-content>.update-nag{display:block}#monoranks-admin{background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;flex-direction:column;flex:1 0 auto;margin-inline:-20px 0;font-size:13px;line-height:1.45;display:flex}@media (width<=782px){#monoranks-admin{margin-inline:-10px 0}body.monoranks-screen #wpbody-content>:is(.notice,.update-nag,.updated,.error,#message){margin-inline:10px}}#monoranks-admin a{color:var(--accentInk);text-decoration:none}#monoranks-admin a:hover{color:var(--ink);text-decoration:none}#monoranks-admin code{background:var(--surface2);color:var(--ink);text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;direction:ltr;unicode-bidi:isolate;border-radius:4px;max-width:100%;padding:1px 5px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;display:inline-block;overflow:hidden}#monoranks-admin bdi{unicode-bidi:isolate}#monoranks-admin h1,#monoranks-admin h2,#monoranks-admin h3,#monoranks-admin p{color:inherit;margin:0;padding:0}#monoranks-admin :focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:none}#monoranks-admin input[type=password],#monoranks-admin input[type=url]{box-shadow:none;min-height:0;margin:0;line-height:normal}#monoranks-admin .notice p{margin:0;padding:0;font-size:13px}.mr-score{color:var(--muted);vertical-align:middle;align-items:center;gap:6px;display:inline-flex}.mr-score .mr-ring{line-height:0;display:inline-block;position:relative}.mr-score .mr-ring>span{font-variant-numeric:tabular-nums;color:var(--ink);justify-content:center;align-items:center;font-weight:600;line-height:1;display:flex;position:absolute;inset:0}.mr-score.mr-none .mr-ring>span{color:var(--muted)}.mr-score.mr-sm .mr-ring{width:30px;height:30px}.mr-score.mr-sm .mr-ring>span{font-size:11px}.mr-score.mr-lg .mr-ring{width:64px;height:64px}.mr-score.mr-lg .mr-ring>span{font-size:20px}.mr-score .mr-lbl{color:var(--muted);font-size:11px;font-weight:500}.mr-score.mr-good{color:var(--good)}.mr-score.mr-warn{color:var(--warn)}.mr-score.mr-critical{color:var(--critical)}.mr-score.mr-none{color:var(--line)}#monoranks-admin .spin{border:1.5px solid;border-right-color:#0000;border-radius:50%;flex:none;width:12px;height:12px;animation:.7s linear infinite mr-spin;display:inline-block}#monoranks-admin [data-size=sm] .spin,#monoranks-admin .h-7 .spin{width:10px;height:10px}@keyframes mr-spin{to{transform:rotate(360deg)}}[dir=rtl] #monoranks-admin .mr-flip{transform:scaleX(-1)}@media (prefers-reduced-motion:reduce){#monoranks-admin *{transition:none!important}#monoranks-admin .spin{animation-duration:1.6s}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}} +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--leading-tight:1.25;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none!important}.visible{visibility:visible!important}.sr-only{clip-path:inset(50%)!important;white-space:nowrap!important;border-width:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.m-0{margin:0!important}.mx-auto{margin-inline:auto!important}.ms-1\.5{margin-inline-start:calc(var(--spacing) * 1.5)!important}.ms-auto{margin-inline-start:auto!important}.mt-\[1px\]{margin-top:1px!important}.mt-auto{margin-top:auto!important}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)!important}.block{display:block!important}.contents{display:contents!important}.flex{display:flex!important}.grid{display:grid!important}.hidden{display:none!important}.inline-block{display:inline-block!important}.inline-flex{display:inline-flex!important}.h-2{height:calc(var(--spacing) * 2)!important}.h-5{height:calc(var(--spacing) * 5)!important}.h-7{height:calc(var(--spacing) * 7)!important}.h-8{height:calc(var(--spacing) * 8)!important}.h-9{height:calc(var(--spacing) * 9)!important}.h-10{height:calc(var(--spacing) * 10)!important}.h-\[22px\]{height:22px!important}.h-\[34px\]{height:34px!important}.h-\[38px\]{height:38px!important}.h-\[150px\]{height:150px!important}.h-\[180px\]{height:180px!important}.h-\[260px\]{height:260px!important}.min-h-7{min-height:calc(var(--spacing) * 7)!important}.min-h-16{min-height:calc(var(--spacing) * 16)!important}.w-2{width:calc(var(--spacing) * 2)!important}.w-8{width:calc(var(--spacing) * 8)!important}.w-9{width:calc(var(--spacing) * 9)!important}.w-\[12\%\]{width:12%!important}.w-\[15\%\]{width:15%!important}.w-\[18\%\]{width:18%!important}.w-\[22px\]{width:22px!important}.w-\[96px\]{width:96px!important}.w-full{width:100%!important}.max-w-\[72ch\]{max-width:72ch!important}.max-w-\[80ch\]{max-width:80ch!important}.max-w-\[180px\]{max-width:180px!important}.max-w-\[440px\]{max-width:440px!important}.max-w-\[1260px\]{max-width:1260px!important}.max-w-full{max-width:100%!important}.min-w-0{min-width:0!important}.min-w-\[130px\]{min-width:130px!important}.flex-1{flex:1!important}.flex-\[1_0_auto\]{flex:1 0 auto!important}.flex-\[1_1_420px\]{flex:420px!important}.shrink-0{flex-shrink:0!important}.grow{flex-grow:1!important}.table-fixed{table-layout:fixed!important}.border-collapse{border-collapse:collapse!important}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.animate-pulse{animation:var(--animate-pulse)!important}.cursor-pointer{cursor:pointer!important}.resize{resize:both!important}.list-none{list-style-type:none!important}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}.grid-cols-\[150px_minmax\(0\,1fr\)\]{grid-template-columns:150px minmax(0,1fr)!important}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important}.grid-cols-\[minmax\(0\,3fr\)_minmax\(0\,2fr\)\]{grid-template-columns:minmax(0,3fr) minmax(0,2fr)!important}.flex-col{flex-direction:column!important}.flex-wrap{flex-wrap:wrap!important}.content-start{align-content:flex-start!important}.items-baseline{align-items:baseline!important}.items-center{align-items:center!important}.items-start{align-items:flex-start!important}.justify-between{justify-content:space-between!important}.justify-center{justify-content:center!important}.gap-0\.5{gap:calc(var(--spacing) * .5)!important}.gap-1{gap:var(--spacing)!important}.gap-1\.5{gap:calc(var(--spacing) * 1.5)!important}.gap-2{gap:calc(var(--spacing) * 2)!important}.gap-2\.5{gap:calc(var(--spacing) * 2.5)!important}.gap-3{gap:calc(var(--spacing) * 3)!important}.gap-4{gap:calc(var(--spacing) * 4)!important}.gap-5{gap:calc(var(--spacing) * 5)!important}.gap-7{gap:calc(var(--spacing) * 7)!important}.gap-8{gap:calc(var(--spacing) * 8)!important}.gap-\[5px\]{gap:5px!important}.gap-\[6px\]{gap:6px!important}.gap-\[7px\]{gap:7px!important}.gap-\[14px\]{gap:14px!important}.gap-\[22px\]{gap:22px!important}.gap-x-1\.5{column-gap:calc(var(--spacing) * 1.5)!important}.gap-x-3{column-gap:calc(var(--spacing) * 3)!important}.gap-x-5{column-gap:calc(var(--spacing) * 5)!important}.gap-x-6{column-gap:calc(var(--spacing) * 6)!important}.gap-y-1{row-gap:var(--spacing)!important}.gap-y-2{row-gap:calc(var(--spacing) * 2)!important}.gap-y-3{row-gap:calc(var(--spacing) * 3)!important}.self-stretch{align-self:stretch!important}.truncate{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important}.overflow-hidden{overflow:hidden!important}.overflow-x-auto{overflow-x:auto!important}.rounded-\[9px\]{border-radius:9px!important}.rounded-full{border-radius:2147483647px!important}.rounded-lg{border-radius:8px!important}.rounded-md{border-radius:7px!important}.rounded-sm{border-radius:5px!important}.rounded-xl{border-radius:12px!important}.rounded-b-xl{border-bottom-right-radius:12px!important;border-bottom-left-radius:12px!important}.border{border-style:var(--tw-border-style)!important;border-width:1px!important}.border-s{border-inline-start-style:var(--tw-border-style)!important;border-inline-start-width:1px!important}.border-t{border-top-style:var(--tw-border-style)!important;border-top-width:1px!important}.border-b{border-bottom-style:var(--tw-border-style)!important;border-bottom-width:1px!important}.border-b-2{border-bottom-style:var(--tw-border-style)!important;border-bottom-width:2px!important}.border-band-edge{border-color:var(--bandEdge)!important}.border-border{border-color:var(--border)!important}.border-brand{border-color:var(--accent)!important}.border-critical,.border-critical\/40{border-color:var(--critical)!important}@supports (color:color-mix(in lab, red, red)){.border-critical\/40{border-color:color-mix(in oklab, var(--critical) 40%, transparent)!important}}.border-critical\/50{border-color:var(--critical)!important}@supports (color:color-mix(in lab, red, red)){.border-critical\/50{border-color:color-mix(in oklab, var(--critical) 50%, transparent)!important}}.border-grid{border-color:var(--grid)!important}.border-input{border-color:var(--input)!important}.border-primary{border-color:var(--primary)!important}.border-transparent{border-color:#0000!important}.bg-band{background-color:var(--band)!important}.bg-brand{background-color:var(--accent)!important}.bg-critical{background-color:var(--critical)!important}.bg-good{background-color:var(--good)!important}.bg-ink{background-color:var(--ink)!important}.bg-mute{background-color:var(--muted)!important}.bg-primary{background-color:var(--primary)!important}.bg-surface{background-color:var(--surface)!important}.bg-surface2{background-color:var(--surface2)!important}.bg-surface3{background-color:var(--surface3)!important}.bg-transparent{background-color:#0000!important}.bg-warn{background-color:var(--warn)!important}.p-0{padding:0!important}.px-0{padding-inline:0!important}.px-3{padding-inline:calc(var(--spacing) * 3)!important}.px-5{padding-inline:calc(var(--spacing) * 5)!important}.px-6{padding-inline:calc(var(--spacing) * 6)!important}.px-10{padding-inline:calc(var(--spacing) * 10)!important}.px-\[7px\]{padding-inline:7px!important}.px-\[10px\]{padding-inline:10px!important}.px-\[12px\]{padding-inline:12px!important}.px-\[14px\]{padding-inline:14px!important}.px-\[18px\]{padding-inline:18px!important}.px-\[22px\]{padding-inline:22px!important}.py-2{padding-block:calc(var(--spacing) * 2)!important}.py-3{padding-block:calc(var(--spacing) * 3)!important}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)!important}.py-4{padding-block:calc(var(--spacing) * 4)!important}.py-7{padding-block:calc(var(--spacing) * 7)!important}.py-9{padding-block:calc(var(--spacing) * 9)!important}.py-\[2px\]{padding-block:2px!important}.py-\[11px\]{padding-block:11px!important}.py-\[18px\]{padding-block:18px!important}.ps-7{padding-inline-start:calc(var(--spacing) * 7)!important}.ps-\[7px\]{padding-inline-start:7px!important}.pe-2{padding-inline-end:calc(var(--spacing) * 2)!important}.pt-1{padding-top:var(--spacing)!important}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)!important}.pt-2{padding-top:calc(var(--spacing) * 2)!important}.pt-3{padding-top:calc(var(--spacing) * 3)!important}.pt-4{padding-top:calc(var(--spacing) * 4)!important}.pt-\[2px\]{padding-top:2px!important}.pt-\[18px\]{padding-top:18px!important}.pt-\[22px\]{padding-top:22px!important}.pt-\[30px\]{padding-top:30px!important}.pb-1{padding-bottom:var(--spacing)!important}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)!important}.pb-10{padding-bottom:calc(var(--spacing) * 10)!important}.pb-\[18px\]{padding-bottom:18px!important}.pb-\[22px\]{padding-bottom:22px!important}.text-center{text-align:center!important}.text-end{text-align:end!important}.text-start{text-align:start!important}.align-middle{vertical-align:middle!important}.text-2xl{font-size:26px!important;line-height:var(--tw-leading,var(--text-2xl--line-height))!important}.text-\[11px\]{font-size:11px!important}.text-\[12\.5px\]{font-size:12.5px!important}.text-\[12px\]{font-size:12px!important}.text-\[13px\]{font-size:13px!important}.text-\[15px\]{font-size:15px!important}.text-\[26px\]{font-size:26px!important}.leading-none{--tw-leading:1!important;line-height:1!important}.leading-tight{--tw-leading:var(--leading-tight)!important;line-height:var(--leading-tight)!important}.font-medium{--tw-font-weight:var(--font-weight-medium)!important;font-weight:var(--font-weight-medium)!important}.font-normal{--tw-font-weight:var(--font-weight-normal)!important;font-weight:var(--font-weight-normal)!important}.font-semibold{--tw-font-weight:var(--font-weight-semibold)!important;font-weight:var(--font-weight-semibold)!important}.tracking-\[-0\.01em\]{--tw-tracking:-.01em!important;letter-spacing:-.01em!important}.tracking-\[-0\.02em\]{--tw-tracking:-.02em!important;letter-spacing:-.02em!important}.tracking-\[\.08em\]{--tw-tracking:.08em!important;letter-spacing:.08em!important}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere!important}.text-ellipsis{text-overflow:ellipsis!important}.whitespace-nowrap{white-space:nowrap!important}.text-band-ink{color:var(--bandInk)!important}.text-band-muted{color:var(--bandMuted)!important}.text-brand-ink{color:var(--accentInk)!important}.text-critical{color:var(--critical)!important}.text-good-ink{color:var(--goodInk)!important}.text-ink{color:var(--ink)!important}.text-ink2{color:var(--ink2)!important}.text-mute{color:var(--muted)!important}.text-page{color:var(--page)!important}.text-primary-foreground{color:var(--primary-foreground)!important}.text-warn{color:var(--warn)!important}.text-white{color:var(--color-white)!important}.uppercase{text-transform:uppercase!important}.tabular-nums{--tw-numeric-spacing:tabular-nums!important;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)!important}.opacity-75{opacity:.75!important}.opacity-85{opacity:.85!important}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.transition-\[background-color\,border-color\,color\,opacity\]{transition-property:background-color,border-color,color,opacity!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.transition-transform{transition-property:transform,translate,scale,rotate!important;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))!important;transition-duration:var(--tw-duration,var(--default-transition-duration))!important}.duration-100{--tw-duration:.1s!important;transition-duration:.1s!important}.outline-none{--tw-outline-style:none!important;outline-style:none!important}.group-last\:border-b-0:is(:where(.group):last-child *){border-bottom-style:var(--tw-border-style)!important;border-bottom-width:0!important}.group-open\:rotate-90:is(:where(.group):is([open],:popover-open,:open) *){rotate:90deg!important}.placeholder\:text-mute::placeholder{color:var(--muted)!important}.last\:border-b-0:last-child,.last-of-type\:border-b-0:last-of-type{border-bottom-style:var(--tw-border-style)!important;border-bottom-width:0!important}.empty\:hidden:empty{display:none!important}@media (hover:hover){.hover\:border-critical:hover{border-color:var(--critical)!important}.hover\:border-line:hover{border-color:var(--line)!important}.hover\:bg-band-edge:hover{background-color:var(--bandEdge)!important}.hover\:bg-critical:hover{background-color:var(--critical)!important}.hover\:bg-surface2:hover{background-color:var(--surface2)!important}.hover\:bg-surface3:hover{background-color:var(--surface3)!important}.hover\:text-band-muted:hover{color:var(--bandMuted)!important}.hover\:text-ink:hover{color:var(--ink)!important}.hover\:text-white:hover{color:var(--color-white)!important}.hover\:underline:hover{text-decoration-line:underline!important}.hover\:underline-offset-4:hover{text-underline-offset:4px!important}.hover\:opacity-85:hover{opacity:.85!important}.hover\:opacity-100:hover{opacity:1!important}}.focus\:border-brand:focus{border-color:var(--accent)!important}.disabled\:pointer-events-none:disabled{pointer-events:none!important}.disabled\:opacity-55:disabled{opacity:.55!important}@media not all and (width>=960px){.max-\[960px\]\:col-start-1{grid-column-start:1!important}.max-\[960px\]\:col-start-2{grid-column-start:2!important}.max-\[960px\]\:row-span-2{grid-row:span 2/span 2!important}.max-\[960px\]\:row-start-1{grid-row-start:1!important}.max-\[960px\]\:mt-1{margin-top:var(--spacing)!important}.max-\[960px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.max-\[960px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.max-\[960px\]\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto!important}.max-\[960px\]\:gap-5{gap:calc(var(--spacing) * 5)!important}.max-\[960px\]\:border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.max-\[960px\]\:px-6{padding-inline:calc(var(--spacing) * 6)!important}.max-\[960px\]\:ps-0{padding-inline-start:0!important}}@media not all and (width>=782px){.max-\[782px\]\:col-auto{grid-column:auto!important}.max-\[782px\]\:row-auto{grid-row:auto!important}.max-\[782px\]\:hidden{display:none!important}.max-\[782px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.max-\[782px\]\:gap-3{gap:calc(var(--spacing) * 3)!important}.max-\[782px\]\:px-4{padding-inline:calc(var(--spacing) * 4)!important}}@media not all and (width>=600px){.max-\[600px\]\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none!important}.\[\&_svg\]\:h-5 svg{height:calc(var(--spacing) * 5)!important}.\[\&_svg\]\:w-5 svg{width:calc(var(--spacing) * 5)!important}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0!important}.\[\&\:\:-webkit-details-marker\]\:hidden::-webkit-details-marker{display:none!important}.\[\&\>svg\]\:block>svg{display:block!important}.\[\&\>svg\]\:h-7>svg{height:calc(var(--spacing) * 7)!important}.\[\&\>svg\]\:h-\[26px\]>svg{height:26px!important}.\[\&\>svg\]\:h-auto>svg{height:auto!important}.\[\&\>svg\]\:w-28>svg{width:calc(var(--spacing) * 28)!important}.\[\&\>svg\]\:w-\[128px\]>svg{width:128px!important}.\[\&\>svg\]\:w-\[138px\]>svg{width:138px!important}@media (hover:hover){.hover\:\[\&\>td\]\:bg-surface2:hover>td{background-color:var(--surface2)!important}}}#monoranks-admin,.mr-scope,body.monoranks-screen{--page:#f5f6f8;--surface:#fff;--surface2:#f1f3f6;--surface3:#e9ecf1;--ink:#14181f;--ink2:#4c5563;--muted:#8a929e;--grid:#e6e9ee;--line:#cbd2db;--border:#e3e7ec;--accent:#2a6fdb;--accentInk:#1d5bbf;--accentSoft:#e8f0fc;--good:#0ca30c;--goodInk:#0a7a0a;--warn:#e6a100;--critical:#d03b3b;--grayTrack:#e6e9ee;--primaryBtn:#14181f;--primaryBtnInk:#fff;--band:#14181f;--bandInk:#f3f4f6;--bandMuted:#b8bec8;--bandEdge:#2c313a;--tintGood:#0ca30c12;--tintGoodEdge:#0ca30c59;--tintWarn:#e6a1001a;--tintWarnEdge:#e6a10066;--tintBad:#d03b3b12;--tintBadEdge:#d03b3b59;--background:var(--page);--foreground:var(--ink);--card:var(--surface);--card-foreground:var(--ink);--popover:var(--surface);--popover-foreground:var(--ink);--primary:var(--primaryBtn);--primary-foreground:var(--primaryBtnInk);--secondary:var(--surface2);--secondary-foreground:var(--ink);--muted-token:var(--surface2);--muted-foreground:var(--muted);--accent-token:var(--surface2);--accent-foreground:var(--ink);--destructive:var(--critical);--input:var(--line);--ring:var(--accent);--radius:.5rem}#monoranks-admin[data-theme=dark]{--page:#0f1115;--surface:#171a20;--surface2:#1e2229;--surface3:#262b33;--ink:#f3f4f6;--ink2:#b8bec8;--muted:#7d8590;--grid:#262b33;--line:#3a404a;--border:#262b33;--accent:#3987e5;--accentInk:#86b6ef;--accentSoft:#1a2a44;--good:#0ca30c;--goodInk:#3ccf3c;--warn:#fab219;--critical:#e05656;--grayTrack:#2c313a;--primaryBtn:#f3f4f6;--primaryBtnInk:#14181f;--band:#0b0d11;--bandEdge:#262b33;--tintGood:#3ccf3c1f;--tintGoodEdge:#3ccf3c61;--tintWarn:#fab21924;--tintWarnEdge:#fab2196b;--tintBad:#e056561f;--tintBadEdge:#e0565661;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body.monoranks-screen #wpbody-content{padding-bottom:0}body.monoranks-screen #wpfooter{display:none}body.monoranks-screen #wpwrap{min-height:0}body.monoranks-screen #wpwrap,body.monoranks-screen #wpcontent,body.monoranks-screen #wpbody,body.monoranks-screen #wpbody-content{background:var(--page)}body.monoranks-screen #wpbody-content{min-height:max(calc(100vh - var(--wp-admin--admin-bar--height,32px)), var(--mr-fill,0px));flex-direction:column;display:flex}body.monoranks-screen #wpbody-content>.wrap{flex-direction:column;flex:1 0 auto;min-height:0;margin:0;padding:0;display:flex}body.monoranks-screen #wpbody-content>:is(.notice,.update-nag,.updated,.error,#message){display:none}#monoranks-admin :is(.notice,.update-nag,.updated,.error,#message){border:1px solid var(--border);background:var(--surface);width:100%;color:var(--ink);box-shadow:none;border-radius:12px;margin:0;padding:12px 16px;font-size:13px;line-height:1.45;display:block}#monoranks-admin>:is(.notice,.updated,.error,#message){max-width:1180px;margin:0 auto 4px}#monoranks-admin div.notice-success{background-image:linear-gradient(var(--tintGood), var(--tintGood))!important;border-color:var(--tintGoodEdge)!important}#monoranks-admin div.notice-error{background-image:linear-gradient(var(--tintBad), var(--tintBad))!important;border-color:var(--tintBadEdge)!important}#monoranks-admin div.notice-warning,#monoranks-admin div.update-nag{background-image:linear-gradient(var(--tintWarn), var(--tintWarn))!important;border-color:var(--tintWarnEdge)!important}@media (width<=1340px){#monoranks-admin>:is(.notice,.updated,.error,#message){max-width:calc(100% - 80px)}}@media (width<=960px){#monoranks-admin>:is(.notice,.updated,.error,#message){max-width:calc(100% - 48px)}}@media (width<=782px){#monoranks-admin>:is(.notice,.updated,.error,#message){max-width:calc(100% - 32px)}}body.monoranks-screen #wpbody-content>.update-nag{display:block}#monoranks-admin{background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;flex-direction:column;flex:1 0 auto;margin-inline:-20px 0;font-size:13px;line-height:1.45;display:flex}@media (width<=782px){#monoranks-admin{margin-inline:-10px 0}body.monoranks-screen #wpbody-content>:is(.notice,.update-nag,.updated,.error,#message){margin-inline:10px}}#monoranks-admin a{color:var(--accentInk);text-decoration:none}#monoranks-admin a:hover{color:var(--ink);text-decoration:none}#monoranks-admin code{background:var(--surface2);color:var(--ink);text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;direction:ltr;unicode-bidi:isolate;border-radius:4px;max-width:100%;padding:1px 5px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;display:inline-block;overflow:hidden}#monoranks-admin bdi{unicode-bidi:isolate}#monoranks-admin h1,#monoranks-admin h2,#monoranks-admin h3,#monoranks-admin p{color:inherit;margin:0;padding:0}#monoranks-admin :focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:none}#monoranks-admin input[type=password],#monoranks-admin input[type=url]{box-shadow:none;min-height:0;margin:0;line-height:normal}#monoranks-admin .notice p{margin:0;padding:0;font-size:13px}.mr-score{color:var(--muted);vertical-align:middle;align-items:center;gap:6px;display:inline-flex}.mr-score .mr-ring{line-height:0;display:inline-block;position:relative}.mr-score .mr-ring>span{font-variant-numeric:tabular-nums;color:var(--ink);justify-content:center;align-items:center;font-weight:600;line-height:1;display:flex;position:absolute;inset:0}.mr-score.mr-none .mr-ring>span{color:var(--muted)}.mr-score.mr-sm .mr-ring{width:30px;height:30px}.mr-score.mr-sm .mr-ring>span{font-size:11px}.mr-score.mr-lg .mr-ring{width:64px;height:64px}.mr-score.mr-lg .mr-ring>span{font-size:20px}.mr-score .mr-lbl{color:var(--muted);font-size:11px;font-weight:500}.mr-score.mr-good{color:var(--good)}.mr-score.mr-warn{color:var(--warn)}.mr-score.mr-critical{color:var(--critical)}.mr-score.mr-none{color:var(--line)}#monoranks-admin .spin{border:1.5px solid;border-right-color:#0000;border-radius:50%;flex:none;width:12px;height:12px;animation:.7s linear infinite mr-spin;display:inline-block}#monoranks-admin [data-size=sm] .spin,#monoranks-admin .h-7 .spin{width:10px;height:10px}@keyframes mr-spin{to{transform:rotate(360deg)}}[dir=rtl] #monoranks-admin .mr-flip{transform:scaleX(-1)}@media (prefers-reduced-motion:reduce){#monoranks-admin *{transition:none!important}#monoranks-admin .spin{animation-duration:1.6s}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}} diff --git a/build/main.js b/build/main.js index 4b353e9..e3f6741 100644 --- a/build/main.js +++ b/build/main.js @@ -6,4 +6,4 @@ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r= `+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{Ve=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Be(n):``}function Ue(e,t){switch(e.tag){case 26:case 27:case 5:return Be(e.type);case 16:return Be(`Lazy`);case 13:return e.child!==t&&t!==null?Be(`Suspense Fallback`):Be(`Suspense`);case 19:return Be(`SuspenseList`);case 0:case 15:return He(e.type,!1);case 11:return He(e.type.render,!1);case 1:return He(e.type,!0);case 31:return Be(`Activity`);case 30:return Be(`ViewTransition`);default:return``}}function We(e){try{var t=``,n=null;do t+=Ue(e,n),n=e,e=e.return;while(e);return t}catch(e){return` Error generating stack: `+e.message+` `+e.stack}}var Ge=Object.prototype.hasOwnProperty,Ke=t.unstable_scheduleCallback,qe=t.unstable_cancelCallback,Je=t.unstable_shouldYield,Ye=t.unstable_requestPaint,Xe=t.unstable_now,Ze=t.unstable_getCurrentPriorityLevel,Qe=t.unstable_ImmediatePriority,$e=t.unstable_UserBlockingPriority,et=t.unstable_NormalPriority,tt=t.unstable_LowPriority,nt=t.unstable_IdlePriority,rt=t.log,it=t.unstable_setDisableYieldValue,at=null,ot=null;function st(e){if(typeof rt==`function`&&it(e),ot&&typeof ot.setStrictMode==`function`)try{ot.setStrictMode(at,e)}catch{}}var ct=Math.clz32?Math.clz32:dt,lt=Math.log,ut=Math.LN2;function dt(e){return e>>>=0,e===0?32:31-(lt(e)/ut|0)|0}var ft=256,pt=262144,mt=4194304;function ht(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function gt(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=ht(n))):i=ht(o):i=ht(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=ht(n))):i=ht(o)):i=ht(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function _t(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function vt(e,t){t&8&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0n;n++)t.push(e);return t}function St(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function k(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0=pr),gr=` `,_r=!1;function vr(e,t){switch(e){case`keyup`:return dr.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function yr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var br=!1;function xr(e,t){switch(e){case`compositionend`:return yr(t);case`keypress`:return t.which===32?(_r=!0,gr):null;case`textInput`:return e=t.data,e===gr&&_r?null:e;default:return null}}function Sr(e,t){if(br)return e===`compositionend`||!fr&&vr(e,t)?(e=Fn(),Pn=Nn=Mn=null,br=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Gr(n)}}function qr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?qr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Jr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Wr(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Wr(e.document)}return t}function Yr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Xr=kn&&`documentMode`in document&&11>=document.documentMode,Zr=null,Qr=null,$r=null,ei=!1;function ti(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ei||Zr==null||Zr!==Wr(r)||(r=Zr,`selectionStart`in r&&Yr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),$r&&Ur($r,r)||($r=r,r=Jf(Qr,`onSelect`),0>=o,i-=o,Zi=1<<32-ct(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),B&&$i(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),B&&$i(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return B&&$i(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&(_=v.alternate,_!==null&&h.delete(_.key===null?g:_.key)),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),B&&$i(a,g),u}function _(e,r,o,c){if(typeof o==`object`&&o&&o.type===w&&o.key===null&&o.props.ref===void 0&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case ae:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===w){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),co(c,o),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===me&&to(l)===r.type){n(e,r.sibling),c=a(r,o.props),co(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===w?(c=Ri(o.props.children,e.mode,c,o.key),co(c,o),c.return=e,e=c):(c=Li(o.type,o.key,o.props,null,e.mode,c),co(c,o),c.return=e,e=c)}return s(e);case oe:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=Vi(o,e.mode,c),c.return=e,e=c}return s(e);case me:return o=to(o),_(e,r,o,c)}if(we(o))return h(e,r,o,c);if(xe(o)){if(l=xe(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return _(e,r,so(o),c);if(o.$$typeof===ue)return _(e,r,Ea(e,o),c);lo(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=zi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{oo=0;var i=_(e,t,n,r);return ao=null,i}catch(t){if(t===Ya||t===Za)throw t;var a=Ni(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var fo=uo(!0),po=uo(!1),mo=!1;function ho(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function go(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function _o(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function vo(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,K&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Ai(e),ki(e,null,n),t}return Ei(e,r,t,n),Ai(e)}function yo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,wt(e,n)}}function bo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var xo=!1;function So(){if(xo){var e=Ba;if(e!==null)throw e}}function Co(e,t,n,r){xo=!1;var i=e.updateQueue;mo=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(Y&f)===f:(r&f)===f){f!==0&&f===za&&(xo=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,h=s;f=t;var g=n;switch(h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(g,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(g,d,f):m,f==null)break a;d=C({},d,f);break a;case 2:mo=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),od|=o,e.lanes=o,e.memoizedState=d}}function wo(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function To(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=E.T,s={};s.types=o===null?null:o.types,E.T=s,dc(e,!1,t,n);try{var c=i(),l=E.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?uc(e,t,Ua(c,r),jd(e)):uc(e,t,r,jd(e))}catch(n){uc(e,t,{then:function(){},status:`rejected`,reason:n},jd())}finally{D.p=a,o!==null&&s.types!==null&&(o.types=s.types),E.T=o}}function ec(){}function tc(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=nc(e).queue;$s(e,a,t,Te,n===null?ec:function(){return rc(e),n(r)})}function nc(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Te,baseState:Te,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:fs,lastRenderedState:Te},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:fs,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function rc(e){var t=nc(e);t.next===null&&(t=e.alternate.memoizedState),uc(e,t.next.queue,{},jd())}function ic(){return Ta(sh)}function ac(){return ss().memoizedState}function oc(){return ss().memoizedState}function sc(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=jd();e=_o(n);var r=vo(t,e,n);r!==null&&(Pd(r,t,n),yo(r,t,n)),t={cache:Ma()},e.payload=t;return}t=t.return}}function cc(e,t,n){var r=jd();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},fc(e)?pc(t,n):(n=Di(e,t,n,r),n!==null&&(Pd(n,e,r),mc(n,t,r)))}function lc(e,t,n){uc(e,t,n,jd())}function uc(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(fc(e))pc(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Hr(s,o))return Ei(e,t,i,0),q===null&&Ti(),!1}catch{}if(n=Di(e,t,i,r),n!==null)return Pd(n,e,r),mc(n,t,r),!0}return!1}function dc(e,t,n,r){if(r={lane:2,revertLane:Pf(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},fc(e)){if(t)throw Error(i(479))}else t=Di(e,n,r,2),t!==null&&Pd(t,e,2)}function fc(e){var t=e.alternate;return e===V||t!==null&&t===V}function pc(e,t){Go=Wo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function mc(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,wt(e,n)}}var hc={readContext:Ta,use:us,useCallback:Zo,useContext:Zo,useEffect:Zo,useImperativeHandle:Zo,useLayoutEffect:Zo,useInsertionEffect:Zo,useMemo:Zo,useReducer:Zo,useRef:Zo,useState:Zo,useDebugValue:Zo,useDeferredValue:Zo,useTransition:Zo,useSyncExternalStore:Zo,useId:Zo,useHostTransitionStatus:Zo,useFormState:Zo,useActionState:Zo,useOptimistic:Zo,useMemoCache:Zo,useCacheRefresh:Zo,useEffectEvent:Zo},gc={readContext:Ta,use:us,useCallback:function(e,t){return os().memoizedState=[e,t===void 0?null:t],e},useContext:Ta,useEffect:Bs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),Rs(4194308,4,Ks.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Rs(4194308,4,e,t)},useInsertionEffect:function(e,t){Rs(4,2,e,t)},useMemo:function(e,t){var n=os();t=t===void 0?null:t;var r=e();if(Ko){st(!0);try{e()}finally{st(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=os();if(n!==void 0){var i=n(t);if(Ko){st(!0);try{n(t)}finally{st(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=cc.bind(null,V,e),[r.memoizedState,e]},useRef:function(e){var t=os();return e={current:e},t.memoizedState=e},useState:function(e){e=Ss(e);var t=e.queue,n=lc.bind(null,V,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Js,useDeferredValue:function(e,t){return Zs(os(),e,t)},useTransition:function(){var e=Ss(!1);return e=$s.bind(null,V,e.queue,!0,!1),os().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=V,a=os();if(B){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),q===null)throw Error(i(349));Y&127||_s(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Bs(ys.bind(null,r,o,e),[e]),r.flags|=2048,Is(9,{destroy:void 0},vs.bind(null,r,o,n,t),null),n},useId:function(){var e=os(),t=q.identifierPrefix;if(B){var n=Qi,r=Zi;n=(r&~(1<<32-ct(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=qo++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[jt]=t,o[Mt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(np(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&ml(t)}}return U(t),t.subtreeFlags&=-33554433,hl(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&ml(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=Me.current,da(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=ia,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[jt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||ep(e.nodeValue,n)),e||ca(t,!0)}else e=lp(e).createTextNode(r),e[jt]=t,t.stateNode=e}return U(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=da(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[jt]=t}else fa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;U(t),e=!1}else n=pa(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Lo(t),t):(Lo(t),null);if(t.flags&128)throw Error(i(558))}return U(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=da(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[jt]=t}else fa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;U(t),a=!1}else a=pa(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(Lo(t),t):(Lo(t),null)}return Lo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),_l(t,t.updateQueue),U(t),null);case 4:return Fe(),e===null&&Wf(t.stateNode.containerInfo),t.flags|=67108864,U(t),null;case 10:return ya(t.type),U(t),null;case 19:if(Bo(t),r=t.memoizedState,r===null)return U(t),null;if(a=!!(t.flags&128),o=r.rendering,o===null){if(a)vl(r,!1);else{if(ad!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Vo(e),o!==null){for(t.flags|=128,vl(r,!1),e=o.updateQueue,t.updateQueue=e,_l(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Ii(n,e),n=n.sibling;return zo(t,Ro.current&1|2),B&&$i(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Xe()>gd&&(t.flags|=128,a=!0,vl(r,!1),t.lanes=4194304)}}else{if(!a){if(e=Vo(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,_l(t,e),vl(r,!0),r.tail===null&&r.tailMode!==`collapsed`&&r.tailMode!==`visible`&&!o.alternate&&!B)return U(t),null}else 2*Xe()-r.renderingStartTime>gd&&n!==536870912&&(t.flags|=128,a=!0,vl(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}if(r.tail!==null){e=r.tail;a:{for(n=e;n!==null;){if(n.alternate!==null){n=!1;break a}n=n.sibling}n=!0}return r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Xe(),e.sibling=null,o=Ro.current,o=a?o&1|2:o&1,r.tailMode===`visible`||r.tailMode===`collapsed`||!n||B?zo(t,o):(n=o,O(jo,t),O(Ro,n),Mo===null&&(Mo=t)),B&&$i(t,r.treeForkCount),e}return U(t),null;case 22:case 23:return Lo(t),Ao(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(U(t),t.subtreeFlags&6&&(t.flags|=8192)):U(t),n=t.updateQueue,n!==null&&_l(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&ke(Ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ya(ja),U(t),null;case 25:return null;case 30:return t.flags|=33554432,U(t),null}throw Error(i(156,t.tag))}function bl(e,t){switch(na(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ya(ja),Fe(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Le(t),null;case 31:if(t.memoizedState!==null){if(Lo(t),t.alternate===null)throw Error(i(340));fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Lo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Bo(t),e=t.flags,e&65536?(t.flags=e&-65537|128,e=t.memoizedState,e!==null&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return Fe(),null;case 10:return ya(t.type),null;case 22:case 23:return Lo(t),Ao(),e!==null&&ke(Ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ya(ja),null;case 25:return null;default:return null}}function xl(e,t){switch(na(t),t.tag){case 3:ya(ja),Fe();break;case 26:case 27:case 5:Le(t);break;case 4:Fe();break;case 31:t.memoizedState!==null&&Lo(t);break;case 13:Lo(t);break;case 19:Bo(t);break;case 10:ya(t.type);break;case 22:case 23:Lo(t),Ao(),e!==null&&ke(Ga);break;case 24:ya(ja)}}function Sl(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Cl(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function wl(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{To(t,n)}catch(t){Z(e,e.return,t)}}}function Tl(e,t,n){n.props=Cc(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function El(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:var i=e.stateNode,a=vi(e.memoizedProps,i);(i.ref===null||i.ref.name!==a)&&(i.ref=Pp(a)),r=i.ref;break;case 7:if(e.stateNode===null){var o=new Fp(e);h(e.child,!1,Qp,o,void 0,void 0),e.stateNode=o}r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function Dl(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}}function Ol(e,t){if((e.tag===5||e.tag===27||e.tag===6)&&e.alternate===null&&t!==null)for(var n=0;n title`))),np(r,t,n),r[jt]=e,Ut(r),t=r;break a;case`link`:if(o=Gm(`link`,`href`,a).get(t+(n.href||``))){for(s=0;sg&&(o=g,g=h,h=o);var _=Kr(s,h),v=Kr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,E.T=null,n=wd,wd=null;var o=bd,s=Sd;if(yd=0,xd=bd=null,Sd=0,K&6)throw Error(i(331));var c=K;if(K|=4,Yu(o.current),Vu(o,o.current,s,n),K=c,Df(0,!1),ot&&typeof ot.onPostCommitFiberRoot==`function`)try{ot.onPostCommitFiberRoot(at,o)}catch{}return!0}finally{D.p=a,E.T=r,uf(e,t)}}function pf(e,t,n){t=Ui(n,t),t=kc(e.stateNode,t,2),e=vo(e,t,2),e!==null&&(St(e,2),Ef(e))}function Z(e,t,n){if(e.tag===3)pf(e,e,n);else for(;t!==null;){if(t.tag===3){pf(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(vd===null||!vd.has(r))){e=Ui(n,e),n=Ac(2),r=vo(t,n,2),r!==null&&(jc(n,r,t,e),St(r,2),Ef(r));break}}t=t.return}}function mf(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new $u;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(rd=!0,i.add(n),e=hf.bind(null,e,t,n),t.then(e,e))}function hf(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,q===e&&(Y&n)===n&&(ad===4||ad===3&&(Y&62914560)===Y&&300>Xe()-md?K&2?cd|=n:Vd(e,0):cd|=n,ud===Y&&(ud=0)),Ef(e)}function gf(e,t){t===0&&(t=bt()),e=Oi(e,t),e!==null&&(St(e,t),Ef(e))}function _f(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),gf(e,n)}function vf(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),gf(e,n)}function yf(e,t){return Ke(e,t)}var bf=null,xf=null,Sf=!1,Cf=!1,wf=!1,Tf=0;function Ef(e){e!==xf&&e.next===null&&(xf===null?bf=xf=e:xf=xf.next=e),Cf=!0,Sf||(Sf=!0,Nf())}function Df(e,t){if(!wf&&Cf){wf=!0;do for(var n=!1,r=bf;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-ct(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Mf(r,a))}else a=Y,a=gt(r,r===q?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||_t(r,a)||(n=!0,Mf(r,a))}r=r.next}while(n);wf=!1}}function Of(){kf()}function kf(){Cf=Sf=!1;var e=0;Tf!==0&&hp()&&(e=Tf);for(var t=Xe(),n=null,r=bf;r!==null;){var i=r.next,a=Af(r,t);a===0?(r.next=null,n===null?bf=i:n.next=i,i===null&&(xf=n)):(n=r,(e!==0||a&3)&&(Cf=!0)),r=i}yd!==0&&yd!==5||Df(e,!1),Tf!==0&&(Tf=0)}function Af(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&ap(d)&&(c=c.responseEnd,o+=u*(c$m){s.length=o;break}f=new Promise(jp.bind(f)),s.push(f)}}}if(0`u`?null:document;function Tm(e,t,n){var r=wm;if(r&&typeof t==`string`&&t){var i=F(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),ym.has(i)||(ym.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),np(t,`link`,e),Ut(t),r.head.appendChild(t)))}}function Em(e){xm.D(e),Tm(`dns-prefetch`,e,null)}function Dm(e,t){xm.C(e,t),Tm(`preconnect`,e,t)}function Om(e,t,n){xm.L(e,t,n);var r=wm;if(r&&e&&t){var i=`link[rel="preload"][as="`+F(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+F(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+F(n.imageSizes)+`"]`)):i+=`[href="`+F(e)+`"]`;var a=i;switch(t){case`style`:a=Pm(e);break;case`script`:a=Rm(e)}if(!(vm.has(a)||(e=C({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),vm.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Fm(a))||t===`script`&&r.querySelector(zm(a))))){var o=r.createElement(`link`);np(o,`link`,e),t===`style`&&(o[Rt]=!0,o.onload=o.onerror=function(){Wt(o)}),Ut(o),r.head.appendChild(o)}}}function km(e,t){xm.m(e,t);var n=wm;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+F(r)+`"][href="`+F(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Rm(e)}if(!vm.has(a)&&(e=C({rel:`modulepreload`,href:e},t),vm.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(zm(a)))return}r=n.createElement(`link`),np(r,`link`,e),Ut(r),n.head.appendChild(r)}}}function Am(e,t,n){xm.S(e,t,n);var r=wm;if(r&&e){var i=Ht(r).hoistableStyles,a=Pm(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Fm(a)))s.loading=5;else{e=C({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=vm.get(a))&&Hm(e,n);var c=o=r.createElement(`link`);Ut(c),np(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Vm(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function jm(e,t){xm.X(e,t);var n=wm;if(n&&e){var r=Ht(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=C({src:e,async:!0},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),Ut(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Mm(e,t){xm.M(e,t);var n=wm;if(n&&e){var r=Ht(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=C({src:e,async:!0,type:`module`},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),Ut(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Nm(e,t,n,r){var a=(a=Me.current)?bm(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(n=Pm(n.href),t=Ht(a).hoistableStyles,r=t.get(n),r||(r={type:`style`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Pm(n.href);var o=Ht(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Fm(e)))?o._p||(s.instance=o,s.state.loading=5):(o=vm.get(e),o||(o={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},vm.set(e,o)),Lm(a,e,o,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(n=Rm(n),t=Ht(a).hoistableScripts,r=t.get(n),r||(r={type:`script`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Pm(e){return`href="`+F(e)+`"`}function Fm(e){return`link[rel="stylesheet"][`+e+`]`}function Im(e){return C({},e,{"data-precedence":e.precedence,precedence:null})}function Lm(e,t,n,r){if(t=e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)){if(!0!==t[Rt]){r.loading=1;return}}else t=e.createElement(`link`),t[Rt]=!0,t.onload=t.onerror=Wt.bind(null,t),np(t,`link`,n),Ut(t),e.head.appendChild(t);r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2})}function Rm(e){return`[src="`+F(e)+`"]`}function zm(e){return`script[async]`+e}function Bm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+F(n.href)+`"]`);if(r)return t.instance=r,Ut(r),r;var a=C({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Ut(r),np(r,`style`,a),Vm(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Pm(n.href);var o=e.querySelector(Fm(a));if(o)return t.state.loading|=4,t.instance=o,Ut(o),o;r=Im(n),(a=vm.get(a))&&Hm(r,a),o=(e.ownerDocument||e).createElement(`link`),Ut(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),np(o,`link`,r),t.state.loading|=4,Vm(o,n.precedence,e),t.instance=o;case`script`:return o=Rm(n.src),(a=e.querySelector(zm(o)))?(t.instance=a,Ut(a),a):(r=n,(a=vm.get(o))&&(r=C({},n),Um(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),Ut(a),np(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Vm(r,n.precedence,e));return t.instance}function Vm(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function qm(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Jm(e,t){return e===`img`&&t.src!=null&&t.src!==``&&t.onLoad==null&&t.loading!==`lazy`}function Ym(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Xm(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio==`number`?devicePixelRatio:1)*.25}function Zm(e,t){typeof t.decode==`function`&&(e.imgCount++,t.complete||(e.imgBytes+=Xm(t),e.suspenseyImages.push(t)),e=rh.bind(e),t.decode().then(e,e))}function Qm(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Pm(r.href),a=t.querySelector(Fm(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=nh.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Ut(a);return}a=t.ownerDocument||t,r=Im(r),(i=vm.get(i))&&Hm(r,i),a=a.createElement(`link`),Ut(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),np(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=nh.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $m=0;function eh(e,t){return e.stylesheets&&e.count===0&&ah(e,e.stylesheets),0$m?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function th(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ah(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function nh(){this.count--,th(this)}function rh(){this.imgCount--,th(this)}var ih=null;function ah(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ih=new Map,t.forEach(oh,e),ih=null,nh.call(e))}function oh(e,t){if(!(t.state.loading&4)){var n=ih.get(e);if(n)var r=n.get(null);else{n=new Map,ih.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()}))(),_=c(u(),1);function v(){(0,_.useEffect)(()=>{let e=document.getElementById(`adminmenuwrap`),t=document.getElementById(`wpbody-content`);if(!e||!t)return;let n=()=>t.style.setProperty(`--mr-fill`,Math.ceil(e.getBoundingClientRect().height)+`px`);n();let r=new ResizeObserver(n);return r.observe(e),window.addEventListener(`resize`,n),()=>{r.disconnect(),window.removeEventListener(`resize`,n),t.style.removeProperty(`--mr-fill`)}},[])}function y(){let e=window.monoranksAdmin;if(!e)throw Error(`monoranksAdmin settings missing`);return e}var b={overview:`monoranks`,settings:`monoranks-settings`};function ee(){return new URLSearchParams(window.location.search).get(`page`)===b.settings?`settings`:`overview`}function te(){let[e,t]=(0,_.useState)(ee),n=(0,_.useRef)(()=>void 0);(0,_.useEffect)(()=>{let e=()=>t(ee());window.addEventListener(`popstate`,e);let r=e=>{let t=e.target.closest(`#toplevel_page_monoranks a[href*="page=monoranks"]`);if(!t||e.metaKey||e.ctrlKey||e.shiftKey||e.button!==0)return;let r=new URL(t.href,window.location.href).searchParams.get(`page`),i=r===b.settings?`settings`:r===b.overview?`overview`:null;i&&(e.preventDefault(),n.current(i))};return document.addEventListener(`click`,r),()=>{window.removeEventListener(`popstate`,e),document.removeEventListener(`click`,r)}},[]),(0,_.useEffect)(()=>{ne(e),document.title=document.title.replace(/^[^‹]*‹/,(y().titles[e]||`MonoRanks`)+` ‹`)},[e]);let r=n=>{if(n===e)return;let r=n===`settings`?y().urls.settings:y().urls.overview;window.history.pushState({monoranks:n},``,r),t(n),window.scrollTo({top:0})};return n.current=r,[e,r]}function ne(e){let t=document.getElementById(`toplevel_page_monoranks`);t&&t.querySelectorAll(`.wp-submenu a`).forEach(t=>{let n=new URL(t.href,window.location.href).searchParams.get(`page`)===b[e];t.classList.toggle(`current`,n),t.parentElement?.classList.toggle(`current`,n),n?t.setAttribute(`aria-current`,`page`):t.removeAttribute(`aria-current`)})}var{__:x,_n:S,_x:re,sprintf:C,isRTL:ie}=window.wp.i18n,ae=window.wp.apiFetch,oe=`/monoranks/v1/admin`,w={overview:()=>ae({path:`${oe}/overview`}),settings:()=>ae({path:`${oe}/settings`}),grow:()=>ae({path:`${oe}/grow`}),apply:e=>ae({path:`${oe}/apply`,method:`POST`,data:{fix:e}}),undo:(e,t)=>ae({path:`${oe}/undo`,method:`POST`,data:{entry:e.index,at:e.at,screen:t}}),sync:e=>ae({path:`${oe}/sync`,method:`POST`,data:{screen:e}}),connect:(e,t)=>ae({path:`${oe}/connect`,method:`POST`,data:{key:e,api_base:t}}),disconnect:()=>ae({path:`${oe}/disconnect`,method:`POST`}),deleteEverything:()=>ae({path:`${oe}/delete`,method:`POST`})};function se(e,t){let n=e?.message;return typeof n==`string`&&n?n:t}var ce=e=>e?.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();function le(e,t,n=[]){if(t==null)throw Error(`[lucide]: iconNode is required when icon name is used`);return{name:ce(e),size:24,node:t,...n.length>0?{aliases:n}:{}}}var ue=e=>{let t=``,n=!1;for(let r of e){if(r===`-`||r===`_`||r<=` `){n=t.length>0;continue}t.length===0?t+=r.toLowerCase():t+=n?r.toUpperCase():r,n=!1}return t},T=e=>{let t=ue(e);return t.charAt(0).toUpperCase()+t.slice(1)},de=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),fe={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`};function pe(e){return e!=null}function me(e,t={}){let n=t.attributeNames??{},r=e=>n[e]??e,i=e.size??e.width??fe.width,a=e.size??e.height??fe.height,o=e.aliases?.filter(e=>typeof e==`string`&&e.trim()!==``).map(e=>`lucide-${e}`)??[],s=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(` `).filter(Boolean)??[],l=t.includeDefaultClasses===!1?de(...c):de(`lucide`,...s,...c),u=t.absoluteStrokeWidth?Number(t.strokeWidth??fe[`stroke-width`])*Number(e.size??e.width??fe.width)/Number(t.size??t.width??fe.width):t.strokeWidth??fe[`stroke-width`];return[`svg`,{...Object.entries(fe).reduce((e,[t,n])=>(e[r(t)]=n,e),{}),...`color`in t&&t.color&&{[r(`stroke`)]:t.color},...`size`in t&&pe(t.size)&&{[r(`width`)]:t.size,[r(`height`)]:t.size},...`width`in t&&pe(t.width)&&{[r(`width`)]:t.width},...`height`in t&&pe(t.height)&&{[r(`height`)]:t.height},[r(`stroke-width`)]:u,...l&&{[r(`class`)]:l},[r(`viewBox`)]:`0 0 ${i} ${a}`,...t.hasA11yProp===!1?{[r(`aria-hidden`)]:`true`}:{},...`attributes`in t&&t.attributes},e.node.map(e=>{let[n,i,a]=e,o=t.nonScalingStroke?{[r(`vector-effect`)]:`non-scaling-stroke`,...i}:i;return a?[n,o,a]:[n,o]})]}function he(e,t={}){return me(e,{...t,attributeNames:{...t.attributeNames,class:`className`,"stroke-width":`strokeWidth`,"stroke-linecap":`strokeLinecap`,"stroke-linejoin":`strokeLinejoin`,"vector-effect":`vectorEffect`}})}var ge=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},_e=(0,_.createContext)({}),ve=()=>(0,_.useContext)(_e),ye=(0,_.forwardRef)(({color:e,size:t,width:n,height:r,strokeWidth:i,absoluteStrokeWidth:a,nonScalingStroke:o,className:s=``,children:c,iconNode:l=[],icon:u={node:l,aliases:[],size:24},...d},f)=>{let{size:p=24,strokeWidth:m=2,absoluteStrokeWidth:h=!1,nonScalingStroke:g=!1,color:v=`currentColor`,className:y=``}=ve()??{},b=!!c||ge(d),[ee,te,ne=[]]=he(u,{color:e??v,width:n??t??p,height:r??t??p,strokeWidth:i??m,absoluteStrokeWidth:a??h,nonScalingStroke:o??g,className:de(y,s),hasA11yProp:b,attributes:d});return(0,_.createElement)(ee,{ref:f,...te},[...ne.map(([e,t])=>(0,_.createElement)(e,t)),...Array.isArray(c)?c:[c]])});function be(e,t=[],n=[]){let r=typeof e==`string`?le(e,t,n):e,i=(0,_.forwardRef)(({className:e,...t},n)=>(0,_.createElement)(ye,{ref:n,icon:r,className:e,...t}));return r.name&&(i.displayName=T(r.name)),i}var xe={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};xe.node;var Se=be(xe),Ce={name:`arrow-up-right`,size:24,node:[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]};Ce.node;var we=be(Ce),E={name:`chevron-right`,size:24,node:[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]};E.node;var D=be(E),Te={name:`circle-alert`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]],aliases:[`alert-circle`]};Te.node;var Ee=be(Te),De={name:`circle-check`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]],aliases:[`check-circle-2`]};De.node;var Oe=be(De),ke={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};ke.node;var O=be(ke),Ae={name:`undo-2`,size:24,node:[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]};Ae.node;var je=be(Ae);function Me(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t{let n=Array(e.length+t.length);for(let t=0;t({classGroupId:e,validator:t}),Ie=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Le=`-`,Re=[],ze=`arbitrary..`,Be=e=>{let t=Ue(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return He(e);let n=e.split(Le);return Ve(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Pe(i,t):t:i||Re}return n[e]||Re}}},Ve=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Ve(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Le):e.slice(t).join(Le),s=a.length;for(let e=0;ee.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?ze+r:void 0})(),Ue=e=>{let{theme:t,classGroups:n}=e;return We(n,t)},We=(e,t)=>{let n=Ie();for(let r in e){let i=e[r];Ge(i,n,r,t)}return n},Ge=(e,t,n,r)=>{let i=e.length;for(let a=0;a{if(typeof e==`string`){qe(e,t,n);return}if(typeof e==`function`){Je(e,t,n,r);return}Ye(e,t,n,r)},qe=(e,t,n)=>{let r=e===``?t:Xe(t,e);r.classGroupId=n},Je=(e,t,n,r)=>{if(Ze(e)){Ge(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Fe(n,e))},Ye=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e{let n=e,r=t.split(Le),i=r.length;for(let e=0;e`isThemeGetter`in e&&e.isThemeGetter===!0,Qe=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},$e=`!`,et=`:`,tt=[],nt=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),rt=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;si?a-i:void 0;return nt(t,l,c,u)};if(t){let e=t+et,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):nt(tt,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},it=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},at=e=>({cache:Qe(e.cacheSize),parseClassName:rt(e),sortModifiers:it(e),postfixLookupClassGroupIds:ot(e),...Be(e)}),ot=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(st),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+$e:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e0?` `+l:l)}return l},lt=(...e)=>{let t=0,n,r,i=``;for(;t{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r{let n,r,i,a,o=o=>(n=at(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=ct(e,n);return i(e,a),a};return a=o,(...e)=>a(lt(...e))},ft=[],pt=e=>{let t=t=>t[e]||ft;return t.isThemeGetter=!0,t.themeKey=e,t},mt=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ht=/^\((?:(\w[\w-]*):)?(.+)\)$/i,gt=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,_t=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,vt=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,yt=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\(.+\)$/,bt=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,xt=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,St=e=>gt.test(e),k=e=>!!e&&!Number.isNaN(Number(e)),Ct=e=>!!e&&Number.isInteger(Number(e)),wt=e=>e.endsWith(`%`)&&k(e.slice(0,-1)),Tt=e=>_t.test(e),Et=()=>!0,Dt=e=>vt.test(e)&&!yt.test(e),Ot=()=>!1,kt=e=>bt.test(e),At=e=>xt.test(e),jt=e=>!A(e)&&!j(e),Mt=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Nt=e=>Jt(e,Qt,Ot),A=e=>mt.test(e),Pt=e=>Jt(e,M,Dt),Ft=e=>Jt(e,$t,k),It=e=>Jt(e,tn,Et),Lt=e=>Jt(e,en,Ot),Rt=e=>Jt(e,Xt,Ot),zt=e=>Jt(e,Zt,At),Bt=e=>Jt(e,nn,kt),j=e=>ht.test(e),Vt=e=>Yt(e,M),Ht=e=>Yt(e,en),Ut=e=>Yt(e,Xt),Wt=e=>Yt(e,Qt),Gt=e=>Yt(e,Zt),Kt=e=>Yt(e,nn,!0),qt=e=>Yt(e,tn,!0),Jt=(e,t,n)=>{let r=mt.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Yt=(e,t,n=!1)=>{let r=ht.exec(e);return r?r[1]?t(r[1]):n:!1},Xt=e=>e===`position`||e===`percentage`,Zt=e=>e===`image`||e===`url`,Qt=e=>e===`length`||e===`size`||e===`bg-size`,M=e=>e===`length`,$t=e=>e===`number`,en=e=>e===`family-name`,tn=e=>e===`number`||e===`weight`,nn=e=>e===`shadow`,rn=dt(()=>{let e=pt(`color`),t=pt(`font`),n=pt(`text`),r=pt(`font-weight`),i=pt(`tracking`),a=pt(`leading`),o=pt(`breakpoint`),s=pt(`container`),c=pt(`spacing`),l=pt(`radius`),u=pt(`shadow`),d=pt(`inset-shadow`),f=pt(`text-shadow`),p=pt(`drop-shadow`),m=pt(`blur`),h=pt(`perspective`),g=pt(`aspect`),_=pt(`ease`),v=pt(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],ee=()=>[...b(),j,A],te=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],ne=()=>[`auto`,`contain`,`none`],x=()=>[j,A,c],S=()=>[St,`full`,`auto`,...x()],re=()=>[Ct,`none`,`subgrid`,j,A],C=()=>[`auto`,{span:[`full`,Ct,j,A]},Ct,j,A],ie=()=>[Ct,`auto`,j,A],ae=()=>[`auto`,`min`,`max`,`fr`,j,A],oe=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],w=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],se=()=>[`auto`,...x()],ce=()=>[St,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...x()],le=()=>[s,St,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...x()],ue=()=>[St,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...x()],T=()=>[e,j,A],de=()=>[...b(),Ut,Rt,{position:[j,A]}],fe=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],pe=()=>[`auto`,`cover`,`contain`,Wt,Nt,{size:[j,A]}],me=()=>[wt,Vt,Pt],he=()=>[``,`none`,`full`,l,j,A],ge=()=>[``,k,Vt,Pt],_e=()=>[`solid`,`dashed`,`dotted`,`double`],ve=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],ye=()=>[k,wt,Ut,Rt],be=()=>[``,`none`,m,j,A],xe=()=>[`none`,k,j,A],Se=()=>[`none`,k,j,A],Ce=()=>[k,j,A],we=()=>[St,`full`,...x()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Tt],breakpoint:[Tt],color:[Et],container:[Tt],"drop-shadow":[Tt],ease:[`in`,`out`,`in-out`],font:[jt],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Tt],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Tt],shadow:[Tt],spacing:[`px`,k],text:[Tt],"text-shadow":[Tt],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,St,A,j,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,j,A]}],"container-named":[Mt],columns:[{columns:[k,`auto`,A,j,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:ee()}],overflow:[{overflow:te()}],"overflow-x":[{"overflow-x":te()}],"overflow-y":[{"overflow-y":te()}],overscroll:[{overscroll:ne()}],"overscroll-x":[{"overscroll-x":ne()}],"overscroll-y":[{"overscroll-y":ne()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:S()}],"inset-x":[{"inset-x":S()}],"inset-y":[{"inset-y":S()}],start:[{"inset-s":S(),start:S()}],end:[{"inset-e":S(),end:S()}],"inset-bs":[{"inset-bs":S()}],"inset-be":[{"inset-be":S()}],top:[{top:S()}],right:[{right:S()}],bottom:[{bottom:S()}],left:[{left:S()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Ct,`auto`,j,A]}],basis:[{basis:[St,`full`,`auto`,s,...x()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[k,St,`auto`,`initial`,`none`,A]}],grow:[{grow:[``,k,j,A]}],shrink:[{shrink:[``,k,j,A]}],order:[{order:[Ct,`first`,`last`,`none`,j,A]}],"grid-cols":[{"grid-cols":re()}],"col-start-end":[{col:C()}],"col-start":[{"col-start":ie()}],"col-end":[{"col-end":ie()}],"grid-rows":[{"grid-rows":re()}],"row-start-end":[{row:C()}],"row-start":[{"row-start":ie()}],"row-end":[{"row-end":ie()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ae()}],"auto-rows":[{"auto-rows":ae()}],gap:[{gap:x()}],"gap-x":[{"gap-x":x()}],"gap-y":[{"gap-y":x()}],"justify-content":[{justify:[...oe(),`normal`]}],"justify-items":[{"justify-items":[...w(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...w()]}],"align-content":[{content:[`normal`,...oe()]}],"align-items":[{items:[...w(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...w(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":oe()}],"place-items":[{"place-items":[...w(),`baseline`]}],"place-self":[{"place-self":[`auto`,...w()]}],p:[{p:x()}],px:[{px:x()}],py:[{py:x()}],ps:[{ps:x()}],pe:[{pe:x()}],pbs:[{pbs:x()}],pbe:[{pbe:x()}],pt:[{pt:x()}],pr:[{pr:x()}],pb:[{pb:x()}],pl:[{pl:x()}],m:[{m:se()}],mx:[{mx:se()}],my:[{my:se()}],ms:[{ms:se()}],me:[{me:se()}],mbs:[{mbs:se()}],mbe:[{mbe:se()}],mt:[{mt:se()}],mr:[{mr:se()}],mb:[{mb:se()}],ml:[{ml:se()}],"space-x":[{"space-x":x()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":x()}],"space-y-reverse":[`space-y-reverse`],size:[{size:ce()}],"inline-size":[{inline:[`auto`,...le()]}],"min-inline-size":[{"min-inline":[`auto`,...le()]}],"max-inline-size":[{"max-inline":[`none`,...le()]}],"block-size":[{block:[`auto`,...ue()]}],"min-block-size":[{"min-block":[`auto`,...ue()]}],"max-block-size":[{"max-block":[`none`,...ue()]}],w:[{w:[s,`screen`,...ce()]}],"min-w":[{"min-w":[s,`screen`,`none`,...ce()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...ce()]}],h:[{h:[`screen`,`lh`,...ce()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...ce()]}],"max-h":[{"max-h":[`screen`,`lh`,`none`,...ce()]}],"font-size":[{text:[`base`,n,Vt,Pt]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,qt,It]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,wt,A]}],"font-family":[{font:[Ht,Lt,t]}],"font-features":[{"font-features":[A]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,j,A]}],"line-clamp":[{"line-clamp":[k,`none`,j,Ft]}],leading:[{leading:[`none`,a,...x()]}],"list-image":[{"list-image":[`none`,j,A]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,j,A]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:T()}],"text-color":[{text:T()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[..._e(),`wavy`]}],"text-decoration-thickness":[{decoration:[k,`from-font`,`auto`,j,Pt]}],"text-decoration-color":[{decoration:T()}],"underline-offset":[{"underline-offset":[k,`auto`,j,A]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:x()}],"tab-size":[{tab:[Ct,j,A]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,j,A]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,j,A]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:de()}],"bg-repeat":[{bg:fe()}],"bg-size":[{bg:pe()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Ct,j,A],radial:[``,j,A],conic:[``,Ct,j,A]},Gt,zt]}],"bg-color":[{bg:T()}],"gradient-from-pos":[{from:me()}],"gradient-via-pos":[{via:me()}],"gradient-to-pos":[{to:me()}],"gradient-from":[{from:T()}],"gradient-via":[{via:T()}],"gradient-to":[{to:T()}],rounded:[{rounded:he()}],"rounded-s":[{"rounded-s":he()}],"rounded-e":[{"rounded-e":he()}],"rounded-t":[{"rounded-t":he()}],"rounded-r":[{"rounded-r":he()}],"rounded-b":[{"rounded-b":he()}],"rounded-l":[{"rounded-l":he()}],"rounded-ss":[{"rounded-ss":he()}],"rounded-se":[{"rounded-se":he()}],"rounded-ee":[{"rounded-ee":he()}],"rounded-es":[{"rounded-es":he()}],"rounded-tl":[{"rounded-tl":he()}],"rounded-tr":[{"rounded-tr":he()}],"rounded-br":[{"rounded-br":he()}],"rounded-bl":[{"rounded-bl":he()}],"border-w":[{border:ge()}],"border-w-x":[{"border-x":ge()}],"border-w-y":[{"border-y":ge()}],"border-w-s":[{"border-s":ge()}],"border-w-e":[{"border-e":ge()}],"border-w-bs":[{"border-bs":ge()}],"border-w-be":[{"border-be":ge()}],"border-w-t":[{"border-t":ge()}],"border-w-r":[{"border-r":ge()}],"border-w-b":[{"border-b":ge()}],"border-w-l":[{"border-l":ge()}],"divide-x":[{"divide-x":ge()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":ge()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[..._e(),`hidden`,`none`]}],"divide-style":[{divide:[..._e(),`hidden`,`none`]}],"border-color":[{border:T()}],"border-color-x":[{"border-x":T()}],"border-color-y":[{"border-y":T()}],"border-color-s":[{"border-s":T()}],"border-color-e":[{"border-e":T()}],"border-color-bs":[{"border-bs":T()}],"border-color-be":[{"border-be":T()}],"border-color-t":[{"border-t":T()}],"border-color-r":[{"border-r":T()}],"border-color-b":[{"border-b":T()}],"border-color-l":[{"border-l":T()}],"divide-color":[{divide:T()}],"outline-style":[{outline:[..._e(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[k,j,A]}],"outline-w":[{outline:[``,k,Vt,Pt]}],"outline-color":[{outline:T()}],shadow:[{shadow:[``,`inner`,`none`,u,Kt,Bt]}],"shadow-color":[{shadow:T()}],"inset-shadow":[{"inset-shadow":[`none`,d,Kt,Bt]}],"inset-shadow-color":[{"inset-shadow":T()}],"ring-w":[{ring:ge()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:T()}],"ring-offset-w":[{"ring-offset":[k,Pt]}],"ring-offset-color":[{"ring-offset":T()}],"inset-ring-w":[{"inset-ring":ge()}],"inset-ring-color":[{"inset-ring":T()}],"text-shadow":[{"text-shadow":[`none`,f,Kt,Bt]}],"text-shadow-color":[{"text-shadow":T()}],opacity:[{opacity:[k,j,A]}],"mix-blend":[{"mix-blend":[...ve(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ve()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[k]}],"mask-image-linear-from-pos":[{"mask-linear-from":ye()}],"mask-image-linear-to-pos":[{"mask-linear-to":ye()}],"mask-image-linear-from-color":[{"mask-linear-from":T()}],"mask-image-linear-to-color":[{"mask-linear-to":T()}],"mask-image-t-from-pos":[{"mask-t-from":ye()}],"mask-image-t-to-pos":[{"mask-t-to":ye()}],"mask-image-t-from-color":[{"mask-t-from":T()}],"mask-image-t-to-color":[{"mask-t-to":T()}],"mask-image-r-from-pos":[{"mask-r-from":ye()}],"mask-image-r-to-pos":[{"mask-r-to":ye()}],"mask-image-r-from-color":[{"mask-r-from":T()}],"mask-image-r-to-color":[{"mask-r-to":T()}],"mask-image-b-from-pos":[{"mask-b-from":ye()}],"mask-image-b-to-pos":[{"mask-b-to":ye()}],"mask-image-b-from-color":[{"mask-b-from":T()}],"mask-image-b-to-color":[{"mask-b-to":T()}],"mask-image-l-from-pos":[{"mask-l-from":ye()}],"mask-image-l-to-pos":[{"mask-l-to":ye()}],"mask-image-l-from-color":[{"mask-l-from":T()}],"mask-image-l-to-color":[{"mask-l-to":T()}],"mask-image-x-from-pos":[{"mask-x-from":ye()}],"mask-image-x-to-pos":[{"mask-x-to":ye()}],"mask-image-x-from-color":[{"mask-x-from":T()}],"mask-image-x-to-color":[{"mask-x-to":T()}],"mask-image-y-from-pos":[{"mask-y-from":ye()}],"mask-image-y-to-pos":[{"mask-y-to":ye()}],"mask-image-y-from-color":[{"mask-y-from":T()}],"mask-image-y-to-color":[{"mask-y-to":T()}],"mask-image-radial":[{"mask-radial":[j,A]}],"mask-image-radial-from-pos":[{"mask-radial-from":ye()}],"mask-image-radial-to-pos":[{"mask-radial-to":ye()}],"mask-image-radial-from-color":[{"mask-radial-from":T()}],"mask-image-radial-to-color":[{"mask-radial-to":T()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[k]}],"mask-image-conic-from-pos":[{"mask-conic-from":ye()}],"mask-image-conic-to-pos":[{"mask-conic-to":ye()}],"mask-image-conic-from-color":[{"mask-conic-from":T()}],"mask-image-conic-to-color":[{"mask-conic-to":T()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:de()}],"mask-repeat":[{mask:fe()}],"mask-size":[{mask:pe()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,j,A]}],filter:[{filter:[``,`none`,j,A]}],blur:[{blur:be()}],brightness:[{brightness:[k,j,A]}],contrast:[{contrast:[k,j,A]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Kt,Bt]}],"drop-shadow-color":[{"drop-shadow":T()}],grayscale:[{grayscale:[``,k,j,A]}],"hue-rotate":[{"hue-rotate":[k,j,A]}],invert:[{invert:[``,k,j,A]}],saturate:[{saturate:[k,j,A]}],sepia:[{sepia:[``,k,j,A]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,j,A]}],"backdrop-blur":[{"backdrop-blur":be()}],"backdrop-brightness":[{"backdrop-brightness":[k,j,A]}],"backdrop-contrast":[{"backdrop-contrast":[k,j,A]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,k,j,A]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[k,j,A]}],"backdrop-invert":[{"backdrop-invert":[``,k,j,A]}],"backdrop-opacity":[{"backdrop-opacity":[k,j,A]}],"backdrop-saturate":[{"backdrop-saturate":[k,j,A]}],"backdrop-sepia":[{"backdrop-sepia":[``,k,j,A]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":x()}],"border-spacing-x":[{"border-spacing-x":x()}],"border-spacing-y":[{"border-spacing-y":x()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,j,A]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[k,`initial`,j,A]}],ease:[{ease:[`linear`,`initial`,_,j,A]}],delay:[{delay:[k,j,A]}],animate:[{animate:[`none`,v,j,A]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,j,A]}],"perspective-origin":[{"perspective-origin":ee()}],rotate:[{rotate:xe()}],"rotate-x":[{"rotate-x":xe()}],"rotate-y":[{"rotate-y":xe()}],"rotate-z":[{"rotate-z":xe()}],scale:[{scale:Se()}],"scale-x":[{"scale-x":Se()}],"scale-y":[{"scale-y":Se()}],"scale-z":[{"scale-z":Se()}],"scale-3d":[`scale-3d`],skew:[{skew:Ce()}],"skew-x":[{"skew-x":Ce()}],"skew-y":[{"skew-y":Ce()}],transform:[{transform:[j,A,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:ee()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:we()}],"translate-x":[{"translate-x":we()}],"translate-y":[{"translate-y":we()}],"translate-z":[{"translate-z":we()}],"translate-none":[`translate-none`],zoom:[{zoom:[Ct,j,A]}],accent:[{accent:T()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:T()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,j,A]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":T()}],"scrollbar-track-color":[{"scrollbar-track":T()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":x()}],"scroll-mx":[{"scroll-mx":x()}],"scroll-my":[{"scroll-my":x()}],"scroll-ms":[{"scroll-ms":x()}],"scroll-me":[{"scroll-me":x()}],"scroll-mbs":[{"scroll-mbs":x()}],"scroll-mbe":[{"scroll-mbe":x()}],"scroll-mt":[{"scroll-mt":x()}],"scroll-mr":[{"scroll-mr":x()}],"scroll-mb":[{"scroll-mb":x()}],"scroll-ml":[{"scroll-ml":x()}],"scroll-p":[{"scroll-p":x()}],"scroll-px":[{"scroll-px":x()}],"scroll-py":[{"scroll-py":x()}],"scroll-ps":[{"scroll-ps":x()}],"scroll-pe":[{"scroll-pe":x()}],"scroll-pbs":[{"scroll-pbs":x()}],"scroll-pbe":[{"scroll-pbe":x()}],"scroll-pt":[{"scroll-pt":x()}],"scroll-pr":[{"scroll-pr":x()}],"scroll-pb":[{"scroll-pb":x()}],"scroll-pl":[{"scroll-pl":x()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,j,A]}],fill:[{fill:[`none`,...T()]}],"stroke-w":[{stroke:[k,Vt,Pt,Ft]}],stroke:[{stroke:[`none`,...T()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`start`,`end`,`right`,`left`],"inset-y":[`inset-bs`,`inset-be`,`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`ps`,`pe`,`pr`,`pl`],py:[`pbs`,`pbe`,`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`ms`,`me`,`mr`,`ml`],my:[`mbs`,`mbe`,`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-s`,`border-w-e`,`border-w-r`,`border-w-l`],"border-w-y":[`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-s`,`border-color-e`,`border-color-r`,`border-color-l`],"border-color-y":[`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-ms`,`scroll-me`,`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-ps`,`scroll-pe`,`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function N(...e){return rn(Ne(e))}var an=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),P=o(((e,t)=>{t.exports=an()}))(),on=`.notice, .update-nag, .updated, .error, #message`;function sn({className:e}){let t=(0,_.useRef)(null);return(0,_.useEffect)(()=>{let e=document.getElementById(`wpbody-content`),n=t.current;if(!e||!n)return;let r=()=>{e.querySelectorAll(`:scope > *`).forEach(e=>{e.id!==`monoranks-admin`&&e.matches(on)&&n.appendChild(e)})};r();let i=new MutationObserver(r);return i.observe(e,{childList:!0}),()=>i.disconnect()},[]),(0,P.jsx)(`div`,{ref:t,className:N(`empty:hidden`,e)})}function F(e,t,n=`plugin-admin`){try{let r=new URL(e);return r.host===new URL(y().apiBase).host?e:(r.searchParams.set(`utm_source`,`wordpress-plugin`),r.searchParams.set(`utm_medium`,`admin`),r.searchParams.set(`utm_campaign`,n),r.searchParams.set(`utm_content`,t),r.toString())}catch{return e}}function cn({which:e,className:t}){return(0,P.jsx)(`span`,{className:N(`inline-flex [&>svg]:block`,t),dangerouslySetInnerHTML:{__html:y().logos[e]}})}var ln=`mx-auto w-full max-w-[1260px] px-10 max-[960px]:px-6 max-[782px]:px-4`;function un({section:e,go:t,title:n,description:r,actions:i,children:a}){let o=y(),s=[{id:`overview`,label:x(`Overview`,`monoranks`),href:o.urls.overview},{id:`settings`,label:x(`Settings`,`monoranks`),href:o.urls.settings}];return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`header`,{className:`bg-band text-band-ink`,children:(0,P.jsxs)(`div`,{className:N(ln,`flex min-h-16 items-center gap-7 max-[782px]:gap-3`),children:[(0,P.jsx)(`a`,{href:o.urls.overview,onClick:e=>{e.preventDefault(),t(`overview`)},className:`inline-flex items-center text-band-ink hover:text-white`,children:(0,P.jsx)(cn,{which:`wordmark`,className:`[&>svg]:h-7 [&>svg]:w-[138px]`})}),(0,P.jsx)(`nav`,{className:`flex self-stretch gap-[22px] max-[782px]:gap-3`,"aria-label":x(`MonoRanks sections`,`monoranks`),children:s.map(n=>(0,P.jsx)(`a`,{href:n.href,onClick:e=>{e.preventDefault(),t(n.id)},"aria-current":e===n.id?`page`:void 0,className:N(`inline-flex items-center border-b-2 pt-[2px] text-[13px] font-medium`,e===n.id?`border-brand text-band-ink`:`border-transparent text-band-muted hover:text-white`),children:n.label},n.id))}),(0,P.jsxs)(`div`,{className:`ms-auto flex items-center gap-1.5`,children:[(0,P.jsx)(`a`,{href:F(o.urls.docs,`header-help`,e),target:`_blank`,rel:`noopener`,className:`inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-[12.5px] font-medium text-band-muted hover:bg-band-edge hover:text-white`,children:x(`Help`,`monoranks`)}),(0,P.jsxs)(`a`,{href:F(o.urls.app,`header-open`,e),target:`_blank`,rel:`noopener`,className:`inline-flex h-8 items-center gap-1.5 rounded-md border border-band-edge px-3 text-[12.5px] font-medium text-band-ink hover:bg-band-edge hover:text-white max-[782px]:hidden`,children:[x(`Open MonoRanks`,`monoranks`),(0,P.jsx)(we,{size:14,className:`mr-flip`})]})]})]})}),(0,P.jsxs)(`div`,{className:N(ln,`flex flex-wrap items-start justify-between gap-x-6 gap-y-3 pb-1.5 pt-[30px]`),children:[(0,P.jsxs)(`div`,{className:`flex min-w-0 flex-[1_1_420px] flex-col gap-1.5`,children:[(0,P.jsx)(`h1`,{className:`text-[26px] font-semibold tracking-[-0.02em] leading-tight text-ink`,children:n}),r&&(0,P.jsx)(`p`,{className:`max-w-[72ch] text-ink2`,children:r})]}),i&&(0,P.jsx)(`div`,{className:`flex flex-wrap items-center gap-2 pt-1`,children:i})]}),(0,P.jsx)(`div`,{className:`wp-header-end`}),(0,P.jsx)(sn,{className:N(ln,`flex flex-col gap-2.5 pt-3`)}),(0,P.jsx)(`main`,{className:N(ln,`flex flex-[1_0_auto] flex-col gap-5 pb-10 pt-[22px]`),children:a}),(0,P.jsx)(dn,{section:e,go:t})]})}function dn({section:e,go:t}){let n=y();return(0,P.jsxs)(`footer`,{className:`mt-auto bg-band text-band-ink`,children:[(0,P.jsxs)(`div`,{className:N(ln,`grid grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto] items-center gap-8 py-7 max-[960px]:grid-cols-[minmax(0,1fr)_auto] max-[960px]:gap-5 max-[782px]:grid-cols-1`),children:[(0,P.jsxs)(`div`,{className:`inline-flex items-center gap-2.5`,children:[(0,P.jsx)(cn,{which:`wordmark`,className:`[&>svg]:h-[26px] [&>svg]:w-[128px]`}),(0,P.jsxs)(`span`,{className:`rounded-md border border-band-edge px-[7px] py-[2px] text-[11px] font-medium text-band-muted`,children:[`v`,n.version]})]}),(0,P.jsxs)(`div`,{className:`min-w-0 border-s border-band-edge ps-7 max-[960px]:col-start-1 max-[960px]:border-0 max-[960px]:ps-0`,children:[(0,P.jsx)(`span`,{className:`mb-1.5 block text-[11px] uppercase tracking-[.08em] text-band-muted`,children:x(`Your data`,`monoranks`)}),(0,P.jsxs)(`a`,{href:n.urls.settings,onClick:e=>{e.preventDefault(),t(`settings`)},className:`inline-flex items-center gap-[7px] text-[13px] text-band-ink hover:text-white hover:underline hover:underline-offset-4`,children:[x(`What is sent and what can change`,`monoranks`),(0,P.jsx)(we,{size:14,className:`mr-flip`})]})]}),(0,P.jsxs)(`a`,{href:F(n.urls.docs,`footer-help`,e),target:`_blank`,rel:`noopener`,className:`block rounded-[9px] border border-band-edge px-[18px] py-3 text-start text-band-ink hover:bg-band-edge hover:text-white max-[960px]:col-start-2 max-[960px]:row-span-2 max-[960px]:row-start-1 max-[782px]:col-auto max-[782px]:row-auto`,children:[(0,P.jsx)(`span`,{className:`mb-1.5 block text-[11px] text-band-muted`,children:x(`Need a hand?`,`monoranks`)}),(0,P.jsxs)(`strong`,{className:`flex items-center justify-between gap-5 text-[13px] font-medium`,children:[x(`Help and resources`,`monoranks`),(0,P.jsx)(Se,{size:14,className:`mr-flip`})]})]})]}),(0,P.jsx)(`div`,{className:N(ln),children:(0,P.jsxs)(`div`,{className:`flex items-center justify-center gap-3 border-t border-band-edge pb-[18px] pt-4 text-[11px] text-band-muted`,children:[(0,P.jsx)(`span`,{children:x(`A product by`,`monoranks`)}),(0,P.jsx)(`a`,{href:F(`https://veronalabs.com/`,`footer-publisher`,e),target:`_blank`,rel:`noopener`,"aria-label":`VeronaLabs`,className:`inline-flex min-h-7 items-center text-band-muted opacity-75 hover:opacity-100 hover:text-band-muted`,children:(0,P.jsx)(cn,{which:`veronalabs`,className:`[&>svg]:h-auto [&>svg]:w-28`})})]})})]})}function fn({notice:e}){if(!e)return null;let t={success:`text-good-ink`,error:`text-critical`,warning:`text-warn`}[e.type],n={success:Oe,error:Ee,warning:O}[e.type];return(0,P.jsxs)(`div`,{className:N(`notice`,`notice-${e.type}`,`flex items-start gap-2.5`),role:`status`,children:[(0,P.jsx)(n,{size:16,className:N(`mt-[1px] shrink-0`,t),"aria-hidden":`true`}),(0,P.jsx)(`p`,{className:`text-ink`,children:e.text})]})}function pn({rows:e}){return(0,P.jsx)(`div`,{className:`grid grid-cols-[150px_minmax(0,1fr)] gap-x-3 gap-y-2 text-[12px] max-[960px]:grid-cols-1`,children:e.map(([e,t],n)=>(0,P.jsxs)(`div`,{className:`contents`,children:[(0,P.jsx)(`div`,{className:`text-mute max-[960px]:mt-1`,children:e}),(0,P.jsx)(`div`,{className:`min-w-0 [overflow-wrap:anywhere]`,children:t})]},n))})}function mn({title:e,text:t}){return(0,P.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-6 py-9 text-center text-ink2`,children:[(0,P.jsx)(`span`,{className:`text-[13px] font-semibold text-ink`,children:e}),(0,P.jsx)(`span`,{className:`text-[12px]`,children:t})]})}function I(e){if(e==null)return`—`;try{return new Intl.NumberFormat(y().locale,{maximumFractionDigits:0}).format(e)}catch{return String(e)}}function hn(e,t=``){return(e>0?`+`:e<0?`−`:``)+I(Math.abs(e))+t}function gn(e){return e==null?`none`:e>=80?`good`:e>=60?`warn`:`critical`}function _n({score:e,size:t=`sm`,label:n}){let r=t===`lg`?64:30,i=t===`lg`?5:3,a=(r-i)/2,o=2*Math.PI*a,s=r/2,c=e===null?x(`Not scored yet`,`monoranks`):C(x(`%s of 100`,`monoranks`),I(e));return(0,P.jsxs)(`span`,{className:N(`mr-score`,`mr-${t}`,`mr-${gn(e)}`),title:(n?`${n}: `:``)+c,children:[(0,P.jsxs)(`span`,{className:`mr-ring`,children:[(0,P.jsx)(`svg`,{width:r,height:r,viewBox:`0 0 ${r} ${r}`,"aria-hidden":`true`,children:e===null?(0,P.jsx)(`circle`,{cx:s,cy:s,r:a,fill:`none`,stroke:`currentColor`,strokeWidth:i,strokeDasharray:`3 4`}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`circle`,{cx:s,cy:s,r:a,fill:`none`,stroke:`var(--grayTrack)`,strokeWidth:i}),(0,P.jsx)(`circle`,{cx:s,cy:s,r:a,fill:`none`,stroke:`currentColor`,strokeWidth:i,strokeLinecap:`round`,strokeDasharray:`${o*e/100} ${o}`,transform:`rotate(-90 ${s} ${s})`})]})}),(0,P.jsx)(`span`,{children:e===null?`—`:I(e)})]}),n&&(0,P.jsx)(`span`,{className:`mr-lbl`,children:n})]})}function vn({n:e,unit:t=``,period:n=`week`}){if(e==null)return null;let r=e>0?`text-good-ink`:e<0?`text-critical`:`text-mute`,i=`⁨`+hn(e,t)+`⁩`,a=C(x(n===`previous28`?`%s vs previous 28 days`:`%s this week`,`monoranks`),i);return(0,P.jsx)(`span`,{className:N(`text-[12px] font-medium`,r),children:a})}function yn({series:e}){if(e.length<2)return null;let t=Math.max(1,...e),n=e.map((n,r)=>[Math.round(200*r/(e.length-1)*10)/10,Math.round((34-30*n/t)*10)/10]),r=`M`+n.map(e=>e.join(` `)).join(` L`),i=n[n.length-1];return(0,P.jsxs)(`svg`,{className:`block h-[38px] w-full`,viewBox:`0 0 200 38`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,P.jsx)(`path`,{d:`${r} L200 38 L0 38 Z`,fill:`var(--accentSoft)`}),(0,P.jsx)(`path`,{d:r,fill:`none`,stroke:`var(--accent)`,strokeWidth:`1.5`}),(0,P.jsx)(`circle`,{cx:i[0],cy:i[1],r:`2.5`,fill:`var(--accent)`})]})}var bn=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,xn=Ne,Sn=(e,t)=>n=>{if(t?.variants==null)return xn(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=bn(t)||bn(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return xn(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},Cn=Sn(`inline-flex shrink-0 items-center whitespace-nowrap font-medium`,{variants:{variant:{badge:`h-5 gap-[5px] rounded-sm bg-surface2 px-[7px] text-[11px] text-ink2`,warn:`h-5 gap-[5px] rounded-sm bg-surface2 px-[7px] text-[11px] text-warn`,pill:`h-[22px] gap-[6px] rounded-full bg-surface2 ps-[7px] pe-2 text-[12px] text-ink`}},defaultVariants:{variant:`badge`}});function L({className:e,variant:t,...n}){return(0,P.jsx)(`span`,{"data-slot":`badge`,className:N(Cn({variant:t}),e),...n})}function wn({tone:e=`muted`}){let t={good:`bg-good`,warn:`bg-warn`,critical:`bg-critical`,muted:`bg-mute`}[e];return(0,P.jsx)(`span`,{className:N(`inline-block h-2 w-2 shrink-0 rounded-full`,t)})}var Tn=Object.defineProperty,En=(e,t)=>Tn(e,`name`,{value:t,configurable:!0});function Dn(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}En(Dn,`setRef`);function On(...e){return t=>{let n=!1,r=e.map(e=>{let r=Dn(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;tAn(e,`name`,{value:t,configurable:!0});function Mn(e){let t=_.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];Vn(r)&&typeof Gn==`function`&&(r=Gn(r._payload)),_.Children.forEach(r,e=>{if(zn(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;Vn(n)&&typeof Gn==`function`&&(n=Gn(n._payload)),a=In(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=_.cloneElement(a,void 0,s):!o&&_.Children.count(r)===1&&_.isValidElement(r)&&(a=r);let c=a?Rn(a):void 0,l=kn(n,c);if(!a){if(r||r===0)throw Error(o?Wn(e):Un(e));return r}let u=Ln(i,a.props??{});return a.type!==_.Fragment&&(u.ref=n?l:c),_.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}jn(Mn,`createSlot`);var Nn=Mn(`Slot`),Pn=Symbol.for(`radix.slottable`);function Fn(e){let t=jn(e=>`child`in e?e.children(e.child):e.children,`Slottable`);return t.displayName=`${e}.Slottable`,t.__radixId=Pn,t}jn(Fn,`createSlottable`);var In=jn((e,t)=>{if(`child`in e.props){let t=e.props.child;return _.isValidElement(t)?_.cloneElement(t,void 0,e.props.children(t.props.children)):null}return _.isValidElement(t)?t:null},`getSlottableElementFromSlottable`);function Ln(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}jn(Ln,`mergeProps`);function Rn(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}jn(Rn,`getElementRef`);function zn(e){return _.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Pn}jn(zn,`isSlottable`);var Bn=Symbol.for(`react.lazy`);function Vn(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===Bn&&`_payload`in e&&Hn(e._payload)}jn(Vn,`isLazyComponent`);function Hn(e){return typeof e==`object`&&!!e&&`then`in e}jn(Hn,`isPromiseLike`);var Un=jn(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,`createSlotError`),Wn=jn(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,`createSlottableError`),Gn=_.use,Kn=Sn(`inline-flex items-center justify-center gap-[7px] whitespace-nowrap rounded-md border text-[13px] font-medium leading-none transition-[background-color,border-color,color,opacity] duration-100 disabled:pointer-events-none disabled:opacity-55 [&_svg]:pointer-events-none [&_svg]:shrink-0 cursor-pointer`,{variants:{variant:{default:`border-border bg-surface text-ink hover:bg-surface2 hover:border-line`,primary:`border-primary bg-primary text-primary-foreground hover:opacity-85`,accent:`border-brand bg-brand text-white hover:opacity-85`,ghost:`border-transparent bg-transparent text-ink2 hover:bg-surface3 hover:text-ink`,danger:`border-critical/50 bg-surface text-critical hover:border-critical hover:bg-critical hover:text-white`,dangerSolid:`border-critical bg-critical text-white hover:opacity-85`},size:{default:`h-[34px] px-3`,sm:`h-7 px-[10px] text-[12px]`,icon:`h-8 w-8 px-0`}},defaultVariants:{variant:`default`,size:`default`}});function R({className:e,variant:t,size:n,asChild:r=!1,children:i,...a}){let o=a[`aria-busy`]===!0||a[`aria-busy`]===`true`,s=N(Kn({variant:t,size:n,className:e}),o&&`pointer-events-none opacity-85`);return r?(0,P.jsx)(Nn,{"data-slot":`button`,className:s,...a,children:i}):(0,P.jsxs)(`button`,{"data-slot":`button`,className:s,...a,children:[o&&(0,P.jsx)(`span`,{className:`spin`,"aria-hidden":`true`}),i]})}function qn({rows:e,onUndo:t,busy:n}){if(!e.length)return(0,P.jsx)(mn,{title:x(`No changes yet`,`monoranks`),text:x(`Fixes you approve in MonoRanks show up here, each with Undo.`,`monoranks`)});let r=`whitespace-nowrap border-b border-border px-[12px] py-[11px] text-start text-[12px] font-medium text-mute`,i=`border-b border-grid px-[12px] py-3 align-middle text-[12px] group-last:border-b-0`,a=`overflow-hidden text-ellipsis whitespace-nowrap text-start`;return(0,P.jsx)(`div`,{className:`rounded-b-xl`,children:(0,P.jsxs)(`table`,{className:`w-full table-fixed border-collapse`,children:[(0,P.jsxs)(`colgroup`,{children:[(0,P.jsx)(`col`,{className:`w-[15%] min-w-[130px]`}),(0,P.jsx)(`col`,{className:`w-[12%]`}),(0,P.jsx)(`col`,{className:`w-[12%]`}),(0,P.jsx)(`col`,{className:`w-[18%]`}),(0,P.jsx)(`col`,{}),(0,P.jsx)(`col`,{}),(0,P.jsx)(`col`,{className:`w-[96px]`})]}),(0,P.jsx)(`thead`,{children:(0,P.jsxs)(`tr`,{children:[(0,P.jsx)(`th`,{className:r,children:x(`When`,`monoranks`)}),(0,P.jsx)(`th`,{className:r,children:x(`Who`,`monoranks`)}),(0,P.jsx)(`th`,{className:r,children:x(`Field`,`monoranks`)}),(0,P.jsx)(`th`,{className:r,children:x(`Where`,`monoranks`)}),(0,P.jsx)(`th`,{className:r,children:x(`Before`,`monoranks`)}),(0,P.jsx)(`th`,{className:r,children:x(`After`,`monoranks`)}),(0,P.jsx)(`th`,{className:r})]})}),(0,P.jsx)(`tbody`,{children:e.map(e=>(0,P.jsxs)(`tr`,{className:`group hover:[&>td]:bg-surface2`,children:[(0,P.jsx)(`td`,{className:`${i} tabular-nums`,children:(0,P.jsx)(`div`,{className:a,title:e.when,children:e.when})}),(0,P.jsx)(`td`,{className:i,children:(0,P.jsx)(`div`,{className:a,title:e.actor,children:e.actor})}),(0,P.jsx)(`td`,{className:i,children:(0,P.jsx)(L,{className:`max-w-full overflow-hidden text-ellipsis whitespace-nowrap`,title:e.fieldLabel,children:e.fieldLabel})}),(0,P.jsx)(`td`,{className:i,children:(0,P.jsx)(`div`,{className:a,dir:`auto`,title:e.where,children:e.where})}),(0,P.jsx)(`td`,{className:`${i} text-mute`,children:(0,P.jsx)(`div`,{className:a,dir:`auto`,title:e.previous,children:e.previous||`—`})}),(0,P.jsx)(`td`,{className:i,children:(0,P.jsx)(`div`,{className:a,dir:`auto`,title:e.value,children:e.value||`—`})}),(0,P.jsx)(`td`,{className:`${i} text-end`,children:(0,P.jsxs)(R,{variant:`ghost`,size:`sm`,disabled:n!==null,"aria-busy":n===e.index,onClick:()=>t(e),children:[n!==e.index&&(0,P.jsx)(je,{size:13,className:`mr-flip`}),x(`Undo`,`monoranks`)]})})]},e.index))})]})})}function Jn({className:e,...t}){return(0,P.jsx)(`div`,{"data-slot":`card`,className:N(`min-w-0 rounded-xl border border-border bg-surface`,e),...t})}function Yn({className:e,...t}){return(0,P.jsx)(`div`,{"data-slot":`card-header`,className:N(`flex flex-wrap items-center justify-between gap-3 px-[22px] pt-[18px]`,e),...t})}function Xn({className:e,...t}){return(0,P.jsx)(`h2`,{"data-slot":`card-title`,className:N(`inline-flex items-center gap-2 text-[15px] font-semibold text-ink`,e),...t})}function Zn({className:e,...t}){return(0,P.jsx)(`div`,{"data-slot":`card-body`,className:N(`px-[22px] pb-[22px] pt-4`,e),...t})}var Qn={target:`_blank`,rel:`noopener`};function $n(){let[e,t]=(0,_.useState)(null),[n,r]=(0,_.useState)(!1);if((0,_.useEffect)(()=>{w.grow().then(t).catch(()=>r(!0))},[]),n)return null;if(!e)return(0,P.jsx)(`section`,{"aria-label":x(`What to do next`,`monoranks`),"aria-busy":`true`,className:`grid grid-cols-2 gap-5 max-[960px]:grid-cols-1`,children:[0,1,2,3].map(e=>(0,P.jsx)(Jn,{className:`h-[180px] animate-pulse bg-surface2`},e))});if(!e.connected)return null;let i=e.scope_url??``;return(0,P.jsxs)(`section`,{"aria-labelledby":`mr-grow-title`,className:`flex flex-col gap-3`,children:[(0,P.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-2`,children:[(0,P.jsx)(`h2`,{id:`mr-grow-title`,className:`text-[15px] font-semibold text-ink`,children:x(`What to do next`,`monoranks`)}),e.fetched&&(0,P.jsx)(`span`,{className:`text-[11px] text-mute`,children:C(x(`Updated %s`,`monoranks`),e.fetched)})]}),(0,P.jsxs)(`div`,{className:`grid grid-cols-2 items-start gap-5 max-[960px]:grid-cols-1`,children:[(0,P.jsx)(nr,{d:e.outreach,scope:i}),(0,P.jsx)(rr,{d:e.backlinks,scope:i}),(0,P.jsx)(ir,{d:e.competitors,scope:i}),(0,P.jsx)(ar,{d:e.keywords,scope:i})]}),(0,P.jsx)(or,{d:e.report})]})}function er({state:e,scope:t,empty:n}){let r=n;return e===`no_access`?r=(0,P.jsxs)(P.Fragment,{children:[x(`The MonoRanks key of this site cannot read this yet. Allow it under Integrations in MonoRanks, or connect again.`,`monoranks`),` `,t&&(0,P.jsx)(`a`,{className:`font-medium text-brand-ink hover:underline`,href:F(t,`grow-scope`),...Qn,children:x(`Open Integrations`,`monoranks`)})]}):e===`off`?r=x(`Not available in your MonoRanks yet.`,`monoranks`):e===`error`?r=x(`MonoRanks could not be reached. The plugin tries again within the hour.`,`monoranks`):e===`pending`&&(r=x(`Still loading. Reload this screen in a minute.`,`monoranks`)),(0,P.jsx)(`p`,{className:`m-0 text-[12px] text-ink2`,children:r})}function tr({title:e,badge:t,link:n,linkText:r,children:i}){return(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsxs)(Xn,{children:[e,t]}),n&&(0,P.jsx)(R,{variant:`ghost`,size:`sm`,asChild:!0,children:(0,P.jsxs)(`a`,{href:F(n,`grow-card`),...Qn,children:[r,(0,P.jsxs)(`span`,{className:`sr-only`,children:[` `,x(`(opens in a new tab)`,`monoranks`)]})]})})]}),(0,P.jsx)(Zn,{className:`flex flex-col gap-3 pt-3`,children:i})]})}function nr({d:e,scope:t}){let n=e?.state===`ok`?e:null;return(0,P.jsx)(tr,{title:x(`Outreach`,`monoranks`),badge:n&&n.to_contact>0?(0,P.jsx)(L,{children:C(S(`%s to contact`,`%s to contact`,n.to_contact,`monoranks`),I(n.to_contact))}):void 0,link:n?.link||e?.link,linkText:x(`All targets`,`monoranks`),children:n?(0,P.jsxs)(P.Fragment,{children:[n.top.length>0?(0,P.jsx)(`ol`,{className:`m-0 flex list-none flex-col gap-2.5 p-0`,children:n.top.map(e=>(0,P.jsxs)(`li`,{className:`grid gap-0.5`,children:[(0,P.jsxs)(`a`,{className:`truncate text-[13px] font-semibold text-ink hover:underline`,href:e.url,...Qn,children:[(0,P.jsx)(`bdi`,{children:e.title}),(0,P.jsxs)(`span`,{className:`sr-only`,children:[` `,x(`(opens in a new tab)`,`monoranks`)]})]}),(0,P.jsxs)(`span`,{className:`text-[12px] text-ink2`,children:[e.why,e.domain&&(0,P.jsxs)(P.Fragment,{children:[` · `,(0,P.jsx)(`bdi`,{className:`text-mute`,children:e.domain})]})]})]},e.url))}):(0,P.jsx)(er,{state:`empty`,scope:t,empty:x(`Every target is contacted. MonoRanks looks for new ones each week.`,`monoranks`)}),(0,P.jsx)(`p`,{className:`m-0 text-[11px] text-mute`,children:x(`Sites worth asking for a link or a mention. MonoRanks never sends email; you reach out and set the status there.`,`monoranks`)})]}):(0,P.jsx)(er,{state:e?.state??`pending`,scope:t,empty:x(`No outreach targets yet. MonoRanks looks for pages worth a link each week.`,`monoranks`)})})}function rr({d:e,scope:t}){let n=e?.state===`ok`?e:null;return(0,P.jsx)(tr,{title:x(`Backlinks`,`monoranks`),link:n?.link||e?.link,linkText:x(`All backlinks`,`monoranks`),children:n?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-5 gap-y-1`,children:[(0,P.jsxs)(`span`,{className:`text-2xl font-semibold leading-none tabular-nums text-good-ink`,children:[`+`,I(n.new)]}),(0,P.jsxs)(`span`,{className:`text-2xl font-semibold leading-none tabular-nums text-critical`,children:[`−`,I(n.lost)]}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`websites linking to you, won and lost in 28 days`,`monoranks`)})]}),(0,P.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,P.jsx)(L,{variant:`pill`,children:C(S(`%s website links to you`,`%s websites link to you`,n.domains,`monoranks`),I(n.domains))}),n.review>0&&(0,P.jsx)(L,{variant:`pill`,children:C(S(`%s to review for spam`,`%s to review for spam`,n.review,`monoranks`),I(n.review))})]}),n.top.length>0&&(0,P.jsxs)(`div`,{className:`grid gap-1`,children:[(0,P.jsx)(`span`,{className:`text-[12px] text-mute`,children:x(`Newest strong links`,`monoranks`)}),(0,P.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-3 gap-y-1 p-0 text-[12px]`,children:n.top.map(e=>(0,P.jsxs)(`li`,{children:[(0,P.jsx)(`bdi`,{children:e.domain}),e.rank!==null&&(0,P.jsxs)(`span`,{className:`text-mute`,children:[` · `,C(x(`strength %s`,`monoranks`),I(e.rank))]})]},e.domain))})]})]}):(0,P.jsx)(er,{state:e?.state??`pending`,scope:t,empty:x(`No backlink data yet. MonoRanks refreshes it weekly.`,`monoranks`)})})}function ir({d:e,scope:t}){let n=e?.state===`ok`?e:null;return(0,P.jsx)(tr,{title:x(`Competitors`,`monoranks`),badge:n&&n.gaps?(0,P.jsx)(L,{children:C(S(`%s keyword gap`,`%s keyword gaps`,n.gaps,`monoranks`),I(n.gaps))}):void 0,link:n?.link||e?.link,linkText:x(`All competitors`,`monoranks`),children:n?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-2 p-0`,children:n.top.map(e=>(0,P.jsxs)(`li`,{className:`grid gap-0.5`,children:[(0,P.jsxs)(`span`,{className:`text-[13px] font-semibold`,children:[(0,P.jsx)(`bdi`,{children:e.domain}),!e.picked&&(0,P.jsx)(`span`,{className:`ms-1.5 text-[11px] font-normal text-mute`,children:x(`suggested`,`monoranks`)})]}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:e.reason||C(S(`%1$s shared keyword, %2$s where they rank higher`,`%1$s shared keywords, %2$s where they rank higher`,e.shared,`monoranks`),I(e.shared),I(e.above_us))})]},e.domain))}),n.keywords.length>0&&(0,P.jsxs)(`div`,{className:`grid gap-1`,children:[(0,P.jsx)(`span`,{className:`text-[12px] text-mute`,children:x(`They rank for these, you do not`,`monoranks`)}),(0,P.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-1.5 p-0`,children:n.keywords.map(e=>(0,P.jsx)(`li`,{children:(0,P.jsxs)(L,{variant:`pill`,children:[(0,P.jsx)(`bdi`,{children:e.keyword}),e.volume!==null&&(0,P.jsx)(`span`,{className:`tabular-nums text-ink2`,children:C(x(`%s/mo`,`monoranks`),I(e.volume))})]})},e.keyword))})]})]}):(0,P.jsx)(er,{state:e?.state??`pending`,scope:t,empty:x(`No competitors yet. Pick some in MonoRanks to see the keywords they win.`,`monoranks`)})})}function ar({d:e,scope:t}){let n=e?.state===`ok`?e:null,r=({k:e,up:t})=>(0,P.jsxs)(`li`,{className:`flex items-baseline justify-between gap-3 text-[12px]`,children:[(0,P.jsx)(`bdi`,{className:`min-w-0 truncate`,children:e.keyword}),(0,P.jsxs)(`span`,{className:`shrink-0 tabular-nums ${t?`text-good-ink`:`text-critical`}`,children:[(0,P.jsxs)(`span`,{className:`sr-only`,children:[x(t?`up`:`down`,`monoranks`),` `]}),C(x(`%1$s → %2$s`,`monoranks`),I(e.from),I(e.to))]})]});return(0,P.jsx)(tr,{title:x(`Keyword movers this week`,`monoranks`),link:n?.link||e?.link,linkText:x(`All keywords`,`monoranks`),children:n?n.up.length||n.down.length?(0,P.jsxs)(`div`,{className:`grid grid-cols-2 gap-4 max-[600px]:grid-cols-1`,children:[(0,P.jsxs)(`div`,{className:`grid content-start gap-1`,children:[(0,P.jsx)(`span`,{className:`text-[12px] font-medium text-ink2`,children:x(`Up`,`monoranks`)}),n.up.length?(0,P.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-1 p-0`,children:n.up.map(e=>(0,P.jsx)(r,{k:e,up:!0},e.keyword))}):(0,P.jsx)(`span`,{className:`text-[12px] text-mute`,children:`—`})]}),(0,P.jsxs)(`div`,{className:`grid content-start gap-1`,children:[(0,P.jsx)(`span`,{className:`text-[12px] font-medium text-ink2`,children:x(`Down`,`monoranks`)}),n.down.length?(0,P.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-1 p-0`,children:n.down.map(e=>(0,P.jsx)(r,{k:e,up:!1},e.keyword))}):(0,P.jsx)(`span`,{className:`text-[12px] text-mute`,children:`—`})]})]}):(0,P.jsx)(`p`,{className:`m-0 text-[12px] text-ink2`,children:C(S(`Your %s tracked keyword held its place this week.`,`Your %s tracked keywords held their places this week.`,n.tracked,`monoranks`),I(n.tracked))}):(0,P.jsx)(er,{state:e?.state??`pending`,scope:t,empty:x(`No tracked keywords yet. Track some in MonoRanks to see them move here.`,`monoranks`)})})}function or({d:e}){if(!e||e.state!==`ok`&&e.state!==`empty`)return null;let t=e.state===`ok`?e.emails??[]:[],n=e.state===`ok`?e.reports??[]:[];return(0,P.jsx)(Jn,{className:`grid gap-3 px-5 py-3.5`,children:e.state===`empty`?(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,P.jsx)(`span`,{className:`text-[13px] text-ink2`,children:x(`No reports yet. Create a website report, a client report or a weekly email in MonoRanks to share progress.`,`monoranks`)}),e.all_link&&(0,P.jsx)(R,{size:`sm`,variant:`ghost`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(e.all_link,`reports`),...Qn,children:x(`Open reports`,`monoranks`)})})]}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,P.jsx)(`b`,{className:`text-[13px] font-semibold`,children:x(`Reports`,`monoranks`)}),e.all_link&&(0,P.jsx)(R,{size:`sm`,variant:`ghost`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(e.all_link,`reports`),...Qn,children:x(`Open reports`,`monoranks`)})})]}),(0,P.jsxs)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:[t.map((e,t)=>(0,P.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b border-grid py-2 last:border-b-0`,children:[(0,P.jsxs)(`span`,{className:`text-[13px]`,children:[(0,P.jsx)(`b`,{className:`font-semibold`,children:(0,P.jsx)(`bdi`,{children:e.name})}),` `,(0,P.jsxs)(`span`,{className:`text-mute`,children:[`· `,x(`Weekly email`,`monoranks`)]})]}),(0,P.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2 text-[12px] text-ink2`,children:[e.enabled&&e.next_label?(0,P.jsx)(`span`,{children:C(x(`Next send %s`,`monoranks`),e.next_label)}):null,(0,P.jsx)(`span`,{children:C(S(`%s recipient`,`%s recipients`,e.recipients,`monoranks`),I(e.recipients))}),(0,P.jsx)(L,{children:e.enabled?x(`On`,`monoranks`):x(`Off`,`monoranks`)})]})]},`e${t}`)),n.map((e,t)=>(0,P.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b border-grid py-2 last:border-b-0`,children:[(0,P.jsxs)(`span`,{className:`text-[13px]`,children:[(0,P.jsx)(`b`,{className:`font-semibold`,children:(0,P.jsx)(`bdi`,{children:e.scope||e.title})}),` `,(0,P.jsxs)(`span`,{className:`text-mute`,children:[`· `,e.client?x(`Client report`,`monoranks`):x(`Report`,`monoranks`),e.when?` · ${e.when}`:``]})]}),e.link&&(0,P.jsx)(R,{size:`sm`,asChild:!0,children:(0,P.jsxs)(`a`,{href:F(e.link,`latest-report`),...Qn,children:[x(`Open report`,`monoranks`),(0,P.jsxs)(`span`,{className:`sr-only`,children:[` `,x(`(opens in a new tab)`,`monoranks`)]})]})})]},`r${t}`))]})]})})}var sr=`whitespace-nowrap border-b border-border px-[10px] py-[11px] text-start text-[12px] font-medium text-mute`,cr=`border-b border-grid px-[10px] py-3 align-middle group-last:border-b-0`;function lr(e,t){let n=e.replace(/<[^>]+>/g,``).trim();return n.length>t?n.slice(0,t-1)+`…`:n}function ur(e){try{let t=new URL(e);return t.pathname+t.search}catch{return e}}function dr({fix:e,labels:t}){let n=e.title||(e.field===`redirect`?e.from:x(`Site`,`monoranks`)),r=e.before?lr(e.before,90):null;return(0,P.jsxs)(`div`,{className:`grid min-w-0 flex-1 gap-1`,children:[(0,P.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,P.jsx)(L,{children:t[e.field]??e.field}),(0,P.jsx)(`span`,{className:`min-w-0 truncate text-[12px] text-ink2`,children:e.field===`redirect`||e.field===`ai_bots`||e.field===`llms_txt`?(0,P.jsx)(`b`,{className:`font-semibold text-ink`,children:(0,P.jsx)(`bdi`,{children:n})}):(0,P.jsx)(`bdi`,{children:C(x(`on %s`,`monoranks`),n)})})]}),e.field===`alt`&&e.image&&(0,P.jsx)(`span`,{className:`truncate text-[11px] text-mute`,children:(0,P.jsx)(`bdi`,{children:C(x(`Image: %s`,`monoranks`),e.image)})}),e.field===`content`?(0,P.jsx)(`span`,{className:`text-[12px] text-mute`,children:x(`Adds one answer-first paragraph at the top. Review the before/after in MonoRanks first.`,`monoranks`)}):(0,P.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-1.5 text-[12px]`,children:[(0,P.jsx)(`span`,{className:`text-mute`,children:r?(0,P.jsx)(`s`,{children:(0,P.jsx)(`bdi`,{children:r})}):x(`(empty)`,`monoranks`)}),(0,P.jsx)(`span`,{"aria-hidden":`true`,children:`→`}),(0,P.jsx)(`span`,{className:`sr-only`,children:x(`changes to`,`monoranks`)}),(0,P.jsx)(`b`,{className:`font-semibold`,children:(0,P.jsx)(`bdi`,{children:lr(e.after,120)})})]}),e.note&&(0,P.jsx)(`span`,{className:`text-[11px] text-mute`,children:(0,P.jsx)(`bdi`,{children:e.note})})]})}function fr({go:e}){let t=y(),[n,r]=(0,_.useState)(null),[i,a]=(0,_.useState)(null),[o,s]=(0,_.useState)(t.notice),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)(null);(0,_.useEffect)(()=>{w.overview().then(r).catch(e=>a(se(e,x(`Could not load the overview.`,`monoranks`))))},[]);async function f(e,t){l(e);try{let e=await t();s(e.notice),r(e.data),window.scrollTo({top:0})}catch(e){s({type:`error`,text:se(e,x(`Something went wrong. Try again.`,`monoranks`))})}finally{l(null),d(null)}}let p=n?.overview??null,m=typeof p?.to_review?.needs_value==`number`?p.to_review.needs_value:null,h=p?.to_review&&(p.to_review.total>0||(m??0)>0)&&p.to_review.review_url?p.to_review:null,g=n?p?(0,P.jsxs)(P.Fragment,{children:[x(`Weekly SEO, AEO and GEO audit of`,`monoranks`),` `,(0,P.jsx)(`code`,{children:n.host}),n.audited&&(0,P.jsxs)(P.Fragment,{children:[` · `,C(x(`last audit %s`,`monoranks`),n.audited)]}),p.pages_total>0&&(0,P.jsxs)(P.Fragment,{children:[` · `,C(x(`%1$s of %2$s published pages scored`,`monoranks`),I(p.pages_scored),I(p.pages_total))]})]}):x(`Weekly SEO, AEO and GEO audits, with the fixes you approve written into WordPress.`,`monoranks`):`\xA0`,v=n?.connected?(0,P.jsx)(R,{variant:`primary`,disabled:c!==null,"aria-busy":c===`sync`,onClick:()=>f(`sync`,()=>w.sync(`overview`)),children:x(`Sync content now`,`monoranks`)}):null;return(0,P.jsxs)(un,{section:`overview`,go:e,title:x(`Overview`,`monoranks`),description:g,actions:v,children:[(0,P.jsx)(fn,{notice:o}),i&&(0,P.jsx)(fn,{notice:{type:`error`,text:i}}),!n&&!i&&(0,P.jsx)(pr,{}),n&&(!n.connected||n.revoked)&&(0,P.jsx)(mr,{revoked:n.revoked,go:e}),n&&n.connected&&!n.revoked&&!p&&(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(gr,{data:n}),(0,P.jsx)($n,{})]}),n&&p&&(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`div`,{className:`grid grid-cols-4 gap-[14px] max-[960px]:grid-cols-2 max-[600px]:grid-cols-1`,children:[(0,P.jsxs)(Jn,{className:`flex flex-col gap-2.5 px-5 py-[18px]`,children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,P.jsx)(`span`,{className:`text-[12px] font-medium text-ink2`,children:x(`Health score`,`monoranks`)}),(0,P.jsx)(vn,{n:p.deltas.health})]}),(0,P.jsxs)(`div`,{className:`flex items-center gap-[14px]`,children:[(0,P.jsx)(_n,{score:p.health,size:`lg`}),(0,P.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`Technical, on-page, links, speed`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[11px] text-mute`,children:C(S(`Site average, %s page`,`Site average, %s pages`,p.pages_scored,`monoranks`),I(p.pages_scored))})]})]})]}),(0,P.jsxs)(Jn,{className:`flex flex-col gap-2.5 px-5 py-[18px]`,children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,P.jsx)(`span`,{className:`text-[12px] font-medium text-ink2`,children:x(`AEO score`,`monoranks`)}),(0,P.jsx)(vn,{n:p.deltas.aeo})]}),(0,P.jsxs)(`div`,{className:`flex items-center gap-[14px]`,children:[(0,P.jsx)(_n,{score:p.aeo,size:`lg`}),(0,P.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`Answer-first, structure, entities`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[11px] text-mute`,children:x(`How well AI answers can use your pages`,`monoranks`)})]})]})]}),(0,P.jsxs)(Jn,{className:`flex flex-col gap-2.5 px-5 py-[18px]`,children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,P.jsx)(`span`,{className:`text-[12px] font-medium text-ink2`,children:x(`Search clicks, 28 days`,`monoranks`)}),p.traffic&&(0,P.jsx)(vn,{n:p.traffic.delta_pct,unit:`%`,period:`previous28`})]}),p.traffic?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`div`,{className:`text-2xl font-semibold leading-none tabular-nums tracking-[-0.01em]`,children:I(p.traffic.clicks_28d)}),(0,P.jsx)(yn,{series:p.traffic.series}),(0,P.jsx)(`span`,{className:`text-[11px] text-mute`,children:x(`From Google Search Console, through MonoRanks`,`monoranks`)})]}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`div`,{className:`text-2xl font-semibold text-mute`,children:`—`}),(0,P.jsx)(`span`,{className:`text-[11px] text-mute`,children:x(`Connect Google Search Console in MonoRanks to see clicks here.`,`monoranks`)})]})]}),(0,P.jsxs)(Jn,{className:`flex flex-col gap-2.5 px-5 py-[18px]`,children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,P.jsx)(`span`,{className:`text-[12px] font-medium text-ink2`,children:x(`Fixes`,`monoranks`)}),p.fixes.ready>0&&(0,P.jsx)(L,{children:C(x(`%s ready`,`monoranks`),I(p.fixes.ready))})]}),(0,P.jsxs)(`div`,{className:`text-2xl font-semibold leading-none tabular-nums tracking-[-0.01em]`,children:[I(p.fixes.applied_30d),` `,(0,P.jsx)(`span`,{className:`text-[12px] font-normal text-ink2`,children:x(`applied in 30 days`,`monoranks`)})]}),h&&h.total>0&&(0,P.jsxs)(`a`,{className:`text-[12px] font-medium text-brand-ink hover:underline`,href:F(h.review_url,`fixes-card`),target:`_blank`,rel:`noopener`,children:[C(x(`%s waiting for your approval in MonoRanks`,`monoranks`),I(h.total)),` →`]}),(0,P.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,P.jsxs)(L,{variant:`pill`,children:[(0,P.jsx)(wn,{tone:p.ai.bots_rules?`good`:`muted`}),p.ai.bots_rules?x(`AI crawler rules on`,`monoranks`):x(`No AI crawler rules`,`monoranks`)]}),(0,P.jsxs)(L,{variant:`pill`,children:[(0,P.jsx)(wn,{tone:p.ai.llms_txt?`good`:`muted`}),p.ai.llms_txt?x(`llms.txt published`,`monoranks`):x(`No llms.txt`,`monoranks`)]})]})]})]}),!n.revoked&&(0,P.jsx)($n,{}),(0,P.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,3fr)_minmax(0,2fr)] items-start gap-5 max-[960px]:grid-cols-1`,children:[(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsx)(Xn,{children:x(`Pages needing attention`,`monoranks`)}),(0,P.jsx)(R,{variant:`ghost`,size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(n.app_url,`all-pages`),target:`_blank`,rel:`noopener`,children:x(`All pages in MonoRanks`,`monoranks`)})})]}),p.attention.length?(0,P.jsx)(`div`,{className:`overflow-x-auto rounded-b-xl pt-2`,children:(0,P.jsxs)(`table`,{className:`w-full border-collapse`,children:[(0,P.jsx)(`thead`,{children:(0,P.jsxs)(`tr`,{children:[(0,P.jsx)(`th`,{className:sr,children:x(`Page`,`monoranks`)}),(0,P.jsx)(`th`,{className:sr,children:x(`Health`,`monoranks`)}),(0,P.jsx)(`th`,{className:sr,children:x(`AEO`,`monoranks`)}),(0,P.jsx)(`th`,{className:sr,children:x(`Biggest issue`,`monoranks`)}),(0,P.jsx)(`th`,{className:sr})]})}),(0,P.jsx)(`tbody`,{children:p.attention.map(e=>(0,P.jsxs)(`tr`,{className:`group hover:[&>td]:bg-surface2`,children:[(0,P.jsx)(`td`,{className:cr,children:(0,P.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,P.jsx)(`b`,{className:`font-semibold`,children:e.title||e.url}),e.url&&(0,P.jsx)(`code`,{className:`max-w-[180px] text-[11px]`,children:ur(e.url)})]})}),(0,P.jsx)(`td`,{className:cr,children:(0,P.jsx)(_n,{score:e.health})}),(0,P.jsx)(`td`,{className:cr,children:(0,P.jsx)(_n,{score:e.aeo})}),(0,P.jsx)(`td`,{className:`${cr} text-[12px]`,children:e.issue}),(0,P.jsx)(`td`,{className:`${cr} text-end`,children:e.page_url&&(0,P.jsx)(R,{size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(e.page_url,`fix-page`),target:`_blank`,rel:`noopener`,children:x(`Fix in MonoRanks`,`monoranks`)})})})]},e.post_id+e.url))})]})}):(0,P.jsx)(mn,{title:x(`Nothing needs attention`,`monoranks`),text:x(`Every scored page is above 60. The next audit may change that.`,`monoranks`)})]}),(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsxs)(Xn,{children:[x(`Ready to apply`,`monoranks`),p.ready.length>0&&(0,P.jsx)(L,{children:I(p.ready.length)})]}),p.ready.length>1&&(0,P.jsx)(R,{variant:`primary`,size:`sm`,disabled:c!==null,"aria-busy":c===`all`,onClick:()=>f(`all`,()=>w.apply(`all`)),children:x(`Apply all`,`monoranks`)})]}),(0,P.jsxs)(Zn,{className:`flex flex-col pt-1.5`,children:[p.ready.length===0&&h&&(0,P.jsxs)(`div`,{className:`flex flex-col gap-3 py-2`,children:[(0,P.jsxs)(`div`,{className:`grid gap-1`,children:[m===null?(0,P.jsx)(`b`,{className:`text-[13px] font-semibold`,children:C(x(`%s fixes are ready for your approval`,`monoranks`),I(h.total))}):(0,P.jsx)(`b`,{className:`text-[13px] font-semibold`,children:[h.total>0&&C(S(`%s ready to apply`,`%s ready to apply`,h.total,`monoranks`),I(h.total)),m>0&&C(S(`%s needs a value in MonoRanks`,`%s need a value in MonoRanks`,m,`monoranks`),I(m))].filter(Boolean).join(` · `)}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(m!==null&&m>0?`Type a value or draft one with AI in MonoRanks, approve it, and it is written here, with undo.`:`Approve them in MonoRanks and they are written here, with undo.`,`monoranks`)})]}),(0,P.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:Object.entries(h.by_field).sort((e,t)=>t[1]-e[1]).map(([e,t])=>(0,P.jsxs)(L,{variant:`pill`,children:[(0,P.jsx)(`bdi`,{children:n.labels[e]??e}),(0,P.jsx)(`span`,{className:`tabular-nums text-ink2`,children:I(t)})]},e))}),(0,P.jsx)(`div`,{children:(0,P.jsx)(R,{variant:`primary`,size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(h.review_url,`review-fixes`),target:`_blank`,rel:`noopener`,children:x(`Review in MonoRanks`,`monoranks`)})})})]}),p.ready.length===0&&!h&&(0,P.jsx)(mn,{title:x(`No fixes waiting`,`monoranks`),text:x(`Fixes you approve in MonoRanks appear here, ready to write into WordPress.`,`monoranks`)}),p.ready.map(e=>(0,P.jsxs)(`div`,{className:`flex items-start gap-3 border-b border-grid py-3 last-of-type:border-b-0`,children:[(0,P.jsx)(dr,{fix:e,labels:n.labels}),e.field===`content`&&e.page_url?(0,P.jsx)(R,{size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(e.page_url,`review-fix`),target:`_blank`,rel:`noopener`,children:x(`Review`,`monoranks`)})}):(0,P.jsx)(R,{size:`sm`,disabled:c!==null,"aria-busy":c===e.id,onClick:()=>f(e.id,()=>w.apply(e.id)),children:x(`Apply`,`monoranks`)})]},e.id)),p.ready.length>0&&(0,P.jsx)(`div`,{className:`pt-3 text-[11px] text-mute`,children:x(`Approved in MonoRanks. Each write is logged under Settings and can be undone for 30 days.`,`monoranks`)})]})]}),(p.needs_review??[]).length>0&&(0,P.jsxs)(Jn,{children:[(0,P.jsx)(Yn,{children:(0,P.jsxs)(Xn,{children:[x(`Needs review in MonoRanks`,`monoranks`),(0,P.jsx)(L,{children:I(p.needs_review.length)})]})}),(0,P.jsxs)(Zn,{className:`flex flex-col pt-1.5`,children:[(0,P.jsx)(`p`,{className:`m-0 pb-1 text-[12px] text-ink2`,children:x(`These changed in WordPress after they were reviewed, so they are not applied from here. Review them again in MonoRanks.`,`monoranks`)}),p.needs_review.map(e=>(0,P.jsxs)(`div`,{className:`flex items-start gap-3 border-b border-grid py-3 last-of-type:border-b-0`,children:[(0,P.jsx)(dr,{fix:e,labels:n.labels}),(0,P.jsx)(R,{size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(e.page_url||p.site_url,`review-fix`),target:`_blank`,rel:`noopener`,children:x(`Review in MonoRanks`,`monoranks`)})})]},e.id))]})]})]}),(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsx)(Xn,{children:x(`Recent changes`,`monoranks`)}),(0,P.jsx)(R,{variant:`ghost`,size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:t.urls.settings,onClick:t=>{t.preventDefault(),e(`settings`)},children:x(`All changes`,`monoranks`)})})]}),(0,P.jsx)(`div`,{className:`pt-2`,children:(0,P.jsx)(qn,{rows:n.log,busy:u,onUndo:e=>{d(e.index),f(`undo`,()=>w.undo(e,`overview`))}})})]})]})]})}function pr(){return(0,P.jsx)(`div`,{className:`grid grid-cols-4 gap-[14px] max-[960px]:grid-cols-2 max-[600px]:grid-cols-1`,children:[0,1,2,3].map(e=>(0,P.jsx)(Jn,{className:`h-[150px] animate-pulse bg-surface2`},e))})}function mr({revoked:e,go:t}){let n=y();return(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsx)(Xn,{children:x(e?`Connect MonoRanks again`:`Connect MonoRanks`,`monoranks`)}),(0,P.jsxs)(L,{variant:`pill`,children:[(0,P.jsx)(wn,{tone:e?`critical`:`muted`}),x(e?`Key revoked`:`Not connected`,`monoranks`)]})]}),(0,P.jsxs)(Zn,{className:`flex flex-col gap-4`,children:[(0,P.jsxs)(hr,{n:1,children:[(0,P.jsx)(`b`,{className:`text-[13px] font-semibold text-ink`,children:x(`Connect from MonoRanks`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`In MonoRanks open your website → Integrations → WordPress → Connect to WordPress, and allow MonoRanks when WordPress asks. Nothing is sent before you connect.`,`monoranks`)}),(0,P.jsx)(`div`,{children:(0,P.jsx)(R,{variant:`primary`,size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(n.urls.app,`connect-step`),target:`_blank`,rel:`noopener`,children:x(`Open MonoRanks`,`monoranks`)})})})]}),(0,P.jsxs)(hr,{n:2,later:!0,children:[(0,P.jsx)(`b`,{className:`text-[13px] font-semibold text-ink`,children:x(`Or paste a connector key`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`Use this when your host blocks Application Passwords.`,`monoranks`)}),(0,P.jsx)(`div`,{children:(0,P.jsx)(R,{size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:n.urls.settings,onClick:e=>{e.preventDefault(),t(`settings`)},children:x(`Open settings`,`monoranks`)})})})]}),(0,P.jsxs)(hr,{n:3,later:!0,children:[(0,P.jsx)(`b`,{className:`text-[13px] font-semibold text-ink`,children:x(`See scores here and in your Posts list`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`After the first audit this page shows the site's health and AEO scores, pages needing attention and the fixes you approved; every post and page gets its scores in the list.`,`monoranks`)})]})]})]})}function hr({n:e,later:t,children:n}){return(0,P.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,P.jsx)(`span`,{className:`flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-full text-[12px] font-semibold ${t?`bg-surface3 text-ink2`:`bg-ink text-page`}`,children:e}),(0,P.jsx)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:n})]})}function gr({data:e}){let t=e.status,n=x(t===`unsupported`?`This MonoRanks does not share audit results with the plugin yet. Scores stay in MonoRanks for now; the plugin asks again tomorrow.`:t===`error`?`MonoRanks could not be reached for the audit results. The plugin tries again within the hour, or when you reload this screen.`:`MonoRanks has not scored this site yet. Scores appear here and in the Posts list after the first weekly audit.`,`monoranks`);return(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsx)(Xn,{children:x(`Waiting for the first audit`,`monoranks`)}),(0,P.jsxs)(L,{variant:`pill`,children:[(0,P.jsx)(wn,{tone:`good`}),x(`Connected`,`monoranks`)]})]}),(0,P.jsxs)(Zn,{className:`flex flex-col gap-4`,children:[(0,P.jsx)(pn,{rows:[[x(`Content`,`monoranks`),e.last_sent?C(x(`%1$s published items sent %2$s`,`monoranks`),I(e.items),e.last_sent):x(`Not sent yet. Use "Sync content now" above.`,`monoranks`)],[x(`Audit results`,`monoranks`),(0,P.jsxs)(P.Fragment,{children:[n,e.fetched&&(0,P.jsxs)(`span`,{className:`text-mute`,children:[` · `,C(x(`checked %s`,`monoranks`),e.fetched)]})]})]]}),(0,P.jsx)(`div`,{children:(0,P.jsx)(R,{size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(e.app_url,`open-audit`),target:`_blank`,rel:`noopener`,children:x(`Open the audit in MonoRanks`,`monoranks`)})})})]})]})}function _r({className:e,type:t,...n}){return(0,P.jsx)(`input`,{type:t,"data-slot":`input`,className:N(`flex h-10 w-full max-w-[440px] rounded-lg border border-input bg-surface px-[14px] text-[13px] text-ink outline-none placeholder:text-mute focus:border-brand disabled:opacity-55`,e),...n})}function vr({go:e}){let t=y(),[n,r]=(0,_.useState)(null),[i,a]=(0,_.useState)(null),[o,s]=(0,_.useState)(t.notice),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)(null),[f,p]=(0,_.useState)(!1),[m,h]=(0,_.useState)(!1);(0,_.useEffect)(()=>{w.settings().then(e=>{r(e),p(e.revoked)}).catch(e=>a(se(e,x(`Could not load the settings.`,`monoranks`))))},[]);async function g(e,t){l(e);try{let e=await t();s(e.notice),r(e.data),window.scrollTo({top:0})}catch(e){s({type:`error`,text:se(e,x(`Something went wrong. Try again.`,`monoranks`))})}finally{l(null),d(null)}}let v=!!n?.connected,b=!!n?.revoked;return(0,P.jsxs)(un,{section:`settings`,go:e,title:x(`Settings`,`monoranks`),description:x(`Connection, what is sent, and every change written into this site.`,`monoranks`),children:[(0,P.jsx)(fn,{notice:o}),i&&(0,P.jsx)(fn,{notice:{type:`error`,text:i}}),!n&&!i&&(0,P.jsx)(Jn,{className:`h-[260px] animate-pulse bg-surface2`}),n&&(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,P.jsx)(`span`,{className:`inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-[9px] bg-surface2 [&_svg]:h-5 [&_svg]:w-5`,"aria-hidden":`true`,children:(0,P.jsx)(cn,{which:`mark`})}),(0,P.jsx)(Xn,{children:x(`Connection`,`monoranks`)})]}),(0,P.jsxs)(L,{variant:`pill`,children:[(0,P.jsx)(wn,{tone:b?`critical`:v?`good`:`muted`}),x(b?`Key revoked`:v?`Connected`:`Not connected`,`monoranks`)]})]}),(0,P.jsx)(Zn,{className:`flex flex-col gap-4`,children:v?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(pn,{rows:[[x(`Status`,`monoranks`),x(b?`MonoRanks no longer accepts this key. Connect again from MonoRanks or paste a new key below.`:`Sending published content to MonoRanks. Nothing else leaves this site.`,`monoranks`)],[x(`Connector key`,`monoranks`),(0,P.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(`code`,{children:n.key_hint}),(0,P.jsx)(`span`,{className:`text-mute`,children:n.key_via})]})],[x(`Last sync`,`monoranks`),(0,P.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(`span`,{className:`tabular-nums`,children:n.last_sent}),n.sending&&(0,P.jsx)(L,{children:C(x(`sending, batch %1$s of %2$s`,`monoranks`),I(n.sending.page),I(Math.max(1,n.sending.pages)))}),n.items>0&&(0,P.jsx)(L,{children:C(S(`%s published item`,`%s published items`,n.items,`monoranks`),I(n.items))}),n.last_error&&(0,P.jsx)(L,{variant:`warn`,children:n.last_error})]})],...n.next_audit?[[x(`Next audit`,`monoranks`),n.next_audit]]:[],[x(`Fixes written with`,`monoranks`),(0,P.jsxs)(P.Fragment,{children:[x(`The "MonoRanks" Application Password`,`monoranks`),` · `,(0,P.jsx)(`a`,{href:n.profile_url,children:x(`revoke it in your profile`,`monoranks`)}),` `,x(`to stop writes`,`monoranks`)]})],[x(`Works with`,`monoranks`),n.seo_plugin&&!n.seo_supported?(0,P.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(L,{variant:`warn`,children:C(x(`%s detected`,`monoranks`),n.seo_plugin)}),(0,P.jsx)(`span`,{className:`text-mute`,children:C(x(`MonoRanks cannot write titles, descriptions, canonicals or noindex into %s yet, so those fixes are refused`,`monoranks`),n.seo_plugin)})]}):n.seo_plugin?(0,P.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(L,{children:C(x(`%s detected`,`monoranks`),n.seo_plugin)}),(0,P.jsx)(`span`,{className:`text-mute`,children:C(x(`titles and descriptions go into the fields %s reads`,`monoranks`),n.seo_plugin)})]}):(0,P.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(L,{children:x(`No SEO plugin`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-mute`,children:x(`MonoRanks prints the approved title, description, canonical and noindex tags itself`,`monoranks`)})]})]]}),(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(R,{variant:`primary`,disabled:c!==null,"aria-busy":c===`sync`,onClick:()=>g(`sync`,()=>w.sync(`settings`)),children:x(`Send content now`,`monoranks`)}),(0,P.jsx)(R,{disabled:c!==null,"aria-busy":c===`disconnect`,onClick:()=>g(`disconnect`,()=>w.disconnect()),children:x(`Disconnect`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[12px] text-mute`,children:x(`Disconnect stops sending. Fixes already applied stay.`,`monoranks`)})]})]}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(hr,{n:1,children:[(0,P.jsx)(`b`,{className:`text-[13px] font-semibold text-ink`,children:x(`Connect from MonoRanks`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`In MonoRanks open your website → Integrations → WordPress → Connect to WordPress, and allow MonoRanks when WordPress asks. Nothing is sent before you connect.`,`monoranks`)}),(0,P.jsx)(`div`,{children:(0,P.jsx)(R,{variant:`primary`,size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(n.app_url,`connect-step`,`settings`),target:`_blank`,rel:`noopener`,children:x(`Open MonoRanks`,`monoranks`)})})})]}),(0,P.jsxs)(hr,{n:2,later:!0,children:[(0,P.jsx)(`b`,{className:`text-[13px] font-semibold text-ink`,children:x(`Or paste a connector key`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`Use this when your host blocks Application Passwords. In MonoRanks: Settings → API and MCP → New credential with the content:write scope, ticked for this website.`,`monoranks`)}),(0,P.jsx)(yr,{data:n,busy:c,onSubmit:(e,t)=>g(`connect`,()=>w.connect(e,t))})]})]})})]}),v&&(0,P.jsx)(Jn,{children:(0,P.jsxs)(`details`,{open:f,onToggle:e=>p(e.currentTarget.open),className:`group`,children:[(0,P.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center gap-2 px-[22px] py-4 font-medium text-ink2 hover:text-ink [&::-webkit-details-marker]:hidden`,children:[(0,P.jsx)(D,{size:14,className:`mr-flip transition-transform group-open:rotate-90`}),x(`Use a different key`,`monoranks`)]}),(0,P.jsx)(`div`,{className:`border-t border-grid px-[22px] pb-[22px] pt-4`,children:(0,P.jsxs)(`div`,{className:`flex flex-col gap-[14px]`,children:[(0,P.jsx)(`div`,{className:`rounded-lg bg-surface2 px-[14px] py-3 text-[12px] text-ink2`,children:x(`In MonoRanks: Settings → API and MCP → New credential with the content:write scope, ticked for this website. Paste it here. With a key alone MonoRanks receives your content; to apply fixes, also use Connect to WordPress in MonoRanks.`,`monoranks`)}),(0,P.jsx)(yr,{data:n,busy:c,onSubmit:(e,t)=>g(`connect`,()=>w.connect(e,t))})]})})]})}),(0,P.jsxs)(Jn,{children:[(0,P.jsx)(Yn,{children:(0,P.jsx)(Xn,{children:x(`What is sent`,`monoranks`)})}),(0,P.jsx)(Zn,{children:(0,P.jsx)(pn,{rows:[[x(`Sent`,`monoranks`),x(`Published titles, a 40-word excerpt, dates, authors, categories, tags, SEO fields, image alt text and plugin status.`,`monoranks`)],[x(`Read back`,`monoranks`),x(`This website's audit results: scores, issues and the fixes you approved, shown here and in the Posts list.`,`monoranks`)],[x(`Never sent`,`monoranks`),x(`Drafts, private posts, comments, emails, passwords, plugin or theme settings.`,`monoranks`)],[x(`Can change`,`monoranks`),x(`SEO title, meta description, canonical, noindex, image alt text, redirects, one opening paragraph, AI crawler rules, llms.txt. Only after you approve each one.`,`monoranks`)]]})})]}),(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsx)(Xn,{children:x(`Recent changes`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[12px] text-mute`,children:x(`Last 50 · undo for 30 days`,`monoranks`)})]}),(0,P.jsx)(`div`,{className:`pt-2`,children:(0,P.jsx)(qn,{rows:n.log,busy:u,onUndo:e=>{d(e.index),g(`undo`,()=>w.undo(e,`settings`))}})})]}),!v&&n.has_data&&(0,P.jsxs)(Jn,{className:`border-critical/40`,children:[(0,P.jsx)(Yn,{children:(0,P.jsx)(Xn,{className:`text-critical`,children:x(`Danger zone`,`monoranks`)})}),(0,P.jsxs)(Zn,{className:`flex flex-col gap-3`,children:[(0,P.jsx)(`p`,{className:`text-[12px] text-ink2 max-w-[80ch]`,children:x(`This site is not connected to MonoRanks. You can erase everything the plugin stored here: the connection, the scores on your posts and pages, the redirects and AI access files it was asked to write, and the change log. Pages themselves are not touched — a fix that was written stays written, so undo those first if you want them back.`,`monoranks`)}),m?(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(`span`,{className:`text-[12px] font-medium text-critical`,children:x(`This cannot be undone. Delete everything?`,`monoranks`)}),(0,P.jsx)(R,{variant:`dangerSolid`,disabled:c!==null,"aria-busy":c===`delete`,onClick:()=>{h(!1),g(`delete`,()=>w.deleteEverything())},children:x(`Yes, delete all data`,`monoranks`)}),(0,P.jsx)(R,{variant:`ghost`,disabled:c!==null,onClick:()=>h(!1),children:x(`Cancel`,`monoranks`)})]}):(0,P.jsx)(`div`,{children:(0,P.jsx)(R,{variant:`danger`,onClick:()=>h(!0),children:x(`Delete all MonoRanks data`,`monoranks`)})})]})]})]})]})}function yr({data:e,busy:t,onSubmit:n}){let[r,i]=(0,_.useState)(``),[a,o]=(0,_.useState)(e.api_base);function s(t){t.preventDefault(),n(r,e.show_address?a:void 0)}return(0,P.jsxs)(`form`,{onSubmit:s,className:`flex flex-col gap-3 pt-1.5`,children:[(0,P.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,P.jsx)(`label`,{htmlFor:`monoranks-key`,className:`text-[12px] font-medium text-ink2`,children:x(`Connector key`,`monoranks`)}),(0,P.jsx)(_r,{id:`monoranks-key`,name:`key`,type:`password`,autoComplete:`off`,placeholder:`mr_ws_… or mr_site_…`,required:!0,value:r,onChange:e=>i(e.target.value)})]}),e.show_address&&(0,P.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,P.jsx)(`label`,{htmlFor:`monoranks-address`,className:`text-[12px] font-medium text-ink2`,children:x(`MonoRanks address (development sites only)`,`monoranks`)}),(0,P.jsx)(_r,{id:`monoranks-address`,name:`api_base`,type:`url`,value:a,onChange:e=>o(e.target.value)})]}),(0,P.jsx)(`div`,{children:(0,P.jsx)(R,{variant:`primary`,type:`submit`,disabled:t!==null,"aria-busy":t===`connect`,children:x(`Connect`,`monoranks`)})})]})}function br(){let[e,t]=te();return v(),e===`settings`?(0,P.jsx)(vr,{go:t}):(0,P.jsx)(fr,{go:t})}var xr=document.getElementById(`monoranks-admin`);xr&&(0,g.createRoot)(xr).render((0,P.jsx)(_.StrictMode,{children:(0,P.jsx)(br,{})})); \ No newline at end of file +`).replace(Qf,``)}function ep(e,t){return t=$f(t),$f(e)===t}function $(e,t,n,r,a,o){switch(n){case`children`:if(typeof r==`string`)t===`body`||t===`textarea`&&r===``||mn(e,r);else if(typeof r==`number`||typeof r==`bigint`)t!==`body`&&mn(e,``+r);else return;break;case`className`:tn(e,`class`,r);break;case`tabIndex`:tn(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:tn(e,n,r);break;case`style`:gn(e,r,o);return;case`data`:if(t!==`object`){tn(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=bn(r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}if(typeof o==`function`&&(n===`formAction`?(t!==`input`&&$(e,t,`name`,a.name,a,null),$(e,t,`formEncType`,a.formEncType,a,null),$(e,t,`formMethod`,a.formMethod,a,null),$(e,t,`formTarget`,a.formTarget,a,null)):($(e,t,`encType`,a.encType,a,null),$(e,t,`method`,a.method,a,null),$(e,t,`target`,a.target,a,null))),r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=bn(r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=xn);return;case`onScroll`:r!=null&&Q(`scroll`,e);return;case`onScrollEnd`:r!=null&&Q(`scrollend`,e);return;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));o?.__html!==n&&(e.innerHTML=n)}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=bn(r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`credentialless`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:Q(`beforetoggle`,e),Q(`toggle`,e),en(e,`popover`,r);break;case`xlinkActuate`:nn(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:nn(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:nn(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:nn(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:nn(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:nn(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:nn(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:nn(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:nn(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:en(e,`is`,r);break;case`innerText`:case`textContent`:return;default:if(!(2s)break;var u=c.transferSize,d=c.initiatorType;u&&ap(d)&&(c=c.responseEnd,o+=u*(c$m){s.length=o;break}f=new Promise(jp.bind(f)),s.push(f)}}}if(0`u`?null:document;function Tm(e,t,n){var r=wm;if(r&&typeof t==`string`&&t){var i=F(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),ym.has(i)||(ym.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),np(t,`link`,e),Ut(t),r.head.appendChild(t)))}}function Em(e){xm.D(e),Tm(`dns-prefetch`,e,null)}function Dm(e,t){xm.C(e,t),Tm(`preconnect`,e,t)}function Om(e,t,n){xm.L(e,t,n);var r=wm;if(r&&e&&t){var i=`link[rel="preload"][as="`+F(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+F(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+F(n.imageSizes)+`"]`)):i+=`[href="`+F(e)+`"]`;var a=i;switch(t){case`style`:a=Pm(e);break;case`script`:a=Rm(e)}if(!(vm.has(a)||(e=C({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),vm.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Fm(a))||t===`script`&&r.querySelector(zm(a))))){var o=r.createElement(`link`);np(o,`link`,e),t===`style`&&(o[Rt]=!0,o.onload=o.onerror=function(){Wt(o)}),Ut(o),r.head.appendChild(o)}}}function km(e,t){xm.m(e,t);var n=wm;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+F(r)+`"][href="`+F(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Rm(e)}if(!vm.has(a)&&(e=C({rel:`modulepreload`,href:e},t),vm.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(zm(a)))return}r=n.createElement(`link`),np(r,`link`,e),Ut(r),n.head.appendChild(r)}}}function Am(e,t,n){xm.S(e,t,n);var r=wm;if(r&&e){var i=Ht(r).hoistableStyles,a=Pm(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Fm(a)))s.loading=5;else{e=C({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=vm.get(a))&&Hm(e,n);var c=o=r.createElement(`link`);Ut(c),np(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Vm(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function jm(e,t){xm.X(e,t);var n=wm;if(n&&e){var r=Ht(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=C({src:e,async:!0},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),Ut(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Mm(e,t){xm.M(e,t);var n=wm;if(n&&e){var r=Ht(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=C({src:e,async:!0,type:`module`},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),Ut(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Nm(e,t,n,r){var a=(a=Me.current)?bm(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(n=Pm(n.href),t=Ht(a).hoistableStyles,r=t.get(n),r||(r={type:`style`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Pm(n.href);var o=Ht(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Fm(e)))?o._p||(s.instance=o,s.state.loading=5):(o=vm.get(e),o||(o={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},vm.set(e,o)),Lm(a,e,o,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(n=Rm(n),t=Ht(a).hoistableScripts,r=t.get(n),r||(r={type:`script`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Pm(e){return`href="`+F(e)+`"`}function Fm(e){return`link[rel="stylesheet"][`+e+`]`}function Im(e){return C({},e,{"data-precedence":e.precedence,precedence:null})}function Lm(e,t,n,r){if(t=e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)){if(!0!==t[Rt]){r.loading=1;return}}else t=e.createElement(`link`),t[Rt]=!0,t.onload=t.onerror=Wt.bind(null,t),np(t,`link`,n),Ut(t),e.head.appendChild(t);r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2})}function Rm(e){return`[src="`+F(e)+`"]`}function zm(e){return`script[async]`+e}function Bm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+F(n.href)+`"]`);if(r)return t.instance=r,Ut(r),r;var a=C({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),Ut(r),np(r,`style`,a),Vm(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Pm(n.href);var o=e.querySelector(Fm(a));if(o)return t.state.loading|=4,t.instance=o,Ut(o),o;r=Im(n),(a=vm.get(a))&&Hm(r,a),o=(e.ownerDocument||e).createElement(`link`),Ut(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),np(o,`link`,r),t.state.loading|=4,Vm(o,n.precedence,e),t.instance=o;case`script`:return o=Rm(n.src),(a=e.querySelector(zm(o)))?(t.instance=a,Ut(a),a):(r=n,(a=vm.get(o))&&(r=C({},n),Um(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),Ut(a),np(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Vm(r,n.precedence,e));return t.instance}function Vm(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function qm(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Jm(e,t){return e===`img`&&t.src!=null&&t.src!==``&&t.onLoad==null&&t.loading!==`lazy`}function Ym(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Xm(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio==`number`?devicePixelRatio:1)*.25}function Zm(e,t){typeof t.decode==`function`&&(e.imgCount++,t.complete||(e.imgBytes+=Xm(t),e.suspenseyImages.push(t)),e=rh.bind(e),t.decode().then(e,e))}function Qm(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Pm(r.href),a=t.querySelector(Fm(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=nh.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Ut(a);return}a=t.ownerDocument||t,r=Im(r),(i=vm.get(i))&&Hm(r,i),a=a.createElement(`link`),Ut(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),np(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=nh.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $m=0;function eh(e,t){return e.stylesheets&&e.count===0&&ah(e,e.stylesheets),0$m?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function th(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ah(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function nh(){this.count--,th(this)}function rh(){this.imgCount--,th(this)}var ih=null;function ah(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ih=new Map,t.forEach(oh,e),ih=null,nh.call(e))}function oh(e,t){if(!(t.state.loading&4)){var n=ih.get(e);if(n)var r=n.get(null);else{n=new Map,ih.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()}))(),_=c(u(),1);function v(){(0,_.useEffect)(()=>{let e=document.getElementById(`adminmenuwrap`),t=document.getElementById(`wpbody-content`);if(!e||!t)return;let n=()=>t.style.setProperty(`--mr-fill`,Math.ceil(e.getBoundingClientRect().height)+`px`);n();let r=new ResizeObserver(n);return r.observe(e),window.addEventListener(`resize`,n),()=>{r.disconnect(),window.removeEventListener(`resize`,n),t.style.removeProperty(`--mr-fill`)}},[])}function y(){let e=window.monoranksAdmin;if(!e)throw Error(`monoranksAdmin settings missing`);return e}var b={overview:`monoranks`,settings:`monoranks-settings`};function ee(){return new URLSearchParams(window.location.search).get(`page`)===b.settings?`settings`:`overview`}function te(){let[e,t]=(0,_.useState)(ee),n=(0,_.useRef)(()=>void 0);(0,_.useEffect)(()=>{let e=()=>t(ee());window.addEventListener(`popstate`,e);let r=e=>{let t=e.target.closest(`#toplevel_page_monoranks a[href*="page=monoranks"]`);if(!t||e.metaKey||e.ctrlKey||e.shiftKey||e.button!==0)return;let r=new URL(t.href,window.location.href).searchParams.get(`page`),i=r===b.settings?`settings`:r===b.overview?`overview`:null;i&&(e.preventDefault(),n.current(i))};return document.addEventListener(`click`,r),()=>{window.removeEventListener(`popstate`,e),document.removeEventListener(`click`,r)}},[]),(0,_.useEffect)(()=>{ne(e),document.title=document.title.replace(/^[^‹]*‹/,(y().titles[e]||`MonoRanks`)+` ‹`)},[e]);let r=n=>{if(n===e)return;let r=n===`settings`?y().urls.settings:y().urls.overview;window.history.pushState({monoranks:n},``,r),t(n),window.scrollTo({top:0})};return n.current=r,[e,r]}function ne(e){let t=document.getElementById(`toplevel_page_monoranks`);t&&t.querySelectorAll(`.wp-submenu a`).forEach(t=>{let n=new URL(t.href,window.location.href).searchParams.get(`page`)===b[e];t.classList.toggle(`current`,n),t.parentElement?.classList.toggle(`current`,n),n?t.setAttribute(`aria-current`,`page`):t.removeAttribute(`aria-current`)})}var{__:x,_n:S,_x:re,sprintf:C,isRTL:ie}=window.wp.i18n,ae=window.wp.apiFetch,oe=`/monoranks/v1/admin`,w={overview:()=>ae({path:`${oe}/overview`}),settings:()=>ae({path:`${oe}/settings`}),grow:()=>ae({path:`${oe}/grow`}),apply:e=>ae({path:`${oe}/apply`,method:`POST`,data:{fix:e}}),undo:(e,t)=>ae({path:`${oe}/undo`,method:`POST`,data:{entry:e.index,at:e.at,screen:t}}),sync:e=>ae({path:`${oe}/sync`,method:`POST`,data:{screen:e}}),connect:(e,t)=>ae({path:`${oe}/connect`,method:`POST`,data:{key:e,api_base:t}}),disconnect:()=>ae({path:`${oe}/disconnect`,method:`POST`}),deleteEverything:()=>ae({path:`${oe}/delete`,method:`POST`})};function se(e,t){let n=e?.message;return typeof n==`string`&&n?n:t}var ce=e=>e?.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();function le(e,t,n=[]){if(t==null)throw Error(`[lucide]: iconNode is required when icon name is used`);return{name:ce(e),size:24,node:t,...n.length>0?{aliases:n}:{}}}var ue=e=>{let t=``,n=!1;for(let r of e){if(r===`-`||r===`_`||r<=` `){n=t.length>0;continue}t.length===0?t+=r.toLowerCase():t+=n?r.toUpperCase():r,n=!1}return t},T=e=>{let t=ue(e);return t.charAt(0).toUpperCase()+t.slice(1)},de=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),fe={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`};function pe(e){return e!=null}function me(e,t={}){let n=t.attributeNames??{},r=e=>n[e]??e,i=e.size??e.width??fe.width,a=e.size??e.height??fe.height,o=e.aliases?.filter(e=>typeof e==`string`&&e.trim()!==``).map(e=>`lucide-${e}`)??[],s=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(` `).filter(Boolean)??[],l=t.includeDefaultClasses===!1?de(...c):de(`lucide`,...s,...c),u=t.absoluteStrokeWidth?Number(t.strokeWidth??fe[`stroke-width`])*Number(e.size??e.width??fe.width)/Number(t.size??t.width??fe.width):t.strokeWidth??fe[`stroke-width`];return[`svg`,{...Object.entries(fe).reduce((e,[t,n])=>(e[r(t)]=n,e),{}),...`color`in t&&t.color&&{[r(`stroke`)]:t.color},...`size`in t&&pe(t.size)&&{[r(`width`)]:t.size,[r(`height`)]:t.size},...`width`in t&&pe(t.width)&&{[r(`width`)]:t.width},...`height`in t&&pe(t.height)&&{[r(`height`)]:t.height},[r(`stroke-width`)]:u,...l&&{[r(`class`)]:l},[r(`viewBox`)]:`0 0 ${i} ${a}`,...t.hasA11yProp===!1?{[r(`aria-hidden`)]:`true`}:{},...`attributes`in t&&t.attributes},e.node.map(e=>{let[n,i,a]=e,o=t.nonScalingStroke?{[r(`vector-effect`)]:`non-scaling-stroke`,...i}:i;return a?[n,o,a]:[n,o]})]}function he(e,t={}){return me(e,{...t,attributeNames:{...t.attributeNames,class:`className`,"stroke-width":`strokeWidth`,"stroke-linecap":`strokeLinecap`,"stroke-linejoin":`strokeLinejoin`,"vector-effect":`vectorEffect`}})}var ge=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},_e=(0,_.createContext)({}),ve=()=>(0,_.useContext)(_e),ye=(0,_.forwardRef)(({color:e,size:t,width:n,height:r,strokeWidth:i,absoluteStrokeWidth:a,nonScalingStroke:o,className:s=``,children:c,iconNode:l=[],icon:u={node:l,aliases:[],size:24},...d},f)=>{let{size:p=24,strokeWidth:m=2,absoluteStrokeWidth:h=!1,nonScalingStroke:g=!1,color:v=`currentColor`,className:y=``}=ve()??{},b=!!c||ge(d),[ee,te,ne=[]]=he(u,{color:e??v,width:n??t??p,height:r??t??p,strokeWidth:i??m,absoluteStrokeWidth:a??h,nonScalingStroke:o??g,className:de(y,s),hasA11yProp:b,attributes:d});return(0,_.createElement)(ee,{ref:f,...te},[...ne.map(([e,t])=>(0,_.createElement)(e,t)),...Array.isArray(c)?c:[c]])});function be(e,t=[],n=[]){let r=typeof e==`string`?le(e,t,n):e,i=(0,_.forwardRef)(({className:e,...t},n)=>(0,_.createElement)(ye,{ref:n,icon:r,className:e,...t}));return r.name&&(i.displayName=T(r.name)),i}var xe={name:`arrow-right`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]};xe.node;var Se=be(xe),Ce={name:`arrow-up-right`,size:24,node:[[`path`,{d:`M7 7h10v10`,key:`1tivn9`}],[`path`,{d:`M7 17 17 7`,key:`1vkiza`}]]};Ce.node;var we=be(Ce),E={name:`chevron-right`,size:24,node:[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]};E.node;var D=be(E),Te={name:`circle-alert`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]],aliases:[`alert-circle`]};Te.node;var Ee=be(Te),De={name:`circle-check`,size:24,node:[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 9-5.5 5.5L8 12`,key:`xofnsj`}]],aliases:[`check-circle-2`]};De.node;var Oe=be(De),ke={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};ke.node;var O=be(ke),Ae={name:`undo-2`,size:24,node:[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]};Ae.node;var je=be(Ae);function Me(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t{let n=Array(e.length+t.length);for(let t=0;t({classGroupId:e,validator:t}),Ie=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Le=`-`,Re=[],ze=`arbitrary..`,Be=e=>{let t=Ue(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return He(e);let n=e.split(Le);return Ve(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Pe(i,t):t:i||Re}return n[e]||Re}}},Ve=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=Ve(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Le):e.slice(t).join(Le),s=a.length;for(let e=0;ee.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?ze+r:void 0})(),Ue=e=>{let{theme:t,classGroups:n}=e;return We(n,t)},We=(e,t)=>{let n=Ie();for(let r in e){let i=e[r];Ge(i,n,r,t)}return n},Ge=(e,t,n,r)=>{let i=e.length;for(let a=0;a{if(typeof e==`string`){qe(e,t,n);return}if(typeof e==`function`){Je(e,t,n,r);return}Ye(e,t,n,r)},qe=(e,t,n)=>{let r=e===``?t:Xe(t,e);r.classGroupId=n},Je=(e,t,n,r)=>{if(Ze(e)){Ge(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Fe(n,e))},Ye=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e{let n=e,r=t.split(Le),i=r.length;for(let e=0;e`isThemeGetter`in e&&e.isThemeGetter===!0,Qe=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},$e=`!`,et=`:`,tt=[],nt=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),rt=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;si?a-i:void 0;return nt(t,l,c,u)};if(t){let e=t+et,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):nt(tt,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},it=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},at=e=>({cache:Qe(e.cacheSize),parseClassName:rt(e),sortModifiers:it(e),postfixLookupClassGroupIds:ot(e),...Be(e)}),ot=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(st),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+$e:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e0?` `+l:l)}return l},lt=(...e)=>{let t=0,n,r,i=``;for(;t{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r{let n,r,i,a,o=o=>(n=at(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=ct(e,n);return i(e,a),a};return a=o,(...e)=>a(lt(...e))},ft=[],pt=e=>{let t=t=>t[e]||ft;return t.isThemeGetter=!0,t.themeKey=e,t},mt=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,ht=/^\((?:(\w[\w-]*):)?(.+)\)$/i,gt=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,_t=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,vt=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,yt=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\(.+\)$/,bt=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,xt=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,St=e=>gt.test(e),k=e=>!!e&&!Number.isNaN(Number(e)),Ct=e=>!!e&&Number.isInteger(Number(e)),wt=e=>e.endsWith(`%`)&&k(e.slice(0,-1)),Tt=e=>_t.test(e),Et=()=>!0,Dt=e=>vt.test(e)&&!yt.test(e),Ot=()=>!1,kt=e=>bt.test(e),At=e=>xt.test(e),jt=e=>!A(e)&&!j(e),Mt=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Nt=e=>Jt(e,Qt,Ot),A=e=>mt.test(e),Pt=e=>Jt(e,M,Dt),Ft=e=>Jt(e,$t,k),It=e=>Jt(e,tn,Et),Lt=e=>Jt(e,en,Ot),Rt=e=>Jt(e,Xt,Ot),zt=e=>Jt(e,Zt,At),Bt=e=>Jt(e,nn,kt),j=e=>ht.test(e),Vt=e=>Yt(e,M),Ht=e=>Yt(e,en),Ut=e=>Yt(e,Xt),Wt=e=>Yt(e,Qt),Gt=e=>Yt(e,Zt),Kt=e=>Yt(e,nn,!0),qt=e=>Yt(e,tn,!0),Jt=(e,t,n)=>{let r=mt.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Yt=(e,t,n=!1)=>{let r=ht.exec(e);return r?r[1]?t(r[1]):n:!1},Xt=e=>e===`position`||e===`percentage`,Zt=e=>e===`image`||e===`url`,Qt=e=>e===`length`||e===`size`||e===`bg-size`,M=e=>e===`length`,$t=e=>e===`number`,en=e=>e===`family-name`,tn=e=>e===`number`||e===`weight`,nn=e=>e===`shadow`,rn=dt(()=>{let e=pt(`color`),t=pt(`font`),n=pt(`text`),r=pt(`font-weight`),i=pt(`tracking`),a=pt(`leading`),o=pt(`breakpoint`),s=pt(`container`),c=pt(`spacing`),l=pt(`radius`),u=pt(`shadow`),d=pt(`inset-shadow`),f=pt(`text-shadow`),p=pt(`drop-shadow`),m=pt(`blur`),h=pt(`perspective`),g=pt(`aspect`),_=pt(`ease`),v=pt(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],ee=()=>[...b(),j,A],te=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],ne=()=>[`auto`,`contain`,`none`],x=()=>[j,A,c],S=()=>[St,`full`,`auto`,...x()],re=()=>[Ct,`none`,`subgrid`,j,A],C=()=>[`auto`,{span:[`full`,Ct,j,A]},Ct,j,A],ie=()=>[Ct,`auto`,j,A],ae=()=>[`auto`,`min`,`max`,`fr`,j,A],oe=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],w=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],se=()=>[`auto`,...x()],ce=()=>[St,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...x()],le=()=>[s,St,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...x()],ue=()=>[St,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...x()],T=()=>[e,j,A],de=()=>[...b(),Ut,Rt,{position:[j,A]}],fe=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],pe=()=>[`auto`,`cover`,`contain`,Wt,Nt,{size:[j,A]}],me=()=>[wt,Vt,Pt],he=()=>[``,`none`,`full`,l,j,A],ge=()=>[``,k,Vt,Pt],_e=()=>[`solid`,`dashed`,`dotted`,`double`],ve=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],ye=()=>[k,wt,Ut,Rt],be=()=>[``,`none`,m,j,A],xe=()=>[`none`,k,j,A],Se=()=>[`none`,k,j,A],Ce=()=>[k,j,A],we=()=>[St,`full`,...x()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[Tt],breakpoint:[Tt],color:[Et],container:[Tt],"drop-shadow":[Tt],ease:[`in`,`out`,`in-out`],font:[jt],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[Tt],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[Tt],shadow:[Tt],spacing:[`px`,k],text:[Tt],"text-shadow":[Tt],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,St,A,j,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,j,A]}],"container-named":[Mt],columns:[{columns:[k,`auto`,A,j,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:ee()}],overflow:[{overflow:te()}],"overflow-x":[{"overflow-x":te()}],"overflow-y":[{"overflow-y":te()}],overscroll:[{overscroll:ne()}],"overscroll-x":[{"overscroll-x":ne()}],"overscroll-y":[{"overscroll-y":ne()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:S()}],"inset-x":[{"inset-x":S()}],"inset-y":[{"inset-y":S()}],start:[{"inset-s":S(),start:S()}],end:[{"inset-e":S(),end:S()}],"inset-bs":[{"inset-bs":S()}],"inset-be":[{"inset-be":S()}],top:[{top:S()}],right:[{right:S()}],bottom:[{bottom:S()}],left:[{left:S()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[Ct,`auto`,j,A]}],basis:[{basis:[St,`full`,`auto`,s,...x()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[k,St,`auto`,`initial`,`none`,A]}],grow:[{grow:[``,k,j,A]}],shrink:[{shrink:[``,k,j,A]}],order:[{order:[Ct,`first`,`last`,`none`,j,A]}],"grid-cols":[{"grid-cols":re()}],"col-start-end":[{col:C()}],"col-start":[{"col-start":ie()}],"col-end":[{"col-end":ie()}],"grid-rows":[{"grid-rows":re()}],"row-start-end":[{row:C()}],"row-start":[{"row-start":ie()}],"row-end":[{"row-end":ie()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ae()}],"auto-rows":[{"auto-rows":ae()}],gap:[{gap:x()}],"gap-x":[{"gap-x":x()}],"gap-y":[{"gap-y":x()}],"justify-content":[{justify:[...oe(),`normal`]}],"justify-items":[{"justify-items":[...w(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...w()]}],"align-content":[{content:[`normal`,...oe()]}],"align-items":[{items:[...w(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...w(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":oe()}],"place-items":[{"place-items":[...w(),`baseline`]}],"place-self":[{"place-self":[`auto`,...w()]}],p:[{p:x()}],px:[{px:x()}],py:[{py:x()}],ps:[{ps:x()}],pe:[{pe:x()}],pbs:[{pbs:x()}],pbe:[{pbe:x()}],pt:[{pt:x()}],pr:[{pr:x()}],pb:[{pb:x()}],pl:[{pl:x()}],m:[{m:se()}],mx:[{mx:se()}],my:[{my:se()}],ms:[{ms:se()}],me:[{me:se()}],mbs:[{mbs:se()}],mbe:[{mbe:se()}],mt:[{mt:se()}],mr:[{mr:se()}],mb:[{mb:se()}],ml:[{ml:se()}],"space-x":[{"space-x":x()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":x()}],"space-y-reverse":[`space-y-reverse`],size:[{size:ce()}],"inline-size":[{inline:[`auto`,...le()]}],"min-inline-size":[{"min-inline":[`auto`,...le()]}],"max-inline-size":[{"max-inline":[`none`,...le()]}],"block-size":[{block:[`auto`,...ue()]}],"min-block-size":[{"min-block":[`auto`,...ue()]}],"max-block-size":[{"max-block":[`none`,...ue()]}],w:[{w:[s,`screen`,...ce()]}],"min-w":[{"min-w":[s,`screen`,`none`,...ce()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...ce()]}],h:[{h:[`screen`,`lh`,...ce()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...ce()]}],"max-h":[{"max-h":[`screen`,`lh`,`none`,...ce()]}],"font-size":[{text:[`base`,n,Vt,Pt]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,qt,It]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,wt,A]}],"font-family":[{font:[Ht,Lt,t]}],"font-features":[{"font-features":[A]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,j,A]}],"line-clamp":[{"line-clamp":[k,`none`,j,Ft]}],leading:[{leading:[`none`,a,...x()]}],"list-image":[{"list-image":[`none`,j,A]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,j,A]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:T()}],"text-color":[{text:T()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[..._e(),`wavy`]}],"text-decoration-thickness":[{decoration:[k,`from-font`,`auto`,j,Pt]}],"text-decoration-color":[{decoration:T()}],"underline-offset":[{"underline-offset":[k,`auto`,j,A]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:x()}],"tab-size":[{tab:[Ct,j,A]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,j,A]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,j,A]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:de()}],"bg-repeat":[{bg:fe()}],"bg-size":[{bg:pe()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},Ct,j,A],radial:[``,j,A],conic:[``,Ct,j,A]},Gt,zt]}],"bg-color":[{bg:T()}],"gradient-from-pos":[{from:me()}],"gradient-via-pos":[{via:me()}],"gradient-to-pos":[{to:me()}],"gradient-from":[{from:T()}],"gradient-via":[{via:T()}],"gradient-to":[{to:T()}],rounded:[{rounded:he()}],"rounded-s":[{"rounded-s":he()}],"rounded-e":[{"rounded-e":he()}],"rounded-t":[{"rounded-t":he()}],"rounded-r":[{"rounded-r":he()}],"rounded-b":[{"rounded-b":he()}],"rounded-l":[{"rounded-l":he()}],"rounded-ss":[{"rounded-ss":he()}],"rounded-se":[{"rounded-se":he()}],"rounded-ee":[{"rounded-ee":he()}],"rounded-es":[{"rounded-es":he()}],"rounded-tl":[{"rounded-tl":he()}],"rounded-tr":[{"rounded-tr":he()}],"rounded-br":[{"rounded-br":he()}],"rounded-bl":[{"rounded-bl":he()}],"border-w":[{border:ge()}],"border-w-x":[{"border-x":ge()}],"border-w-y":[{"border-y":ge()}],"border-w-s":[{"border-s":ge()}],"border-w-e":[{"border-e":ge()}],"border-w-bs":[{"border-bs":ge()}],"border-w-be":[{"border-be":ge()}],"border-w-t":[{"border-t":ge()}],"border-w-r":[{"border-r":ge()}],"border-w-b":[{"border-b":ge()}],"border-w-l":[{"border-l":ge()}],"divide-x":[{"divide-x":ge()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":ge()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[..._e(),`hidden`,`none`]}],"divide-style":[{divide:[..._e(),`hidden`,`none`]}],"border-color":[{border:T()}],"border-color-x":[{"border-x":T()}],"border-color-y":[{"border-y":T()}],"border-color-s":[{"border-s":T()}],"border-color-e":[{"border-e":T()}],"border-color-bs":[{"border-bs":T()}],"border-color-be":[{"border-be":T()}],"border-color-t":[{"border-t":T()}],"border-color-r":[{"border-r":T()}],"border-color-b":[{"border-b":T()}],"border-color-l":[{"border-l":T()}],"divide-color":[{divide:T()}],"outline-style":[{outline:[..._e(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[k,j,A]}],"outline-w":[{outline:[``,k,Vt,Pt]}],"outline-color":[{outline:T()}],shadow:[{shadow:[``,`inner`,`none`,u,Kt,Bt]}],"shadow-color":[{shadow:T()}],"inset-shadow":[{"inset-shadow":[`none`,d,Kt,Bt]}],"inset-shadow-color":[{"inset-shadow":T()}],"ring-w":[{ring:ge()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:T()}],"ring-offset-w":[{"ring-offset":[k,Pt]}],"ring-offset-color":[{"ring-offset":T()}],"inset-ring-w":[{"inset-ring":ge()}],"inset-ring-color":[{"inset-ring":T()}],"text-shadow":[{"text-shadow":[`none`,f,Kt,Bt]}],"text-shadow-color":[{"text-shadow":T()}],opacity:[{opacity:[k,j,A]}],"mix-blend":[{"mix-blend":[...ve(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ve()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[k]}],"mask-image-linear-from-pos":[{"mask-linear-from":ye()}],"mask-image-linear-to-pos":[{"mask-linear-to":ye()}],"mask-image-linear-from-color":[{"mask-linear-from":T()}],"mask-image-linear-to-color":[{"mask-linear-to":T()}],"mask-image-t-from-pos":[{"mask-t-from":ye()}],"mask-image-t-to-pos":[{"mask-t-to":ye()}],"mask-image-t-from-color":[{"mask-t-from":T()}],"mask-image-t-to-color":[{"mask-t-to":T()}],"mask-image-r-from-pos":[{"mask-r-from":ye()}],"mask-image-r-to-pos":[{"mask-r-to":ye()}],"mask-image-r-from-color":[{"mask-r-from":T()}],"mask-image-r-to-color":[{"mask-r-to":T()}],"mask-image-b-from-pos":[{"mask-b-from":ye()}],"mask-image-b-to-pos":[{"mask-b-to":ye()}],"mask-image-b-from-color":[{"mask-b-from":T()}],"mask-image-b-to-color":[{"mask-b-to":T()}],"mask-image-l-from-pos":[{"mask-l-from":ye()}],"mask-image-l-to-pos":[{"mask-l-to":ye()}],"mask-image-l-from-color":[{"mask-l-from":T()}],"mask-image-l-to-color":[{"mask-l-to":T()}],"mask-image-x-from-pos":[{"mask-x-from":ye()}],"mask-image-x-to-pos":[{"mask-x-to":ye()}],"mask-image-x-from-color":[{"mask-x-from":T()}],"mask-image-x-to-color":[{"mask-x-to":T()}],"mask-image-y-from-pos":[{"mask-y-from":ye()}],"mask-image-y-to-pos":[{"mask-y-to":ye()}],"mask-image-y-from-color":[{"mask-y-from":T()}],"mask-image-y-to-color":[{"mask-y-to":T()}],"mask-image-radial":[{"mask-radial":[j,A]}],"mask-image-radial-from-pos":[{"mask-radial-from":ye()}],"mask-image-radial-to-pos":[{"mask-radial-to":ye()}],"mask-image-radial-from-color":[{"mask-radial-from":T()}],"mask-image-radial-to-color":[{"mask-radial-to":T()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[k]}],"mask-image-conic-from-pos":[{"mask-conic-from":ye()}],"mask-image-conic-to-pos":[{"mask-conic-to":ye()}],"mask-image-conic-from-color":[{"mask-conic-from":T()}],"mask-image-conic-to-color":[{"mask-conic-to":T()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:de()}],"mask-repeat":[{mask:fe()}],"mask-size":[{mask:pe()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,j,A]}],filter:[{filter:[``,`none`,j,A]}],blur:[{blur:be()}],brightness:[{brightness:[k,j,A]}],contrast:[{contrast:[k,j,A]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Kt,Bt]}],"drop-shadow-color":[{"drop-shadow":T()}],grayscale:[{grayscale:[``,k,j,A]}],"hue-rotate":[{"hue-rotate":[k,j,A]}],invert:[{invert:[``,k,j,A]}],saturate:[{saturate:[k,j,A]}],sepia:[{sepia:[``,k,j,A]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,j,A]}],"backdrop-blur":[{"backdrop-blur":be()}],"backdrop-brightness":[{"backdrop-brightness":[k,j,A]}],"backdrop-contrast":[{"backdrop-contrast":[k,j,A]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,k,j,A]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[k,j,A]}],"backdrop-invert":[{"backdrop-invert":[``,k,j,A]}],"backdrop-opacity":[{"backdrop-opacity":[k,j,A]}],"backdrop-saturate":[{"backdrop-saturate":[k,j,A]}],"backdrop-sepia":[{"backdrop-sepia":[``,k,j,A]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":x()}],"border-spacing-x":[{"border-spacing-x":x()}],"border-spacing-y":[{"border-spacing-y":x()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,j,A]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[k,`initial`,j,A]}],ease:[{ease:[`linear`,`initial`,_,j,A]}],delay:[{delay:[k,j,A]}],animate:[{animate:[`none`,v,j,A]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,j,A]}],"perspective-origin":[{"perspective-origin":ee()}],rotate:[{rotate:xe()}],"rotate-x":[{"rotate-x":xe()}],"rotate-y":[{"rotate-y":xe()}],"rotate-z":[{"rotate-z":xe()}],scale:[{scale:Se()}],"scale-x":[{"scale-x":Se()}],"scale-y":[{"scale-y":Se()}],"scale-z":[{"scale-z":Se()}],"scale-3d":[`scale-3d`],skew:[{skew:Ce()}],"skew-x":[{"skew-x":Ce()}],"skew-y":[{"skew-y":Ce()}],transform:[{transform:[j,A,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:ee()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:we()}],"translate-x":[{"translate-x":we()}],"translate-y":[{"translate-y":we()}],"translate-z":[{"translate-z":we()}],"translate-none":[`translate-none`],zoom:[{zoom:[Ct,j,A]}],accent:[{accent:T()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:T()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,j,A]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":T()}],"scrollbar-track-color":[{"scrollbar-track":T()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":x()}],"scroll-mx":[{"scroll-mx":x()}],"scroll-my":[{"scroll-my":x()}],"scroll-ms":[{"scroll-ms":x()}],"scroll-me":[{"scroll-me":x()}],"scroll-mbs":[{"scroll-mbs":x()}],"scroll-mbe":[{"scroll-mbe":x()}],"scroll-mt":[{"scroll-mt":x()}],"scroll-mr":[{"scroll-mr":x()}],"scroll-mb":[{"scroll-mb":x()}],"scroll-ml":[{"scroll-ml":x()}],"scroll-p":[{"scroll-p":x()}],"scroll-px":[{"scroll-px":x()}],"scroll-py":[{"scroll-py":x()}],"scroll-ps":[{"scroll-ps":x()}],"scroll-pe":[{"scroll-pe":x()}],"scroll-pbs":[{"scroll-pbs":x()}],"scroll-pbe":[{"scroll-pbe":x()}],"scroll-pt":[{"scroll-pt":x()}],"scroll-pr":[{"scroll-pr":x()}],"scroll-pb":[{"scroll-pb":x()}],"scroll-pl":[{"scroll-pl":x()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,j,A]}],fill:[{fill:[`none`,...T()]}],"stroke-w":[{stroke:[k,Vt,Pt,Ft]}],stroke:[{stroke:[`none`,...T()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`start`,`end`,`right`,`left`],"inset-y":[`inset-bs`,`inset-be`,`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`ps`,`pe`,`pr`,`pl`],py:[`pbs`,`pbe`,`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`ms`,`me`,`mr`,`ml`],my:[`mbs`,`mbe`,`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-s`,`border-w-e`,`border-w-r`,`border-w-l`],"border-w-y":[`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-s`,`border-color-e`,`border-color-r`,`border-color-l`],"border-color-y":[`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-ms`,`scroll-me`,`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-ps`,`scroll-pe`,`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function N(...e){return rn(Ne(e))}var an=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),P=o(((e,t)=>{t.exports=an()}))(),on=`.notice, .update-nag, .updated, .error, #message`;function sn({className:e}){let t=(0,_.useRef)(null);return(0,_.useEffect)(()=>{let e=document.getElementById(`wpbody-content`),n=t.current;if(!e||!n)return;let r=()=>{e.querySelectorAll(`:scope > *`).forEach(e=>{e.id!==`monoranks-admin`&&e.matches(on)&&n.appendChild(e)})};r();let i=new MutationObserver(r);return i.observe(e,{childList:!0}),()=>i.disconnect()},[]),(0,P.jsx)(`div`,{ref:t,className:N(`empty:hidden`,e)})}function F(e,t,n=`plugin-admin`){try{let r=new URL(e);return r.host===new URL(y().apiBase).host?e:(r.searchParams.set(`utm_source`,`wordpress-plugin`),r.searchParams.set(`utm_medium`,`admin`),r.searchParams.set(`utm_campaign`,n),r.searchParams.set(`utm_content`,t),r.toString())}catch{return e}}function cn({which:e,className:t}){return(0,P.jsx)(`span`,{className:N(`inline-flex [&>svg]:block`,t),dangerouslySetInnerHTML:{__html:y().logos[e]}})}var ln=`mx-auto w-full max-w-[1260px] px-10 max-[960px]:px-6 max-[782px]:px-4`;function un({section:e,go:t,title:n,description:r,actions:i,children:a}){let o=y(),s=[{id:`overview`,label:x(`Overview`,`monoranks`),href:o.urls.overview},{id:`settings`,label:x(`Settings`,`monoranks`),href:o.urls.settings}];return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`header`,{className:`bg-band text-band-ink`,children:(0,P.jsxs)(`div`,{className:N(ln,`flex min-h-16 items-center gap-7 max-[782px]:gap-3`),children:[(0,P.jsx)(`a`,{href:o.urls.overview,onClick:e=>{e.preventDefault(),t(`overview`)},className:`inline-flex items-center text-band-ink hover:text-white`,children:(0,P.jsx)(cn,{which:`wordmark`,className:`[&>svg]:h-7 [&>svg]:w-[138px]`})}),(0,P.jsx)(`nav`,{className:`flex self-stretch gap-[22px] max-[782px]:gap-3`,"aria-label":x(`MonoRanks sections`,`monoranks`),children:s.map(n=>(0,P.jsx)(`a`,{href:n.href,onClick:e=>{e.preventDefault(),t(n.id)},"aria-current":e===n.id?`page`:void 0,className:N(`inline-flex items-center border-b-2 pt-[2px] text-[13px] font-medium`,e===n.id?`border-brand text-band-ink`:`border-transparent text-band-muted hover:text-white`),children:n.label},n.id))}),(0,P.jsxs)(`div`,{className:`ms-auto flex items-center gap-1.5`,children:[(0,P.jsx)(`a`,{href:F(o.urls.docs,`header-help`,e),target:`_blank`,rel:`noopener`,className:`inline-flex h-8 items-center gap-1.5 rounded-md px-3 text-[12.5px] font-medium text-band-muted hover:bg-band-edge hover:text-white`,children:x(`Help`,`monoranks`)}),(0,P.jsxs)(`a`,{href:F(o.urls.app,`header-open`,e),target:`_blank`,rel:`noopener`,className:`inline-flex h-8 items-center gap-1.5 rounded-md border border-band-edge px-3 text-[12.5px] font-medium text-band-ink hover:bg-band-edge hover:text-white max-[782px]:hidden`,children:[x(`Open MonoRanks`,`monoranks`),(0,P.jsx)(we,{size:14,className:`mr-flip`})]})]})]})}),(0,P.jsxs)(`div`,{className:N(ln,`flex flex-wrap items-start justify-between gap-x-6 gap-y-3 pb-1.5 pt-[30px]`),children:[(0,P.jsxs)(`div`,{className:`flex min-w-0 flex-[1_1_420px] flex-col gap-1.5`,children:[(0,P.jsx)(`h1`,{className:`text-[26px] font-semibold tracking-[-0.02em] leading-tight text-ink`,children:n}),r&&(0,P.jsx)(`p`,{className:`max-w-[72ch] text-ink2`,children:r})]}),i&&(0,P.jsx)(`div`,{className:`flex flex-wrap items-center gap-2 pt-1`,children:i})]}),(0,P.jsx)(`div`,{className:`wp-header-end`}),(0,P.jsx)(sn,{className:N(ln,`flex flex-col gap-2.5 pt-3`)}),(0,P.jsx)(`main`,{className:N(ln,`flex flex-[1_0_auto] flex-col gap-5 pb-10 pt-[22px]`),children:a}),(0,P.jsx)(dn,{section:e,go:t})]})}function dn({section:e,go:t}){let n=y();return(0,P.jsxs)(`footer`,{className:`mt-auto bg-band text-band-ink`,children:[(0,P.jsxs)(`div`,{className:N(ln,`grid grid-cols-[minmax(0,1fr)_minmax(0,1fr)_auto] items-center gap-8 py-7 max-[960px]:grid-cols-[minmax(0,1fr)_auto] max-[960px]:gap-5 max-[782px]:grid-cols-1`),children:[(0,P.jsxs)(`div`,{className:`inline-flex items-center gap-2.5`,children:[(0,P.jsx)(cn,{which:`wordmark`,className:`[&>svg]:h-[26px] [&>svg]:w-[128px]`}),(0,P.jsxs)(`span`,{className:`rounded-md border border-band-edge px-[7px] py-[2px] text-[11px] font-medium text-band-muted`,children:[`v`,n.version]})]}),(0,P.jsxs)(`div`,{className:`min-w-0 border-s border-band-edge ps-7 max-[960px]:col-start-1 max-[960px]:border-0 max-[960px]:ps-0`,children:[(0,P.jsx)(`span`,{className:`mb-1.5 block text-[11px] uppercase tracking-[.08em] text-band-muted`,children:x(`Your data`,`monoranks`)}),(0,P.jsxs)(`a`,{href:n.urls.settings,onClick:e=>{e.preventDefault(),t(`settings`)},className:`inline-flex items-center gap-[7px] text-[13px] text-band-ink hover:text-white hover:underline hover:underline-offset-4`,children:[x(`What is sent and what can change`,`monoranks`),(0,P.jsx)(we,{size:14,className:`mr-flip`})]})]}),(0,P.jsxs)(`a`,{href:F(n.urls.docs,`footer-help`,e),target:`_blank`,rel:`noopener`,className:`block rounded-[9px] border border-band-edge px-[18px] py-3 text-start text-band-ink hover:bg-band-edge hover:text-white max-[960px]:col-start-2 max-[960px]:row-span-2 max-[960px]:row-start-1 max-[782px]:col-auto max-[782px]:row-auto`,children:[(0,P.jsx)(`span`,{className:`mb-1.5 block text-[11px] text-band-muted`,children:x(`Need a hand?`,`monoranks`)}),(0,P.jsxs)(`strong`,{className:`flex items-center justify-between gap-5 text-[13px] font-medium`,children:[x(`Help and resources`,`monoranks`),(0,P.jsx)(Se,{size:14,className:`mr-flip`})]})]})]}),(0,P.jsx)(`div`,{className:N(ln),children:(0,P.jsxs)(`div`,{className:`flex items-center justify-center gap-3 border-t border-band-edge pb-[18px] pt-4 text-[11px] text-band-muted`,children:[(0,P.jsx)(`span`,{children:x(`A product by`,`monoranks`)}),(0,P.jsx)(`a`,{href:F(`https://veronalabs.com/`,`footer-publisher`,e),target:`_blank`,rel:`noopener`,"aria-label":`VeronaLabs`,className:`inline-flex min-h-7 items-center text-band-muted opacity-75 hover:opacity-100 hover:text-band-muted`,children:(0,P.jsx)(cn,{which:`veronalabs`,className:`[&>svg]:h-auto [&>svg]:w-28`})})]})})]})}function fn({notice:e}){if(!e)return null;let t={success:`text-good-ink`,error:`text-critical`,warning:`text-warn`}[e.type],n={success:Oe,error:Ee,warning:O}[e.type];return(0,P.jsxs)(`div`,{className:N(`notice`,`notice-${e.type}`,`flex items-start gap-2.5`),role:`status`,children:[(0,P.jsx)(n,{size:16,className:N(`mt-[1px] shrink-0`,t),"aria-hidden":`true`}),(0,P.jsx)(`p`,{className:`text-ink`,children:e.text})]})}function pn({rows:e}){return(0,P.jsx)(`div`,{className:`grid grid-cols-[150px_minmax(0,1fr)] gap-x-3 gap-y-2 text-[12px] max-[960px]:grid-cols-1`,children:e.map(([e,t],n)=>(0,P.jsxs)(`div`,{className:`contents`,children:[(0,P.jsx)(`div`,{className:`text-mute max-[960px]:mt-1`,children:e}),(0,P.jsx)(`div`,{className:`min-w-0 [overflow-wrap:anywhere]`,children:t})]},n))})}function mn({title:e,text:t}){return(0,P.jsxs)(`div`,{className:`flex flex-col items-center gap-2 px-6 py-9 text-center text-ink2`,children:[(0,P.jsx)(`span`,{className:`text-[13px] font-semibold text-ink`,children:e}),(0,P.jsx)(`span`,{className:`text-[12px]`,children:t})]})}function I(e){if(e==null)return`—`;try{return new Intl.NumberFormat(y().locale,{maximumFractionDigits:0}).format(e)}catch{return String(e)}}function hn(e,t=``){return(e>0?`+`:e<0?`−`:``)+I(Math.abs(e))+t}function gn(e){return e==null?`none`:e>=80?`good`:e>=60?`warn`:`critical`}function _n({score:e,size:t=`sm`,label:n}){let r=t===`lg`?64:30,i=t===`lg`?5:3,a=(r-i)/2,o=2*Math.PI*a,s=r/2,c=e===null?x(`Not scored yet`,`monoranks`):C(x(`%s of 100`,`monoranks`),I(e));return(0,P.jsxs)(`span`,{className:N(`mr-score`,`mr-${t}`,`mr-${gn(e)}`),title:(n?`${n}: `:``)+c,children:[(0,P.jsxs)(`span`,{className:`mr-ring`,children:[(0,P.jsx)(`svg`,{width:r,height:r,viewBox:`0 0 ${r} ${r}`,"aria-hidden":`true`,children:e===null?(0,P.jsx)(`circle`,{cx:s,cy:s,r:a,fill:`none`,stroke:`currentColor`,strokeWidth:i,strokeDasharray:`3 4`}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`circle`,{cx:s,cy:s,r:a,fill:`none`,stroke:`var(--grayTrack)`,strokeWidth:i}),(0,P.jsx)(`circle`,{cx:s,cy:s,r:a,fill:`none`,stroke:`currentColor`,strokeWidth:i,strokeLinecap:`round`,strokeDasharray:`${o*e/100} ${o}`,transform:`rotate(-90 ${s} ${s})`})]})}),(0,P.jsx)(`span`,{children:e===null?`—`:I(e)})]}),n&&(0,P.jsx)(`span`,{className:`mr-lbl`,children:n})]})}function vn({n:e,unit:t=``,period:n=`week`}){if(e==null)return null;let r=e>0?`text-good-ink`:e<0?`text-critical`:`text-mute`,i=`⁨`+hn(e,t)+`⁩`,a=C(x(n===`previous28`?`%s vs previous 28 days`:`%s this week`,`monoranks`),i);return(0,P.jsx)(`span`,{className:N(`text-[12px] font-medium`,r),children:a})}function yn({series:e}){if(e.length<2)return null;let t=Math.max(1,...e),n=e.map((n,r)=>[Math.round(200*r/(e.length-1)*10)/10,Math.round((34-30*n/t)*10)/10]),r=`M`+n.map(e=>e.join(` `)).join(` L`),i=n[n.length-1];return(0,P.jsxs)(`svg`,{className:`block h-[38px] w-full`,viewBox:`0 0 200 38`,preserveAspectRatio:`none`,"aria-hidden":`true`,children:[(0,P.jsx)(`path`,{d:`${r} L200 38 L0 38 Z`,fill:`var(--accentSoft)`}),(0,P.jsx)(`path`,{d:r,fill:`none`,stroke:`var(--accent)`,strokeWidth:`1.5`}),(0,P.jsx)(`circle`,{cx:i[0],cy:i[1],r:`2.5`,fill:`var(--accent)`})]})}var bn=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,xn=Ne,Sn=(e,t)=>n=>{if(t?.variants==null)return xn(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=bn(t)||bn(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return xn(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},Cn=Sn(`inline-flex shrink-0 items-center whitespace-nowrap font-medium`,{variants:{variant:{badge:`h-5 gap-[5px] rounded-sm bg-surface2 px-[7px] text-[11px] text-ink2`,warn:`h-5 gap-[5px] rounded-sm bg-surface2 px-[7px] text-[11px] text-warn`,pill:`h-[22px] gap-[6px] rounded-full bg-surface2 ps-[7px] pe-2 text-[12px] text-ink`}},defaultVariants:{variant:`badge`}});function L({className:e,variant:t,...n}){return(0,P.jsx)(`span`,{"data-slot":`badge`,className:N(Cn({variant:t}),e),...n})}function wn({tone:e=`muted`}){let t={good:`bg-good`,warn:`bg-warn`,critical:`bg-critical`,muted:`bg-mute`}[e];return(0,P.jsx)(`span`,{className:N(`inline-block h-2 w-2 shrink-0 rounded-full`,t)})}var Tn=Object.defineProperty,En=(e,t)=>Tn(e,`name`,{value:t,configurable:!0});function Dn(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}En(Dn,`setRef`);function On(...e){return t=>{let n=!1,r=e.map(e=>{let r=Dn(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;tAn(e,`name`,{value:t,configurable:!0});function Mn(e){let t=_.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];Vn(r)&&typeof Gn==`function`&&(r=Gn(r._payload)),_.Children.forEach(r,e=>{if(zn(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;Vn(n)&&typeof Gn==`function`&&(n=Gn(n._payload)),a=In(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=_.cloneElement(a,void 0,s):!o&&_.Children.count(r)===1&&_.isValidElement(r)&&(a=r);let c=a?Rn(a):void 0,l=kn(n,c);if(!a){if(r||r===0)throw Error(o?Wn(e):Un(e));return r}let u=Ln(i,a.props??{});return a.type!==_.Fragment&&(u.ref=n?l:c),_.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}jn(Mn,`createSlot`);var Nn=Mn(`Slot`),Pn=Symbol.for(`radix.slottable`);function Fn(e){let t=jn(e=>`child`in e?e.children(e.child):e.children,`Slottable`);return t.displayName=`${e}.Slottable`,t.__radixId=Pn,t}jn(Fn,`createSlottable`);var In=jn((e,t)=>{if(`child`in e.props){let t=e.props.child;return _.isValidElement(t)?_.cloneElement(t,void 0,e.props.children(t.props.children)):null}return _.isValidElement(t)?t:null},`getSlottableElementFromSlottable`);function Ln(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}jn(Ln,`mergeProps`);function Rn(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}jn(Rn,`getElementRef`);function zn(e){return _.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Pn}jn(zn,`isSlottable`);var Bn=Symbol.for(`react.lazy`);function Vn(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===Bn&&`_payload`in e&&Hn(e._payload)}jn(Vn,`isLazyComponent`);function Hn(e){return typeof e==`object`&&!!e&&`then`in e}jn(Hn,`isPromiseLike`);var Un=jn(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,`createSlotError`),Wn=jn(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,`createSlottableError`),Gn=_.use,Kn=Sn(`inline-flex items-center justify-center gap-[7px] whitespace-nowrap rounded-md border text-[13px] font-medium leading-none transition-[background-color,border-color,color,opacity] duration-100 disabled:pointer-events-none disabled:opacity-55 [&_svg]:pointer-events-none [&_svg]:shrink-0 cursor-pointer`,{variants:{variant:{default:`border-border bg-surface text-ink hover:bg-surface2 hover:border-line`,primary:`border-primary bg-primary text-primary-foreground hover:opacity-85`,accent:`border-brand bg-brand text-white hover:opacity-85`,ghost:`border-transparent bg-transparent text-ink2 hover:bg-surface3 hover:text-ink`,danger:`border-critical/50 bg-surface text-critical hover:border-critical hover:bg-critical hover:text-white`,dangerSolid:`border-critical bg-critical text-white hover:opacity-85`},size:{default:`h-[34px] px-3`,sm:`h-7 px-[10px] text-[12px]`,icon:`h-8 w-8 px-0`}},defaultVariants:{variant:`default`,size:`default`}});function R({className:e,variant:t,size:n,asChild:r=!1,children:i,...a}){let o=a[`aria-busy`]===!0||a[`aria-busy`]===`true`,s=N(Kn({variant:t,size:n,className:e}),o&&`pointer-events-none opacity-85`);return r?(0,P.jsx)(Nn,{"data-slot":`button`,className:s,...a,children:i}):(0,P.jsxs)(`button`,{"data-slot":`button`,className:s,...a,children:[o&&(0,P.jsx)(`span`,{className:`spin`,"aria-hidden":`true`}),i]})}function qn({rows:e,onUndo:t,busy:n}){if(!e.length)return(0,P.jsx)(mn,{title:x(`No changes yet`,`monoranks`),text:x(`Fixes you approve in MonoRanks show up here, each with Undo.`,`monoranks`)});let r=`whitespace-nowrap border-b border-border px-[12px] py-[11px] text-start text-[12px] font-medium text-mute`,i=`border-b border-grid px-[12px] py-3 align-middle text-[12px] group-last:border-b-0`,a=`overflow-hidden text-ellipsis whitespace-nowrap text-start`;return(0,P.jsx)(`div`,{className:`rounded-b-xl`,children:(0,P.jsxs)(`table`,{className:`w-full table-fixed border-collapse`,children:[(0,P.jsxs)(`colgroup`,{children:[(0,P.jsx)(`col`,{className:`w-[15%] min-w-[130px]`}),(0,P.jsx)(`col`,{className:`w-[12%]`}),(0,P.jsx)(`col`,{className:`w-[12%]`}),(0,P.jsx)(`col`,{className:`w-[18%]`}),(0,P.jsx)(`col`,{}),(0,P.jsx)(`col`,{}),(0,P.jsx)(`col`,{className:`w-[96px]`})]}),(0,P.jsx)(`thead`,{children:(0,P.jsxs)(`tr`,{children:[(0,P.jsx)(`th`,{className:r,children:x(`When`,`monoranks`)}),(0,P.jsx)(`th`,{className:r,children:x(`Who`,`monoranks`)}),(0,P.jsx)(`th`,{className:r,children:x(`Field`,`monoranks`)}),(0,P.jsx)(`th`,{className:r,children:x(`Where`,`monoranks`)}),(0,P.jsx)(`th`,{className:r,children:x(`Before`,`monoranks`)}),(0,P.jsx)(`th`,{className:r,children:x(`After`,`monoranks`)}),(0,P.jsx)(`th`,{className:r})]})}),(0,P.jsx)(`tbody`,{children:e.map(e=>(0,P.jsxs)(`tr`,{className:`group hover:[&>td]:bg-surface2`,children:[(0,P.jsx)(`td`,{className:`${i} tabular-nums`,children:(0,P.jsx)(`div`,{className:a,title:e.when,children:e.when})}),(0,P.jsx)(`td`,{className:i,children:(0,P.jsx)(`div`,{className:a,title:e.actor,children:e.actor})}),(0,P.jsx)(`td`,{className:i,children:(0,P.jsx)(L,{className:`max-w-full overflow-hidden text-ellipsis whitespace-nowrap`,title:e.fieldLabel,children:e.fieldLabel})}),(0,P.jsx)(`td`,{className:i,children:(0,P.jsx)(`div`,{className:a,dir:`auto`,title:e.where,children:e.where})}),(0,P.jsx)(`td`,{className:`${i} text-mute`,children:(0,P.jsx)(`div`,{className:a,dir:`auto`,title:e.previous,children:e.previous||`—`})}),(0,P.jsx)(`td`,{className:i,children:(0,P.jsx)(`div`,{className:a,dir:`auto`,title:e.value,children:e.value||`—`})}),(0,P.jsx)(`td`,{className:`${i} text-end`,children:(0,P.jsxs)(R,{variant:`ghost`,size:`sm`,disabled:n!==null,"aria-busy":n===e.index,onClick:()=>t(e),children:[n!==e.index&&(0,P.jsx)(je,{size:13,className:`mr-flip`}),x(`Undo`,`monoranks`)]})})]},e.index))})]})})}function Jn({className:e,...t}){return(0,P.jsx)(`div`,{"data-slot":`card`,className:N(`min-w-0 rounded-xl border border-border bg-surface`,e),...t})}function Yn({className:e,...t}){return(0,P.jsx)(`div`,{"data-slot":`card-header`,className:N(`flex flex-wrap items-center justify-between gap-3 px-[22px] pt-[18px]`,e),...t})}function Xn({className:e,...t}){return(0,P.jsx)(`h2`,{"data-slot":`card-title`,className:N(`inline-flex items-center gap-2 text-[15px] font-semibold text-ink`,e),...t})}function Zn({className:e,...t}){return(0,P.jsx)(`div`,{"data-slot":`card-body`,className:N(`px-[22px] pb-[22px] pt-4`,e),...t})}var Qn={target:`_blank`,rel:`noopener`};function $n(){let[e,t]=(0,_.useState)(null),[n,r]=(0,_.useState)(!1);if((0,_.useEffect)(()=>{w.grow().then(t).catch(()=>r(!0))},[]),n)return null;if(!e)return(0,P.jsx)(`section`,{"aria-label":x(`What to do next`,`monoranks`),"aria-busy":`true`,className:`grid grid-cols-2 gap-5 max-[960px]:grid-cols-1`,children:[0,1,2,3].map(e=>(0,P.jsx)(Jn,{className:`h-[180px] animate-pulse bg-surface2`},e))});if(!e.connected)return null;let i=e.scope_url??``;return(0,P.jsxs)(`section`,{"aria-labelledby":`mr-grow-title`,className:`flex flex-col gap-3`,children:[(0,P.jsxs)(`div`,{className:`flex flex-wrap items-baseline justify-between gap-2`,children:[(0,P.jsx)(`h2`,{id:`mr-grow-title`,className:`text-[15px] font-semibold text-ink`,children:x(`What to do next`,`monoranks`)}),e.fetched&&(0,P.jsx)(`span`,{className:`text-[11px] text-mute`,children:C(x(`Updated %s`,`monoranks`),e.fetched)})]}),(0,P.jsxs)(`div`,{className:`grid grid-cols-2 items-start gap-5 max-[960px]:grid-cols-1`,children:[(0,P.jsx)(nr,{d:e.outreach,scope:i}),(0,P.jsx)(rr,{d:e.backlinks,scope:i}),(0,P.jsx)(ir,{d:e.competitors,scope:i}),(0,P.jsx)(ar,{d:e.keywords,scope:i})]}),(0,P.jsx)(or,{d:e.report})]})}function er({state:e,scope:t,empty:n}){let r=n;return e===`no_access`?r=(0,P.jsxs)(P.Fragment,{children:[x(`The MonoRanks key of this site cannot read this yet. Allow it under Integrations in MonoRanks, or connect again.`,`monoranks`),` `,t&&(0,P.jsx)(`a`,{className:`font-medium text-brand-ink hover:underline`,href:F(t,`grow-scope`),...Qn,children:x(`Open Integrations`,`monoranks`)})]}):e===`off`?r=x(`Not available in your MonoRanks yet.`,`monoranks`):e===`error`?r=x(`MonoRanks could not be reached. The plugin tries again within the hour.`,`monoranks`):e===`pending`&&(r=x(`Still loading. Reload this screen in a minute.`,`monoranks`)),(0,P.jsx)(`p`,{className:`m-0 text-[12px] text-ink2`,children:r})}function tr({title:e,badge:t,link:n,linkText:r,children:i}){return(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsxs)(Xn,{children:[e,t]}),n&&(0,P.jsx)(R,{variant:`ghost`,size:`sm`,asChild:!0,children:(0,P.jsxs)(`a`,{href:F(n,`grow-card`),...Qn,children:[r,(0,P.jsxs)(`span`,{className:`sr-only`,children:[` `,x(`(opens in a new tab)`,`monoranks`)]})]})})]}),(0,P.jsx)(Zn,{className:`flex flex-col gap-3 pt-3`,children:i})]})}function nr({d:e,scope:t}){let n=e?.state===`ok`?e:null;return(0,P.jsx)(tr,{title:x(`Outreach`,`monoranks`),badge:n&&n.to_contact>0?(0,P.jsx)(L,{children:C(S(`%s to contact`,`%s to contact`,n.to_contact,`monoranks`),I(n.to_contact))}):void 0,link:n?.link||e?.link,linkText:x(`All targets`,`monoranks`),children:n?(0,P.jsxs)(P.Fragment,{children:[n.top.length>0?(0,P.jsx)(`ol`,{className:`m-0 flex list-none flex-col gap-2.5 p-0`,children:n.top.map(e=>(0,P.jsxs)(`li`,{className:`grid gap-0.5`,children:[(0,P.jsxs)(`a`,{className:`truncate text-[13px] font-semibold text-ink hover:underline`,href:e.url,...Qn,children:[(0,P.jsx)(`bdi`,{children:e.title}),(0,P.jsxs)(`span`,{className:`sr-only`,children:[` `,x(`(opens in a new tab)`,`monoranks`)]})]}),(0,P.jsxs)(`span`,{className:`text-[12px] text-ink2`,children:[e.why,e.domain&&(0,P.jsxs)(P.Fragment,{children:[` · `,(0,P.jsx)(`bdi`,{className:`text-mute`,children:e.domain})]})]})]},e.url))}):(0,P.jsx)(er,{state:`empty`,scope:t,empty:x(`Every target is contacted. MonoRanks looks for new ones each week.`,`monoranks`)}),(0,P.jsx)(`p`,{className:`m-0 text-[11px] text-mute`,children:x(`Sites worth asking for a link or a mention. MonoRanks never sends email; you reach out and set the status there.`,`monoranks`)})]}):(0,P.jsx)(er,{state:e?.state??`pending`,scope:t,empty:x(`No outreach targets yet. MonoRanks looks for pages worth a link each week.`,`monoranks`)})})}function rr({d:e,scope:t}){let n=e?.state===`ok`?e:null;return(0,P.jsx)(tr,{title:x(`Backlinks`,`monoranks`),link:n?.link||e?.link,linkText:x(`All backlinks`,`monoranks`),children:n?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-5 gap-y-1`,children:[(0,P.jsxs)(`span`,{className:`text-2xl font-semibold leading-none tabular-nums text-good-ink`,children:[`+`,I(n.new)]}),(0,P.jsxs)(`span`,{className:`text-2xl font-semibold leading-none tabular-nums text-critical`,children:[`−`,I(n.lost)]}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`websites linking to you, won and lost in 28 days`,`monoranks`)})]}),(0,P.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,P.jsx)(L,{variant:`pill`,children:C(S(`%s website links to you`,`%s websites link to you`,n.domains,`monoranks`),I(n.domains))}),n.review>0&&(0,P.jsx)(L,{variant:`pill`,children:C(S(`%s to review for spam`,`%s to review for spam`,n.review,`monoranks`),I(n.review))})]}),n.top.length>0&&(0,P.jsxs)(`div`,{className:`grid gap-1`,children:[(0,P.jsx)(`span`,{className:`text-[12px] text-mute`,children:x(`Newest strong links`,`monoranks`)}),(0,P.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-x-3 gap-y-1 p-0 text-[12px]`,children:n.top.map(e=>(0,P.jsxs)(`li`,{children:[(0,P.jsx)(`bdi`,{children:e.domain}),e.rank!==null&&(0,P.jsxs)(`span`,{className:`text-mute`,children:[` · `,C(x(`strength %s`,`monoranks`),I(e.rank))]})]},e.domain))})]})]}):(0,P.jsx)(er,{state:e?.state??`pending`,scope:t,empty:x(`No backlink data yet. MonoRanks refreshes it weekly.`,`monoranks`)})})}function ir({d:e,scope:t}){let n=e?.state===`ok`?e:null;return(0,P.jsx)(tr,{title:x(`Competitors`,`monoranks`),badge:n&&n.gaps?(0,P.jsx)(L,{children:C(S(`%s keyword gap`,`%s keyword gaps`,n.gaps,`monoranks`),I(n.gaps))}):void 0,link:n?.link||e?.link,linkText:x(`All competitors`,`monoranks`),children:n?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-2 p-0`,children:n.top.map(e=>(0,P.jsxs)(`li`,{className:`grid gap-0.5`,children:[(0,P.jsxs)(`span`,{className:`text-[13px] font-semibold`,children:[(0,P.jsx)(`bdi`,{children:e.domain}),!e.picked&&(0,P.jsx)(`span`,{className:`ms-1.5 text-[11px] font-normal text-mute`,children:x(`suggested`,`monoranks`)})]}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:e.reason||C(S(`%1$s shared keyword, %2$s where they rank higher`,`%1$s shared keywords, %2$s where they rank higher`,e.shared,`monoranks`),I(e.shared),I(e.above_us))})]},e.domain))}),n.keywords.length>0&&(0,P.jsxs)(`div`,{className:`grid gap-1`,children:[(0,P.jsx)(`span`,{className:`text-[12px] text-mute`,children:x(`They rank for these, you do not`,`monoranks`)}),(0,P.jsx)(`ul`,{className:`m-0 flex list-none flex-wrap gap-1.5 p-0`,children:n.keywords.map(e=>(0,P.jsx)(`li`,{children:(0,P.jsxs)(L,{variant:`pill`,children:[(0,P.jsx)(`bdi`,{children:e.keyword}),e.volume!==null&&(0,P.jsx)(`span`,{className:`tabular-nums text-ink2`,children:C(x(`%s/mo`,`monoranks`),I(e.volume))})]})},e.keyword))})]})]}):(0,P.jsx)(er,{state:e?.state??`pending`,scope:t,empty:x(`No competitors yet. Pick some in MonoRanks to see the keywords they win.`,`monoranks`)})})}function ar({d:e,scope:t}){let n=e?.state===`ok`?e:null,r=({k:e,up:t})=>(0,P.jsxs)(`li`,{className:`flex items-baseline justify-between gap-3 text-[12px]`,children:[(0,P.jsx)(`bdi`,{className:`min-w-0 truncate`,children:e.keyword}),(0,P.jsxs)(`span`,{className:`shrink-0 tabular-nums ${t?`text-good-ink`:`text-critical`}`,children:[(0,P.jsxs)(`span`,{className:`sr-only`,children:[x(t?`up`:`down`,`monoranks`),` `]}),C(x(`%1$s → %2$s`,`monoranks`),I(e.from),I(e.to))]})]});return(0,P.jsx)(tr,{title:x(`Keyword movers this week`,`monoranks`),link:n?.link||e?.link,linkText:x(`All keywords`,`monoranks`),children:n?n.up.length||n.down.length?(0,P.jsxs)(`div`,{className:`grid grid-cols-2 gap-4 max-[600px]:grid-cols-1`,children:[(0,P.jsxs)(`div`,{className:`grid content-start gap-1`,children:[(0,P.jsx)(`span`,{className:`text-[12px] font-medium text-ink2`,children:x(`Up`,`monoranks`)}),n.up.length?(0,P.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-1 p-0`,children:n.up.map(e=>(0,P.jsx)(r,{k:e,up:!0},e.keyword))}):(0,P.jsx)(`span`,{className:`text-[12px] text-mute`,children:`—`})]}),(0,P.jsxs)(`div`,{className:`grid content-start gap-1`,children:[(0,P.jsx)(`span`,{className:`text-[12px] font-medium text-ink2`,children:x(`Down`,`monoranks`)}),n.down.length?(0,P.jsx)(`ul`,{className:`m-0 flex list-none flex-col gap-1 p-0`,children:n.down.map(e=>(0,P.jsx)(r,{k:e,up:!1},e.keyword))}):(0,P.jsx)(`span`,{className:`text-[12px] text-mute`,children:`—`})]})]}):(0,P.jsx)(`p`,{className:`m-0 text-[12px] text-ink2`,children:C(S(`Your %s tracked keyword held its place this week.`,`Your %s tracked keywords held their places this week.`,n.tracked,`monoranks`),I(n.tracked))}):(0,P.jsx)(er,{state:e?.state??`pending`,scope:t,empty:x(`No tracked keywords yet. Track some in MonoRanks to see them move here.`,`monoranks`)})})}function or({d:e}){if(!e||e.state!==`ok`&&e.state!==`empty`)return null;let t=e.state===`ok`?e.emails??[]:[],n=e.state===`ok`?e.reports??[]:[];return(0,P.jsx)(Jn,{className:`grid gap-3 px-5 py-3.5`,children:e.state===`empty`?(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,P.jsx)(`span`,{className:`text-[13px] text-ink2`,children:x(`No reports yet. Create a website report, a client report or a weekly email in MonoRanks to share progress.`,`monoranks`)}),e.all_link&&(0,P.jsx)(R,{size:`sm`,variant:`ghost`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(e.all_link,`reports`),...Qn,children:x(`Open reports`,`monoranks`)})})]}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,P.jsx)(`b`,{className:`text-[13px] font-semibold`,children:x(`Reports`,`monoranks`)}),e.all_link&&(0,P.jsx)(R,{size:`sm`,variant:`ghost`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(e.all_link,`reports`),...Qn,children:x(`Open reports`,`monoranks`)})})]}),(0,P.jsxs)(`ul`,{className:`m-0 flex list-none flex-col p-0`,children:[t.map((e,t)=>(0,P.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b border-grid py-2 last:border-b-0`,children:[(0,P.jsxs)(`span`,{className:`text-[13px]`,children:[(0,P.jsx)(`b`,{className:`font-semibold`,children:(0,P.jsx)(`bdi`,{children:e.name})}),` `,(0,P.jsxs)(`span`,{className:`text-mute`,children:[`· `,x(`Weekly email`,`monoranks`)]})]}),(0,P.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2 text-[12px] text-ink2`,children:[e.enabled&&e.next_label?(0,P.jsx)(`span`,{children:C(x(`Next send %s`,`monoranks`),e.next_label)}):null,(0,P.jsx)(`span`,{children:C(S(`%s recipient`,`%s recipients`,e.recipients,`monoranks`),I(e.recipients))}),(0,P.jsx)(L,{children:e.enabled?x(`On`,`monoranks`):x(`Off`,`monoranks`)})]})]},`e${t}`)),n.map((e,t)=>(0,P.jsxs)(`li`,{className:`flex flex-wrap items-center justify-between gap-x-3 gap-y-1 border-b border-grid py-2 last:border-b-0`,children:[(0,P.jsxs)(`span`,{className:`text-[13px]`,children:[(0,P.jsx)(`b`,{className:`font-semibold`,children:(0,P.jsx)(`bdi`,{children:e.scope||e.title})}),` `,(0,P.jsxs)(`span`,{className:`text-mute`,children:[`· `,e.client?x(`Client report`,`monoranks`):x(`Report`,`monoranks`),e.when?` · ${e.when}`:``]})]}),e.link&&(0,P.jsx)(R,{size:`sm`,asChild:!0,children:(0,P.jsxs)(`a`,{href:F(e.link,`latest-report`),...Qn,children:[x(`Open report`,`monoranks`),(0,P.jsxs)(`span`,{className:`sr-only`,children:[` `,x(`(opens in a new tab)`,`monoranks`)]})]})})]},`r${t}`))]})]})})}var sr=`whitespace-nowrap border-b border-border px-[10px] py-[11px] text-start text-[12px] font-medium text-mute`,cr=`border-b border-grid px-[10px] py-3 align-middle group-last:border-b-0`;function lr(e,t){let n=e.replace(/<[^>]+>/g,``).trim();return n.length>t?n.slice(0,t-1)+`…`:n}function ur(e){try{let t=new URL(e);return t.pathname+t.search}catch{return e}}function dr({fix:e,labels:t}){let n=e.title||(e.field===`redirect`?e.from:x(`Site`,`monoranks`)),r=e.before?lr(e.before,90):null;return(0,P.jsxs)(`div`,{className:`grid min-w-0 flex-1 gap-1`,children:[(0,P.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,P.jsx)(L,{children:t[e.field]??e.field}),(0,P.jsx)(`span`,{className:`min-w-0 truncate text-[12px] text-ink2`,children:e.field===`redirect`||e.field===`ai_bots`||e.field===`llms_txt`?(0,P.jsx)(`b`,{className:`font-semibold text-ink`,children:(0,P.jsx)(`bdi`,{children:n})}):(0,P.jsx)(`bdi`,{children:C(x(`on %s`,`monoranks`),n)})})]}),e.field===`alt`&&e.image&&(0,P.jsx)(`span`,{className:`truncate text-[11px] text-mute`,children:(0,P.jsx)(`bdi`,{children:C(x(`Image: %s`,`monoranks`),e.image)})}),e.field===`content`?(0,P.jsx)(`span`,{className:`text-[12px] text-mute`,children:x(`Adds one answer-first paragraph at the top. Review the before/after in MonoRanks first.`,`monoranks`)}):(0,P.jsxs)(`span`,{className:`flex min-w-0 flex-wrap items-baseline gap-x-1.5 text-[12px]`,children:[(0,P.jsx)(`span`,{className:`text-mute`,children:r?(0,P.jsx)(`s`,{children:(0,P.jsx)(`bdi`,{children:r})}):x(`(empty)`,`monoranks`)}),(0,P.jsx)(`span`,{"aria-hidden":`true`,children:`→`}),(0,P.jsx)(`span`,{className:`sr-only`,children:x(`changes to`,`monoranks`)}),(0,P.jsx)(`b`,{className:`font-semibold`,children:(0,P.jsx)(`bdi`,{children:lr(e.after,120)})})]}),e.note&&(0,P.jsx)(`span`,{className:`text-[11px] text-mute`,children:(0,P.jsx)(`bdi`,{children:e.note})})]})}function fr({go:e}){let t=y(),[n,r]=(0,_.useState)(null),[i,a]=(0,_.useState)(null),[o,s]=(0,_.useState)(t.notice),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)(null);(0,_.useEffect)(()=>{w.overview().then(r).catch(e=>a(se(e,x(`Could not load the overview.`,`monoranks`))))},[]);async function f(e,t){l(e);try{let e=await t();s(e.notice),r(e.data),window.scrollTo({top:0})}catch(e){s({type:`error`,text:se(e,x(`Something went wrong. Try again.`,`monoranks`))})}finally{l(null),d(null)}}let p=n?.overview??null,m=typeof p?.to_review?.needs_value==`number`?p.to_review.needs_value:null,h=p?.to_review&&(p.to_review.total>0||(m??0)>0)&&p.to_review.review_url?p.to_review:null,g=n?p?(0,P.jsxs)(P.Fragment,{children:[x(`Weekly SEO, AEO and GEO audit of`,`monoranks`),` `,(0,P.jsx)(`code`,{children:n.host}),n.audited&&(0,P.jsxs)(P.Fragment,{children:[` · `,C(x(`last audit %s`,`monoranks`),n.audited)]}),p.pages_total>0&&(0,P.jsxs)(P.Fragment,{children:[` · `,C(x(`%1$s of %2$s published pages scored`,`monoranks`),I(p.pages_scored),I(p.pages_total))]})]}):x(`Weekly SEO, AEO and GEO audits, with the fixes you approve written into WordPress.`,`monoranks`):`\xA0`,v=n?.connected?(0,P.jsx)(R,{variant:`primary`,disabled:c!==null,"aria-busy":c===`sync`,onClick:()=>f(`sync`,()=>w.sync(`overview`)),children:x(`Sync content now`,`monoranks`)}):null;return(0,P.jsxs)(un,{section:`overview`,go:e,title:x(`Overview`,`monoranks`),description:g,actions:v,children:[(0,P.jsx)(fn,{notice:o}),i&&(0,P.jsx)(fn,{notice:{type:`error`,text:i}}),!n&&!i&&(0,P.jsx)(pr,{}),n&&(!n.connected||n.revoked)&&(0,P.jsx)(mr,{revoked:n.revoked,go:e}),n&&n.connected&&!n.revoked&&!p&&(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(gr,{data:n}),(0,P.jsx)($n,{})]}),n&&p&&(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(`div`,{className:`grid grid-cols-4 gap-[14px] max-[960px]:grid-cols-2 max-[600px]:grid-cols-1`,children:[(0,P.jsxs)(Jn,{className:`flex flex-col gap-2.5 px-5 py-[18px]`,children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,P.jsx)(`span`,{className:`text-[12px] font-medium text-ink2`,children:x(`Health score`,`monoranks`)}),(0,P.jsx)(vn,{n:p.deltas.health})]}),(0,P.jsxs)(`div`,{className:`flex items-center gap-[14px]`,children:[(0,P.jsx)(_n,{score:p.health,size:`lg`}),(0,P.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`Technical, on-page, links, speed`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[11px] text-mute`,children:C(S(`Site average, %s page`,`Site average, %s pages`,p.pages_scored,`monoranks`),I(p.pages_scored))})]})]})]}),(0,P.jsxs)(Jn,{className:`flex flex-col gap-2.5 px-5 py-[18px]`,children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,P.jsx)(`span`,{className:`text-[12px] font-medium text-ink2`,children:x(`AEO score`,`monoranks`)}),(0,P.jsx)(vn,{n:p.deltas.aeo})]}),(0,P.jsxs)(`div`,{className:`flex items-center gap-[14px]`,children:[(0,P.jsx)(_n,{score:p.aeo,size:`lg`}),(0,P.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`Answer-first, structure, entities`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[11px] text-mute`,children:x(`How well AI answers can use your pages`,`monoranks`)})]})]})]}),(0,P.jsxs)(Jn,{className:`flex flex-col gap-2.5 px-5 py-[18px]`,children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,P.jsx)(`span`,{className:`text-[12px] font-medium text-ink2`,children:x(`Search clicks, 28 days`,`monoranks`)}),p.traffic&&(0,P.jsx)(vn,{n:p.traffic.delta_pct,unit:`%`,period:`previous28`})]}),p.traffic?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`div`,{className:`text-2xl font-semibold leading-none tabular-nums tracking-[-0.01em]`,children:I(p.traffic.clicks_28d)}),(0,P.jsx)(yn,{series:p.traffic.series}),(0,P.jsx)(`span`,{className:`text-[11px] text-mute`,children:x(`From Google Search Console, through MonoRanks`,`monoranks`)})]}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(`div`,{className:`text-2xl font-semibold text-mute`,children:`—`}),(0,P.jsx)(`span`,{className:`text-[11px] text-mute`,children:x(`Connect Google Search Console in MonoRanks to see clicks here.`,`monoranks`)})]})]}),(0,P.jsxs)(Jn,{className:`flex flex-col gap-2.5 px-5 py-[18px]`,children:[(0,P.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,P.jsx)(`span`,{className:`text-[12px] font-medium text-ink2`,children:x(`Fixes`,`monoranks`)}),p.fixes.ready>0&&(0,P.jsx)(L,{children:C(x(`%s ready`,`monoranks`),I(p.fixes.ready))})]}),(0,P.jsxs)(`div`,{className:`text-2xl font-semibold leading-none tabular-nums tracking-[-0.01em]`,children:[I(p.fixes.applied_30d),` `,(0,P.jsx)(`span`,{className:`text-[12px] font-normal text-ink2`,children:x(`applied in 30 days`,`monoranks`)})]}),h&&h.total>0&&(0,P.jsxs)(`a`,{className:`text-[12px] font-medium text-brand-ink hover:underline`,href:F(h.review_url,`fixes-card`),target:`_blank`,rel:`noopener`,children:[C(x(`%s waiting for your approval in MonoRanks`,`monoranks`),I(h.total)),` →`]}),(0,P.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,P.jsxs)(L,{variant:`pill`,children:[(0,P.jsx)(wn,{tone:p.ai.bots_rules?`good`:`muted`}),p.ai.bots_rules?x(`AI crawler rules on`,`monoranks`):x(`No AI crawler rules`,`monoranks`)]}),(0,P.jsxs)(L,{variant:`pill`,children:[(0,P.jsx)(wn,{tone:p.ai.llms_txt?`good`:`muted`}),p.ai.llms_txt?x(`llms.txt published`,`monoranks`):x(`No llms.txt`,`monoranks`)]})]})]})]}),!n.revoked&&(0,P.jsx)($n,{}),(0,P.jsxs)(`div`,{className:`grid grid-cols-[minmax(0,3fr)_minmax(0,2fr)] items-start gap-5 max-[960px]:grid-cols-1`,children:[(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsx)(Xn,{children:x(`Pages needing attention`,`monoranks`)}),(0,P.jsx)(R,{variant:`ghost`,size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(n.app_url,`all-pages`),target:`_blank`,rel:`noopener`,children:x(`All pages in MonoRanks`,`monoranks`)})})]}),p.attention.length?(0,P.jsx)(`div`,{className:`overflow-x-auto rounded-b-xl pt-2`,children:(0,P.jsxs)(`table`,{className:`w-full border-collapse`,children:[(0,P.jsx)(`thead`,{children:(0,P.jsxs)(`tr`,{children:[(0,P.jsx)(`th`,{className:sr,children:x(`Page`,`monoranks`)}),(0,P.jsx)(`th`,{className:sr,children:x(`Health`,`monoranks`)}),(0,P.jsx)(`th`,{className:sr,children:x(`AEO`,`monoranks`)}),(0,P.jsx)(`th`,{className:sr,children:x(`Biggest issue`,`monoranks`)}),(0,P.jsx)(`th`,{className:sr})]})}),(0,P.jsx)(`tbody`,{children:p.attention.map(e=>(0,P.jsxs)(`tr`,{className:`group hover:[&>td]:bg-surface2`,children:[(0,P.jsx)(`td`,{className:cr,children:(0,P.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,P.jsx)(`b`,{className:`font-semibold`,children:e.title||e.url}),e.url&&(0,P.jsx)(`code`,{className:`max-w-[180px] text-[11px]`,children:ur(e.url)})]})}),(0,P.jsx)(`td`,{className:cr,children:(0,P.jsx)(_n,{score:e.health})}),(0,P.jsx)(`td`,{className:cr,children:(0,P.jsx)(_n,{score:e.aeo})}),(0,P.jsx)(`td`,{className:`${cr} text-[12px]`,children:e.issue}),(0,P.jsx)(`td`,{className:`${cr} text-end`,children:e.page_url&&(0,P.jsx)(R,{size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(e.page_url,`fix-page`),target:`_blank`,rel:`noopener`,children:x(`Fix in MonoRanks`,`monoranks`)})})})]},e.post_id+e.url))})]})}):(0,P.jsx)(mn,{title:x(`Nothing needs attention`,`monoranks`),text:x(`Every scored page is above 60. The next audit may change that.`,`monoranks`)})]}),(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsxs)(Xn,{children:[x(`Ready to apply`,`monoranks`),p.ready.length>0&&(0,P.jsx)(L,{children:I(p.ready.length)})]}),p.ready.length>1&&(0,P.jsx)(R,{variant:`primary`,size:`sm`,disabled:c!==null,"aria-busy":c===`all`,onClick:()=>f(`all`,()=>w.apply(`all`)),children:x(`Apply all`,`monoranks`)})]}),(0,P.jsxs)(Zn,{className:`flex flex-col pt-1.5`,children:[p.ready.length===0&&h&&(0,P.jsxs)(`div`,{className:`flex flex-col gap-3 py-2`,children:[(0,P.jsxs)(`div`,{className:`grid gap-1`,children:[m===null?(0,P.jsx)(`b`,{className:`text-[13px] font-semibold`,children:C(x(`%s fixes are ready for your approval`,`monoranks`),I(h.total))}):(0,P.jsx)(`b`,{className:`text-[13px] font-semibold`,children:[h.total>0&&C(S(`%s ready to apply`,`%s ready to apply`,h.total,`monoranks`),I(h.total)),m>0&&C(S(`%s needs a value in MonoRanks`,`%s need a value in MonoRanks`,m,`monoranks`),I(m))].filter(Boolean).join(` · `)}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(m!==null&&m>0?`Type a value or draft one with AI in MonoRanks, approve it, and it is written here, with undo.`:`Approve them in MonoRanks and they are written here, with undo.`,`monoranks`)})]}),(0,P.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:Object.entries(h.by_field).sort((e,t)=>t[1]-e[1]).map(([e,t])=>(0,P.jsxs)(L,{variant:`pill`,children:[(0,P.jsx)(`bdi`,{children:n.labels[e]??e}),(0,P.jsx)(`span`,{className:`tabular-nums text-ink2`,children:I(t)})]},e))}),(0,P.jsx)(`div`,{children:(0,P.jsx)(R,{variant:`primary`,size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(h.review_url,`review-fixes`),target:`_blank`,rel:`noopener`,children:x(`Review in MonoRanks`,`monoranks`)})})})]}),p.ready.length===0&&!h&&(0,P.jsx)(mn,{title:x(`No fixes waiting`,`monoranks`),text:x(`Fixes you approve in MonoRanks appear here, ready to write into WordPress.`,`monoranks`)}),p.ready.map(e=>(0,P.jsxs)(`div`,{className:`flex items-start gap-3 border-b border-grid py-3 last-of-type:border-b-0`,children:[(0,P.jsx)(dr,{fix:e,labels:n.labels}),e.field===`content`&&e.page_url?(0,P.jsx)(R,{size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(e.page_url,`review-fix`),target:`_blank`,rel:`noopener`,children:x(`Review`,`monoranks`)})}):(0,P.jsx)(R,{size:`sm`,disabled:c!==null,"aria-busy":c===e.id,onClick:()=>f(e.id,()=>w.apply(e.id)),children:x(`Apply`,`monoranks`)})]},e.id)),p.ready.length>0&&(0,P.jsx)(`div`,{className:`pt-3 text-[11px] text-mute`,children:x(`Approved in MonoRanks. Each write is logged under Settings and can be undone for 30 days.`,`monoranks`)})]})]}),(p.needs_review??[]).length>0&&(0,P.jsxs)(Jn,{children:[(0,P.jsx)(Yn,{children:(0,P.jsxs)(Xn,{children:[x(`Needs review in MonoRanks`,`monoranks`),(0,P.jsx)(L,{children:I(p.needs_review.length)})]})}),(0,P.jsxs)(Zn,{className:`flex flex-col pt-1.5`,children:[(0,P.jsx)(`p`,{className:`m-0 pb-1 text-[12px] text-ink2`,children:x(`These changed in WordPress after they were reviewed, so they are not applied from here. Review them again in MonoRanks.`,`monoranks`)}),p.needs_review.map(e=>(0,P.jsxs)(`div`,{className:`flex items-start gap-3 border-b border-grid py-3 last-of-type:border-b-0`,children:[(0,P.jsx)(dr,{fix:e,labels:n.labels}),(0,P.jsx)(R,{size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(e.page_url||p.site_url,`review-fix`),target:`_blank`,rel:`noopener`,children:x(`Review in MonoRanks`,`monoranks`)})})]},e.id))]})]})]}),(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsx)(Xn,{children:x(`Recent changes`,`monoranks`)}),(0,P.jsx)(R,{variant:`ghost`,size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:t.urls.settings,onClick:t=>{t.preventDefault(),e(`settings`)},children:x(`All changes`,`monoranks`)})})]}),(0,P.jsx)(`div`,{className:`pt-2`,children:(0,P.jsx)(qn,{rows:n.log,busy:u,onUndo:e=>{d(e.index),f(`undo`,()=>w.undo(e,`overview`))}})})]})]})]})}function pr(){return(0,P.jsx)(`div`,{className:`grid grid-cols-4 gap-[14px] max-[960px]:grid-cols-2 max-[600px]:grid-cols-1`,children:[0,1,2,3].map(e=>(0,P.jsx)(Jn,{className:`h-[150px] animate-pulse bg-surface2`},e))})}function mr({revoked:e,go:t}){let n=y();return(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsx)(Xn,{children:x(e?`Connect MonoRanks again`:`Connect MonoRanks`,`monoranks`)}),(0,P.jsxs)(L,{variant:`pill`,children:[(0,P.jsx)(wn,{tone:e?`critical`:`muted`}),x(e?`Key revoked`:`Not connected`,`monoranks`)]})]}),(0,P.jsxs)(Zn,{className:`flex flex-col gap-4`,children:[(0,P.jsxs)(hr,{n:1,children:[(0,P.jsx)(`b`,{className:`text-[13px] font-semibold text-ink`,children:x(`Connect to MonoRanks`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`Sign in and approve. Takes a minute.`,`monoranks`)}),(0,P.jsx)(`div`,{children:(0,P.jsx)(R,{variant:`primary`,size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(n.urls.connect,`connect-step`),target:`_blank`,rel:`noopener`,children:x(`Connect`,`monoranks`)})})})]}),(0,P.jsxs)(hr,{n:2,later:!0,children:[(0,P.jsx)(`b`,{className:`text-[13px] font-semibold text-ink`,children:x(`Or paste a connector key`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`Use this when your host blocks Application Passwords.`,`monoranks`)}),(0,P.jsx)(`div`,{children:(0,P.jsx)(R,{size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:n.urls.settings,onClick:e=>{e.preventDefault(),t(`settings`)},children:x(`Open settings`,`monoranks`)})})})]}),(0,P.jsxs)(hr,{n:3,later:!0,children:[(0,P.jsx)(`b`,{className:`text-[13px] font-semibold text-ink`,children:x(`See scores here and in your Posts list`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`After the first audit this page shows the site's health and AEO scores, pages needing attention and the fixes you approved; every post and page gets its scores in the list.`,`monoranks`)})]})]})]})}function hr({n:e,later:t,children:n}){return(0,P.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,P.jsx)(`span`,{className:`flex h-[22px] w-[22px] shrink-0 items-center justify-center rounded-full text-[12px] font-semibold ${t?`bg-surface3 text-ink2`:`bg-ink text-page`}`,children:e}),(0,P.jsx)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:n})]})}function gr({data:e}){let t=e.status,n=x(t===`unsupported`?`This MonoRanks does not share audit results with the plugin yet. Scores stay in MonoRanks for now; the plugin asks again tomorrow.`:t===`error`?`MonoRanks could not be reached for the audit results. The plugin tries again within the hour, or when you reload this screen.`:`MonoRanks has not scored this site yet. Scores appear here and in the Posts list after the first weekly audit.`,`monoranks`);return(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsx)(Xn,{children:x(`Waiting for the first audit`,`monoranks`)}),(0,P.jsxs)(L,{variant:`pill`,children:[(0,P.jsx)(wn,{tone:`good`}),x(`Connected`,`monoranks`)]})]}),(0,P.jsxs)(Zn,{className:`flex flex-col gap-4`,children:[(0,P.jsx)(pn,{rows:[[x(`Content`,`monoranks`),e.last_sent?C(x(`%1$s published items sent %2$s`,`monoranks`),I(e.items),e.last_sent):x(`Not sent yet. Use "Sync content now" above.`,`monoranks`)],[x(`Audit results`,`monoranks`),(0,P.jsxs)(P.Fragment,{children:[n,e.fetched&&(0,P.jsxs)(`span`,{className:`text-mute`,children:[` · `,C(x(`checked %s`,`monoranks`),e.fetched)]})]})]]}),(0,P.jsx)(`div`,{children:(0,P.jsx)(R,{size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(e.app_url,`open-audit`),target:`_blank`,rel:`noopener`,children:x(`Open the audit in MonoRanks`,`monoranks`)})})})]})]})}function _r({className:e,type:t,...n}){return(0,P.jsx)(`input`,{type:t,"data-slot":`input`,className:N(`flex h-10 w-full max-w-[440px] rounded-lg border border-input bg-surface px-[14px] text-[13px] text-ink outline-none placeholder:text-mute focus:border-brand disabled:opacity-55`,e),...n})}function vr({go:e}){let t=y(),[n,r]=(0,_.useState)(null),[i,a]=(0,_.useState)(null),[o,s]=(0,_.useState)(t.notice),[c,l]=(0,_.useState)(null),[u,d]=(0,_.useState)(null),[f,p]=(0,_.useState)(!1),[m,h]=(0,_.useState)(!1);(0,_.useEffect)(()=>{w.settings().then(e=>{r(e),p(e.revoked)}).catch(e=>a(se(e,x(`Could not load the settings.`,`monoranks`))))},[]);let[g,v]=(0,_.useState)(null);(0,_.useEffect)(()=>{if(g===null||n?.connected)return;let e=!1,t=()=>{if(!(e||document.visibilityState!==`visible`)){if(Date.now()-g>6e5){v(null);return}w.settings().then(t=>{!e&&t.connected&&(r(t),p(!1),v(null))}).catch(()=>{})}},i=window.setInterval(t,4e3);return document.addEventListener(`visibilitychange`,t),()=>{e=!0,window.clearInterval(i),document.removeEventListener(`visibilitychange`,t)}},[g,n?.connected]);async function b(e,t){l(e);try{let e=await t();s(e.notice),r(e.data),window.scrollTo({top:0})}catch(e){s({type:`error`,text:se(e,x(`Something went wrong. Try again.`,`monoranks`))})}finally{l(null),d(null)}}let ee=!!n?.connected,te=!!n?.revoked;return(0,P.jsxs)(un,{section:`settings`,go:e,title:x(`Settings`,`monoranks`),description:x(`Connection, what is sent, and every change written into this site.`,`monoranks`),children:[(0,P.jsx)(fn,{notice:o}),i&&(0,P.jsx)(fn,{notice:{type:`error`,text:i}}),!n&&!i&&(0,P.jsx)(Jn,{className:`h-[260px] animate-pulse bg-surface2`}),n&&(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,P.jsx)(`span`,{className:`inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-[9px] bg-surface2 [&_svg]:h-5 [&_svg]:w-5`,"aria-hidden":`true`,children:(0,P.jsx)(cn,{which:`mark`})}),(0,P.jsx)(Xn,{children:x(`Connection`,`monoranks`)})]}),(0,P.jsxs)(L,{variant:`pill`,children:[(0,P.jsx)(wn,{tone:te?`critical`:ee?`good`:`muted`}),x(te?`Key revoked`:ee?`Connected`:`Not connected`,`monoranks`)]})]}),(0,P.jsx)(Zn,{className:`flex flex-col gap-4`,children:ee?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(pn,{rows:[[x(`Status`,`monoranks`),x(te?`MonoRanks no longer accepts this key. Connect again from MonoRanks or paste a new key below.`:`Sending published content to MonoRanks. Nothing else leaves this site.`,`monoranks`)],[x(`Connector key`,`monoranks`),(0,P.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(`code`,{children:n.key_hint}),(0,P.jsx)(`span`,{className:`text-mute`,children:n.key_via})]})],[x(`Last sync`,`monoranks`),(0,P.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(`span`,{className:`tabular-nums`,children:n.last_sent}),n.sending&&(0,P.jsx)(L,{children:C(x(`sending, batch %1$s of %2$s`,`monoranks`),I(n.sending.page),I(Math.max(1,n.sending.pages)))}),n.items>0&&(0,P.jsx)(L,{children:C(S(`%s published item`,`%s published items`,n.items,`monoranks`),I(n.items))}),n.last_error&&(0,P.jsx)(L,{variant:`warn`,children:n.last_error})]})],...n.next_audit?[[x(`Next audit`,`monoranks`),n.next_audit]]:[],[x(`Fixes written with`,`monoranks`),(0,P.jsxs)(P.Fragment,{children:[x(`The "MonoRanks" Application Password`,`monoranks`),` · `,(0,P.jsx)(`a`,{href:n.profile_url,children:x(`revoke it in your profile`,`monoranks`)}),` `,x(`to stop writes`,`monoranks`)]})],[x(`Works with`,`monoranks`),n.seo_plugin&&!n.seo_supported?(0,P.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(L,{variant:`warn`,children:C(x(`%s detected`,`monoranks`),n.seo_plugin)}),(0,P.jsx)(`span`,{className:`text-mute`,children:C(x(`MonoRanks cannot write titles, descriptions, canonicals or noindex into %s yet, so those fixes are refused`,`monoranks`),n.seo_plugin)})]}):n.seo_plugin?(0,P.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(L,{children:C(x(`%s detected`,`monoranks`),n.seo_plugin)}),(0,P.jsx)(`span`,{className:`text-mute`,children:C(x(`titles and descriptions go into the fields %s reads`,`monoranks`),n.seo_plugin)})]}):(0,P.jsxs)(`span`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(L,{children:x(`No SEO plugin`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-mute`,children:x(`MonoRanks prints the approved title, description, canonical and noindex tags itself`,`monoranks`)})]})]]}),(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(R,{variant:`primary`,disabled:c!==null,"aria-busy":c===`sync`,onClick:()=>b(`sync`,()=>w.sync(`settings`)),children:x(`Send content now`,`monoranks`)}),(0,P.jsx)(R,{disabled:c!==null,"aria-busy":c===`disconnect`,onClick:()=>b(`disconnect`,()=>w.disconnect()),children:x(`Disconnect`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[12px] text-mute`,children:x(`Disconnect stops sending. Fixes already applied stay.`,`monoranks`)})]})]}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)(hr,{n:1,children:[(0,P.jsx)(`b`,{className:`text-[13px] font-semibold text-ink`,children:x(`Connect to MonoRanks`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`Sign in and approve. Takes a minute.`,`monoranks`)}),(0,P.jsx)(`div`,{children:(0,P.jsx)(R,{variant:`primary`,size:`sm`,asChild:!0,children:(0,P.jsx)(`a`,{href:F(n.connect_url,`connect-step`,`settings`),target:`_blank`,rel:`noopener`,onClick:()=>v(Date.now()),children:x(`Connect`,`monoranks`)})})})]}),(0,P.jsxs)(hr,{n:2,later:!0,children:[(0,P.jsx)(`b`,{className:`text-[13px] font-semibold text-ink`,children:x(`Or paste a connector key`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[12px] text-ink2`,children:x(`Use this when your host blocks Application Passwords.`,`monoranks`)}),(0,P.jsx)(yr,{data:n,busy:c,onSubmit:(e,t)=>b(`connect`,()=>w.connect(e,t))})]})]})})]}),ee&&(0,P.jsx)(Jn,{children:(0,P.jsxs)(`details`,{open:f,onToggle:e=>p(e.currentTarget.open),className:`group`,children:[(0,P.jsxs)(`summary`,{className:`flex cursor-pointer list-none items-center gap-2 px-[22px] py-4 font-medium text-ink2 hover:text-ink [&::-webkit-details-marker]:hidden`,children:[(0,P.jsx)(D,{size:14,className:`mr-flip transition-transform group-open:rotate-90`}),x(`Use a different key`,`monoranks`)]}),(0,P.jsx)(`div`,{className:`border-t border-grid px-[22px] pb-[22px] pt-4`,children:(0,P.jsxs)(`div`,{className:`flex flex-col gap-[14px]`,children:[(0,P.jsx)(`div`,{className:`rounded-lg bg-surface2 px-[14px] py-3 text-[12px] text-ink2`,children:x(`In MonoRanks: Settings → API and MCP → New credential with the content:write scope, ticked for this website. Paste it here. With a key alone MonoRanks receives your content; to apply fixes, also use Connect to WordPress in MonoRanks.`,`monoranks`)}),(0,P.jsx)(yr,{data:n,busy:c,onSubmit:(e,t)=>b(`connect`,()=>w.connect(e,t))})]})})]})}),(0,P.jsxs)(Jn,{children:[(0,P.jsx)(Yn,{children:(0,P.jsx)(Xn,{children:x(`What is sent`,`monoranks`)})}),(0,P.jsx)(Zn,{children:(0,P.jsx)(pn,{rows:[[x(`Sent`,`monoranks`),x(`Published titles, a 40-word excerpt, dates, authors, categories, tags, SEO fields, image alt text and plugin status.`,`monoranks`)],[x(`Read back`,`monoranks`),x(`This website's audit results: scores, issues and the fixes you approved, shown here and in the Posts list.`,`monoranks`)],[x(`Never sent`,`monoranks`),x(`Drafts, private posts, comments, emails, passwords, plugin or theme settings.`,`monoranks`)],[x(`Can change`,`monoranks`),x(`SEO title, meta description, canonical, noindex, image alt text, redirects, one opening paragraph, AI crawler rules, llms.txt. Only after you approve each one.`,`monoranks`)]]})})]}),(0,P.jsxs)(Jn,{children:[(0,P.jsxs)(Yn,{children:[(0,P.jsx)(Xn,{children:x(`Recent changes`,`monoranks`)}),(0,P.jsx)(`span`,{className:`text-[12px] text-mute`,children:x(`Last 50 · undo for 30 days`,`monoranks`)})]}),(0,P.jsx)(`div`,{className:`pt-2`,children:(0,P.jsx)(qn,{rows:n.log,busy:u,onUndo:e=>{d(e.index),b(`undo`,()=>w.undo(e,`settings`))}})})]}),!ee&&n.has_data&&(0,P.jsxs)(Jn,{className:`border-critical/40`,children:[(0,P.jsx)(Yn,{children:(0,P.jsx)(Xn,{className:`text-critical`,children:x(`Danger zone`,`monoranks`)})}),(0,P.jsxs)(Zn,{className:`flex flex-col gap-3`,children:[(0,P.jsx)(`p`,{className:`text-[12px] text-ink2 max-w-[80ch]`,children:x(`This site is not connected to MonoRanks. You can erase everything the plugin stored here: the connection, the scores on your posts and pages, the redirects and AI access files it was asked to write, and the change log. Pages themselves are not touched — a fix that was written stays written, so undo those first if you want them back.`,`monoranks`)}),m?(0,P.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,P.jsx)(`span`,{className:`text-[12px] font-medium text-critical`,children:x(`This cannot be undone. Delete everything?`,`monoranks`)}),(0,P.jsx)(R,{variant:`dangerSolid`,disabled:c!==null,"aria-busy":c===`delete`,onClick:()=>{h(!1),b(`delete`,()=>w.deleteEverything())},children:x(`Yes, delete all data`,`monoranks`)}),(0,P.jsx)(R,{variant:`ghost`,disabled:c!==null,onClick:()=>h(!1),children:x(`Cancel`,`monoranks`)})]}):(0,P.jsx)(`div`,{children:(0,P.jsx)(R,{variant:`danger`,onClick:()=>h(!0),children:x(`Delete all MonoRanks data`,`monoranks`)})})]})]})]})]})}function yr({data:e,busy:t,onSubmit:n}){let[r,i]=(0,_.useState)(``),[a,o]=(0,_.useState)(e.api_base);function s(t){t.preventDefault(),n(r,e.show_address?a:void 0)}return(0,P.jsxs)(`form`,{onSubmit:s,className:`flex flex-col gap-3 pt-1.5`,children:[(0,P.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,P.jsx)(`label`,{htmlFor:`monoranks-key`,className:`text-[12px] font-medium text-ink2`,children:x(`Connector key`,`monoranks`)}),(0,P.jsx)(_r,{id:`monoranks-key`,name:`key`,type:`password`,autoComplete:`off`,placeholder:`mr_ws_… or mr_site_…`,required:!0,value:r,onChange:e=>i(e.target.value)})]}),e.show_address&&(0,P.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,P.jsx)(`label`,{htmlFor:`monoranks-address`,className:`text-[12px] font-medium text-ink2`,children:x(`MonoRanks address (development sites only)`,`monoranks`)}),(0,P.jsx)(_r,{id:`monoranks-address`,name:`api_base`,type:`url`,value:a,onChange:e=>o(e.target.value)})]}),(0,P.jsx)(`div`,{children:(0,P.jsx)(R,{variant:`primary`,type:`submit`,disabled:t!==null,"aria-busy":t===`connect`,children:x(`Connect`,`monoranks`)})})]})}function br(){let[e,t]=te();return v(),e===`settings`?(0,P.jsx)(vr,{go:t}):(0,P.jsx)(fr,{go:t})}var xr=document.getElementById(`monoranks-admin`);xr&&(0,g.createRoot)(xr).render((0,P.jsx)(_.StrictMode,{children:(0,P.jsx)(br,{})})); \ No newline at end of file diff --git a/languages/monoranks-fa_IR-admin.json b/languages/monoranks-fa_IR-admin.json index 2444ddd..c90324b 100644 --- a/languages/monoranks-fa_IR-admin.json +++ b/languages/monoranks-fa_IR-admin.json @@ -1,5 +1,5 @@ { - "translation-revision-date": "2026-10-04T07:14:07+00:00", + "translation-revision-date": "2026-10-14T11:51:45+00:00", "generator": "WP-CLI/2.12.0", "source": "resources/admin", "domain": "messages", @@ -55,9 +55,6 @@ "Next audit": [ "ممیزی بعدی" ], - "Open MonoRanks": [ - "باز کردن مونورنکس" - ], "Settings": [ "تنظیمات" ], @@ -73,15 +70,21 @@ "Not connected": [ "متصل نیست" ], - "Connect from MonoRanks": [ - "اتصال از مونورنکس" + "Connect to MonoRanks": [ + "اتصال به MonoRanks" + ], + "Sign in and approve. Takes a minute.": [ + "وارد شوید و تأیید کنید. یک دقیقه طول می‌کشد." ], - "In MonoRanks open your website → Integrations → WordPress → Connect to WordPress, and allow MonoRanks when WordPress asks. Nothing is sent before you connect.": [ - "در مونورنکس وب‌سایت خود را باز کنید ← یکپارچه‌سازی‌ها ← وردپرس ← اتصال به وردپرس، و وقتی وردپرس پرسید به مونورنکس اجازه دهید. پیش از اتصال چیزی فرستاده نمی‌شود." + "Connect": [ + "اتصال" ], "Or paste a connector key": [ "یا کلید اتصال را وارد کنید" ], + "Use this when your host blocks Application Passwords.": [ + "وقتی میزبان شما «گذرواژه‌های برنامه» را مسدود کرده از این راه استفاده کنید." + ], "Connected": [ "متصل" ], @@ -152,9 +155,6 @@ "Disconnect stops sending. Fixes already applied stay.": [ "قطع اتصال ارسال را متوقف می‌کند. اصلاح‌های اعمال‌شده می‌مانند." ], - "Use this when your host blocks Application Passwords. In MonoRanks: Settings → API and MCP → New credential with the content:write scope, ticked for this website.": [ - "وقتی میزبان شما «گذرواژه‌های برنامه» را مسدود کرده از این راه استفاده کنید. در مونورنکس: تنظیمات ← API و MCP ← اعتبارنامهٔ جدید با دسترسی content:write، تیک‌خورده برای این وب‌سایت." - ], "Use a different key": [ "استفاده از کلید دیگر" ], @@ -212,9 +212,6 @@ "MonoRanks address (development sites only)": [ "نشانی مونورنکس (فقط سایت‌های توسعه)" ], - "Connect": [ - "اتصال" - ], "(opens in a new tab)": [ "(در زبانهٔ تازه باز می‌شود)" ], @@ -338,20 +335,38 @@ "No tracked keywords yet. Track some in MonoRanks to see them move here.": [ "هنوز کلیدواژهٔ پیگیری‌شده‌ای نیست. در مونورنکس چند کلیدواژه را پیگیری کنید تا جابه‌جایی‌شان را اینجا ببینید." ], - "Latest client report": [ - "تازه‌ترین گزارش مشتری" + "No reports yet. Create a website report, a client report or a weekly email in MonoRanks to share progress.": [ + "" + ], + "Open reports": [ + "باز کردن گزارش‌ها" ], - "Latest report": [ - "تازه‌ترین گزارش" + "Reports": [ + "" ], - "Open report": [ - "باز کردن گزارش" + "Weekly email": [ + "" ], - "No reports yet. Create a website or client report in MonoRanks to share progress.": [ - "هنوز گزارشی نیست. برای به‌اشتراک‌گذاشتن پیشرفت، در مونورنکس گزارش سایت یا مشتری بسازید." + "Next send %s": [ + "" ], - "Open reports": [ - "باز کردن گزارش‌ها" + "%s recipient": [ + "" + ], + "On": [ + "" + ], + "Off": [ + "" + ], + "Client report": [ + "" + ], + "Report": [ + "" + ], + "Open report": [ + "باز کردن گزارش" ], "Connect MonoRanks": [ "اتصال مونورنکس" @@ -384,6 +399,21 @@ "AEO score": [ "امتیاز AEO" ], + "on %s": [ + "" + ], + "Image: %s": [ + "" + ], + "Adds one answer-first paragraph at the top. Review the before/after in MonoRanks first.": [ + "یک پاراگراف پاسخ‌محور به بالای نوشته اضافه می‌کند. ابتدا قبل/بعد را در مونورنکس بررسی کنید." + ], + "(empty)": [ + "" + ], + "changes to": [ + "" + ], "Could not load the overview.": [ "بارگذاری نمای کلی ممکن نشد." ], @@ -491,9 +521,6 @@ "Fixes you approve in MonoRanks appear here, ready to write into WordPress.": [ "اصلاح‌هایی که در مونورنکس تأیید می‌کنید اینجا می‌آیند، آماده برای نوشتن در وردپرس." ], - "Adds one answer-first paragraph at the top. Review the before/after in MonoRanks first.": [ - "یک پاراگراف پاسخ‌محور به بالای نوشته اضافه می‌کند. ابتدا قبل/بعد را در مونورنکس بررسی کنید." - ], "Review": [ "بررسی" ], @@ -503,15 +530,18 @@ "Approved in MonoRanks. Each write is logged under Settings and can be undone for 30 days.": [ "در مونورنکس تأیید شده. هر نوشتن در تنظیمات ثبت می‌شود و تا ۳۰ روز قابل بازگردانی است." ], + "Needs review in MonoRanks": [ + "" + ], + "These changed in WordPress after they were reviewed, so they are not applied from here. Review them again in MonoRanks.": [ + "" + ], "All changes": [ "همهٔ تغییرات" ], "Connect MonoRanks again": [ "مونورنکس را دوباره متصل کنید" ], - "Use this when your host blocks Application Passwords.": [ - "وقتی میزبان شما «گذرواژه‌های برنامه» را مسدود کرده از این راه استفاده کنید." - ], "Open settings": [ "باز کردن تنظیمات" ], @@ -551,6 +581,9 @@ "Open the audit in MonoRanks": [ "باز کردن ممیزی در مونورنکس" ], + "Open MonoRanks": [ + "باز کردن مونورنکس" + ], "MonoRanks sections": [ "بخش‌های مونورنکس" ], diff --git a/languages/monoranks-fa_IR.mo b/languages/monoranks-fa_IR.mo index 7a738e1..caf2031 100644 Binary files a/languages/monoranks-fa_IR.mo and b/languages/monoranks-fa_IR.mo differ diff --git a/languages/monoranks-fa_IR.po b/languages/monoranks-fa_IR.po index e2f4a02..9c49763 100644 --- a/languages/monoranks-fa_IR.po +++ b/languages/monoranks-fa_IR.po @@ -35,7 +35,7 @@ msgstr "برنامهٔ مدیریت مونورنکس ساخته نشده است. #: resources/views/column-cell.php:20 #: resources/views/post-panel.php:25 -#: tmp/i18n/screens/Overview.js:163 +#: tmp/i18n/screens/Overview.js:182 msgid "Connect MonoRanks" msgstr "اتصال مونورنکس" @@ -46,19 +46,19 @@ msgstr "پیش‌نویس‌ها به مونورنکس فرستاده نمی‌ #: resources/views/column-cell.php:27 #: resources/views/column-cell.php:38 #: resources/views/post-panel.php:35 -#: tmp/i18n/screens/Overview.js:95 +#: tmp/i18n/screens/Overview.js:113 msgid "Health" msgstr "سلامت" #: resources/views/column-cell.php:27 #: resources/views/column-cell.php:38 #: resources/views/post-panel.php:35 -#: tmp/i18n/screens/Overview.js:95 +#: tmp/i18n/screens/Overview.js:113 msgid "AEO" msgstr "AEO" #: resources/views/column-cell.php:30 -#: tmp/i18n/screens/Settings.js:59 +#: tmp/i18n/screens/Settings.js:86 msgid "Status" msgstr "وضعیت" @@ -69,7 +69,7 @@ msgstr "هنوز ممیزی نشده" #: resources/views/column-cell.php:31 #: resources/views/column-cell.php:54 -#: tmp/i18n/screens/Settings.js:62 +#: tmp/i18n/screens/Settings.js:89 msgid "Next audit" msgstr "ممیزی بعدی" @@ -82,8 +82,6 @@ msgid "Scores arrive after the next audit" msgstr "امتیازها پس از ممیزی بعدی می‌آیند" #: resources/views/column-cell.php:35 -#: tmp/i18n/screens/Overview.js:165 -#: tmp/i18n/screens/Settings.js:72 #: tmp/i18n/shell/Shell.js:38 msgid "Open MonoRanks" msgstr "باز کردن مونورنکس" @@ -97,14 +95,14 @@ msgid "Not checked: MonoRanks reads AEO on a sample of pages" msgstr "بررسی نشده: مونورنکس AEO را روی نمونه‌ای از صفحه‌ها می‌سنجد" #: resources/views/column-cell.php:41 -#: tmp/i18n/screens/Overview.js:78 +#: tmp/i18n/screens/Overview.js:96 msgid "Fixes" msgstr "اصلاح‌ها" #. translators: %s: number #, php-format,js-format #: resources/views/column-cell.php:43 -#: tmp/i18n/screens/Overview.js:117 +#: tmp/i18n/screens/Overview.js:135 msgid "%s ready to apply" msgid_plural "%s ready to apply" msgstr[0] "%s آمادهٔ اعمال" @@ -183,7 +181,7 @@ msgid "Search data arrives with the next refresh." msgstr "داده‌های جستجو با به‌روزرسانی بعدی می‌رسند." #: resources/views/post-panel.php:49 -#: tmp/i18n/screens/Overview.js:75 +#: tmp/i18n/screens/Overview.js:93 msgid "Connect Google Search Console in MonoRanks to see clicks here." msgstr "برای دیدن کلیک‌ها، گوگل سرچ کنسول را در مونورنکس متصل کنید." @@ -279,24 +277,24 @@ msgstr "باز کردن این صفحه در مونورنکس" #: resources/views/post-panel.php:122 #: tmp/i18n/screens/Grow.js:55 #: tmp/i18n/screens/Grow.js:66 -#: tmp/i18n/screens/Grow.js:142 +#: tmp/i18n/screens/Grow.js:161 msgid "(opens in a new tab)" msgstr "(در زبانهٔ تازه باز می‌شود)" #: src/Admin.php:47 -#: src/Assets.php:66 -#: tmp/i18n/screens/Overview.js:57 +#: src/Assets.php:67 +#: tmp/i18n/screens/Overview.js:75 #: tmp/i18n/shell/Shell.js:14 msgid "Overview" msgstr "نمای کلی" #: src/Admin.php:48 -#: src/Assets.php:66 +#: src/Assets.php:67 msgid "MonoRanks settings" msgstr "تنظیمات مونورنکس" #: src/Admin.php:48 -#: tmp/i18n/screens/Settings.js:46 +#: tmp/i18n/screens/Settings.js:73 #: tmp/i18n/shell/Shell.js:15 msgid "Settings" msgstr "تنظیمات" @@ -334,8 +332,8 @@ msgid "Applied. The change is listed under Recent changes and can be undone." msgstr "اعمال شد. این تغییر در «تغییرات اخیر» آمده و قابل بازگردانی است." #: src/Admin.php:182 -msgid "Some fixes were applied; the rest were refused because those pages changed since MonoRanks reviewed them. Recent changes lists what was written." -msgstr "بخشی از اصلاح‌ها اعمال شد؛ بقیه رد شدند چون آن صفحه‌ها از زمان بررسی مونورنکس تغییر کرده‌اند. «تغییرات اخیر» آنچه نوشته شد را نشان می‌دهد." +msgid "Some fixes were applied; the rest could not be applied. Recent changes lists what was written." +msgstr "" #: src/Admin.php:183 msgid "That change has moved in the log since this screen loaded. Reload and try Undo again." @@ -346,29 +344,41 @@ msgid "Undone. The previous value is back." msgstr "بازگردانده شد. مقدار قبلی برگشت." #: src/Admin.php:185 -msgid "MonoRanks could not apply that change: the page changed since it was reviewed. Open it in MonoRanks to review again." -msgstr "مونورنکس نتوانست این تغییر را اعمال کند: صفحه از زمان بررسی تغییر کرده است. برای بررسی دوباره آن را در مونورنکس باز کنید." +msgid "MonoRanks could not apply that change. Open it in MonoRanks to review it again." +msgstr "" #: src/Admin.php:186 +msgid "Nothing was changed: the value in WordPress is not the one that was reviewed. It now needs review in MonoRanks." +msgstr "" + +#: src/Admin.php:187 +msgid "Some changes were applied. The others no longer match WordPress and need review in MonoRanks." +msgstr "" + +#: src/Admin.php:188 msgid "That does not look like a MonoRanks connector key. Copy it again from MonoRanks → Settings → API and MCP." msgstr "این شبیه کلید اتصال مونورنکس نیست. آن را دوباره از مونورنکس ← تنظیمات ← API و MCP کپی کنید." -#: src/Admin.php:187 +#: src/Admin.php:189 msgid "The MonoRanks address must start with https://." msgstr "نشانی مونورنکس باید با https:// شروع شود." -#: src/Admin.php:188 +#: src/Admin.php:190 msgid "MonoRanks did not accept this key. It may have been revoked or replaced; create a new one in MonoRanks." msgstr "مونورنکس این کلید را نپذیرفت. شاید باطل یا جایگزین شده باشد؛ در مونورنکس کلید تازه‌ای بسازید." -#: src/Admin.php:189 +#: src/Admin.php:191 msgid "This key belongs to a different website in MonoRanks. Create the key on the website with this address." msgstr "این کلید متعلق به وب‌سایت دیگری در مونورنکس است. کلید را روی وب‌سایتی با همین نشانی بسازید." -#: src/Admin.php:190 +#: src/Admin.php:192 msgid "MonoRanks could not be reached. Check the address and try again." msgstr "دسترسی به مونورنکس ممکن نشد. نشانی را بررسی کنید و دوباره تلاش کنید." +#: src/AuthorizeScreen.php:39 +msgid "Reads your content and applies only fixes you approve." +msgstr "محتوای شما را می‌خواند و فقط اصلاحاتی را که تأیید کنید اعمال می‌کند." + #. translators: %s: relative time such as "5 days" #, php-format #: src/Column.php:63 @@ -437,103 +447,103 @@ msgstr "نیازمند توجه" #. translators: %s: a question people ask #, php-format -#: src/Grow.php:210 +#: src/Grow.php:221 msgid "AI answers quote this page for \"%s\"" msgstr "پاسخ‌های هوش مصنوعی برای «%s» از این صفحه نقل می‌کنند" #. translators: %s: a question people ask -#: src/Grow.php:210 +#: src/Grow.php:221 msgid "AI answers quote this page" msgstr "پاسخ‌های هوش مصنوعی از این صفحه نقل می‌کنند" #. translators: %s: a search keyword #, php-format -#: src/Grow.php:214 +#: src/Grow.php:225 msgid "A \"best of\" list for \"%s\" that leaves you out" msgstr "فهرست «بهترین‌ها» برای «%s» که نام شما در آن نیست" #. translators: %s: a search keyword -#: src/Grow.php:214 +#: src/Grow.php:225 msgid "A \"best of\" list that leaves you out" msgstr "فهرست «بهترین‌ها» که نام شما در آن نیست" #. translators: %s: number of competitors #, php-format -#: src/Grow.php:218 +#: src/Grow.php:229 msgid "Links to %s competitor, not to you" msgid_plural "Links to %s of your competitors, not to you" msgstr[0] "به %s رقیب لینک می‌دهد، نه به شما" msgstr[1] "به %s رقیب شما لینک می‌دهد، نه به شما" #. translators: %s: number of competitors -#: src/Grow.php:218 +#: src/Grow.php:229 msgid "Links to your competitors, not to you" msgstr "به رقیبان شما لینک می‌دهد، نه به شما" #. translators: %s: a page address on this site, like /pricing #, php-format -#: src/Grow.php:222 +#: src/Grow.php:233 msgid "Used to link to %s" msgstr "قبلاً به %s لینک می‌داد" #. translators: %s: a page address on this site, like /pricing -#: src/Grow.php:222 +#: src/Grow.php:233 msgid "Used to link to you" msgstr "قبلاً به شما لینک می‌داد" -#: src/Grow.php:224 +#: src/Grow.php:235 msgid "Added by hand" msgstr "دستی اضافه شده" -#: src/Overview.php:39 +#: src/Overview.php:41 #: src/PostPanel.php:152 msgid "Title" msgstr "عنوان" -#: src/Overview.php:40 +#: src/Overview.php:42 #: src/PostPanel.php:153 msgid "Meta description" msgstr "توضیح متا" -#: src/Overview.php:41 +#: src/Overview.php:43 #: src/PostPanel.php:156 msgid "Canonical" msgstr "کانونیکال" -#: src/Overview.php:42 +#: src/Overview.php:44 #: src/PostPanel.php:157 msgid "Noindex" msgstr "Noindex" -#: src/Overview.php:43 +#: src/Overview.php:45 msgid "Image alt" msgstr "متن جایگزین تصویر" -#: src/Overview.php:44 +#: src/Overview.php:46 #: src/PostPanel.php:151 msgid "Redirect" msgstr "تغییر مسیر" -#: src/Overview.php:45 +#: src/Overview.php:47 msgid "Opening paragraph" msgstr "پاراگراف آغازین" -#: src/Overview.php:46 +#: src/Overview.php:48 msgid "robots.txt" msgstr "robots.txt" -#: src/Overview.php:47 +#: src/Overview.php:49 msgid "llms.txt" msgstr "llms.txt" #. translators: %d: attachment ID #, php-format -#: src/Overview.php:66 +#: src/Overview.php:68 msgid "Image #%d" msgstr "تصویر #%d" -#: src/Overview.php:68 -#: tmp/i18n/screens/Overview.js:130 +#: src/Overview.php:70 +#: tmp/i18n/screens/Overview.js:29 msgid "Site" msgstr "سایت" @@ -574,12 +584,12 @@ msgid "Internal links" msgstr "لینک‌های داخلی" #: src/PostPanel.php:162 -#: tmp/i18n/screens/Overview.js:66 +#: tmp/i18n/screens/Overview.js:84 msgid "Health score" msgstr "امتیاز سلامت" #: src/PostPanel.php:163 -#: tmp/i18n/screens/Overview.js:70 +#: tmp/i18n/screens/Overview.js:88 msgid "AEO score" msgstr "امتیاز AEO" @@ -591,15 +601,15 @@ msgstr "%1$s %2$s ← %3$s" #. translators: 1: user, 2: date #, php-format -#: src/Settings.php:33 +#: src/Settings.php:42 msgid "set when %1$s connected MonoRanks on %2$s" msgstr "هنگام اتصال %1$s به مونورنکس در %2$s تنظیم شد" -#: src/Settings.php:34 +#: src/Settings.php:43 msgid "pasted by hand" msgstr "دستی وارد شده" -#: src/Settings.php:36 +#: src/Settings.php:45 msgid "Never" msgstr "هرگز" @@ -778,296 +788,359 @@ msgstr[1] "%s کلیدواژهٔ پیگیری‌شدهٔ شما این هفته msgid "No tracked keywords yet. Track some in MonoRanks to see them move here." msgstr "هنوز کلیدواژهٔ پیگیری‌شده‌ای نیست. در مونورنکس چند کلیدواژه را پیگیری کنید تا جابه‌جایی‌شان را اینجا ببینید." -#: tmp/i18n/screens/Grow.js:141 -msgid "Latest client report" -msgstr "تازه‌ترین گزارش مشتری" +#: tmp/i18n/screens/Grow.js:143 +msgid "No reports yet. Create a website report, a client report or a weekly email in MonoRanks to share progress." +msgstr "" + +#: tmp/i18n/screens/Grow.js:144 +#: tmp/i18n/screens/Grow.js:148 +msgid "Open reports" +msgstr "باز کردن گزارش‌ها" + +#: tmp/i18n/screens/Grow.js:147 +msgid "Reports" +msgstr "" + +#: tmp/i18n/screens/Grow.js:152 +msgid "Weekly email" +msgstr "" + +#, js-format +#: tmp/i18n/screens/Grow.js:154 +msgid "Next send %s" +msgstr "" + +#, js-format +#: tmp/i18n/screens/Grow.js:155 +msgid "%s recipient" +msgid_plural "%s recipients" +msgstr[0] "" +msgstr[1] "" + +#: tmp/i18n/screens/Grow.js:156 +msgid "On" +msgstr "" + +#: tmp/i18n/screens/Grow.js:156 +msgid "Off" +msgstr "" -#: tmp/i18n/screens/Grow.js:141 -msgid "Latest report" -msgstr "تازه‌ترین گزارش" +#: tmp/i18n/screens/Grow.js:160 +msgid "Client report" +msgstr "" + +#: tmp/i18n/screens/Grow.js:160 +msgid "Report" +msgstr "" -#: tmp/i18n/screens/Grow.js:142 +#: tmp/i18n/screens/Grow.js:161 msgid "Open report" msgstr "باز کردن گزارش" -#: tmp/i18n/screens/Grow.js:144 -msgid "No reports yet. Create a website or client report in MonoRanks to share progress." -msgstr "هنوز گزارشی نیست. برای به‌اشتراک‌گذاشتن پیشرفت، در مونورنکس گزارش سایت یا مشتری بسازید." - -#: tmp/i18n/screens/Grow.js:145 -msgid "Open reports" -msgstr "باز کردن گزارش‌ها" +#, js-format +#: tmp/i18n/screens/Overview.js:34 +msgid "on %s" +msgstr "" +#, js-format #: tmp/i18n/screens/Overview.js:36 +msgid "Image: %s" +msgstr "" + +#: tmp/i18n/screens/Overview.js:37 +msgid "Adds one answer-first paragraph at the top. Review the before/after in MonoRanks first." +msgstr "یک پاراگراف پاسخ‌محور به بالای نوشته اضافه می‌کند. ابتدا قبل/بعد را در مونورنکس بررسی کنید." + +#: tmp/i18n/screens/Overview.js:38 +msgid "(empty)" +msgstr "" + +#: tmp/i18n/screens/Overview.js:40 +msgid "changes to" +msgstr "" + +#: tmp/i18n/screens/Overview.js:54 msgid "Could not load the overview." msgstr "بارگذاری نمای کلی ممکن نشد." -#: tmp/i18n/screens/Overview.js:46 -#: tmp/i18n/screens/Settings.js:38 +#: tmp/i18n/screens/Overview.js:64 +#: tmp/i18n/screens/Settings.js:65 msgid "Something went wrong. Try again." msgstr "مشکلی پیش آمد. دوباره تلاش کنید." -#: tmp/i18n/screens/Overview.js:55 +#: tmp/i18n/screens/Overview.js:73 msgid "Weekly SEO, AEO and GEO audit of" msgstr "ممیزی هفتگی SEO، AEO و GEO برای" #, js-format -#: tmp/i18n/screens/Overview.js:55 +#: tmp/i18n/screens/Overview.js:73 msgid "last audit %s" msgstr "آخرین ممیزی %s" #, js-format -#: tmp/i18n/screens/Overview.js:55 +#: tmp/i18n/screens/Overview.js:73 msgid "%1$s of %2$s published pages scored" msgstr "%1$s از %2$s صفحهٔ منتشرشده امتیاز گرفته" -#: tmp/i18n/screens/Overview.js:55 +#: tmp/i18n/screens/Overview.js:73 msgid "Weekly SEO, AEO and GEO audits, with the fixes you approve written into WordPress." msgstr "ممیزی هفتگی SEO، AEO و GEO، با اصلاح‌هایی که تأیید می‌کنید و در وردپرس نوشته می‌شوند." -#: tmp/i18n/screens/Overview.js:56 +#: tmp/i18n/screens/Overview.js:74 msgid "Sync content now" msgstr "همگام‌سازی محتوا" -#: tmp/i18n/screens/Overview.js:67 +#: tmp/i18n/screens/Overview.js:85 msgid "Technical, on-page, links, speed" msgstr "فنی، درون‌صفحه، پیوندها، سرعت" #, js-format -#: tmp/i18n/screens/Overview.js:67 +#: tmp/i18n/screens/Overview.js:85 msgid "Site average, %s page" msgid_plural "Site average, %s pages" msgstr[0] "میانگین سایت، %s صفحه" msgstr[1] "میانگین سایت، %s صفحه" -#: tmp/i18n/screens/Overview.js:71 +#: tmp/i18n/screens/Overview.js:89 msgid "Answer-first, structure, entities" msgstr "پاسخ‌محوری، ساختار، موجودیت‌ها" -#: tmp/i18n/screens/Overview.js:71 +#: tmp/i18n/screens/Overview.js:89 msgid "How well AI answers can use your pages" msgstr "پاسخ‌های هوش مصنوعی چقدر می‌توانند از صفحه‌های شما استفاده کنند" -#: tmp/i18n/screens/Overview.js:74 +#: tmp/i18n/screens/Overview.js:92 msgid "Search clicks, 28 days" msgstr "کلیک‌های جستجو، ۲۸ روز" -#: tmp/i18n/screens/Overview.js:75 +#: tmp/i18n/screens/Overview.js:93 msgid "From Google Search Console, through MonoRanks" msgstr "از گوگل سرچ کنسول، از طریق مونورنکس" #, js-format -#: tmp/i18n/screens/Overview.js:78 +#: tmp/i18n/screens/Overview.js:96 msgid "%s ready" msgstr "%s آماده" -#: tmp/i18n/screens/Overview.js:79 +#: tmp/i18n/screens/Overview.js:97 msgid "applied in 30 days" msgstr "اعمال‌شده در ۳۰ روز" #, js-format -#: tmp/i18n/screens/Overview.js:80 +#: tmp/i18n/screens/Overview.js:98 msgid "%s waiting for your approval in MonoRanks" msgstr "%s مورد در مونورنکس منتظر تأیید شماست" -#: tmp/i18n/screens/Overview.js:82 +#: tmp/i18n/screens/Overview.js:100 msgid "AI crawler rules on" msgstr "قوانین خزنده‌های هوش مصنوعی فعال" -#: tmp/i18n/screens/Overview.js:82 +#: tmp/i18n/screens/Overview.js:100 msgid "No AI crawler rules" msgstr "بدون قوانین خزندهٔ هوش مصنوعی" -#: tmp/i18n/screens/Overview.js:83 +#: tmp/i18n/screens/Overview.js:101 msgid "llms.txt published" msgstr "llms.txt منتشر شده" -#: tmp/i18n/screens/Overview.js:83 +#: tmp/i18n/screens/Overview.js:101 msgid "No llms.txt" msgstr "بدون llms.txt" -#: tmp/i18n/screens/Overview.js:92 +#: tmp/i18n/screens/Overview.js:110 msgid "Pages needing attention" msgstr "صفحه‌های نیازمند توجه" -#: tmp/i18n/screens/Overview.js:92 +#: tmp/i18n/screens/Overview.js:110 msgid "All pages in MonoRanks" msgstr "همهٔ صفحه‌ها در مونورنکس" -#: tmp/i18n/screens/Overview.js:95 +#: tmp/i18n/screens/Overview.js:113 msgid "Page" msgstr "صفحه" -#: tmp/i18n/screens/Overview.js:95 +#: tmp/i18n/screens/Overview.js:113 msgid "Biggest issue" msgstr "بزرگ‌ترین مشکل" -#: tmp/i18n/screens/Overview.js:102 +#: tmp/i18n/screens/Overview.js:120 msgid "Fix in MonoRanks" msgstr "اصلاح در مونورنکس" -#: tmp/i18n/screens/Overview.js:106 +#: tmp/i18n/screens/Overview.js:124 msgid "Nothing needs attention" msgstr "چیزی نیازمند توجه نیست" -#: tmp/i18n/screens/Overview.js:106 +#: tmp/i18n/screens/Overview.js:124 msgid "Every scored page is above 60. The next audit may change that." msgstr "همهٔ صفحه‌های امتیازگرفته بالای ۶۰ هستند. ممیزی بعدی ممکن است این را تغییر دهد." -#: tmp/i18n/screens/Overview.js:111 +#: tmp/i18n/screens/Overview.js:129 msgid "Ready to apply" msgstr "آمادهٔ اعمال" -#: tmp/i18n/screens/Overview.js:112 +#: tmp/i18n/screens/Overview.js:130 msgid "Apply all" msgstr "اعمال همه" #, js-format -#: tmp/i18n/screens/Overview.js:117 +#: tmp/i18n/screens/Overview.js:135 msgid "%s fixes are ready for your approval" msgstr "%s اصلاح آماده‌ی تأیید شماست" #, js-format -#: tmp/i18n/screens/Overview.js:117 +#: tmp/i18n/screens/Overview.js:135 msgid "%s needs a value in MonoRanks" msgid_plural "%s need a value in MonoRanks" msgstr[0] "%s نیاز به مقدار در مونورنکس" msgstr[1] "%s نیاز به مقدار در مونورنکس" -#: tmp/i18n/screens/Overview.js:118 +#: tmp/i18n/screens/Overview.js:136 msgid "Type a value or draft one with AI in MonoRanks, approve it, and it is written here, with undo." msgstr "در مونورنکس مقدار را بنویسید یا با هوش مصنوعی پیش‌نویس کنید و تأیید کنید تا این‌جا نوشته شود، با امکان بازگردانی." -#: tmp/i18n/screens/Overview.js:118 +#: tmp/i18n/screens/Overview.js:136 msgid "Approve them in MonoRanks and they are written here, with undo." msgstr "در مونورنکس تأییدشان کنید تا این‌جا نوشته شوند، با امکان بازگردانی." -#: tmp/i18n/screens/Overview.js:123 +#: tmp/i18n/screens/Overview.js:141 +#: tmp/i18n/screens/Overview.js:157 msgid "Review in MonoRanks" msgstr "بررسی در مونورنکس" -#: tmp/i18n/screens/Overview.js:125 +#: tmp/i18n/screens/Overview.js:143 msgid "No fixes waiting" msgstr "اصلاحی در انتظار نیست" -#: tmp/i18n/screens/Overview.js:125 +#: tmp/i18n/screens/Overview.js:143 msgid "Fixes you approve in MonoRanks appear here, ready to write into WordPress." msgstr "اصلاح‌هایی که در مونورنکس تأیید می‌کنید اینجا می‌آیند، آماده برای نوشتن در وردپرس." -#: tmp/i18n/screens/Overview.js:132 -msgid "Adds one answer-first paragraph at the top. Review the before/after in MonoRanks first." -msgstr "یک پاراگراف پاسخ‌محور به بالای نوشته اضافه می‌کند. ابتدا قبل/بعد را در مونورنکس بررسی کنید." - -#: tmp/i18n/screens/Overview.js:137 +#: tmp/i18n/screens/Overview.js:146 msgid "Review" msgstr "بررسی" -#: tmp/i18n/screens/Overview.js:137 +#: tmp/i18n/screens/Overview.js:146 msgid "Apply" msgstr "اعمال" -#: tmp/i18n/screens/Overview.js:139 +#: tmp/i18n/screens/Overview.js:148 msgid "Approved in MonoRanks. Each write is logged under Settings and can be undone for 30 days." msgstr "در مونورنکس تأیید شده. هر نوشتن در تنظیمات ثبت می‌شود و تا ۳۰ روز قابل بازگردانی است." -#: tmp/i18n/screens/Overview.js:145 -#: tmp/i18n/screens/Settings.js:103 +#: tmp/i18n/screens/Overview.js:152 +msgid "Needs review in MonoRanks" +msgstr "" + +#: tmp/i18n/screens/Overview.js:154 +msgid "These changed in WordPress after they were reviewed, so they are not applied from here. Review them again in MonoRanks." +msgstr "" + +#: tmp/i18n/screens/Overview.js:164 +#: tmp/i18n/screens/Settings.js:130 msgid "Recent changes" msgstr "تغییرات اخیر" -#: tmp/i18n/screens/Overview.js:148 +#: tmp/i18n/screens/Overview.js:167 msgid "All changes" msgstr "همهٔ تغییرات" -#: tmp/i18n/screens/Overview.js:163 +#: tmp/i18n/screens/Overview.js:182 msgid "Connect MonoRanks again" msgstr "مونورنکس را دوباره متصل کنید" -#: tmp/i18n/screens/Overview.js:163 -#: tmp/i18n/screens/Settings.js:54 +#: tmp/i18n/screens/Overview.js:182 +#: tmp/i18n/screens/Settings.js:81 msgid "Key revoked" msgstr "کلید باطل شده" -#: tmp/i18n/screens/Overview.js:163 -#: tmp/i18n/screens/Settings.js:54 +#: tmp/i18n/screens/Overview.js:182 +#: tmp/i18n/screens/Settings.js:81 msgid "Not connected" msgstr "متصل نیست" -#: tmp/i18n/screens/Overview.js:165 -#: tmp/i18n/screens/Settings.js:72 -msgid "Connect from MonoRanks" -msgstr "اتصال از مونورنکس" +#: tmp/i18n/screens/Overview.js:184 +#: tmp/i18n/screens/Settings.js:99 +msgid "Connect to MonoRanks" +msgstr "اتصال به MonoRanks" + +#: tmp/i18n/screens/Overview.js:184 +#: tmp/i18n/screens/Settings.js:99 +msgid "Sign in and approve. Takes a minute." +msgstr "وارد شوید و تأیید کنید. یک دقیقه طول می‌کشد." -#: tmp/i18n/screens/Overview.js:165 -#: tmp/i18n/screens/Settings.js:72 -msgid "In MonoRanks open your website → Integrations → WordPress → Connect to WordPress, and allow MonoRanks when WordPress asks. Nothing is sent before you connect." -msgstr "در مونورنکس وب‌سایت خود را باز کنید ← یکپارچه‌سازی‌ها ← وردپرس ← اتصال به وردپرس، و وقتی وردپرس پرسید به مونورنکس اجازه دهید. پیش از اتصال چیزی فرستاده نمی‌شود." +#: tmp/i18n/screens/Overview.js:184 +#: tmp/i18n/screens/Settings.js:99 +#: tmp/i18n/screens/Settings.js:164 +msgid "Connect" +msgstr "اتصال" -#: tmp/i18n/screens/Overview.js:166 -#: tmp/i18n/screens/Settings.js:73 +#: tmp/i18n/screens/Overview.js:185 +#: tmp/i18n/screens/Settings.js:100 msgid "Or paste a connector key" msgstr "یا کلید اتصال را وارد کنید" -#: tmp/i18n/screens/Overview.js:166 +#: tmp/i18n/screens/Overview.js:185 +#: tmp/i18n/screens/Settings.js:100 msgid "Use this when your host blocks Application Passwords." msgstr "وقتی میزبان شما «گذرواژه‌های برنامه» را مسدود کرده از این راه استفاده کنید." -#: tmp/i18n/screens/Overview.js:169 +#: tmp/i18n/screens/Overview.js:188 msgid "Open settings" msgstr "باز کردن تنظیمات" -#: tmp/i18n/screens/Overview.js:170 +#: tmp/i18n/screens/Overview.js:189 msgid "See scores here and in your Posts list" msgstr "امتیازها را اینجا و در فهرست نوشته‌ها ببینید" -#: tmp/i18n/screens/Overview.js:170 +#: tmp/i18n/screens/Overview.js:189 msgid "After the first audit this page shows the site's health and AEO scores, pages needing attention and the fixes you approved; every post and page gets its scores in the list." msgstr "پس از نخستین ممیزی، این صفحه امتیاز سلامت و AEO سایت، صفحه‌های نیازمند توجه و اصلاح‌های تأییدشدهٔ شما را نشان می‌دهد؛ هر نوشته و برگه هم امتیازش را در فهرست می‌گیرد." -#: tmp/i18n/screens/Overview.js:179 +#: tmp/i18n/screens/Overview.js:198 msgid "This MonoRanks does not share audit results with the plugin yet. Scores stay in MonoRanks for now; the plugin asks again tomorrow." msgstr "این مونورنکس هنوز نتایج ممیزی را با افزونه به اشتراک نمی‌گذارد. فعلاً امتیازها در مونورنکس می‌مانند؛ افزونه فردا دوباره می‌پرسد." -#: tmp/i18n/screens/Overview.js:179 +#: tmp/i18n/screens/Overview.js:198 msgid "MonoRanks could not be reached for the audit results. The plugin tries again within the hour, or when you reload this screen." msgstr "برای دریافت نتایج ممیزی دسترسی به مونورنکس ممکن نشد. افزونه تا یک ساعت دیگر یا با بارگذاری دوباره این صفحه، دوباره تلاش می‌کند." -#: tmp/i18n/screens/Overview.js:179 +#: tmp/i18n/screens/Overview.js:198 msgid "MonoRanks has not scored this site yet. Scores appear here and in the Posts list after the first weekly audit." msgstr "مونورنکس هنوز به این سایت امتیاز نداده است. امتیازها پس از نخستین ممیزی هفتگی اینجا و در فهرست نوشته‌ها دیده می‌شوند." -#: tmp/i18n/screens/Overview.js:181 +#: tmp/i18n/screens/Overview.js:200 msgid "Waiting for the first audit" msgstr "در انتظار نخستین ممیزی" -#: tmp/i18n/screens/Overview.js:181 -#: tmp/i18n/screens/Settings.js:54 +#: tmp/i18n/screens/Overview.js:200 +#: tmp/i18n/screens/Settings.js:81 msgid "Connected" msgstr "متصل" -#: tmp/i18n/screens/Overview.js:184 +#: tmp/i18n/screens/Overview.js:203 msgid "Content" msgstr "محتوا" #, js-format -#: tmp/i18n/screens/Overview.js:184 +#: tmp/i18n/screens/Overview.js:203 msgid "%1$s published items sent %2$s" msgstr "%1$s مورد منتشرشده %2$s فرستاده شد" -#: tmp/i18n/screens/Overview.js:184 +#: tmp/i18n/screens/Overview.js:203 msgid "Not sent yet. Use \"Sync content now\" above." msgstr "هنوز فرستاده نشده. از «همگام‌سازی محتوا» در بالا استفاده کنید." -#: tmp/i18n/screens/Overview.js:185 +#: tmp/i18n/screens/Overview.js:204 msgid "Audit results" msgstr "نتایج ممیزی" #, js-format -#: tmp/i18n/screens/Overview.js:185 +#: tmp/i18n/screens/Overview.js:204 msgid "checked %s" msgstr "بررسی‌شده %s" -#: tmp/i18n/screens/Overview.js:187 +#: tmp/i18n/screens/Overview.js:206 msgid "Open the audit in MonoRanks" msgstr "باز کردن ممیزی در مونورنکس" @@ -1075,182 +1148,174 @@ msgstr "باز کردن ممیزی در مونورنکس" msgid "Could not load the settings." msgstr "بارگذاری تنظیمات ممکن نشد." -#: tmp/i18n/screens/Settings.js:46 +#: tmp/i18n/screens/Settings.js:73 msgid "Connection, what is sent, and every change written into this site." msgstr "اتصال، آنچه فرستاده می‌شود، و هر تغییری که در این سایت نوشته شده است." -#: tmp/i18n/screens/Settings.js:53 +#: tmp/i18n/screens/Settings.js:80 msgid "Connection" msgstr "اتصال" -#: tmp/i18n/screens/Settings.js:59 +#: tmp/i18n/screens/Settings.js:86 msgid "MonoRanks no longer accepts this key. Connect again from MonoRanks or paste a new key below." msgstr "مونورنکس دیگر این کلید را نمی‌پذیرد. دوباره از مونورنکس متصل شوید یا کلید تازه‌ای در پایین وارد کنید." -#: tmp/i18n/screens/Settings.js:59 +#: tmp/i18n/screens/Settings.js:86 msgid "Sending published content to MonoRanks. Nothing else leaves this site." msgstr "محتوای منتشرشده به مونورنکس فرستاده می‌شود. چیز دیگری از این سایت خارج نمی‌شود." -#: tmp/i18n/screens/Settings.js:60 -#: tmp/i18n/screens/Settings.js:135 +#: tmp/i18n/screens/Settings.js:87 +#: tmp/i18n/screens/Settings.js:162 msgid "Connector key" msgstr "کلید اتصال" -#: tmp/i18n/screens/Settings.js:61 +#: tmp/i18n/screens/Settings.js:88 msgid "Last sync" msgstr "آخرین همگام‌سازی" #, js-format -#: tmp/i18n/screens/Settings.js:61 +#: tmp/i18n/screens/Settings.js:88 msgid "sending, batch %1$s of %2$s" msgstr "در حال ارسال، دستهٔ %1$s از %2$s" #, js-format -#: tmp/i18n/screens/Settings.js:61 +#: tmp/i18n/screens/Settings.js:88 msgid "%s published item" msgid_plural "%s published items" msgstr[0] "%s مورد منتشرشده" msgstr[1] "%s مورد منتشرشده" -#: tmp/i18n/screens/Settings.js:63 +#: tmp/i18n/screens/Settings.js:90 msgid "Fixes written with" msgstr "اصلاح‌ها نوشته می‌شوند با" -#: tmp/i18n/screens/Settings.js:63 +#: tmp/i18n/screens/Settings.js:90 msgid "The \"MonoRanks\" Application Password" msgstr "گذرواژهٔ برنامهٔ «MonoRanks»" -#: tmp/i18n/screens/Settings.js:63 +#: tmp/i18n/screens/Settings.js:90 msgid "revoke it in your profile" msgstr "آن را در نمایهٔ خود باطل کنید" -#: tmp/i18n/screens/Settings.js:63 +#: tmp/i18n/screens/Settings.js:90 msgid "to stop writes" msgstr "تا نوشتن متوقف شود" -#: tmp/i18n/screens/Settings.js:64 +#: tmp/i18n/screens/Settings.js:91 msgid "Works with" msgstr "سازگار با" #, js-format -#: tmp/i18n/screens/Settings.js:64 +#: tmp/i18n/screens/Settings.js:91 msgid "%s detected" msgstr "%s شناسایی شد" #, js-format -#: tmp/i18n/screens/Settings.js:64 +#: tmp/i18n/screens/Settings.js:91 msgid "MonoRanks cannot write titles, descriptions, canonicals or noindex into %s yet, so those fixes are refused" msgstr "" #, js-format -#: tmp/i18n/screens/Settings.js:64 +#: tmp/i18n/screens/Settings.js:91 msgid "titles and descriptions go into the fields %s reads" msgstr "عنوان‌ها و توضیح‌ها در فیلدهایی نوشته می‌شوند که %s می‌خواند" -#: tmp/i18n/screens/Settings.js:64 +#: tmp/i18n/screens/Settings.js:91 msgid "No SEO plugin" msgstr "بدون افزونهٔ سئو" -#: tmp/i18n/screens/Settings.js:64 +#: tmp/i18n/screens/Settings.js:91 msgid "MonoRanks prints the approved title, description, canonical and noindex tags itself" msgstr "مونورنکس خودش تگ‌های تأییدشدهٔ عنوان، توضیح، کانونیکال و noindex را چاپ می‌کند" -#: tmp/i18n/screens/Settings.js:67 +#: tmp/i18n/screens/Settings.js:94 msgid "Send content now" msgstr "ارسال محتوا" -#: tmp/i18n/screens/Settings.js:68 +#: tmp/i18n/screens/Settings.js:95 msgid "Disconnect" msgstr "قطع اتصال" -#: tmp/i18n/screens/Settings.js:69 +#: tmp/i18n/screens/Settings.js:96 msgid "Disconnect stops sending. Fixes already applied stay." msgstr "قطع اتصال ارسال را متوقف می‌کند. اصلاح‌های اعمال‌شده می‌مانند." -#: tmp/i18n/screens/Settings.js:73 -msgid "Use this when your host blocks Application Passwords. In MonoRanks: Settings → API and MCP → New credential with the content:write scope, ticked for this website." -msgstr "وقتی میزبان شما «گذرواژه‌های برنامه» را مسدود کرده از این راه استفاده کنید. در مونورنکس: تنظیمات ← API و MCP ← اعتبارنامهٔ جدید با دسترسی content:write، تیک‌خورده برای این وب‌سایت." - -#: tmp/i18n/screens/Settings.js:80 +#: tmp/i18n/screens/Settings.js:107 msgid "Use a different key" msgstr "استفاده از کلید دیگر" -#: tmp/i18n/screens/Settings.js:83 +#: tmp/i18n/screens/Settings.js:110 msgid "In MonoRanks: Settings → API and MCP → New credential with the content:write scope, ticked for this website. Paste it here. With a key alone MonoRanks receives your content; to apply fixes, also use Connect to WordPress in MonoRanks." msgstr "در مونورنکس: تنظیمات ← API و MCP ← اعتبارنامهٔ جدید با دسترسی content:write، تیک‌خورده برای این وب‌سایت. آن را اینجا وارد کنید. با کلید به‌تنهایی مونورنکس محتوای شما را دریافت می‌کند؛ برای اعمال اصلاح‌ها، «اتصال به وردپرس» را هم در مونورنکس انجام دهید." -#: tmp/i18n/screens/Settings.js:91 +#: tmp/i18n/screens/Settings.js:118 msgid "What is sent" msgstr "چه چیزی فرستاده می‌شود" -#: tmp/i18n/screens/Settings.js:94 +#: tmp/i18n/screens/Settings.js:121 msgid "Sent" msgstr "فرستاده می‌شود" -#: tmp/i18n/screens/Settings.js:94 +#: tmp/i18n/screens/Settings.js:121 msgid "Published titles, a 40-word excerpt, dates, authors, categories, tags, SEO fields, image alt text and plugin status." msgstr "عنوان‌های منتشرشده، چکیدهٔ ۴۰ کلمه‌ای، تاریخ‌ها، نویسندگان، دسته‌ها، برچسب‌ها، فیلدهای سئو، متن جایگزین تصاویر و وضعیت افزونه." -#: tmp/i18n/screens/Settings.js:95 +#: tmp/i18n/screens/Settings.js:122 msgid "Read back" msgstr "خوانده می‌شود" -#: tmp/i18n/screens/Settings.js:95 +#: tmp/i18n/screens/Settings.js:122 msgid "This website's audit results: scores, issues and the fixes you approved, shown here and in the Posts list." msgstr "نتایج ممیزی این وب‌سایت: امتیازها، مشکل‌ها و اصلاح‌هایی که تأیید کرده‌اید، که اینجا و در فهرست نوشته‌ها نشان داده می‌شوند." -#: tmp/i18n/screens/Settings.js:96 +#: tmp/i18n/screens/Settings.js:123 msgid "Never sent" msgstr "هرگز فرستاده نمی‌شود" -#: tmp/i18n/screens/Settings.js:96 +#: tmp/i18n/screens/Settings.js:123 msgid "Drafts, private posts, comments, emails, passwords, plugin or theme settings." msgstr "پیش‌نویس‌ها، نوشته‌های خصوصی، دیدگاه‌ها، ایمیل‌ها، گذرواژه‌ها، تنظیمات افزونه یا پوسته." -#: tmp/i18n/screens/Settings.js:97 +#: tmp/i18n/screens/Settings.js:124 msgid "Can change" msgstr "می‌تواند تغییر دهد" -#: tmp/i18n/screens/Settings.js:97 +#: tmp/i18n/screens/Settings.js:124 msgid "SEO title, meta description, canonical, noindex, image alt text, redirects, one opening paragraph, AI crawler rules, llms.txt. Only after you approve each one." msgstr "عنوان سئو، توضیح متا، کانونیکال، noindex، متن جایگزین تصویر، تغییر مسیرها، یک پاراگراف آغازین، قوانین خزنده‌های هوش مصنوعی، llms.txt. فقط پس از آنکه هرکدام را تأیید کنید." -#: tmp/i18n/screens/Settings.js:103 +#: tmp/i18n/screens/Settings.js:130 msgid "Last 50 · undo for 30 days" msgstr "۵۰ مورد آخر · بازگردانی تا ۳۰ روز" -#: tmp/i18n/screens/Settings.js:111 +#: tmp/i18n/screens/Settings.js:138 msgid "Danger zone" msgstr "منطقهٔ خطر" -#: tmp/i18n/screens/Settings.js:113 +#: tmp/i18n/screens/Settings.js:140 msgid "This site is not connected to MonoRanks. You can erase everything the plugin stored here: the connection, the scores on your posts and pages, the redirects and AI access files it was asked to write, and the change log. Pages themselves are not touched — a fix that was written stays written, so undo those first if you want them back." msgstr "این سایت به مونورنکس متصل نیست. می‌توانید هر چه افزونه اینجا ذخیره کرده پاک کنید: اتصال، امتیاز نوشته‌ها و برگه‌ها، تغییر مسیرها و فایل‌های دسترسی هوش مصنوعی که نوشته شده‌اند، و فهرست تغییرات. خود صفحه‌ها دست‌نخورده می‌مانند؛ اصلاحی که نوشته شده نوشته می‌ماند، پس اگر می‌خواهید برگردد ابتدا آن را بازگردانی کنید." -#: tmp/i18n/screens/Settings.js:115 +#: tmp/i18n/screens/Settings.js:142 msgid "This cannot be undone. Delete everything?" msgstr "این کار برگشت‌پذیر نیست. همه چیز پاک شود؟" -#: tmp/i18n/screens/Settings.js:119 +#: tmp/i18n/screens/Settings.js:146 msgid "Yes, delete all data" msgstr "بله، همهٔ داده‌ها پاک شود" -#: tmp/i18n/screens/Settings.js:120 +#: tmp/i18n/screens/Settings.js:147 msgid "Cancel" msgstr "انصراف" -#: tmp/i18n/screens/Settings.js:121 +#: tmp/i18n/screens/Settings.js:148 msgid "Delete all MonoRanks data" msgstr "پاک کردن همهٔ داده‌های مونورنکس" -#: tmp/i18n/screens/Settings.js:136 +#: tmp/i18n/screens/Settings.js:163 msgid "MonoRanks address (development sites only)" msgstr "نشانی مونورنکس (فقط سایت‌های توسعه)" -#: tmp/i18n/screens/Settings.js:137 -msgid "Connect" -msgstr "اتصال" - #: tmp/i18n/shell/ChangeLog.js:8 msgid "No changes yet" msgstr "هنوز تغییری نیست" diff --git a/languages/monoranks.pot b/languages/monoranks.pot index fa44802..1ce1ec8 100644 --- a/languages/monoranks.pot +++ b/languages/monoranks.pot @@ -9,7 +9,7 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2026-10-04T08:24:19+00:00\n" +"POT-Creation-Date: 2026-10-14T11:51:44+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.12.0\n" "X-Domain: monoranks\n" @@ -48,7 +48,7 @@ msgstr "" #: resources/views/column-cell.php:20 #: resources/views/post-panel.php:25 -#: tmp/i18n/screens/Overview.js:163 +#: tmp/i18n/screens/Overview.js:182 msgid "Connect MonoRanks" msgstr "" @@ -59,19 +59,19 @@ msgstr "" #: resources/views/column-cell.php:27 #: resources/views/column-cell.php:38 #: resources/views/post-panel.php:35 -#: tmp/i18n/screens/Overview.js:95 +#: tmp/i18n/screens/Overview.js:113 msgid "Health" msgstr "" #: resources/views/column-cell.php:27 #: resources/views/column-cell.php:38 #: resources/views/post-panel.php:35 -#: tmp/i18n/screens/Overview.js:95 +#: tmp/i18n/screens/Overview.js:113 msgid "AEO" msgstr "" #: resources/views/column-cell.php:30 -#: tmp/i18n/screens/Settings.js:59 +#: tmp/i18n/screens/Settings.js:86 msgid "Status" msgstr "" @@ -82,7 +82,7 @@ msgstr "" #: resources/views/column-cell.php:31 #: resources/views/column-cell.php:54 -#: tmp/i18n/screens/Settings.js:62 +#: tmp/i18n/screens/Settings.js:89 msgid "Next audit" msgstr "" @@ -95,8 +95,6 @@ msgid "Scores arrive after the next audit" msgstr "" #: resources/views/column-cell.php:35 -#: tmp/i18n/screens/Overview.js:165 -#: tmp/i18n/screens/Settings.js:72 #: tmp/i18n/shell/Shell.js:38 msgid "Open MonoRanks" msgstr "" @@ -110,13 +108,13 @@ msgid "Not checked: MonoRanks reads AEO on a sample of pages" msgstr "" #: resources/views/column-cell.php:41 -#: tmp/i18n/screens/Overview.js:78 +#: tmp/i18n/screens/Overview.js:96 msgid "Fixes" msgstr "" #. translators: %s: number #: resources/views/column-cell.php:43 -#: tmp/i18n/screens/Overview.js:117 +#: tmp/i18n/screens/Overview.js:135 #, php-format,js-format msgid "%s ready to apply" msgid_plural "%s ready to apply" @@ -196,7 +194,7 @@ msgid "Search data arrives with the next refresh." msgstr "" #: resources/views/post-panel.php:49 -#: tmp/i18n/screens/Overview.js:75 +#: tmp/i18n/screens/Overview.js:93 msgid "Connect Google Search Console in MonoRanks to see clicks here." msgstr "" @@ -292,24 +290,24 @@ msgstr "" #: resources/views/post-panel.php:122 #: tmp/i18n/screens/Grow.js:55 #: tmp/i18n/screens/Grow.js:66 -#: tmp/i18n/screens/Grow.js:142 +#: tmp/i18n/screens/Grow.js:161 msgid "(opens in a new tab)" msgstr "" #: src/Admin.php:47 -#: src/Assets.php:66 -#: tmp/i18n/screens/Overview.js:57 +#: src/Assets.php:67 +#: tmp/i18n/screens/Overview.js:75 #: tmp/i18n/shell/Shell.js:14 msgid "Overview" msgstr "" #: src/Admin.php:48 -#: src/Assets.php:66 +#: src/Assets.php:67 msgid "MonoRanks settings" msgstr "" #: src/Admin.php:48 -#: tmp/i18n/screens/Settings.js:46 +#: tmp/i18n/screens/Settings.js:73 #: tmp/i18n/shell/Shell.js:15 msgid "Settings" msgstr "" @@ -347,7 +345,7 @@ msgid "Applied. The change is listed under Recent changes and can be undone." msgstr "" #: src/Admin.php:182 -msgid "Some fixes were applied; the rest were refused because those pages changed since MonoRanks reviewed them. Recent changes lists what was written." +msgid "Some fixes were applied; the rest could not be applied. Recent changes lists what was written." msgstr "" #: src/Admin.php:183 @@ -359,29 +357,41 @@ msgid "Undone. The previous value is back." msgstr "" #: src/Admin.php:185 -msgid "MonoRanks could not apply that change: the page changed since it was reviewed. Open it in MonoRanks to review again." +msgid "MonoRanks could not apply that change. Open it in MonoRanks to review it again." msgstr "" #: src/Admin.php:186 -msgid "That does not look like a MonoRanks connector key. Copy it again from MonoRanks → Settings → API and MCP." +msgid "Nothing was changed: the value in WordPress is not the one that was reviewed. It now needs review in MonoRanks." msgstr "" #: src/Admin.php:187 -msgid "The MonoRanks address must start with https://." +msgid "Some changes were applied. The others no longer match WordPress and need review in MonoRanks." msgstr "" #: src/Admin.php:188 -msgid "MonoRanks did not accept this key. It may have been revoked or replaced; create a new one in MonoRanks." +msgid "That does not look like a MonoRanks connector key. Copy it again from MonoRanks → Settings → API and MCP." msgstr "" #: src/Admin.php:189 -msgid "This key belongs to a different website in MonoRanks. Create the key on the website with this address." +msgid "The MonoRanks address must start with https://." msgstr "" #: src/Admin.php:190 +msgid "MonoRanks did not accept this key. It may have been revoked or replaced; create a new one in MonoRanks." +msgstr "" + +#: src/Admin.php:191 +msgid "This key belongs to a different website in MonoRanks. Create the key on the website with this address." +msgstr "" + +#: src/Admin.php:192 msgid "MonoRanks could not be reached. Check the address and try again." msgstr "" +#: src/AuthorizeScreen.php:39 +msgid "Reads your content and applies only fixes you approve." +msgstr "" + #. translators: %s: relative time such as "5 days" #: src/Column.php:63 #, php-format @@ -449,29 +459,29 @@ msgid "Needs attention" msgstr "" #. translators: %s: a question people ask -#: src/Grow.php:210 +#: src/Grow.php:221 #, php-format msgid "AI answers quote this page for \"%s\"" msgstr "" #. translators: %s: a question people ask -#: src/Grow.php:210 +#: src/Grow.php:221 msgid "AI answers quote this page" msgstr "" #. translators: %s: a search keyword -#: src/Grow.php:214 +#: src/Grow.php:225 #, php-format msgid "A \"best of\" list for \"%s\" that leaves you out" msgstr "" #. translators: %s: a search keyword -#: src/Grow.php:214 +#: src/Grow.php:225 msgid "A \"best of\" list that leaves you out" msgstr "" #. translators: %s: number of competitors -#: src/Grow.php:218 +#: src/Grow.php:229 #, php-format msgid "Links to %s competitor, not to you" msgid_plural "Links to %s of your competitors, not to you" @@ -479,74 +489,74 @@ msgstr[0] "" msgstr[1] "" #. translators: %s: number of competitors -#: src/Grow.php:218 +#: src/Grow.php:229 msgid "Links to your competitors, not to you" msgstr "" #. translators: %s: a page address on this site, like /pricing -#: src/Grow.php:222 +#: src/Grow.php:233 #, php-format msgid "Used to link to %s" msgstr "" #. translators: %s: a page address on this site, like /pricing -#: src/Grow.php:222 +#: src/Grow.php:233 msgid "Used to link to you" msgstr "" -#: src/Grow.php:224 +#: src/Grow.php:235 msgid "Added by hand" msgstr "" -#: src/Overview.php:39 +#: src/Overview.php:41 #: src/PostPanel.php:152 msgid "Title" msgstr "" -#: src/Overview.php:40 +#: src/Overview.php:42 #: src/PostPanel.php:153 msgid "Meta description" msgstr "" -#: src/Overview.php:41 +#: src/Overview.php:43 #: src/PostPanel.php:156 msgid "Canonical" msgstr "" -#: src/Overview.php:42 +#: src/Overview.php:44 #: src/PostPanel.php:157 msgid "Noindex" msgstr "" -#: src/Overview.php:43 +#: src/Overview.php:45 msgid "Image alt" msgstr "" -#: src/Overview.php:44 +#: src/Overview.php:46 #: src/PostPanel.php:151 msgid "Redirect" msgstr "" -#: src/Overview.php:45 +#: src/Overview.php:47 msgid "Opening paragraph" msgstr "" -#: src/Overview.php:46 +#: src/Overview.php:48 msgid "robots.txt" msgstr "" -#: src/Overview.php:47 +#: src/Overview.php:49 msgid "llms.txt" msgstr "" #. translators: %d: attachment ID -#: src/Overview.php:66 +#: src/Overview.php:68 #, php-format msgid "Image #%d" msgstr "" -#: src/Overview.php:68 -#: tmp/i18n/screens/Overview.js:130 +#: src/Overview.php:70 +#: tmp/i18n/screens/Overview.js:29 msgid "Site" msgstr "" @@ -587,12 +597,12 @@ msgid "Internal links" msgstr "" #: src/PostPanel.php:162 -#: tmp/i18n/screens/Overview.js:66 +#: tmp/i18n/screens/Overview.js:84 msgid "Health score" msgstr "" #: src/PostPanel.php:163 -#: tmp/i18n/screens/Overview.js:70 +#: tmp/i18n/screens/Overview.js:88 msgid "AEO score" msgstr "" @@ -603,16 +613,16 @@ msgid "%1$s %2$s → %3$s" msgstr "" #. translators: 1: user, 2: date -#: src/Settings.php:33 +#: src/Settings.php:42 #, php-format msgid "set when %1$s connected MonoRanks on %2$s" msgstr "" -#: src/Settings.php:34 +#: src/Settings.php:43 msgid "pasted by hand" msgstr "" -#: src/Settings.php:36 +#: src/Settings.php:45 msgid "Never" msgstr "" @@ -791,296 +801,359 @@ msgstr[1] "" msgid "No tracked keywords yet. Track some in MonoRanks to see them move here." msgstr "" -#: tmp/i18n/screens/Grow.js:141 -msgid "Latest client report" +#: tmp/i18n/screens/Grow.js:143 +msgid "No reports yet. Create a website report, a client report or a weekly email in MonoRanks to share progress." msgstr "" -#: tmp/i18n/screens/Grow.js:141 -msgid "Latest report" +#: tmp/i18n/screens/Grow.js:144 +#: tmp/i18n/screens/Grow.js:148 +msgid "Open reports" msgstr "" -#: tmp/i18n/screens/Grow.js:142 -msgid "Open report" +#: tmp/i18n/screens/Grow.js:147 +msgid "Reports" msgstr "" -#: tmp/i18n/screens/Grow.js:144 -msgid "No reports yet. Create a website or client report in MonoRanks to share progress." +#: tmp/i18n/screens/Grow.js:152 +msgid "Weekly email" msgstr "" -#: tmp/i18n/screens/Grow.js:145 -msgid "Open reports" +#: tmp/i18n/screens/Grow.js:154 +#, js-format +msgid "Next send %s" +msgstr "" + +#: tmp/i18n/screens/Grow.js:155 +#, js-format +msgid "%s recipient" +msgid_plural "%s recipients" +msgstr[0] "" +msgstr[1] "" + +#: tmp/i18n/screens/Grow.js:156 +msgid "On" +msgstr "" + +#: tmp/i18n/screens/Grow.js:156 +msgid "Off" +msgstr "" + +#: tmp/i18n/screens/Grow.js:160 +msgid "Client report" +msgstr "" + +#: tmp/i18n/screens/Grow.js:160 +msgid "Report" +msgstr "" + +#: tmp/i18n/screens/Grow.js:161 +msgid "Open report" +msgstr "" + +#: tmp/i18n/screens/Overview.js:34 +#, js-format +msgid "on %s" msgstr "" #: tmp/i18n/screens/Overview.js:36 +#, js-format +msgid "Image: %s" +msgstr "" + +#: tmp/i18n/screens/Overview.js:37 +msgid "Adds one answer-first paragraph at the top. Review the before/after in MonoRanks first." +msgstr "" + +#: tmp/i18n/screens/Overview.js:38 +msgid "(empty)" +msgstr "" + +#: tmp/i18n/screens/Overview.js:40 +msgid "changes to" +msgstr "" + +#: tmp/i18n/screens/Overview.js:54 msgid "Could not load the overview." msgstr "" -#: tmp/i18n/screens/Overview.js:46 -#: tmp/i18n/screens/Settings.js:38 +#: tmp/i18n/screens/Overview.js:64 +#: tmp/i18n/screens/Settings.js:65 msgid "Something went wrong. Try again." msgstr "" -#: tmp/i18n/screens/Overview.js:55 +#: tmp/i18n/screens/Overview.js:73 msgid "Weekly SEO, AEO and GEO audit of" msgstr "" -#: tmp/i18n/screens/Overview.js:55 +#: tmp/i18n/screens/Overview.js:73 #, js-format msgid "last audit %s" msgstr "" -#: tmp/i18n/screens/Overview.js:55 +#: tmp/i18n/screens/Overview.js:73 #, js-format msgid "%1$s of %2$s published pages scored" msgstr "" -#: tmp/i18n/screens/Overview.js:55 +#: tmp/i18n/screens/Overview.js:73 msgid "Weekly SEO, AEO and GEO audits, with the fixes you approve written into WordPress." msgstr "" -#: tmp/i18n/screens/Overview.js:56 +#: tmp/i18n/screens/Overview.js:74 msgid "Sync content now" msgstr "" -#: tmp/i18n/screens/Overview.js:67 +#: tmp/i18n/screens/Overview.js:85 msgid "Technical, on-page, links, speed" msgstr "" -#: tmp/i18n/screens/Overview.js:67 +#: tmp/i18n/screens/Overview.js:85 #, js-format msgid "Site average, %s page" msgid_plural "Site average, %s pages" msgstr[0] "" msgstr[1] "" -#: tmp/i18n/screens/Overview.js:71 +#: tmp/i18n/screens/Overview.js:89 msgid "Answer-first, structure, entities" msgstr "" -#: tmp/i18n/screens/Overview.js:71 +#: tmp/i18n/screens/Overview.js:89 msgid "How well AI answers can use your pages" msgstr "" -#: tmp/i18n/screens/Overview.js:74 +#: tmp/i18n/screens/Overview.js:92 msgid "Search clicks, 28 days" msgstr "" -#: tmp/i18n/screens/Overview.js:75 +#: tmp/i18n/screens/Overview.js:93 msgid "From Google Search Console, through MonoRanks" msgstr "" -#: tmp/i18n/screens/Overview.js:78 +#: tmp/i18n/screens/Overview.js:96 #, js-format msgid "%s ready" msgstr "" -#: tmp/i18n/screens/Overview.js:79 +#: tmp/i18n/screens/Overview.js:97 msgid "applied in 30 days" msgstr "" -#: tmp/i18n/screens/Overview.js:80 +#: tmp/i18n/screens/Overview.js:98 #, js-format msgid "%s waiting for your approval in MonoRanks" msgstr "" -#: tmp/i18n/screens/Overview.js:82 +#: tmp/i18n/screens/Overview.js:100 msgid "AI crawler rules on" msgstr "" -#: tmp/i18n/screens/Overview.js:82 +#: tmp/i18n/screens/Overview.js:100 msgid "No AI crawler rules" msgstr "" -#: tmp/i18n/screens/Overview.js:83 +#: tmp/i18n/screens/Overview.js:101 msgid "llms.txt published" msgstr "" -#: tmp/i18n/screens/Overview.js:83 +#: tmp/i18n/screens/Overview.js:101 msgid "No llms.txt" msgstr "" -#: tmp/i18n/screens/Overview.js:92 +#: tmp/i18n/screens/Overview.js:110 msgid "Pages needing attention" msgstr "" -#: tmp/i18n/screens/Overview.js:92 +#: tmp/i18n/screens/Overview.js:110 msgid "All pages in MonoRanks" msgstr "" -#: tmp/i18n/screens/Overview.js:95 +#: tmp/i18n/screens/Overview.js:113 msgid "Page" msgstr "" -#: tmp/i18n/screens/Overview.js:95 +#: tmp/i18n/screens/Overview.js:113 msgid "Biggest issue" msgstr "" -#: tmp/i18n/screens/Overview.js:102 +#: tmp/i18n/screens/Overview.js:120 msgid "Fix in MonoRanks" msgstr "" -#: tmp/i18n/screens/Overview.js:106 +#: tmp/i18n/screens/Overview.js:124 msgid "Nothing needs attention" msgstr "" -#: tmp/i18n/screens/Overview.js:106 +#: tmp/i18n/screens/Overview.js:124 msgid "Every scored page is above 60. The next audit may change that." msgstr "" -#: tmp/i18n/screens/Overview.js:111 +#: tmp/i18n/screens/Overview.js:129 msgid "Ready to apply" msgstr "" -#: tmp/i18n/screens/Overview.js:112 +#: tmp/i18n/screens/Overview.js:130 msgid "Apply all" msgstr "" -#: tmp/i18n/screens/Overview.js:117 +#: tmp/i18n/screens/Overview.js:135 #, js-format msgid "%s fixes are ready for your approval" msgstr "" -#: tmp/i18n/screens/Overview.js:117 +#: tmp/i18n/screens/Overview.js:135 #, js-format msgid "%s needs a value in MonoRanks" msgid_plural "%s need a value in MonoRanks" msgstr[0] "" msgstr[1] "" -#: tmp/i18n/screens/Overview.js:118 +#: tmp/i18n/screens/Overview.js:136 msgid "Type a value or draft one with AI in MonoRanks, approve it, and it is written here, with undo." msgstr "" -#: tmp/i18n/screens/Overview.js:118 +#: tmp/i18n/screens/Overview.js:136 msgid "Approve them in MonoRanks and they are written here, with undo." msgstr "" -#: tmp/i18n/screens/Overview.js:123 +#: tmp/i18n/screens/Overview.js:141 +#: tmp/i18n/screens/Overview.js:157 msgid "Review in MonoRanks" msgstr "" -#: tmp/i18n/screens/Overview.js:125 +#: tmp/i18n/screens/Overview.js:143 msgid "No fixes waiting" msgstr "" -#: tmp/i18n/screens/Overview.js:125 +#: tmp/i18n/screens/Overview.js:143 msgid "Fixes you approve in MonoRanks appear here, ready to write into WordPress." msgstr "" -#: tmp/i18n/screens/Overview.js:132 -msgid "Adds one answer-first paragraph at the top. Review the before/after in MonoRanks first." -msgstr "" - -#: tmp/i18n/screens/Overview.js:137 +#: tmp/i18n/screens/Overview.js:146 msgid "Review" msgstr "" -#: tmp/i18n/screens/Overview.js:137 +#: tmp/i18n/screens/Overview.js:146 msgid "Apply" msgstr "" -#: tmp/i18n/screens/Overview.js:139 +#: tmp/i18n/screens/Overview.js:148 msgid "Approved in MonoRanks. Each write is logged under Settings and can be undone for 30 days." msgstr "" -#: tmp/i18n/screens/Overview.js:145 -#: tmp/i18n/screens/Settings.js:103 +#: tmp/i18n/screens/Overview.js:152 +msgid "Needs review in MonoRanks" +msgstr "" + +#: tmp/i18n/screens/Overview.js:154 +msgid "These changed in WordPress after they were reviewed, so they are not applied from here. Review them again in MonoRanks." +msgstr "" + +#: tmp/i18n/screens/Overview.js:164 +#: tmp/i18n/screens/Settings.js:130 msgid "Recent changes" msgstr "" -#: tmp/i18n/screens/Overview.js:148 +#: tmp/i18n/screens/Overview.js:167 msgid "All changes" msgstr "" -#: tmp/i18n/screens/Overview.js:163 +#: tmp/i18n/screens/Overview.js:182 msgid "Connect MonoRanks again" msgstr "" -#: tmp/i18n/screens/Overview.js:163 -#: tmp/i18n/screens/Settings.js:54 +#: tmp/i18n/screens/Overview.js:182 +#: tmp/i18n/screens/Settings.js:81 msgid "Key revoked" msgstr "" -#: tmp/i18n/screens/Overview.js:163 -#: tmp/i18n/screens/Settings.js:54 +#: tmp/i18n/screens/Overview.js:182 +#: tmp/i18n/screens/Settings.js:81 msgid "Not connected" msgstr "" -#: tmp/i18n/screens/Overview.js:165 -#: tmp/i18n/screens/Settings.js:72 -msgid "Connect from MonoRanks" +#: tmp/i18n/screens/Overview.js:184 +#: tmp/i18n/screens/Settings.js:99 +msgid "Connect to MonoRanks" msgstr "" -#: tmp/i18n/screens/Overview.js:165 -#: tmp/i18n/screens/Settings.js:72 -msgid "In MonoRanks open your website → Integrations → WordPress → Connect to WordPress, and allow MonoRanks when WordPress asks. Nothing is sent before you connect." +#: tmp/i18n/screens/Overview.js:184 +#: tmp/i18n/screens/Settings.js:99 +msgid "Sign in and approve. Takes a minute." msgstr "" -#: tmp/i18n/screens/Overview.js:166 -#: tmp/i18n/screens/Settings.js:73 +#: tmp/i18n/screens/Overview.js:184 +#: tmp/i18n/screens/Settings.js:99 +#: tmp/i18n/screens/Settings.js:164 +msgid "Connect" +msgstr "" + +#: tmp/i18n/screens/Overview.js:185 +#: tmp/i18n/screens/Settings.js:100 msgid "Or paste a connector key" msgstr "" -#: tmp/i18n/screens/Overview.js:166 +#: tmp/i18n/screens/Overview.js:185 +#: tmp/i18n/screens/Settings.js:100 msgid "Use this when your host blocks Application Passwords." msgstr "" -#: tmp/i18n/screens/Overview.js:169 +#: tmp/i18n/screens/Overview.js:188 msgid "Open settings" msgstr "" -#: tmp/i18n/screens/Overview.js:170 +#: tmp/i18n/screens/Overview.js:189 msgid "See scores here and in your Posts list" msgstr "" -#: tmp/i18n/screens/Overview.js:170 +#: tmp/i18n/screens/Overview.js:189 msgid "After the first audit this page shows the site's health and AEO scores, pages needing attention and the fixes you approved; every post and page gets its scores in the list." msgstr "" -#: tmp/i18n/screens/Overview.js:179 +#: tmp/i18n/screens/Overview.js:198 msgid "This MonoRanks does not share audit results with the plugin yet. Scores stay in MonoRanks for now; the plugin asks again tomorrow." msgstr "" -#: tmp/i18n/screens/Overview.js:179 +#: tmp/i18n/screens/Overview.js:198 msgid "MonoRanks could not be reached for the audit results. The plugin tries again within the hour, or when you reload this screen." msgstr "" -#: tmp/i18n/screens/Overview.js:179 +#: tmp/i18n/screens/Overview.js:198 msgid "MonoRanks has not scored this site yet. Scores appear here and in the Posts list after the first weekly audit." msgstr "" -#: tmp/i18n/screens/Overview.js:181 +#: tmp/i18n/screens/Overview.js:200 msgid "Waiting for the first audit" msgstr "" -#: tmp/i18n/screens/Overview.js:181 -#: tmp/i18n/screens/Settings.js:54 +#: tmp/i18n/screens/Overview.js:200 +#: tmp/i18n/screens/Settings.js:81 msgid "Connected" msgstr "" -#: tmp/i18n/screens/Overview.js:184 +#: tmp/i18n/screens/Overview.js:203 msgid "Content" msgstr "" -#: tmp/i18n/screens/Overview.js:184 +#: tmp/i18n/screens/Overview.js:203 #, js-format msgid "%1$s published items sent %2$s" msgstr "" -#: tmp/i18n/screens/Overview.js:184 +#: tmp/i18n/screens/Overview.js:203 msgid "Not sent yet. Use \"Sync content now\" above." msgstr "" -#: tmp/i18n/screens/Overview.js:185 +#: tmp/i18n/screens/Overview.js:204 msgid "Audit results" msgstr "" -#: tmp/i18n/screens/Overview.js:185 +#: tmp/i18n/screens/Overview.js:204 #, js-format msgid "checked %s" msgstr "" -#: tmp/i18n/screens/Overview.js:187 +#: tmp/i18n/screens/Overview.js:206 msgid "Open the audit in MonoRanks" msgstr "" @@ -1088,182 +1161,174 @@ msgstr "" msgid "Could not load the settings." msgstr "" -#: tmp/i18n/screens/Settings.js:46 +#: tmp/i18n/screens/Settings.js:73 msgid "Connection, what is sent, and every change written into this site." msgstr "" -#: tmp/i18n/screens/Settings.js:53 +#: tmp/i18n/screens/Settings.js:80 msgid "Connection" msgstr "" -#: tmp/i18n/screens/Settings.js:59 +#: tmp/i18n/screens/Settings.js:86 msgid "MonoRanks no longer accepts this key. Connect again from MonoRanks or paste a new key below." msgstr "" -#: tmp/i18n/screens/Settings.js:59 +#: tmp/i18n/screens/Settings.js:86 msgid "Sending published content to MonoRanks. Nothing else leaves this site." msgstr "" -#: tmp/i18n/screens/Settings.js:60 -#: tmp/i18n/screens/Settings.js:135 +#: tmp/i18n/screens/Settings.js:87 +#: tmp/i18n/screens/Settings.js:162 msgid "Connector key" msgstr "" -#: tmp/i18n/screens/Settings.js:61 +#: tmp/i18n/screens/Settings.js:88 msgid "Last sync" msgstr "" -#: tmp/i18n/screens/Settings.js:61 +#: tmp/i18n/screens/Settings.js:88 #, js-format msgid "sending, batch %1$s of %2$s" msgstr "" -#: tmp/i18n/screens/Settings.js:61 +#: tmp/i18n/screens/Settings.js:88 #, js-format msgid "%s published item" msgid_plural "%s published items" msgstr[0] "" msgstr[1] "" -#: tmp/i18n/screens/Settings.js:63 +#: tmp/i18n/screens/Settings.js:90 msgid "Fixes written with" msgstr "" -#: tmp/i18n/screens/Settings.js:63 +#: tmp/i18n/screens/Settings.js:90 msgid "The \"MonoRanks\" Application Password" msgstr "" -#: tmp/i18n/screens/Settings.js:63 +#: tmp/i18n/screens/Settings.js:90 msgid "revoke it in your profile" msgstr "" -#: tmp/i18n/screens/Settings.js:63 +#: tmp/i18n/screens/Settings.js:90 msgid "to stop writes" msgstr "" -#: tmp/i18n/screens/Settings.js:64 +#: tmp/i18n/screens/Settings.js:91 msgid "Works with" msgstr "" -#: tmp/i18n/screens/Settings.js:64 +#: tmp/i18n/screens/Settings.js:91 #, js-format msgid "%s detected" msgstr "" -#: tmp/i18n/screens/Settings.js:64 +#: tmp/i18n/screens/Settings.js:91 #, js-format msgid "MonoRanks cannot write titles, descriptions, canonicals or noindex into %s yet, so those fixes are refused" msgstr "" -#: tmp/i18n/screens/Settings.js:64 +#: tmp/i18n/screens/Settings.js:91 #, js-format msgid "titles and descriptions go into the fields %s reads" msgstr "" -#: tmp/i18n/screens/Settings.js:64 +#: tmp/i18n/screens/Settings.js:91 msgid "No SEO plugin" msgstr "" -#: tmp/i18n/screens/Settings.js:64 +#: tmp/i18n/screens/Settings.js:91 msgid "MonoRanks prints the approved title, description, canonical and noindex tags itself" msgstr "" -#: tmp/i18n/screens/Settings.js:67 +#: tmp/i18n/screens/Settings.js:94 msgid "Send content now" msgstr "" -#: tmp/i18n/screens/Settings.js:68 +#: tmp/i18n/screens/Settings.js:95 msgid "Disconnect" msgstr "" -#: tmp/i18n/screens/Settings.js:69 +#: tmp/i18n/screens/Settings.js:96 msgid "Disconnect stops sending. Fixes already applied stay." msgstr "" -#: tmp/i18n/screens/Settings.js:73 -msgid "Use this when your host blocks Application Passwords. In MonoRanks: Settings → API and MCP → New credential with the content:write scope, ticked for this website." -msgstr "" - -#: tmp/i18n/screens/Settings.js:80 +#: tmp/i18n/screens/Settings.js:107 msgid "Use a different key" msgstr "" -#: tmp/i18n/screens/Settings.js:83 +#: tmp/i18n/screens/Settings.js:110 msgid "In MonoRanks: Settings → API and MCP → New credential with the content:write scope, ticked for this website. Paste it here. With a key alone MonoRanks receives your content; to apply fixes, also use Connect to WordPress in MonoRanks." msgstr "" -#: tmp/i18n/screens/Settings.js:91 +#: tmp/i18n/screens/Settings.js:118 msgid "What is sent" msgstr "" -#: tmp/i18n/screens/Settings.js:94 +#: tmp/i18n/screens/Settings.js:121 msgid "Sent" msgstr "" -#: tmp/i18n/screens/Settings.js:94 +#: tmp/i18n/screens/Settings.js:121 msgid "Published titles, a 40-word excerpt, dates, authors, categories, tags, SEO fields, image alt text and plugin status." msgstr "" -#: tmp/i18n/screens/Settings.js:95 +#: tmp/i18n/screens/Settings.js:122 msgid "Read back" msgstr "" -#: tmp/i18n/screens/Settings.js:95 +#: tmp/i18n/screens/Settings.js:122 msgid "This website's audit results: scores, issues and the fixes you approved, shown here and in the Posts list." msgstr "" -#: tmp/i18n/screens/Settings.js:96 +#: tmp/i18n/screens/Settings.js:123 msgid "Never sent" msgstr "" -#: tmp/i18n/screens/Settings.js:96 +#: tmp/i18n/screens/Settings.js:123 msgid "Drafts, private posts, comments, emails, passwords, plugin or theme settings." msgstr "" -#: tmp/i18n/screens/Settings.js:97 +#: tmp/i18n/screens/Settings.js:124 msgid "Can change" msgstr "" -#: tmp/i18n/screens/Settings.js:97 +#: tmp/i18n/screens/Settings.js:124 msgid "SEO title, meta description, canonical, noindex, image alt text, redirects, one opening paragraph, AI crawler rules, llms.txt. Only after you approve each one." msgstr "" -#: tmp/i18n/screens/Settings.js:103 +#: tmp/i18n/screens/Settings.js:130 msgid "Last 50 · undo for 30 days" msgstr "" -#: tmp/i18n/screens/Settings.js:111 +#: tmp/i18n/screens/Settings.js:138 msgid "Danger zone" msgstr "" -#: tmp/i18n/screens/Settings.js:113 +#: tmp/i18n/screens/Settings.js:140 msgid "This site is not connected to MonoRanks. You can erase everything the plugin stored here: the connection, the scores on your posts and pages, the redirects and AI access files it was asked to write, and the change log. Pages themselves are not touched — a fix that was written stays written, so undo those first if you want them back." msgstr "" -#: tmp/i18n/screens/Settings.js:115 +#: tmp/i18n/screens/Settings.js:142 msgid "This cannot be undone. Delete everything?" msgstr "" -#: tmp/i18n/screens/Settings.js:119 +#: tmp/i18n/screens/Settings.js:146 msgid "Yes, delete all data" msgstr "" -#: tmp/i18n/screens/Settings.js:120 +#: tmp/i18n/screens/Settings.js:147 msgid "Cancel" msgstr "" -#: tmp/i18n/screens/Settings.js:121 +#: tmp/i18n/screens/Settings.js:148 msgid "Delete all MonoRanks data" msgstr "" -#: tmp/i18n/screens/Settings.js:136 +#: tmp/i18n/screens/Settings.js:163 msgid "MonoRanks address (development sites only)" msgstr "" -#: tmp/i18n/screens/Settings.js:137 -msgid "Connect" -msgstr "" - #: tmp/i18n/shell/ChangeLog.js:8 msgid "No changes yet" msgstr "" diff --git a/monoranks.php b/monoranks.php index 1a298de..a04629e 100644 --- a/monoranks.php +++ b/monoranks.php @@ -45,6 +45,7 @@ add_action( \MonoRanks\Sync::DAILY_HOOK, array( 'MonoRanks\\Sync', 'daily' ) ); \MonoRanks\SeoFields::register_output(); \MonoRanks\Admin::register(); +\MonoRanks\AuthorizeScreen::register(); \MonoRanks\Assets::register(); \MonoRanks\Column::register(); \MonoRanks\Insights::register(); diff --git a/resources/admin/src/lib/api.ts b/resources/admin/src/lib/api.ts index d622358..e6795b3 100644 --- a/resources/admin/src/lib/api.ts +++ b/resources/admin/src/lib/api.ts @@ -34,7 +34,7 @@ export type SettingsData = { connected: boolean; revoked: boolean; state: 'connected' | 'revoked' | 'none'; has_data: boolean; key_hint: string; key_via: string; api_base: string; last_sent: string; last_error: string; sending: null | { page: number; pages: number }; items: number; next_audit: string; seo_plugin: string; seo_supported: boolean; - profile_url: string; show_address: boolean; app_url: string; log: LogRow[]; labels: Record; + profile_url: string; show_address: boolean; app_url: string; connect_url: string; log: LogRow[]; labels: Record; }; /** One Grow section's state: ok, empty (no data yet), no_access (the key lacks the read scope), off, error, pending. */ diff --git a/resources/admin/src/screens/Overview.tsx b/resources/admin/src/screens/Overview.tsx index d4b927d..e705b3e 100644 --- a/resources/admin/src/screens/Overview.tsx +++ b/resources/admin/src/screens/Overview.tsx @@ -230,7 +230,7 @@ export function ConnectSteps({ revoked, go }: { revoked: boolean; go: (next: Scr {revoked ? __('Connect MonoRanks again', 'monoranks') : __('Connect MonoRanks', 'monoranks')}{revoked ? __('Key revoked', 'monoranks') : __('Not connected', 'monoranks')} - {__('Connect from MonoRanks', 'monoranks')}{__('In MonoRanks open your website → Integrations → WordPress → Connect to WordPress, and allow MonoRanks when WordPress asks. Nothing is sent before you connect.', 'monoranks')} + {__('Connect to MonoRanks', 'monoranks')}{__('Sign in and approve. Takes a minute.', 'monoranks')} {__('Or paste a connector key', 'monoranks')}{__('Use this when your host blocks Application Passwords.', 'monoranks')} {__('See scores here and in your Posts list', 'monoranks')}{__("After the first audit this page shows the site's health and AEO scores, pages needing attention and the fixes you approved; every post and page gets its scores in the list.", 'monoranks')} diff --git a/resources/admin/src/screens/Settings.tsx b/resources/admin/src/screens/Settings.tsx index f689976..3536115 100644 --- a/resources/admin/src/screens/Settings.tsx +++ b/resources/admin/src/screens/Settings.tsx @@ -29,6 +29,22 @@ export function Settings({ go }: { go: (next: Screen) => void }) { api.settings().then((d) => { setData(d); setKeyOpen(d.revoked); }).catch((e) => setError(errorText(e, __('Could not load the settings.', 'monoranks')))); }, []); + // After Connect opens MonoRanks in another tab, check every few seconds (while this tab is visible) so the page shows + // Connected by itself once the person approves there. Gives up after 10 minutes. + const [waitingSince, setWaitingSince] = useState(null); + useEffect(() => { + if (waitingSince === null || data?.connected) return; + let stopped = false; + const check = () => { + if (stopped || document.visibilityState !== 'visible') return; + if (Date.now() - waitingSince > 10 * 60 * 1000) { setWaitingSince(null); return; } + api.settings().then((d) => { if (!stopped && d.connected) { setData(d); setKeyOpen(false); setWaitingSince(null); } }).catch(() => {}); + }; + const timer = window.setInterval(check, 4000); + document.addEventListener('visibilitychange', check); + return () => { stopped = true; window.clearInterval(timer); document.removeEventListener('visibilitychange', check); }; + }, [waitingSince, data?.connected]); + async function run(key: string, call: () => Promise<{ ok: boolean; notice: Notice; data: unknown }>) { setBusy(key); try { @@ -82,8 +98,8 @@ export function Settings({ go }: { go: (next: Screen) => void }) { ) : ( <> - {__('Connect from MonoRanks', 'monoranks')}{__('In MonoRanks open your website → Integrations → WordPress → Connect to WordPress, and allow MonoRanks when WordPress asks. Nothing is sent before you connect.', 'monoranks')} - {__('Or paste a connector key', 'monoranks')}{__('Use this when your host blocks Application Passwords. In MonoRanks: Settings → API and MCP → New credential with the content:write scope, ticked for this website.', 'monoranks')} run('connect', () => api.connect(key, base))} /> + {__('Connect to MonoRanks', 'monoranks')}{__('Sign in and approve. Takes a minute.', 'monoranks')} + {__('Or paste a connector key', 'monoranks')}{__('Use this when your host blocks Application Passwords.', 'monoranks')} run('connect', () => api.connect(key, base))} /> )} diff --git a/resources/admin/src/settings.ts b/resources/admin/src/settings.ts index 7ea96ef..10e8f27 100644 --- a/resources/admin/src/settings.ts +++ b/resources/admin/src/settings.ts @@ -5,7 +5,7 @@ export type AdminSettings = { theme: 'light' | 'dark'; version: string; host: string; - urls: { overview: string; settings: string; app: string; profile: string; docs: string }; + urls: { overview: string; settings: string; app: string; connect: string; profile: string; docs: string }; titles: { overview: string; settings: string }; showAddress: boolean; apiBase: string; diff --git a/src/Assets.php b/src/Assets.php index 3eaa55a..24a5e4b 100644 --- a/src/Assets.php +++ b/src/Assets.php @@ -60,6 +60,7 @@ public static function settings( $screen ) { 'overview' => Admin::overview_url(), 'settings' => Admin::settings_url(), 'app' => $overview && ! empty( $overview['site_url'] ) ? $overview['site_url'] : $app, + 'connect' => Settings::connect_url( $app ), 'profile' => admin_url( 'profile.php#application-passwords-section' ), 'docs' => 'https://monoranks.com/docs/wordpress-plugin/', ), diff --git a/src/AuthorizeScreen.php b/src/AuthorizeScreen.php new file mode 100644 index 0000000..ec5e937 --- /dev/null +++ b/src/AuthorizeScreen.php @@ -0,0 +1,41 @@ +' . $css . '' + . '
' . Admin::asset( 'logo.svg' ) + . '

' . esc_html__( 'Reads your content and applies only fixes you approve.', 'monoranks' ) . '

'; + } +} diff --git a/src/Settings.php b/src/Settings.php index d04adf2..1e15f3b 100644 --- a/src/Settings.php +++ b/src/Settings.php @@ -16,6 +16,15 @@ public static function has_data() { return false; } + /** + * The one-link connect page in MonoRanks: it signs the person in, has them approve, and sends them back here. + * {base}/connect/wordpress?site=&return=. + */ + public static function connect_url( $base = '' ) { + $base = untrailingslashit( $base ? (string) $base : MONORANKS_API_BASE ); + return $base . '/connect/wordpress?site=' . rawurlencode( untrailingslashit( home_url( '/' ) ) ) . '&return=' . rawurlencode( Admin::settings_url() ); + } + public static function data() { $conn = Connection::get(); $connected = Connection::has_key(); @@ -43,6 +52,7 @@ public static function data() { 'profile_url' => admin_url( 'profile.php#application-passwords-section' ), 'show_address' => Admin::shows_address_field(), 'app_url' => $connected ? $conn['api_base'] : MONORANKS_API_BASE, + 'connect_url' => self::connect_url( $connected ? $conn['api_base'] : MONORANKS_API_BASE ), 'log' => Overview::log_rows( 50 ), 'labels' => Overview::field_labels(), ); diff --git a/tests/unit/AuthorizeScreenTest.php b/tests/unit/AuthorizeScreenTest.php new file mode 100644 index 0000000..674cd62 --- /dev/null +++ b/tests/unit/AuthorizeScreenTest.php @@ -0,0 +1,38 @@ +returnArg(); + } + protected function tear_down() { + Monkey\tearDown(); + parent::tear_down(); + } + + private function rendered( array $request ) { + ob_start(); + AuthorizeScreen::render( $request ); + return (string) ob_get_clean(); + } + + public function test_monoranks_gets_its_logo_and_line() { + $html = $this->rendered( array( 'app_name' => 'MonoRanks', 'app_id' => AuthorizeScreen::APP_ID ) ); + $this->assertStringContainsString( 'id="monoranks-authorize"', $html ); + $this->assertStringContainsString( 'aria-label="MonoRanks"', $html, 'the logo is printed' ); + $this->assertStringContainsString( 'Reads your content and applies only fixes you approve.', $html ); + } + + public function test_any_other_app_gets_nothing() { + $this->assertSame( '', $this->rendered( array( 'app_name' => 'Other app', 'app_id' => '11111111-2222-3333-4444-555555555555' ) ) ); + $this->assertSame( '', $this->rendered( array( 'app_name' => 'MonoRanks', 'app_id' => '' ) ), 'the name alone is not enough' ); + $this->assertSame( '', $this->rendered( array( 'app_name' => 'MonoRanks' ) ) ); + } +} diff --git a/tests/unit/SettingsTest.php b/tests/unit/SettingsTest.php new file mode 100644 index 0000000..29a00f1 --- /dev/null +++ b/tests/unit/SettingsTest.php @@ -0,0 +1,37 @@ +alias( static function ( $s ) { return rtrim( $s, '/\\' ); } ); + } + protected function tear_down() { + Monkey\tearDown(); + parent::tear_down(); + } + + public function test_connect_link_names_the_site_and_the_way_back() { + Functions\when( 'home_url' )->justReturn( 'https://example.com/' ); + Functions\when( 'admin_url' )->alias( static function ( $path ) { return 'https://example.com/wp-admin/' . $path; } ); + $this->assertSame( + 'https://app.monoranks.com/connect/wordpress?site=https%3A%2F%2Fexample.com&return=https%3A%2F%2Fexample.com%2Fwp-admin%2Fadmin.php%3Fpage%3Dmonoranks-settings', + Settings::connect_url() + ); + } + + public function test_connect_link_keeps_a_subfolder_and_a_custom_base() { + Functions\when( 'home_url' )->justReturn( 'https://example.com/blog/' ); + Functions\when( 'admin_url' )->alias( static function ( $path ) { return 'https://example.com/blog/wp-admin/' . $path; } ); + $this->assertSame( + 'http://localhost:3000/connect/wordpress?site=https%3A%2F%2Fexample.com%2Fblog&return=https%3A%2F%2Fexample.com%2Fblog%2Fwp-admin%2Fadmin.php%3Fpage%3Dmonoranks-settings', + Settings::connect_url( 'http://localhost:3000/' ) + ); + } +}