Changeset 3101077
- Timestamp:
- 06/11/2024 10:12:55 AM (19 months ago)
- Location:
- slim-seo
- Files:
-
- 12 edited
- 1 copied
-
tags/3.25.1 (copied) (copied from slim-seo/trunk)
-
tags/3.25.1/js/redirection.js (modified) (1 diff)
-
tags/3.25.1/readme.txt (modified) (2 diffs)
-
tags/3.25.1/slim-seo.php (modified) (2 diffs)
-
tags/3.25.1/src/Helpers/Images.php (modified) (1 diff)
-
tags/3.25.1/src/Redirection/Redirection.php (modified) (2 diffs)
-
tags/3.25.1/vendor/composer/installed.php (modified) (2 diffs)
-
trunk/js/redirection.js (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/slim-seo.php (modified) (2 diffs)
-
trunk/src/Helpers/Images.php (modified) (1 diff)
-
trunk/src/Redirection/Redirection.php (modified) (2 diffs)
-
trunk/vendor/composer/installed.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
slim-seo/tags/3.25.1/js/redirection.js
r3025627 r3101077 1 1 (()=>{var Dr=Object.create;var Ht=Object.defineProperty;var jr=Object.getOwnPropertyDescriptor;var Ur=Object.getOwnPropertyNames;var Fr=Object.getPrototypeOf,Mr=Object.prototype.hasOwnProperty;var Fe=(e,a)=>()=>(a||e((a={exports:{}}).exports,a),a.exports);var Br=(e,a,t,o)=>{if(a&&typeof a=="object"||typeof a=="function")for(let n of Ur(a))!Mr.call(e,n)&&n!==t&&Ht(e,n,{get:()=>a[n],enumerable:!(o=jr(a,n))||o.enumerable});return e};var O=(e,a,t)=>(t=e!=null?Dr(Fr(e)):{},Br(a||!e||!e.__esModule?Ht(t,"default",{value:e,enumerable:!0}):t,e));var de=Fe((Ha,qt)=>{qt.exports=wp.element});var se=Fe((qa,Kt)=>{Kt.exports=wp.i18n});var pe=Fe((Ka,zt)=>{zt.exports=React});var ot=Fe((In,Qt)=>{Qt.exports=wp.components});var Pr=Fe((ze,Ft)=>{(function(e,a){typeof ze=="object"&&typeof Ft=="object"?Ft.exports=a(pe()):typeof define=="function"&&define.amd?define(["react"],a):typeof ze=="object"?ze.ReactPaginate=a(pe()):e.ReactPaginate=a(e.React)})(ze,e=>(()=>{var a={703:(r,s,c)=>{"use strict";var i=c(414);function l(){}function p(){}p.resetWarningCache=l,r.exports=function(){function d(W,k,T,m,P,_){if(_!==i){var x=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw x.name="Invariant Violation",x}}function f(){return d}d.isRequired=d;var y={array:d,bigint:d,bool:d,func:d,number:d,object:d,string:d,symbol:d,any:d,arrayOf:f,element:d,elementType:d,instanceOf:f,node:d,objectOf:f,oneOf:f,oneOfType:f,shape:f,exact:f,checkPropTypes:p,resetWarningCache:l};return y.PropTypes=y,y}},697:(r,s,c)=>{r.exports=c(703)()},414:r=>{"use strict";r.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},98:r=>{"use strict";r.exports=e}},t={};function o(r){var s=t[r];if(s!==void 0)return s.exports;var c=t[r]={exports:{}};return a[r](c,c.exports,o),c.exports}o.n=r=>{var s=r&&r.__esModule?()=>r.default:()=>r;return o.d(s,{a:s}),s},o.d=(r,s)=>{for(var c in s)o.o(s,c)&&!o.o(r,c)&&Object.defineProperty(r,c,{enumerable:!0,get:s[c]})},o.o=(r,s)=>Object.prototype.hasOwnProperty.call(r,s),o.r=r=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})};var n={};return(()=>{"use strict";o.r(n),o.d(n,{default:()=>V});var r=o(98),s=o.n(r),c=o(697),i=o.n(c);function l(){return l=Object.assign?Object.assign.bind():function(b){for(var v=1;v<arguments.length;v++){var w=arguments[v];for(var E in w)Object.prototype.hasOwnProperty.call(w,E)&&(b[E]=w[E])}return b},l.apply(this,arguments)}var p=function(b){var v=b.pageClassName,w=b.pageLinkClassName,E=b.page,J=b.selected,he=b.activeClassName,Q=b.activeLinkClassName,h=b.getEventListener,u=b.pageSelectedHandler,S=b.href,g=b.extraAriaContext,C=b.pageLabelBuilder,R=b.rel,M=b.ariaLabel||"Page "+E+(g?" "+g:""),q=null;return J&&(q="page",M=b.ariaLabel||"Page "+E+" is your current page",v=v!==void 0?v+" "+he:he,w!==void 0?Q!==void 0&&(w=w+" "+Q):w=Q),s().createElement("li",{className:v},s().createElement("a",l({rel:R,role:S?void 0:"button",className:w,href:S,tabIndex:J?"-1":"0","aria-label":M,"aria-current":q,onKeyPress:u},h(u)),C(E)))};p.propTypes={pageSelectedHandler:i().func.isRequired,selected:i().bool.isRequired,pageClassName:i().string,pageLinkClassName:i().string,activeClassName:i().string,activeLinkClassName:i().string,extraAriaContext:i().string,href:i().string,ariaLabel:i().string,page:i().number.isRequired,getEventListener:i().func.isRequired,pageLabelBuilder:i().func.isRequired,rel:i().string};let d=p;function f(){return f=Object.assign?Object.assign.bind():function(b){for(var v=1;v<arguments.length;v++){var w=arguments[v];for(var E in w)Object.prototype.hasOwnProperty.call(w,E)&&(b[E]=w[E])}return b},f.apply(this,arguments)}var y=function(b){var v=b.breakLabel,w=b.breakClassName,E=b.breakLinkClassName,J=b.breakHandler,he=b.getEventListener,Q=w||"break";return s().createElement("li",{className:Q},s().createElement("a",f({className:E,role:"button",tabIndex:"0",onKeyPress:J},he(J)),v))};y.propTypes={breakLabel:i().oneOfType([i().string,i().node]),breakClassName:i().string,breakLinkClassName:i().string,breakHandler:i().func.isRequired,getEventListener:i().func.isRequired};let W=y;function k(b){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return b??v}function T(b){return T=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(v){return typeof v}:function(v){return v&&typeof Symbol=="function"&&v.constructor===Symbol&&v!==Symbol.prototype?"symbol":typeof v},T(b)}function m(){return m=Object.assign?Object.assign.bind():function(b){for(var v=1;v<arguments.length;v++){var w=arguments[v];for(var E in w)Object.prototype.hasOwnProperty.call(w,E)&&(b[E]=w[E])}return b},m.apply(this,arguments)}function P(b,v){for(var w=0;w<v.length;w++){var E=v[w];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(b,E.key,E)}}function _(b,v){return _=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(w,E){return w.__proto__=E,w},_(b,v)}function x(b,v){if(v&&(T(v)==="object"||typeof v=="function"))return v;if(v!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return I(b)}function I(b){if(b===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return b}function L(b){return L=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(v){return v.__proto__||Object.getPrototypeOf(v)},L(b)}function N(b,v,w){return v in b?Object.defineProperty(b,v,{value:w,enumerable:!0,configurable:!0,writable:!0}):b[v]=w,b}var X=function(b){(function(h,u){if(typeof u!="function"&&u!==null)throw new TypeError("Super expression must either be null or a function");h.prototype=Object.create(u&&u.prototype,{constructor:{value:h,writable:!0,configurable:!0}}),Object.defineProperty(h,"prototype",{writable:!1}),u&&_(h,u)})(Q,b);var v,w,E,J,he=(E=Q,J=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var h,u=L(E);if(J){var S=L(this).constructor;h=Reflect.construct(u,arguments,S)}else h=u.apply(this,arguments);return x(this,h)});function Q(h){var u,S;return function(g,C){if(!(g instanceof C))throw new TypeError("Cannot call a class as a function")}(this,Q),N(I(u=he.call(this,h)),"handlePreviousPage",function(g){var C=u.state.selected;u.handleClick(g,null,C>0?C-1:void 0,{isPrevious:!0})}),N(I(u),"handleNextPage",function(g){var C=u.state.selected,R=u.props.pageCount;u.handleClick(g,null,C<R-1?C+1:void 0,{isNext:!0})}),N(I(u),"handlePageSelected",function(g,C){if(u.state.selected===g)return u.callActiveCallback(g),void u.handleClick(C,null,void 0,{isActive:!0});u.handleClick(C,null,g)}),N(I(u),"handlePageChange",function(g){u.state.selected!==g&&(u.setState({selected:g}),u.callCallback(g))}),N(I(u),"getEventListener",function(g){return N({},u.props.eventListener,g)}),N(I(u),"handleClick",function(g,C,R){var M=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},q=M.isPrevious,G=q!==void 0&&q,Te=M.isNext,ee=Te!==void 0&&Te,F=M.isBreak,K=F!==void 0&&F,$=M.isActive,ne=$!==void 0&&$;g.preventDefault?g.preventDefault():g.returnValue=!1;var H=u.state.selected,z=u.props.onClick,U=R;if(z){var A=z({index:C,selected:H,nextSelectedPage:R,event:g,isPrevious:G,isNext:ee,isBreak:K,isActive:ne});if(A===!1)return;Number.isInteger(A)&&(U=A)}U!==void 0&&u.handlePageChange(U)}),N(I(u),"handleBreakClick",function(g,C){var R=u.state.selected;u.handleClick(C,g,R<g?u.getForwardJump():u.getBackwardJump(),{isBreak:!0})}),N(I(u),"callCallback",function(g){u.props.onPageChange!==void 0&&typeof u.props.onPageChange=="function"&&u.props.onPageChange({selected:g})}),N(I(u),"callActiveCallback",function(g){u.props.onPageActive!==void 0&&typeof u.props.onPageActive=="function"&&u.props.onPageActive({selected:g})}),N(I(u),"getElementPageRel",function(g){var C=u.state.selected,R=u.props,M=R.nextPageRel,q=R.prevPageRel,G=R.selectedPageRel;return C-1===g?q:C===g?G:C+1===g?M:void 0}),N(I(u),"pagination",function(){var g=[],C=u.props,R=C.pageRangeDisplayed,M=C.pageCount,q=C.marginPagesDisplayed,G=C.breakLabel,Te=C.breakClassName,ee=C.breakLinkClassName,F=u.state.selected;if(M<=R)for(var K=0;K<M;K++)g.push(u.getPageElement(K));else{var $=R/2,ne=R-$;F>M-R/2?$=R-(ne=M-F):F<R/2&&(ne=R-($=F));var H,z,U=function(ie){return u.getPageElement(ie)},A=[];for(H=0;H<M;H++){var Z=H+1;Z<=q||Z>M-q||H>=F-$&&H<=F+(F===0&&R>1?ne-1:ne)?A.push({type:"page",index:H,display:U(H)}):G&&A.length>0&&A[A.length-1].display!==z&&(R>0||q>0)&&(z=s().createElement(W,{key:H,breakLabel:G,breakClassName:Te,breakLinkClassName:ee,breakHandler:u.handleBreakClick.bind(null,H),getEventListener:u.getEventListener}),A.push({type:"break",index:H,display:z}))}A.forEach(function(ie,oe){var ue=ie;ie.type==="break"&&A[oe-1]&&A[oe-1].type==="page"&&A[oe+1]&&A[oe+1].type==="page"&&A[oe+1].index-A[oe-1].index<=2&&(ue={type:"page",index:ie.index,display:U(ie.index)}),g.push(ue.display)})}return g}),h.initialPage!==void 0&&h.forcePage!==void 0&&console.warn("(react-paginate): Both initialPage (".concat(h.initialPage,") and forcePage (").concat(h.forcePage,") props are provided, which is discouraged.")+` Use exclusively forcePage prop for a controlled component. 2 2 See https://reactjs.org/docs/forms.html#controlled-components`),S=h.initialPage?h.initialPage:h.forcePage?h.forcePage:0,u.state={selected:S},u}return v=Q,(w=[{key:"componentDidMount",value:function(){var h=this.props,u=h.initialPage,S=h.disableInitialCallback,g=h.extraAriaContext,C=h.pageCount,R=h.forcePage;u===void 0||S||this.callCallback(u),g&&console.warn("DEPRECATED (react-paginate): The extraAriaContext prop is deprecated. You should now use the ariaLabelBuilder instead."),Number.isInteger(C)||console.warn("(react-paginate): The pageCount prop value provided is not an integer (".concat(C,"). Did you forget a Math.ceil()?")),u!==void 0&&u>C-1&&console.warn("(react-paginate): The initialPage prop provided is greater than the maximum page index from pageCount prop (".concat(u," > ").concat(C-1,").")),R!==void 0&&R>C-1&&console.warn("(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (".concat(R," > ").concat(C-1,")."))}},{key:"componentDidUpdate",value:function(h){this.props.forcePage!==void 0&&this.props.forcePage!==h.forcePage&&(this.props.forcePage>this.props.pageCount-1&&console.warn("(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (".concat(this.props.forcePage," > ").concat(this.props.pageCount-1,").")),this.setState({selected:this.props.forcePage})),Number.isInteger(h.pageCount)&&!Number.isInteger(this.props.pageCount)&&console.warn("(react-paginate): The pageCount prop value provided is not an integer (".concat(this.props.pageCount,"). Did you forget a Math.ceil()?"))}},{key:"getForwardJump",value:function(){var h=this.state.selected,u=this.props,S=u.pageCount,g=h+u.pageRangeDisplayed;return g>=S?S-1:g}},{key:"getBackwardJump",value:function(){var h=this.state.selected-this.props.pageRangeDisplayed;return h<0?0:h}},{key:"getElementHref",value:function(h){var u=this.props,S=u.hrefBuilder,g=u.pageCount,C=u.hrefAllControls;if(S)return C||h>=0&&h<g?S(h+1,g,this.state.selected):void 0}},{key:"ariaLabelBuilder",value:function(h){var u=h===this.state.selected;if(this.props.ariaLabelBuilder&&h>=0&&h<this.props.pageCount){var S=this.props.ariaLabelBuilder(h+1,u);return this.props.extraAriaContext&&!u&&(S=S+" "+this.props.extraAriaContext),S}}},{key:"getPageElement",value:function(h){var u=this.state.selected,S=this.props,g=S.pageClassName,C=S.pageLinkClassName,R=S.activeClassName,M=S.activeLinkClassName,q=S.extraAriaContext,G=S.pageLabelBuilder;return s().createElement(d,{key:h,pageSelectedHandler:this.handlePageSelected.bind(null,h),selected:u===h,rel:this.getElementPageRel(h),pageClassName:g,pageLinkClassName:C,activeClassName:R,activeLinkClassName:M,extraAriaContext:q,href:this.getElementHref(h),ariaLabel:this.ariaLabelBuilder(h),page:h+1,pageLabelBuilder:G,getEventListener:this.getEventListener})}},{key:"render",value:function(){var h=this.props.renderOnZeroPageCount;if(this.props.pageCount===0&&h!==void 0)return h&&h(this.props);var u=this.props,S=u.disabledClassName,g=u.disabledLinkClassName,C=u.pageCount,R=u.className,M=u.containerClassName,q=u.previousLabel,G=u.previousClassName,Te=u.previousLinkClassName,ee=u.previousAriaLabel,F=u.prevRel,K=u.nextLabel,$=u.nextClassName,ne=u.nextLinkClassName,H=u.nextAriaLabel,z=u.nextRel,U=this.state.selected,A=U===0,Z=U===C-1,ie="".concat(k(G)).concat(A?" ".concat(k(S)):""),oe="".concat(k($)).concat(Z?" ".concat(k(S)):""),ue="".concat(k(Te)).concat(A?" ".concat(k(g)):""),Ue="".concat(k(ne)).concat(Z?" ".concat(k(g)):""),ke=A?"true":"false",Ge=Z?"true":"false";return s().createElement("ul",{className:R||M,role:"navigation","aria-label":"Pagination"},s().createElement("li",{className:ie},s().createElement("a",m({className:ue,href:this.getElementHref(U-1),tabIndex:A?"-1":"0",role:"button",onKeyPress:this.handlePreviousPage,"aria-disabled":ke,"aria-label":ee,rel:F},this.getEventListener(this.handlePreviousPage)),q)),this.pagination(),s().createElement("li",{className:oe},s().createElement("a",m({className:Ue,href:this.getElementHref(U+1),tabIndex:Z?"-1":"0",role:"button",onKeyPress:this.handleNextPage,"aria-disabled":Ge,"aria-label":H,rel:z},this.getEventListener(this.handleNextPage)),K)))}}])&&P(v.prototype,w),Object.defineProperty(v,"prototype",{writable:!1}),Q}(r.Component);N(X,"propTypes",{pageCount:i().number.isRequired,pageRangeDisplayed:i().number,marginPagesDisplayed:i().number,previousLabel:i().node,previousAriaLabel:i().string,prevPageRel:i().string,prevRel:i().string,nextLabel:i().node,nextAriaLabel:i().string,nextPageRel:i().string,nextRel:i().string,breakLabel:i().oneOfType([i().string,i().node]),hrefBuilder:i().func,hrefAllControls:i().bool,onPageChange:i().func,onPageActive:i().func,onClick:i().func,initialPage:i().number,forcePage:i().number,disableInitialCallback:i().bool,containerClassName:i().string,className:i().string,pageClassName:i().string,pageLinkClassName:i().string,pageLabelBuilder:i().func,activeClassName:i().string,activeLinkClassName:i().string,previousClassName:i().string,nextClassName:i().string,previousLinkClassName:i().string,nextLinkClassName:i().string,disabledClassName:i().string,disabledLinkClassName:i().string,breakClassName:i().string,breakLinkClassName:i().string,extraAriaContext:i().string,ariaLabelBuilder:i().func,eventListener:i().string,renderOnZeroPageCount:i().func,selectedPageRel:i().string}),N(X,"defaultProps",{pageRangeDisplayed:2,marginPagesDisplayed:3,activeClassName:"selected",previousLabel:"Previous",previousClassName:"previous",previousAriaLabel:"Previous page",prevPageRel:"prev",prevRel:"prev",nextLabel:"Next",nextClassName:"next",nextAriaLabel:"Next page",nextPageRel:"next",nextRel:"next",breakLabel:"...",disabledClassName:"disabled",disableInitialCallback:!1,pageLabelBuilder:function(b){return b},eventListener:"onClick",renderOnZeroPageCount:void 0,selectedPageRel:"canonical",hrefAllControls:!1});let V=X})(),n})())});var Ar=O(de()),ft=O(se());var tt=O(pe());var Me=O(pe());function mt(e){return function(a){return!!a.type&&a.type.tabsRole===e}}var Pe=mt("Tab"),Ee=mt("TabList"),Ce=mt("TabPanel");function bt(){return bt=Object.assign||function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},bt.apply(this,arguments)}function Wr(e){return Pe(e)||Ee(e)||Ce(e)}function Ze(e,a){return Me.Children.map(e,function(t){return t===null?null:Wr(t)?a(t):t.props&&t.props.children&&typeof t.props.children=="object"?(0,Me.cloneElement)(t,bt({},t.props,{children:Ze(t.props.children,a)})):t})}function Be(e,a){return Me.Children.forEach(e,function(t){t!==null&&(Pe(t)||Ce(t)?a(t):t.props&&t.props.children&&typeof t.props.children=="object"&&(Ee(t)&&a(t),Be(t.props.children,a)))})}var ge=O(pe());function Jt(e){var a,t,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e))for(a=0;a<e.length;a++)e[a]&&(t=Jt(e[a]))&&(o&&(o+=" "),o+=t);else for(a in e)e[a]&&(o&&(o+=" "),o+=a);return o}function Vr(){for(var e,a,t=0,o="";t<arguments.length;)(e=arguments[t++])&&(a=Jt(e))&&(o&&(o+=" "),o+=a);return o}var Ne=Vr;var $r=0;function Ye(){return"react-tabs-"+$r++}function Xe(e){var a=0;return Be(e,function(t){Pe(t)&&a++}),a}function Gt(e){var a=0;return Be(e,function(t){Ce(t)&&a++}),a}var Hr=["children","className","disabledTabClassName","domRef","focus","forceRenderTabPanel","onSelect","selectedIndex","selectedTabClassName","selectedTabPanelClassName","environment","disableUpDownKeys"];function ht(){return ht=Object.assign||function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},ht.apply(this,arguments)}function qr(e,a){if(e==null)return{};var t={},o=Object.keys(e),n,r;for(r=0;r<o.length;r++)n=o[r],!(a.indexOf(n)>=0)&&(t[n]=e[n]);return t}function Kr(e,a){e.prototype=Object.create(a.prototype),e.prototype.constructor=e,gt(e,a)}function gt(e,a){return gt=Object.setPrototypeOf||function(o,n){return o.__proto__=n,o},gt(e,a)}function Yt(e){return e&&"getAttribute"in e}function Zt(e){return Yt(e)&&e.getAttribute("data-rttab")}function Oe(e){return Yt(e)&&e.getAttribute("aria-disabled")==="true"}var Qe;function zr(e){var a=e||(typeof window<"u"?window:void 0);try{Qe=!!(typeof a<"u"&&a.document&&a.document.activeElement)}catch{Qe=!1}}var et=function(e){Kr(a,e);function a(){for(var o,n=arguments.length,r=new Array(n),s=0;s<n;s++)r[s]=arguments[s];return o=e.call.apply(e,[this].concat(r))||this,o.tabNodes=[],o.handleKeyDown=function(c){var i=o.props,l=i.direction,p=i.disableUpDownKeys;if(o.isTabFromContainer(c.target)){var d=o.props.selectedIndex,f=!1,y=!1;(c.keyCode===32||c.keyCode===13)&&(f=!0,y=!1,o.handleClick(c)),c.keyCode===37||!p&&c.keyCode===38?(l==="rtl"?d=o.getNextTab(d):d=o.getPrevTab(d),f=!0,y=!0):c.keyCode===39||!p&&c.keyCode===40?(l==="rtl"?d=o.getPrevTab(d):d=o.getNextTab(d),f=!0,y=!0):c.keyCode===35?(d=o.getLastTab(),f=!0,y=!0):c.keyCode===36&&(d=o.getFirstTab(),f=!0,y=!0),f&&c.preventDefault(),y&&o.setSelected(d,c)}},o.handleClick=function(c){var i=c.target;do if(o.isTabFromContainer(i)){if(Oe(i))return;var l=[].slice.call(i.parentNode.children).filter(Zt).indexOf(i);o.setSelected(l,c);return}while((i=i.parentNode)!=null)},o}var t=a.prototype;return t.setSelected=function(n,r){if(!(n<0||n>=this.getTabsCount())){var s=this.props,c=s.onSelect,i=s.selectedIndex;c(n,i,r)}},t.getNextTab=function(n){for(var r=this.getTabsCount(),s=n+1;s<r;s++)if(!Oe(this.getTab(s)))return s;for(var c=0;c<n;c++)if(!Oe(this.getTab(c)))return c;return n},t.getPrevTab=function(n){for(var r=n;r--;)if(!Oe(this.getTab(r)))return r;for(r=this.getTabsCount();r-- >n;)if(!Oe(this.getTab(r)))return r;return n},t.getFirstTab=function(){for(var n=this.getTabsCount(),r=0;r<n;r++)if(!Oe(this.getTab(r)))return r;return null},t.getLastTab=function(){for(var n=this.getTabsCount();n--;)if(!Oe(this.getTab(n)))return n;return null},t.getTabsCount=function(){var n=this.props.children;return Xe(n)},t.getPanelsCount=function(){var n=this.props.children;return Gt(n)},t.getTab=function(n){return this.tabNodes["tabs-"+n]},t.getChildren=function(){var n=this,r=0,s=this.props,c=s.children,i=s.disabledTabClassName,l=s.focus,p=s.forceRenderTabPanel,d=s.selectedIndex,f=s.selectedTabClassName,y=s.selectedTabPanelClassName,W=s.environment;this.tabIds=this.tabIds||[],this.panelIds=this.panelIds||[];for(var k=this.tabIds.length-this.getTabsCount();k++<0;)this.tabIds.push(Ye()),this.panelIds.push(Ye());return Ze(c,function(T){var m=T;if(Ee(T)){var P=0,_=!1;Qe==null&&zr(W),Qe&&(_=ge.default.Children.toArray(T.props.children).filter(Pe).some(function(I,L){var N=W||(typeof window<"u"?window:void 0);return N&&N.document.activeElement===n.getTab(L)})),m=(0,ge.cloneElement)(T,{children:Ze(T.props.children,function(I){var L="tabs-"+P,N=d===P,X={tabRef:function(b){n.tabNodes[L]=b},id:n.tabIds[P],panelId:n.panelIds[P],selected:N,focus:N&&(l||_)};return f&&(X.selectedClassName=f),i&&(X.disabledClassName=i),P++,(0,ge.cloneElement)(I,X)})})}else if(Ce(T)){var x={id:n.panelIds[r],tabId:n.tabIds[r],selected:d===r};p&&(x.forceRender=p),y&&(x.selectedClassName=y),r++,m=(0,ge.cloneElement)(T,x)}return m})},t.isTabFromContainer=function(n){if(!Zt(n))return!1;var r=n.parentElement;do{if(r===this.node)return!0;if(r.getAttribute("data-rttabs"))break;r=r.parentElement}while(r);return!1},t.render=function(){var n=this,r=this.props,s=r.children,c=r.className,i=r.disabledTabClassName,l=r.domRef,p=r.focus,d=r.forceRenderTabPanel,f=r.onSelect,y=r.selectedIndex,W=r.selectedTabClassName,k=r.selectedTabPanelClassName,T=r.environment,m=r.disableUpDownKeys,P=qr(r,Hr);return ge.default.createElement("div",ht({},P,{className:Ne(c),onClick:this.handleClick,onKeyDown:this.handleKeyDown,ref:function(x){n.node=x,l&&l(x)},"data-rttabs":!0}),this.getChildren())},a}(ge.Component);et.defaultProps={className:"react-tabs",focus:!1};et.propTypes={};var Jr=["children","defaultIndex","defaultFocus"];function Gr(e,a){if(e==null)return{};var t={},o=Object.keys(e),n,r;for(r=0;r<o.length;r++)n=o[r],!(a.indexOf(n)>=0)&&(t[n]=e[n]);return t}function Zr(e,a){e.prototype=Object.create(a.prototype),e.prototype.constructor=e,yt(e,a)}function yt(e,a){return yt=Object.setPrototypeOf||function(o,n){return o.__proto__=n,o},yt(e,a)}var Yr=0,vt=1,Se=function(e){Zr(a,e);function a(o){var n;return n=e.call(this,o)||this,n.handleSelected=function(r,s,c){var i=n.props.onSelect,l=n.state.mode;if(!(typeof i=="function"&&i(r,s,c)===!1)){var p={focus:c.type==="keydown"};l===vt&&(p.selectedIndex=r),n.setState(p)}},n.state=a.copyPropsToState(n.props,{},o.defaultFocus),n}a.getDerivedStateFromProps=function(n,r){return a.copyPropsToState(n,r)},a.getModeFromProps=function(n){return n.selectedIndex===null?vt:Yr},a.copyPropsToState=function(n,r,s){s===void 0&&(s=!1);var c={focus:s,mode:a.getModeFromProps(n)};if(c.mode===vt){var i=Math.max(0,Xe(n.children)-1),l=null;r.selectedIndex!=null?l=Math.min(r.selectedIndex,i):l=n.defaultIndex||0,c.selectedIndex=l}return c};var t=a.prototype;return t.render=function(){var n=this.props,r=n.children,s=n.defaultIndex,c=n.defaultFocus,i=Gr(n,Jr),l=this.state,p=l.focus,d=l.selectedIndex;return i.focus=p,i.onSelect=this.handleSelected,d!=null&&(i.selectedIndex=d),tt.default.createElement(et,i,r)},a}(tt.Component);Se.defaultProps={defaultFocus:!1,forceRenderTabPanel:!1,selectedIndex:null,defaultIndex:null,environment:null,disableUpDownKeys:!1};Se.propTypes={};Se.tabsRole="Tabs";var rt=O(pe());var Xr=["children","className"];function Tt(){return Tt=Object.assign||function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},Tt.apply(this,arguments)}function Qr(e,a){if(e==null)return{};var t={},o=Object.keys(e),n,r;for(r=0;r<o.length;r++)n=o[r],!(a.indexOf(n)>=0)&&(t[n]=e[n]);return t}function ea(e,a){e.prototype=Object.create(a.prototype),e.prototype.constructor=e,Pt(e,a)}function Pt(e,a){return Pt=Object.setPrototypeOf||function(o,n){return o.__proto__=n,o},Pt(e,a)}var Ie=function(e){ea(a,e);function a(){return e.apply(this,arguments)||this}var t=a.prototype;return t.render=function(){var n=this.props,r=n.children,s=n.className,c=Qr(n,Xr);return rt.default.createElement("ul",Tt({},c,{className:Ne(s),role:"tablist"}),r)},a}(rt.Component);Ie.defaultProps={className:"react-tabs__tab-list"};Ie.propTypes={};Ie.tabsRole="TabList";var at=O(pe());var ta=["children","className","disabled","disabledClassName","focus","id","panelId","selected","selectedClassName","tabIndex","tabRef"];function Nt(){return Nt=Object.assign||function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},Nt.apply(this,arguments)}function ra(e,a){if(e==null)return{};var t={},o=Object.keys(e),n,r;for(r=0;r<o.length;r++)n=o[r],!(a.indexOf(n)>=0)&&(t[n]=e[n]);return t}function aa(e,a){e.prototype=Object.create(a.prototype),e.prototype.constructor=e,_t(e,a)}function _t(e,a){return _t=Object.setPrototypeOf||function(o,n){return o.__proto__=n,o},_t(e,a)}var Ct="react-tabs__tab",_e=function(e){aa(a,e);function a(){return e.apply(this,arguments)||this}var t=a.prototype;return t.componentDidMount=function(){this.checkFocus()},t.componentDidUpdate=function(){this.checkFocus()},t.checkFocus=function(){var n=this.props,r=n.selected,s=n.focus;r&&s&&this.node.focus()},t.render=function(){var n,r=this,s=this.props,c=s.children,i=s.className,l=s.disabled,p=s.disabledClassName,d=s.focus,f=s.id,y=s.panelId,W=s.selected,k=s.selectedClassName,T=s.tabIndex,m=s.tabRef,P=ra(s,ta);return at.default.createElement("li",Nt({},P,{className:Ne(i,(n={},n[k]=W,n[p]=l,n)),ref:function(x){r.node=x,m&&m(x)},role:"tab",id:f,"aria-selected":W?"true":"false","aria-disabled":l?"true":"false","aria-controls":y,tabIndex:T||(W?"0":null),"data-rttab":!0}),c)},a}(at.Component);_e.defaultProps={className:Ct,disabledClassName:Ct+"--disabled",focus:!1,id:null,panelId:null,selected:!1,selectedClassName:Ct+"--selected"};_e.propTypes={};_e.tabsRole="Tab";var nt=O(pe());var na=["children","className","forceRender","id","selected","selectedClassName","tabId"];function xt(){return xt=Object.assign||function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},xt.apply(this,arguments)}function oa(e,a){if(e==null)return{};var t={},o=Object.keys(e),n,r;for(r=0;r<o.length;r++)n=o[r],!(a.indexOf(n)>=0)&&(t[n]=e[n]);return t}function sa(e,a){e.prototype=Object.create(a.prototype),e.prototype.constructor=e,Rt(e,a)}function Rt(e,a){return Rt=Object.setPrototypeOf||function(o,n){return o.__proto__=n,o},Rt(e,a)}var Xt="react-tabs__tab-panel",xe=function(e){sa(a,e);function a(){return e.apply(this,arguments)||this}var t=a.prototype;return t.render=function(){var n,r=this.props,s=r.children,c=r.className,i=r.forceRender,l=r.id,p=r.selected,d=r.selectedClassName,f=r.tabId,y=oa(r,na);return nt.default.createElement("div",xt({},y,{className:Ne(c,(n={},n[d]=p,n)),role:"tabpanel",id:l,"aria-labelledby":f}),i||p?s:null)},a}(nt.Component);xe.defaultProps={className:Xt,forceRender:!1,selectedClassName:Xt+"--selected"};xe.propTypes={};xe.tabsRole="TabPanel";var Je=O(de()),je=O(se());var lt=O(ot());var D=O(pe(),1);function ar(e,a,t,o){function n(r){return r instanceof t?r:new t(function(s){s(r)})}return new(t||(t=Promise))(function(r,s){function c(p){try{l(o.next(p))}catch(d){s(d)}}function i(p){try{l(o.throw(p))}catch(d){s(d)}}function l(p){p.done?r(p.value):n(p.value).then(c,i)}l((o=o.apply(e,a||[])).next())})}function nr(e,a){var t={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},o,n,r,s;return s={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function c(l){return function(p){return i([l,p])}}function i(l){if(o)throw new TypeError("Generator is already executing.");for(;t;)try{if(o=1,n&&(r=l[0]&2?n.return:l[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,l[1])).done)return r;switch(n=0,r&&(l=[l[0]&2,r.value]),l[0]){case 0:case 1:r=l;break;case 4:return t.label++,{value:l[1],done:!1};case 5:t.label++,n=l[1],l=[0];continue;case 7:l=t.ops.pop(),t.trys.pop();continue;default:if(r=t.trys,!(r=r.length>0&&r[r.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!r||l[1]>r[0]&&l[1]<r[3])){t.label=l[1];break}if(l[0]===6&&t.label<r[1]){t.label=r[1],r=l;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(l);break}r[2]&&t.ops.pop(),t.trys.pop();continue}l=a.call(e,t)}catch(p){l=[6,p],n=0}finally{o=r=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}var fe=function(){},te=fe(),We=Object,re=function(e){return e===te},Re=function(e){return typeof e=="function"},ve=function(e,a){return We.assign({},e,a)},At="undefined",Dt=function(){return typeof window!=At},ia=function(){return typeof document!=At},la=function(){return Dt()&&typeof window.requestAnimationFrame!=At},st=new WeakMap,ca=0,He=function(e){var a=typeof e,t=e&&e.constructor,o=t==Date,n,r;if(We(e)===e&&!o&&t!=RegExp){if(n=st.get(e),n)return n;if(n=++ca+"~",st.set(e,n),t==Array){for(n="@",r=0;r<e.length;r++)n+=He(e[r])+",";st.set(e,n)}if(t==We){n="#";for(var s=We.keys(e).sort();!re(r=s.pop());)re(e[r])||(n+=r+":"+He(e[r])+",");st.set(e,n)}}else n=o?e.toJSON():a=="symbol"?e.toString():a=="string"?JSON.stringify(e):""+e;return n},Ot=!0,ua=function(){return Ot},or=Dt(),jt=ia(),Lt=or&&window.addEventListener?window.addEventListener.bind(window):fe,da=jt?document.addEventListener.bind(document):fe,Et=or&&window.removeEventListener?window.removeEventListener.bind(window):fe,pa=jt?document.removeEventListener.bind(document):fe,fa=function(){var e=jt&&document.visibilityState;return re(e)||e!=="hidden"},ma=function(e){return da("visibilitychange",e),Lt("focus",e),function(){pa("visibilitychange",e),Et("focus",e)}},ba=function(e){var a=function(){Ot=!0,e()},t=function(){Ot=!1};return Lt("online",a),Lt("offline",t),function(){Et("online",a),Et("offline",t)}},ha={isOnline:ua,isVisible:fa},ga={initFocus:ma,initReconnect:ba},it=!Dt()||"Deno"in window,va=function(e){return la()?window.requestAnimationFrame(e):setTimeout(e,1)},Ve=it?D.useEffect:D.useLayoutEffect,wt=typeof navigator<"u"&&navigator.connection,er=!it&&wt&&(["slow-2g","2g"].includes(wt.effectiveType)||wt.saveData),sr=function(e){if(Re(e))try{e=e()}catch{e=""}var a=[].concat(e);e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?He(e):"";var t=e?"$swr$"+e:"";return[e,a,t]},Le=new WeakMap,ir=0,lr=1,cr=2,$e=function(e,a,t,o,n,r,s){s===void 0&&(s=!0);var c=Le.get(e),i=c[0],l=c[1],p=c[3],d=i[a],f=l[a];if(s&&f)for(var y=0;y<f.length;++y)f[y](t,o,n);return r&&(delete p[a],d&&d[0])?d[0](cr).then(function(){return e.get(a)}):e.get(a)},ya=0,St=function(){return++ya},ur=function(){for(var e=[],a=0;a<arguments.length;a++)e[a]=arguments[a];return ar(void 0,void 0,void 0,function(){var t,o,n,r,s,c,i,l,p,d,f,y,W,k,T,m,P,_,x,I,L;return nr(this,function(N){switch(N.label){case 0:if(t=e[0],o=e[1],n=e[2],r=e[3],s=typeof r=="boolean"?{revalidate:r}:r||{},c=re(s.populateCache)?!0:s.populateCache,i=s.revalidate!==!1,l=s.rollbackOnError!==!1,p=s.optimisticData,d=sr(o),f=d[0],y=d[2],!f)return[2];if(W=Le.get(t),k=W[2],e.length<3)return[2,$e(t,f,t.get(f),te,te,i,!0)];if(T=n,P=St(),k[f]=[P,0],_=!re(p),x=t.get(f),_&&(I=Re(p)?p(x):p,t.set(f,I),$e(t,f,I)),Re(T))try{T=T(t.get(f))}catch(X){m=X}return T&&Re(T.then)?[4,T.catch(function(X){m=X})]:[3,2];case 1:if(T=N.sent(),P!==k[f][0]){if(m)throw m;return[2,T]}else m&&_&&l&&(c=!0,T=x,t.set(f,x));N.label=2;case 2:return c&&(m||(Re(c)&&(T=c(T,x)),t.set(f,T)),t.set(y,ve(t.get(y),{error:m}))),k[f][1]=St(),[4,$e(t,f,T,m,te,i,!!c)];case 3:if(L=N.sent(),m)throw m;return[2,c?L:T]}})})},tr=function(e,a){for(var t in e)e[t][0]&&e[t][0](a)},dr=function(e,a){if(!Le.has(e)){var t=ve(ga,a),o={},n=ur.bind(te,e),r=fe;if(Le.set(e,[o,{},{},{},n]),!it){var s=t.initFocus(setTimeout.bind(te,tr.bind(te,o,ir))),c=t.initReconnect(setTimeout.bind(te,tr.bind(te,o,lr)));r=function(){s&&s(),c&&c(),Le.delete(e)}}return[e,n,r]}return[e,Le.get(e)[4]]},Ta=function(e,a,t,o,n){var r=t.errorRetryCount,s=n.retryCount,c=~~((Math.random()+.5)*(1<<(s<8?s:8)))*t.errorRetryInterval;!re(r)&&s>r||setTimeout(o,c,n)},pr=dr(new Map),fr=pr[0],Pa=pr[1],mr=ve({onLoadingSlow:fe,onSuccess:fe,onError:fe,onErrorRetry:Ta,onDiscarded:fe,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:er?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:er?5e3:3e3,compare:function(e,a){return He(e)==He(a)},isPaused:function(){return!1},cache:fr,mutate:Pa,fallback:{}},ha),br=function(e,a){var t=ve(e,a);if(a){var o=e.use,n=e.fallback,r=a.use,s=a.fallback;o&&r&&(t.use=o.concat(r)),n&&s&&(t.fallback=ve(n,s))}return t},It=(0,D.createContext)({}),Ca=function(e){var a=e.value,t=br((0,D.useContext)(It),a),o=a&&a.provider,n=(0,D.useState)(function(){return o?dr(o(t.cache||fr),a):te})[0];return n&&(t.cache=n[0],t.mutate=n[1]),Ve(function(){return n?n[2]:te},[]),(0,D.createElement)(It.Provider,ve(e,{value:t}))},Na=function(e,a){var t=(0,D.useState)({})[1],o=(0,D.useRef)(e),n=(0,D.useRef)({data:!1,error:!1,isValidating:!1}),r=(0,D.useCallback)(function(s){var c=!1,i=o.current;for(var l in s){var p=l;i[p]!==s[p]&&(i[p]=s[p],n.current[p]&&(c=!0))}c&&!a.current&&t({})},[]);return Ve(function(){o.current=e}),[o,n.current,r]},_a=function(e){return Re(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}]},xa=function(){return ve(mr,(0,D.useContext)(It))},Ra=function(e){return function(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];var n=xa(),r=_a(t),s=r[0],c=r[1],i=r[2],l=br(n,i),p=e,d=l.use;if(d)for(var f=d.length;f-- >0;)p=d[f](p);return p(s,c||l.fetcher,l)}},rr=function(e,a,t){var o=a[e]||(a[e]=[]);return o.push(t),function(){var n=o.indexOf(t);n>=0&&(o[n]=o[o.length-1],o.pop())}},kt={dedupe:!0},wa=function(e,a,t){var o=t.cache,n=t.compare,r=t.fallbackData,s=t.suspense,c=t.revalidateOnMount,i=t.refreshInterval,l=t.refreshWhenHidden,p=t.refreshWhenOffline,d=Le.get(o),f=d[0],y=d[1],W=d[2],k=d[3],T=sr(e),m=T[0],P=T[1],_=T[2],x=(0,D.useRef)(!1),I=(0,D.useRef)(!1),L=(0,D.useRef)(m),N=(0,D.useRef)(a),X=(0,D.useRef)(t),V=function(){return X.current},b=function(){return V().isVisible()&&V().isOnline()},v=function(ee){return o.set(_,ve(o.get(_),ee))},w=o.get(m),E=re(r)?t.fallback[m]:r,J=re(w)?E:w,he=o.get(_)||{},Q=he.error,h=!x.current,u=function(){return h&&!re(c)?c:V().isPaused()?!1:s?re(J)?!1:t.revalidateIfStale:re(J)||t.revalidateIfStale},S=function(){return!m||!a?!1:he.isValidating?!0:h&&u()},g=S(),C=Na({data:J,error:Q,isValidating:g},I),R=C[0],M=C[1],q=C[2],G=(0,D.useCallback)(function(ee){return ar(void 0,void 0,void 0,function(){var F,K,$,ne,H,z,U,A,Z,ie,oe,ue,Ue;return nr(this,function(ke){switch(ke.label){case 0:if(F=N.current,!m||!F||I.current||V().isPaused())return[2,!1];ne=!0,H=ee||{},z=!k[m]||!H.dedupe,U=function(){return!I.current&&m===L.current&&x.current},A=function(){var Ge=k[m];Ge&&Ge[1]===$&&delete k[m]},Z={isValidating:!1},ie=function(){v({isValidating:!1}),U()&&q(Z)},v({isValidating:!0}),q({isValidating:!0}),ke.label=1;case 1:return ke.trys.push([1,3,,4]),z&&($e(o,m,R.current.data,R.current.error,!0),t.loadingTimeout&&!o.get(m)&&setTimeout(function(){ne&&U()&&V().onLoadingSlow(m,t)},t.loadingTimeout),k[m]=[F.apply(void 0,P),St()]),Ue=k[m],K=Ue[0],$=Ue[1],[4,K];case 2:return K=ke.sent(),z&&setTimeout(A,t.dedupingInterval),!k[m]||k[m][1]!==$?(z&&U()&&V().onDiscarded(m),[2,!1]):(v({error:te}),Z.error=te,oe=W[m],!re(oe)&&($<=oe[0]||$<=oe[1]||oe[1]===0)?(ie(),z&&U()&&V().onDiscarded(m),[2,!1]):(n(R.current.data,K)?Z.data=R.current.data:Z.data=K,n(o.get(m),K)||o.set(m,K),z&&U()&&V().onSuccess(K,m,t),[3,4]));case 3:return ue=ke.sent(),A(),V().isPaused()||(v({error:ue}),Z.error=ue,z&&U()&&(V().onError(ue,m,t),(typeof t.shouldRetryOnError=="boolean"&&t.shouldRetryOnError||Re(t.shouldRetryOnError)&&t.shouldRetryOnError(ue))&&b()&&V().onErrorRetry(ue,m,t,G,{retryCount:(H.retryCount||0)+1,dedupe:!0}))),[3,4];case 4:return ne=!1,ie(),U()&&z&&$e(o,m,Z.data,Z.error,!1),[2,!0]}})})},[m]),Te=(0,D.useCallback)(ur.bind(te,o,function(){return L.current}),[]);if(Ve(function(){N.current=a,X.current=t}),Ve(function(){if(!!m){var ee=m!==L.current,F=G.bind(te,kt),K=function(U,A,Z){q(ve({error:A,isValidating:Z},n(R.current.data,U)?te:{data:U}))},$=0,ne=function(U){if(U==ir){var A=Date.now();V().revalidateOnFocus&&A>$&&b()&&($=A+V().focusThrottleInterval,F())}else if(U==lr)V().revalidateOnReconnect&&b()&&F();else if(U==cr)return G()},H=rr(m,y,K),z=rr(m,f,ne);return I.current=!1,L.current=m,x.current=!0,ee&&q({data:J,error:Q,isValidating:g}),u()&&(re(J)||it?F():va(F)),function(){I.current=!0,H(),z()}}},[m,G]),Ve(function(){var ee;function F(){var $=Re(i)?i(J):i;$&&ee!==-1&&(ee=setTimeout(K,$))}function K(){!R.current.error&&(l||V().isVisible())&&(p||V().isOnline())?G(kt).then(F):F()}return F(),function(){ee&&(clearTimeout(ee),ee=-1)}},[i,l,p,G]),(0,D.useDebugValue)(J),s&&re(J)&&m)throw N.current=a,X.current=t,I.current=!1,re(Q)?G(kt):Q;return{mutate:Te,get data(){return M.data=!0,J},get error(){return M.error=!0,Q},get isValidating(){return M.isValidating=!0,g}}},An=We.defineProperty(Ca,"default",{value:mr});var hr=Ra(wa);var B=({content:e,icon:a="editor-help"})=>React.createElement(lt.Tooltip,{text:e},React.createElement("span",{className:"ss-tooltip"},React.createElement(lt.Dashicon,{icon:a}))),ka=e=>{let a=/^(mailto|tel|sms):/,t=/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/;return a.test(e)||t.test(e)},qe=e=>ka(e)?e:(e=e[0]==="/"?e:`/${e}`,SSRedirection.homeURL+`${e}`),ae=(e,a={},t="GET")=>{let o={method:t,headers:{"X-WP-Nonce":SSRedirection.nonce,"Content-Type":"application/json"}},n=`${SSRedirection.rest}/slim-seo-redirection/${e}`;if(t==="POST")o.body=JSON.stringify(a);else{let r=new URLSearchParams(a).toString();r&&(n+=SSRedirection.rest.includes("?")?`&${r}`:`?${r}`)}return fetch(n,o).then(r=>r.json())},me=(e,a={},t={},o)=>{t={method:"GET",returnMutate:!1,options:{},...t};let{data:n,error:r,mutate:s}=hr([e,a,t.method],ae,{revalidateOnFocus:!1,...t.options}),c=r||!n?o:n;return t.returnMutate?{result:c,mutate:s}:c},gr=(e,a)=>{let t="data:text/csv;charset=utf-8,"+a.map(s=>s.map(c=>(!c||typeof c!="string"||(c=c.replaceAll(",","")),c)).join(",")).join(` 3 `),n=encodeURI(t).replaceAll("#","%23"),r=document.createElement("a");r.setAttribute("href",n),r.setAttribute("download",e),r.click()};var vr=O(de()),ct=O(se());var Oa=()=>{let[e,a]=(0,vr.useReducer)(n=>!n,!1),t=e?(0,ct.__)("Exporting","slim-seo"):(0,ct.__)("Export","slim-seo");return React.createElement("a",{href:"#",title:t,onClick:n=>{n.preventDefault(),a(),ae("export").then(r=>{r?gr(r.filename,r.data):alert((0,ct.__)("No redirect found!. Cannot export","slim-seo")),a()})},disabled:e},t)},yr=Oa;var Tr=O(ot()),Ke=O(de()),Ae=O(se());var La=()=>{let[e,a]=(0,Ke.useReducer)(l=>!l,!1),[t,o]=(0,Ke.useState)(),[n,r]=(0,Ke.useReducer)(l=>!l,!1),s=(0,Ae.__)("Import","slim-seo"),c=l=>o(l.target.files[0]),i=()=>{r();let l=new FileReader;l.readAsText(t),l.onload=p=>{ae("import",{text:l.result},"POST").then(d=>{d?location.reload():(alert((0,Ae.__)("Invalid data format. Please try again.","slim-seo")),r())})}};return React.createElement(React.Fragment,null,React.createElement("a",{href:"#",title:s,onClick:a},s),e&&React.createElement(Tr.Modal,{title:(0,Ae.__)("Upload CSV","slim-seo"),overlayClassName:"ss-modal ss-upload",onRequestClose:a},React.createElement("input",{type:"file",accept:"*.csv",onChange:c}),React.createElement("button",{type:"button",className:"button-primary",onClick:i,disabled:!t||n},n?(0,Ae.__)("Submitting...","slim-seo"):(0,Ae.__)("Submit","slim-seo"))))},Ut=La;var we=O(de()),xr=O(se());var Mt=O(se()),Cr=O(Pr()),Ea=({totalRows:e,limit:a,setOffset:t})=>{let o=Math.ceil(e/a),n=r=>{let s=r.selected*a%e;t(s)};return o>1&&React.createElement(Cr.default,{className:"ss-paginate",breakLabel:"...",nextLabel:(0,Mt.__)("Next \xBB","slim-seo"),onPageChange:n,pageRangeDisplayed:5,pageCount:o,previousLabel:(0,Mt.__)("\xAB Previous","slim-seo"),renderOnZeroPageCount:null})},ut=Ea;var le=O(se());var Sa=({isCheckAll:e,checkAll:a})=>React.createElement("tr",null,React.createElement("th",{className:"ss-redirect__checkbox"},React.createElement("input",{type:"checkbox",checked:e,onChange:a})),React.createElement("th",{className:"ss-redirect__type"},(0,le.__)("Type","slim-seo"),React.createElement(B,{content:(0,le.__)("Redirect type","slim-seo")})),React.createElement("th",{className:"ss-redirect__url"},(0,le.__)("From URL","slim-seo"),React.createElement(B,{content:(0,le.__)("URL to redirect","slim-seo")})),React.createElement("th",{className:"ss-redirect__url"},(0,le.__)("To URL","slim-seo"),React.createElement(B,{content:(0,le.__)("Destination URL","slim-seo")})),React.createElement("th",{className:"ss-redirect__note"},(0,le.__)("Note","slim-seo"),React.createElement(B,{content:(0,le.__)("Something to reminds you about the redirects","slim-seo")})),React.createElement("th",{className:"ss-redirect__enable"},(0,le.__)("Enable","slim-seo"),React.createElement(B,{content:(0,le.__)("Is the redirect enabled?","slim-seo")})),React.createElement("th",{className:"ss-redirect__actions"},(0,le.__)("Actions","slim-seo"))),Bt=Sa;var Nr=O(de());var Wt=O(se());var dt=O(ot()),ye=O(de()),Y=O(se());var Ia=({redirectToEdit:e={},children:a,linkClassName:t,callback:o})=>{let[n,r]=(0,ye.useState)({}),[s,c]=(0,ye.useState)(!1),[i,l]=(0,ye.useState)(""),[p,d]=(0,ye.useReducer)(L=>!L,!1),[f,y]=(0,ye.useState)(!1),{result:W,mutate:k}=me("redirects",{},{returnMutate:!0}),T=n.id?(0,Y.__)("Update Redirect","slim-seo"):(0,Y.__)("Add Redirect","slim-seo"),m=L=>{L.preventDefault(),y(!0)},P=()=>y(!1),_=()=>{l(""),ae("update_redirect",{redirect:n},"POST").then(L=>{if(y(!1),c(!1),n.id){o(n);return}n.id=L;let N=[...W];N.push(n),k(N,{revalidate:!1})})},x=L=>N=>{let X=N.target.type==="checkbox"?Number(N.target.checked):L==="note"?N.target.value:N.target.value.trim();r(V=>({...V,[L]:X}))},I=L=>{if(L.preventDefault(),!n.from.length){l((0,Y.__)("Please fill out From URL.","slim-seo"));return}if(n.type!=410&&!n.to.length){l((0,Y.__)("Please fill out To URL.","slim-seo"));return}if(c(!0),n.id){_();return}ae("exists",{from:n.from}).then(N=>{N?(c(!1),l((0,Y.__)("From URL already exists, which means this page already has a redirect rule!","slim-seo"))):_()})};return(0,ye.useEffect)(()=>{r({...SSRedirection.defaultRedirect,...e})},[e]),React.createElement(React.Fragment,null,React.createElement("a",{href:"#",className:t,onClick:m,title:T},a||T),f&&React.createElement(dt.Modal,{title:T,overlayClassName:"ss-modal ssr-modal",onRequestClose:P},React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-type"},(0,Y.__)("Type","slim-seo"),React.createElement(B,{content:(0,Y.__)("Redirect type","slim-seo")})),React.createElement("select",{id:"ss-type",value:n.type,onChange:x("type")},Object.entries(SSRedirection.redirectTypes).map(([L,N])=>React.createElement("option",{key:L,value:L},N))),n.type==410&&React.createElement("p",{className:"description"},React.createElement("small",null,(0,Y.__)("410 means the content is gone and no longer available. It can be deleted permanently. In this case, we need to return the 410 status instead of redirect. If you want to show an alternative page for this content, please consider a 3xx redirect.","slim-seo")))),React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-from"},(0,Y.__)("From URL","slim-seo"),React.createElement(B,{content:(0,Y.__)("URL to redirect","slim-seo")})),React.createElement("div",{className:"ss-from-inputs"},React.createElement("select",{value:n.condition,onChange:x("condition")},Object.entries(SSRedirection.conditionOptions).map(([L,N])=>React.createElement("option",{key:L,value:L},N))),React.createElement("input",{id:"ss-from",type:"text",value:n.from,onChange:x("from")}))),n.type!=410&&React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-to"},(0,Y.__)("To URL","slim-seo"),React.createElement(B,{content:(0,Y.__)("Destination URL","slim-seo")})),React.createElement("input",{id:"ss-to",type:"text",value:n.to,onChange:x("to")})),React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-note"},(0,Y.__)("Note","slim-seo"),React.createElement(B,{content:(0,Y.__)("Something that reminds you about this redirect","slim-seo")})),React.createElement("input",{id:"ss-note",type:"text",value:n.note,onChange:x("note")})),React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{className:"ss-toggle"},React.createElement("input",{type:"checkbox",value:"1",checked:!!n.enable,onChange:x("enable")}),React.createElement("div",{className:"ss-toggle__switch"}),React.createElement("span",{className:"ss-toggle__label"},(0,Y.__)("Enable","slim-seo")))),React.createElement("div",{className:"ssr-modal-field"},React.createElement(dt.Button,{className:"button-link",onClick:d},(0,Y.__)("Advanced options","slim-seo"))),p&&React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{className:"ss-toggle"},React.createElement("input",{type:"checkbox",value:"1",checked:!!n.ignoreParameters,onChange:x("ignoreParameters")}),React.createElement("div",{className:"ss-toggle__switch"}),React.createElement("span",{className:"ss-toggle__label"},(0,Y.__)("Ignore parameters","slim-seo")))),React.createElement("button",{className:"button button-primary",onClick:I,disabled:s},T),i&&React.createElement("p",{className:"ss-warning-message"},i)))},De=Ia;var Aa=({redirectItem:e,checkedList:a,setCheckedList:t,deleteRedirects:o,updateRedirects:n})=>{let[r,s]=(0,Nr.useState)(e),c=d=>{d.target.checked?t([...a,r.id]):t(a.filter(f=>f!==r.id))},i=d=>{let f={...r,enable:!r.enable};s(f),ae("update_redirect",{redirect:f},"POST").then(y=>n(f))},l=d=>{let f={...d};s(f),n(f)},p=d=>{d.preventDefault(),confirm((0,Wt.__)("Delete redirect ","slim-seo")+`'${r.from}'?`)&&o([r.id])};return React.createElement("tr",null,React.createElement("td",{className:"ss-redirect__checkbox"},React.createElement("input",{type:"checkbox",value:r.id,checked:a.includes(r.id),onChange:c})),React.createElement("td",{className:"ss-redirect__type"},r.type),React.createElement("td",{className:"ss-redirect__url"},r.condition==="exact-match"?React.createElement("a",{href:qe(r.from),target:"_blank"},r.from):r.from,React.createElement("small",null,SSRedirection.conditionOptions[r.condition])),React.createElement("td",{className:"ss-redirect__url"},React.createElement("a",{href:qe(r.to),target:"_blank"},r.to)),React.createElement("td",{className:"ss-redirect__note"},r.note),React.createElement("td",{className:"ss-redirect__enable"},React.createElement("label",{className:"ss-toggle"},React.createElement("input",{type:"checkbox",checked:r.enable==1,onChange:i}),React.createElement("div",{className:"ss-toggle__switch"}))),React.createElement("td",{className:"ss-redirect__actions"},React.createElement(De,{redirectToEdit:r,callback:l},React.createElement("span",{className:"dashicons dashicons-edit"})),React.createElement("a",{href:"#",onClick:p,title:(0,Wt.__)("Delete","slim-seo")},React.createElement("span",{className:"dashicons dashicons-trash"}))))},_r=Aa;var Da=({searchKeyword:e,redirectType:a,executeBulkAction:t,setExecuteBulkAction:o})=>{let[r,s]=(0,we.useState)(0),[c,i]=(0,we.useState)([]),[l,p]=(0,we.useState)(!1),[d,f]=(0,we.useState)(0),{result:y,mutate:W}=me("redirects",{},{returnMutate:!0}),k=()=>{p(!l),i(l?[]:y.map(_=>_.id))},T=(_=[])=>{ae("delete_redirects",{ids:_},"POST").then(x=>{W(y.filter(I=>!_.includes(I.id)),{revalidate:!1})})},m=_=>{W(y.map(x=>(x.id==_.id&&(x=_),x)),{revalidate:!1})};if((0,we.useEffect)(()=>{t==="delete"&&(T(c),o(""))},[t]),(0,we.useEffect)(()=>{s(0),f(Date.now())},[e,a]),y===void 0)return React.createElement("div",{className:"ss-loader"});if(Object.keys(y).length===0)return;let P=[...y];return e&&(P=P.filter(_=>_.from.includes(e)||_.to.includes(e))),a&&(P=P.filter(_=>_.type==a)),P.length?React.createElement(React.Fragment,null,React.createElement("table",{className:"ss-table"},React.createElement("thead",null,React.createElement(Bt,{isCheckAll:l,checkAll:k})),React.createElement("tbody",null,P.slice(r,r+20).map(_=>React.createElement(_r,{key:_.id,redirectItem:_,checkedList:c,setCheckedList:i,deleteRedirects:T,updateRedirects:m}))),React.createElement("tfoot",null,React.createElement(Bt,{isCheckAll:l,checkAll:k}))),React.createElement(ut,{key:d,totalRows:P.length,limit:20,setOffset:s})):React.createElement("span",null,(0,xr.__)("No redirects found.","slim-seo"))},Rr=Da;var ja=()=>{let[e,a]=(0,Je.useState)(""),[t,o]=(0,Je.useState)(""),[n,r]=(0,Je.useState)(""),[s,c]=(0,Je.useState)(""),i=me("redirects"),l=d=>{d.preventDefault(),o(e)},p=d=>{d.code==="Enter"&&d.preventDefault()};return React.createElement(React.Fragment,null,React.createElement("div",{className:"ss-filters"},React.createElement(De,{redirectToEdit:{},linkClassName:"button button-primary"}),Array.isArray(i)&&i.length>0?React.createElement(React.Fragment,null,React.createElement("span",{className:"ss-bulk-actions"},React.createElement("select",{name:"ssr_bulk_actions",value:e,onChange:d=>a(d.target.value)},React.createElement("option",{value:""},(0,je.__)("Bulk actions","slim-seo")),React.createElement("option",{value:"delete"},(0,je.__)("Delete","slim-seo"))),React.createElement("button",{className:"button button-secondary",onClick:l},(0,je.__)("Apply","slim-seo"))),React.createElement("span",{className:"ss-filter"},React.createElement("select",{name:"ssr_redirect_type",value:n,onChange:d=>r(d.target.value)},React.createElement("option",{value:""},(0,je.__)("All redirect types","slim-seo")),Object.entries(SSRedirection.redirectTypes).map(([d,f])=>React.createElement("option",{key:d,value:d},f)))),React.createElement("span",{className:"ss-filters-right"},React.createElement("span",{className:"ss-export-import"},React.createElement(yr,null)," | ",React.createElement(Ut,null)),React.createElement("span",{className:"ss-search"},React.createElement("input",{type:"text",className:"ss-search-input",value:s,placeholder:(0,je.__)("Search..","slim-seo"),onKeyDown:p,onChange:d=>c(d.target.value.trim())})))):React.createElement("div",{class:"ss-import"},React.createElement(Ut,null))),React.createElement(Rr,{searchKeyword:s,redirectType:n,executeBulkAction:t,setExecuteBulkAction:o}))},wr=ja;var Er=O(de());var Or=O(de()),pt=O(se());var be=O(se());var Ua=({order:e,changeOrder:a})=>{let{orderBy:t,sort:o}=e;return React.createElement("tr",null,React.createElement("th",{className:"ss-log__url"},(0,be.__)("URL","slim-seo"),React.createElement(B,{content:(0,be.__)("404 URL","slim-seo")})),React.createElement("th",{className:"ss-log__hit "+(t==="hit"?`sorted ${o}`:"sortable asc")},React.createElement("a",{href:"#",onClick:a("hit")},React.createElement("span",null,(0,be.__)("Hit","slim-seo"),React.createElement(B,{content:(0,be.__)("The number of times the URL was hitted","slim-seo")})),React.createElement("span",{className:"sorting-indicator"}))),React.createElement("th",{className:"ss-log__created_at "+(t==="created_at"?`sorted ${o}`:"sortable asc")},React.createElement("a",{href:"#",onClick:a("created_at")},React.createElement("span",null,(0,be.__)("Created at","slim-seo"),React.createElement(B,{content:(0,be.__)("First time the URL was hitted","slim-seo")})),React.createElement("span",{className:"sorting-indicator"}))),React.createElement("th",{className:"ss-log__updated_at "+(t==="updated_at"?`sorted ${o}`:"sortable asc")},React.createElement("a",{href:"#",onClick:a("updated_at")},React.createElement("span",null,(0,be.__)("Updated at","slim-seo"),React.createElement(B,{content:(0,be.__)("Last time the URL was hitted","slim-seo")})),React.createElement("span",{className:"sorting-indicator"}))),React.createElement("th",{className:"ss-log__actions"},(0,be.__)("Actions","slim-seo")))},Vt=Ua;var $t=O(se());var Fa=({log:e,deleteLog:a})=>{let t=o=>{o.preventDefault(),confirm((0,$t.__)("Delete log ","slim-seo")+`'${e.url}'?`)&&a(e)};return React.createElement("tr",null,React.createElement("td",{className:"ss-log__url"},React.createElement("a",{href:qe(e.url),target:"_blank"},e.url)),React.createElement("td",{className:"ss-log__hit"},e.hit),React.createElement("td",{className:"ss-log__created_at"},e.created_at),React.createElement("td",{className:"ss-log__updated_at"},e.updated_at),React.createElement("td",{className:"ss-log__actions"},React.createElement(De,{redirectToEdit:{from:e.url}},React.createElement("span",{className:"dashicons dashicons-welcome-add-page"})),React.createElement("a",{href:"#",onClick:t,title:(0,$t.__)("Delete","slim-seo")},React.createElement("span",{className:"dashicons dashicons-trash"}))))},kr=Fa;var Ma=({limit:e,offset:a})=>{let[t,o]=(0,Or.useState)({orderBy:"updated_at",sort:"desc"}),{result:n,mutate:r}=me("logs",{orderBy:t.orderBy,sort:t.sort,limit:e,offset:a},{returnMutate:!0,options:{revalidateIfStale:!1}}),s=l=>p=>{p.preventDefault();let d=l===t.orderBy&&t.sort==="desc"?"asc":"desc";o({orderBy:l,sort:d})},c=l=>{ae("delete_log",{id:l.id}).then(p=>{r(n.filter(d=>d.id!=l.id))})},i=l=>{l.preventDefault(),confirm((0,pt.__)("Are you sure to clear 404 log?","slim-seo"))&&ae("delete_logs",{}).then(p=>{r({})})};return n===void 0?React.createElement("div",{className:"ss-loader"}):Object.keys(n).length===0?React.createElement("span",null,(0,pt.__)("No data","slim-seo")):React.createElement(React.Fragment,null,React.createElement("div",{className:"ss-filters"},React.createElement("button",{className:"button button-primary",onClick:i},(0,pt.__)("Clear log","slim-seo"))),React.createElement("table",{className:"ss-table"},React.createElement("thead",null,React.createElement(Vt,{order:t,changeOrder:s})),React.createElement("tbody",null,n.map(l=>React.createElement(kr,{key:l.id,log:l,deleteLog:c}))),React.createElement("tfoot",null,React.createElement(Vt,{order:t,changeOrder:s}))))},Lr=Ma;var Ba=()=>{let a=me("total_logs"),[t,o]=(0,Er.useState)(0);return React.createElement(React.Fragment,null,React.createElement(Lr,{limit:20,offset:t}),React.createElement(ut,{totalRows:a,limit:20,setOffset:o}))},Sr=Ba;var ce=O(de()),j=O(se());var Wa=()=>{let{settings:e,settingsName:a}=SSRedirection,[t,o]=(0,ce.useReducer)(P=>!P,!!e.force_trailing_slash),[n,r]=(0,ce.useReducer)(P=>!P,!!e.auto_redirection),[s,c]=(0,ce.useState)(e.redirect_www),[i,l]=(0,ce.useReducer)(P=>!P,!!e.enable_404_logs),[p,d]=(0,ce.useState)(e.auto_delete_404_logs),[f,y]=(0,ce.useReducer)(P=>!P,!1),[W,k]=(0,ce.useState)(e.redirect_404_to),[T,m]=(0,ce.useState)(e.redirect_404_to_url);return React.createElement(React.Fragment,null,React.createElement("table",{className:"form-table"},React.createElement("thead",null,React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-force-trailing-slash"},(0,j.__)("Force trailing slash","slim-seo")),React.createElement(B,{content:(0,j.__)("Enable redirect non-slash URL to URL has slash","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-force-trailing-slash",type:"checkbox",name:`${a}[force_trailing_slash]`,value:"1",checked:t,onChange:o}),React.createElement("div",{className:"ss-toggle__switch"})),React.createElement("br",null),React.createElement(ce.RawHTML,null,["<small>",(0,j.sprintf)((0,j.__)(`Don't forget to add trailing slash in the <a href="%s">permalink settings</a>. If you use a permalink like "%%postname%%.html", then just enable this settings to force it work for category/tag/taxonomy/archive pages.`,"slim-seo"),SSRedirection.permalinkUrl),"</small>"])))),React.createElement("tbody",null,React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-auto-redirection"},(0,j.__)("Auto redirection","slim-seo")),React.createElement(B,{content:(0,j.__)("Automatically redirect pages if needed","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-auto-redirection",type:"checkbox",name:`${a}[auto_redirection]`,value:"1",checked:n,onChange:r}),React.createElement("div",{className:"ss-toggle__switch"})))),React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-redirect-www"},(0,j.__)("Redirect www","slim-seo")),React.createElement(B,{content:(0,j.__)("Auto redirect www to non-www and vice versa","slim-seo")})),React.createElement("td",null,React.createElement("select",{id:"ss-redirect-www",name:`${a}[redirect_www]`,value:s,onChange:P=>c(_=>P.target.value)},React.createElement("option",{value:""},(0,j.__)("Do nothing","slim-seo")),React.createElement("option",{value:"www-to-non"},(0,j.__)("www to non-www w","slim-seo")),React.createElement("option",{value:"non-to-www"},(0,j.__)("non-www to www","slim-seo"))))),React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-enable-404-logs"},(0,j.__)("Enable 404 logs","slim-seo")),React.createElement(B,{content:(0,j.__)("Enable to track 404 logs","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-enable-404-logs",type:"checkbox",name:`${a}[enable_404_logs]`,value:"1",checked:i,onChange:l}),React.createElement("div",{className:"ss-toggle__switch"})))),i?React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-auto-delete-404-logs"},(0,j.__)("Auto delete 404 logs","slim-seo")),React.createElement(B,{content:(0,j.__)("404 logs in the database will be automatically removed","slim-seo")})),React.createElement("td",null,React.createElement("select",{id:"ss-auto-delete-404-logs",name:`${a}[auto_delete_404_logs]`,value:p,onChange:P=>d(P.target.value)},React.createElement("option",{value:"-1"},(0,j.__)("Never","slim-seo")),React.createElement("option",{value:"7"},(0,j.__)("Older than a week","slim-seo")),React.createElement("option",{value:"30"},(0,j.__)("Older than a month","slim-seo"))))):SSRedirection.isLog404TableExist&&React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-delete-404-log-table"},(0,j.__)("Delete 404 logs table","slim-seo")),React.createElement(B,{content:(0,j.__)("Delete 404 logs table","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-delete-404-log-table",type:"checkbox",name:`${a}[delete_404_log_table]`,value:"1",checked:f,onChange:y}),React.createElement("div",{className:"ss-toggle__switch"})))),React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-redirect-404-to"},(0,j.__)("Redirect all 404 to","slim-seo")),React.createElement(B,{content:(0,j.__)("Auto redirect 404 pages if they do not have redirection rule.","slim-seo")})),React.createElement("td",null,React.createElement("select",{id:"ss-redirect-404-to",name:`${a}[redirect_404_to]`,value:W,onChange:P=>k(P.target.value)},React.createElement("option",{value:""},(0,j.__)("Do nothing","slim-seo")),React.createElement("option",{value:"homepage"},(0,j.__)("Homepage","slim-seo")),React.createElement("option",{value:"custom"},(0,j.__)("Custom URL","slim-seo"))),W==="custom"&&React.createElement("input",{type:"text",className:"regular-text",name:`${a}[redirect_404_to_url]`,value:T,onChange:P=>m(P.target.value.trim())}))))),React.createElement("p",{className:"submit"},React.createElement("input",{type:"submit",name:"submit",id:"submit",className:"button button-primary",value:(0,j.__)("Save Changes","slim-seo")})))},Ir=Wa;var Va=()=>React.createElement(Se,{forceRenderTabPanel:!0},React.createElement(Ie,null,React.createElement(_e,null,(0,ft.__)("Redirects","slim-seo")),SSRedirection.settings.enable_404_logs==1&&React.createElement(_e,null,(0,ft.__)("404 Logs","slim-seo")),React.createElement(_e,null,(0,ft.__)("Settings","slim-seo"))),React.createElement(xe,null,React.createElement(wr,null)),SSRedirection.settings.enable_404_logs==1&&React.createElement(xe,null,React.createElement(Sr,null)),React.createElement(xe,null,React.createElement(Ir,null)));(0,Ar.render)(React.createElement(Va,null),document.getElementById("ss-redirection"));})();3 `),n=encodeURI(t).replaceAll("#","%23"),r=document.createElement("a");r.setAttribute("href",n),r.setAttribute("download",e),r.click()};var vr=O(de()),ct=O(se());var Oa=()=>{let[e,a]=(0,vr.useReducer)(n=>!n,!1),t=e?(0,ct.__)("Exporting","slim-seo"):(0,ct.__)("Export","slim-seo");return React.createElement("a",{href:"#",title:t,onClick:n=>{n.preventDefault(),a(),ae("export").then(r=>{r?gr(r.filename,r.data):alert((0,ct.__)("No redirect found!. Cannot export","slim-seo")),a()})},disabled:e},t)},yr=Oa;var Tr=O(ot()),Ke=O(de()),Ae=O(se());var La=()=>{let[e,a]=(0,Ke.useReducer)(l=>!l,!1),[t,o]=(0,Ke.useState)(),[n,r]=(0,Ke.useReducer)(l=>!l,!1),s=(0,Ae.__)("Import","slim-seo"),c=l=>o(l.target.files[0]),i=()=>{r();let l=new FileReader;l.readAsText(t),l.onload=p=>{ae("import",{text:l.result},"POST").then(d=>{d?location.reload():(alert((0,Ae.__)("Invalid data format. Please try again.","slim-seo")),r())})}};return React.createElement(React.Fragment,null,React.createElement("a",{href:"#",title:s,onClick:a},s),e&&React.createElement(Tr.Modal,{title:(0,Ae.__)("Upload CSV","slim-seo"),overlayClassName:"ss-modal ss-upload",onRequestClose:a},React.createElement("input",{type:"file",accept:"*.csv",onChange:c}),React.createElement("button",{type:"button",className:"button-primary",onClick:i,disabled:!t||n},n?(0,Ae.__)("Submitting...","slim-seo"):(0,Ae.__)("Submit","slim-seo"))))},Ut=La;var we=O(de()),xr=O(se());var Mt=O(se()),Cr=O(Pr()),Ea=({totalRows:e,limit:a,setOffset:t})=>{let o=Math.ceil(e/a),n=r=>{let s=r.selected*a%e;t(s)};return o>1&&React.createElement(Cr.default,{className:"ss-paginate",breakLabel:"...",nextLabel:(0,Mt.__)("Next \xBB","slim-seo"),onPageChange:n,pageRangeDisplayed:5,pageCount:o,previousLabel:(0,Mt.__)("\xAB Previous","slim-seo"),renderOnZeroPageCount:null})},ut=Ea;var le=O(se());var Sa=({isCheckAll:e,checkAll:a})=>React.createElement("tr",null,React.createElement("th",{className:"ss-redirect__checkbox"},React.createElement("input",{type:"checkbox",checked:e,onChange:a})),React.createElement("th",{className:"ss-redirect__type"},(0,le.__)("Type","slim-seo"),React.createElement(B,{content:(0,le.__)("Redirect type","slim-seo")})),React.createElement("th",{className:"ss-redirect__url"},(0,le.__)("From URL","slim-seo"),React.createElement(B,{content:(0,le.__)("URL to redirect","slim-seo")})),React.createElement("th",{className:"ss-redirect__url"},(0,le.__)("To URL","slim-seo"),React.createElement(B,{content:(0,le.__)("Destination URL","slim-seo")})),React.createElement("th",{className:"ss-redirect__note"},(0,le.__)("Note","slim-seo"),React.createElement(B,{content:(0,le.__)("Something to reminds you about the redirects","slim-seo")})),React.createElement("th",{className:"ss-redirect__enable"},(0,le.__)("Enable","slim-seo"),React.createElement(B,{content:(0,le.__)("Is the redirect enabled?","slim-seo")})),React.createElement("th",{className:"ss-redirect__actions"},(0,le.__)("Actions","slim-seo"))),Bt=Sa;var Nr=O(de());var Wt=O(se());var dt=O(ot()),ye=O(de()),Y=O(se());var Ia=({redirectToEdit:e={},children:a,linkClassName:t,callback:o})=>{let[n,r]=(0,ye.useState)({}),[s,c]=(0,ye.useState)(!1),[i,l]=(0,ye.useState)(""),[p,d]=(0,ye.useReducer)(L=>!L,!1),[f,y]=(0,ye.useState)(!1),{result:W,mutate:k}=me("redirects",{},{returnMutate:!0}),T=n.id?(0,Y.__)("Update Redirect","slim-seo"):(0,Y.__)("Add Redirect","slim-seo"),m=L=>{L.preventDefault(),y(!0)},P=()=>y(!1),_=()=>{l(""),ae("update_redirect",{redirect:n},"POST").then(L=>{if(y(!1),c(!1),n.id){o(n);return}n.id=L;let N=[...W];N.push(n),k(N,{revalidate:!1})})},x=L=>N=>{let X=N.target.type==="checkbox"?Number(N.target.checked):L==="note"?N.target.value:N.target.value.trim();r(V=>({...V,[L]:X}))},I=L=>{if(L.preventDefault(),!n.from.length){l((0,Y.__)("Please fill out From URL.","slim-seo"));return}if(n.type!=410&&!n.to.length){l((0,Y.__)("Please fill out To URL.","slim-seo"));return}if(c(!0),n.id){_();return}ae("exists",{from:n.from}).then(N=>{N?(c(!1),l((0,Y.__)("From URL already exists, which means this page already has a redirect rule!","slim-seo"))):_()})};return(0,ye.useEffect)(()=>{r({...SSRedirection.defaultRedirect,...e})},[e]),React.createElement(React.Fragment,null,React.createElement("a",{href:"#",className:t,onClick:m,title:T},a||T),f&&React.createElement(dt.Modal,{title:T,overlayClassName:"ss-modal ssr-modal",onRequestClose:P},React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-type"},(0,Y.__)("Type","slim-seo"),React.createElement(B,{content:(0,Y.__)("Redirect type","slim-seo")})),React.createElement("select",{id:"ss-type",value:n.type,onChange:x("type")},Object.entries(SSRedirection.redirectTypes).map(([L,N])=>React.createElement("option",{key:L,value:L},N))),n.type==410&&React.createElement("p",{className:"description"},React.createElement("small",null,(0,Y.__)("410 means the content is gone and no longer available. It can be deleted permanently. In this case, we need to return the 410 status instead of redirect. If you want to show an alternative page for this content, please consider a 3xx redirect.","slim-seo")))),React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-from"},(0,Y.__)("From URL","slim-seo"),React.createElement(B,{content:(0,Y.__)("URL to redirect","slim-seo")})),React.createElement("div",{className:"ss-from-inputs"},React.createElement("select",{value:n.condition,onChange:x("condition")},Object.entries(SSRedirection.conditionOptions).map(([L,N])=>React.createElement("option",{key:L,value:L},N))),React.createElement("input",{id:"ss-from",type:"text",value:n.from,onChange:x("from")}))),n.type!=410&&React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-to"},(0,Y.__)("To URL","slim-seo"),React.createElement(B,{content:(0,Y.__)("Destination URL","slim-seo")})),React.createElement("input",{id:"ss-to",type:"text",value:n.to,onChange:x("to")})),React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-note"},(0,Y.__)("Note","slim-seo"),React.createElement(B,{content:(0,Y.__)("Something that reminds you about this redirect","slim-seo")})),React.createElement("input",{id:"ss-note",type:"text",value:n.note,onChange:x("note")})),React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{className:"ss-toggle"},React.createElement("input",{type:"checkbox",value:"1",checked:!!n.enable,onChange:x("enable")}),React.createElement("div",{className:"ss-toggle__switch"}),React.createElement("span",{className:"ss-toggle__label"},(0,Y.__)("Enable","slim-seo")))),React.createElement("div",{className:"ssr-modal-field"},React.createElement(dt.Button,{className:"button-link",onClick:d},(0,Y.__)("Advanced options","slim-seo"))),p&&React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{className:"ss-toggle"},React.createElement("input",{type:"checkbox",value:"1",checked:!!n.ignoreParameters,onChange:x("ignoreParameters")}),React.createElement("div",{className:"ss-toggle__switch"}),React.createElement("span",{className:"ss-toggle__label"},(0,Y.__)("Ignore parameters","slim-seo")))),React.createElement("button",{className:"button button-primary",onClick:I,disabled:s},T),i&&React.createElement("p",{className:"ss-warning-message"},i)))},De=Ia;var Aa=({redirectItem:e,checkedList:a,setCheckedList:t,deleteRedirects:o,updateRedirects:n})=>{let[r,s]=(0,Nr.useState)(e),c=d=>{d.target.checked?t([...a,r.id]):t(a.filter(f=>f!==r.id))},i=d=>{let f={...r,enable:!r.enable};s(f),ae("update_redirect",{redirect:f},"POST").then(y=>n(f))},l=d=>{let f={...d};s(f),n(f)},p=d=>{d.preventDefault(),confirm((0,Wt.__)("Delete redirect ","slim-seo")+`'${r.from}'?`)&&o([r.id])};return React.createElement("tr",null,React.createElement("td",{className:"ss-redirect__checkbox"},React.createElement("input",{type:"checkbox",value:r.id,checked:a.includes(r.id),onChange:c})),React.createElement("td",{className:"ss-redirect__type"},r.type),React.createElement("td",{className:"ss-redirect__url"},r.condition==="exact-match"?React.createElement("a",{href:qe(r.from),target:"_blank"},r.from):r.from,React.createElement("small",null,SSRedirection.conditionOptions[r.condition])),React.createElement("td",{className:"ss-redirect__url"},React.createElement("a",{href:qe(r.to),target:"_blank"},r.to)),React.createElement("td",{className:"ss-redirect__note"},r.note),React.createElement("td",{className:"ss-redirect__enable"},React.createElement("label",{className:"ss-toggle"},React.createElement("input",{type:"checkbox",checked:r.enable==1,onChange:i}),React.createElement("div",{className:"ss-toggle__switch"}))),React.createElement("td",{className:"ss-redirect__actions"},React.createElement(De,{redirectToEdit:r,callback:l},React.createElement("span",{className:"dashicons dashicons-edit"})),React.createElement("a",{href:"#",onClick:p,title:(0,Wt.__)("Delete","slim-seo")},React.createElement("span",{className:"dashicons dashicons-trash"}))))},_r=Aa;var Da=({searchKeyword:e,redirectType:a,executeBulkAction:t,setExecuteBulkAction:o})=>{let[r,s]=(0,we.useState)(0),[c,i]=(0,we.useState)([]),[l,p]=(0,we.useState)(!1),[d,f]=(0,we.useState)(0),{result:y,mutate:W}=me("redirects",{},{returnMutate:!0}),k=()=>{p(!l),i(l?[]:y.map(_=>_.id))},T=(_=[])=>{ae("delete_redirects",{ids:_},"POST").then(x=>{W(y.filter(I=>!_.includes(I.id)),{revalidate:!1})})},m=_=>{W(y.map(x=>(x.id==_.id&&(x=_),x)),{revalidate:!1})};if((0,we.useEffect)(()=>{t==="delete"&&(T(c),o(""))},[t]),(0,we.useEffect)(()=>{s(0),f(Date.now())},[e,a]),y===void 0)return React.createElement("div",{className:"ss-loader"});if(Object.keys(y).length===0)return;let P=[...y];return e&&(P=P.filter(_=>_.from.includes(e)||_.to.includes(e))),a&&(P=P.filter(_=>_.type==a)),P.length?React.createElement(React.Fragment,null,React.createElement("table",{className:"ss-table"},React.createElement("thead",null,React.createElement(Bt,{isCheckAll:l,checkAll:k})),React.createElement("tbody",null,P.slice(r,r+20).map(_=>React.createElement(_r,{key:_.id,redirectItem:_,checkedList:c,setCheckedList:i,deleteRedirects:T,updateRedirects:m}))),React.createElement("tfoot",null,React.createElement(Bt,{isCheckAll:l,checkAll:k}))),React.createElement(ut,{key:d,totalRows:P.length,limit:20,setOffset:s})):React.createElement("span",null,(0,xr.__)("No redirects found.","slim-seo"))},Rr=Da;var ja=()=>{let[e,a]=(0,Je.useState)(""),[t,o]=(0,Je.useState)(""),[n,r]=(0,Je.useState)(""),[s,c]=(0,Je.useState)(""),i=me("redirects"),l=d=>{d.preventDefault(),o(e)},p=d=>{d.code==="Enter"&&d.preventDefault()};return React.createElement(React.Fragment,null,React.createElement("div",{className:"ss-filters"},React.createElement(De,{redirectToEdit:{},linkClassName:"button button-primary"}),Array.isArray(i)&&i.length>0?React.createElement(React.Fragment,null,React.createElement("span",{className:"ss-bulk-actions"},React.createElement("select",{name:"ssr_bulk_actions",value:e,onChange:d=>a(d.target.value)},React.createElement("option",{value:""},(0,je.__)("Bulk actions","slim-seo")),React.createElement("option",{value:"delete"},(0,je.__)("Delete","slim-seo"))),React.createElement("button",{className:"button button-secondary",onClick:l},(0,je.__)("Apply","slim-seo"))),React.createElement("span",{className:"ss-filter"},React.createElement("select",{name:"ssr_redirect_type",value:n,onChange:d=>r(d.target.value)},React.createElement("option",{value:""},(0,je.__)("All redirect types","slim-seo")),Object.entries(SSRedirection.redirectTypes).map(([d,f])=>React.createElement("option",{key:d,value:d},f)))),React.createElement("span",{className:"ss-filters-right"},React.createElement("span",{className:"ss-export-import"},React.createElement(yr,null)," | ",React.createElement(Ut,null)),React.createElement("span",{className:"ss-search"},React.createElement("input",{type:"text",className:"ss-search-input",value:s,placeholder:(0,je.__)("Search..","slim-seo"),onKeyDown:p,onChange:d=>c(d.target.value.trim())})))):React.createElement("div",{class:"ss-import"},React.createElement(Ut,null))),React.createElement(Rr,{searchKeyword:s,redirectType:n,executeBulkAction:t,setExecuteBulkAction:o}))},wr=ja;var Er=O(de());var Or=O(de()),pt=O(se());var be=O(se());var Ua=({order:e,changeOrder:a})=>{let{orderBy:t,sort:o}=e;return React.createElement("tr",null,React.createElement("th",{className:"ss-log__url"},(0,be.__)("URL","slim-seo"),React.createElement(B,{content:(0,be.__)("404 URL","slim-seo")})),React.createElement("th",{className:"ss-log__hit "+(t==="hit"?`sorted ${o}`:"sortable asc")},React.createElement("a",{href:"#",onClick:a("hit")},React.createElement("span",null,(0,be.__)("Hit","slim-seo"),React.createElement(B,{content:(0,be.__)("The number of times the URL was hitted","slim-seo")})),React.createElement("span",{className:"sorting-indicator"}))),React.createElement("th",{className:"ss-log__created_at "+(t==="created_at"?`sorted ${o}`:"sortable asc")},React.createElement("a",{href:"#",onClick:a("created_at")},React.createElement("span",null,(0,be.__)("Created at","slim-seo"),React.createElement(B,{content:(0,be.__)("First time the URL was hitted","slim-seo")})),React.createElement("span",{className:"sorting-indicator"}))),React.createElement("th",{className:"ss-log__updated_at "+(t==="updated_at"?`sorted ${o}`:"sortable asc")},React.createElement("a",{href:"#",onClick:a("updated_at")},React.createElement("span",null,(0,be.__)("Updated at","slim-seo"),React.createElement(B,{content:(0,be.__)("Last time the URL was hitted","slim-seo")})),React.createElement("span",{className:"sorting-indicator"}))),React.createElement("th",{className:"ss-log__actions"},(0,be.__)("Actions","slim-seo")))},Vt=Ua;var $t=O(se());var Fa=({log:e,deleteLog:a})=>{let t=o=>{o.preventDefault(),confirm((0,$t.__)("Delete log ","slim-seo")+`'${e.url}'?`)&&a(e)};return React.createElement("tr",null,React.createElement("td",{className:"ss-log__url"},React.createElement("a",{href:qe(e.url),target:"_blank"},e.url)),React.createElement("td",{className:"ss-log__hit"},e.hit),React.createElement("td",{className:"ss-log__created_at"},e.created_at),React.createElement("td",{className:"ss-log__updated_at"},e.updated_at),React.createElement("td",{className:"ss-log__actions"},React.createElement(De,{redirectToEdit:{from:e.url}},React.createElement("span",{className:"dashicons dashicons-welcome-add-page"})),React.createElement("a",{href:"#",onClick:t,title:(0,$t.__)("Delete","slim-seo")},React.createElement("span",{className:"dashicons dashicons-trash"}))))},kr=Fa;var Ma=({limit:e,offset:a})=>{let[t,o]=(0,Or.useState)({orderBy:"updated_at",sort:"desc"}),{result:n,mutate:r}=me("logs",{orderBy:t.orderBy,sort:t.sort,limit:e,offset:a},{returnMutate:!0,options:{revalidateIfStale:!1}}),s=l=>p=>{p.preventDefault();let d=l===t.orderBy&&t.sort==="desc"?"asc":"desc";o({orderBy:l,sort:d})},c=l=>{ae("delete_log",{id:l.id}).then(p=>{r(n.filter(d=>d.id!=l.id))})},i=l=>{l.preventDefault(),confirm((0,pt.__)("Are you sure to clear 404 log?","slim-seo"))&&ae("delete_logs",{}).then(p=>{r({})})};return n===void 0?React.createElement("div",{className:"ss-loader"}):Object.keys(n).length===0?React.createElement("span",null,(0,pt.__)("No data","slim-seo")):React.createElement(React.Fragment,null,React.createElement("div",{className:"ss-filters"},React.createElement("button",{className:"button button-primary",onClick:i},(0,pt.__)("Clear log","slim-seo"))),React.createElement("table",{className:"ss-table"},React.createElement("thead",null,React.createElement(Vt,{order:t,changeOrder:s})),React.createElement("tbody",null,n.map(l=>React.createElement(kr,{key:l.id,log:l,deleteLog:c}))),React.createElement("tfoot",null,React.createElement(Vt,{order:t,changeOrder:s}))))},Lr=Ma;var Ba=()=>{let a=me("total_logs"),[t,o]=(0,Er.useState)(0);return React.createElement(React.Fragment,null,React.createElement(Lr,{limit:20,offset:t}),React.createElement(ut,{totalRows:a,limit:20,setOffset:o}))},Sr=Ba;var ce=O(de()),j=O(se());var Wa=()=>{let{settings:e,settingsName:a}=SSRedirection,[t,o]=(0,ce.useReducer)(P=>!P,!!e.force_trailing_slash),[n,r]=(0,ce.useReducer)(P=>!P,!!e.auto_redirection),[s,c]=(0,ce.useState)(e.redirect_www),[i,l]=(0,ce.useReducer)(P=>!P,!!e.enable_404_logs),[p,d]=(0,ce.useState)(e.auto_delete_404_logs),[f,y]=(0,ce.useReducer)(P=>!P,!1),[W,k]=(0,ce.useState)(e.redirect_404_to),[T,m]=(0,ce.useState)(e.redirect_404_to_url);return React.createElement(React.Fragment,null,React.createElement("table",{className:"form-table"},React.createElement("thead",null,React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-force-trailing-slash"},(0,j.__)("Force trailing slash","slim-seo")),React.createElement(B,{content:(0,j.__)("Enable redirect non-slash URL to URL has slash","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-force-trailing-slash",type:"checkbox",name:`${a}[force_trailing_slash]`,value:"1",checked:t,onChange:o}),React.createElement("div",{className:"ss-toggle__switch"})),React.createElement("br",null),React.createElement(ce.RawHTML,null,["<small>",(0,j.sprintf)((0,j.__)(`Don't forget to add trailing slash in the <a href="%s">permalink settings</a>. If you use a permalink like "%%postname%%.html", then just enable this settings to force it work for category/tag/taxonomy/archive pages.`,"slim-seo"),SSRedirection.permalinkUrl),"</small>"])))),React.createElement("tbody",null,React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-auto-redirection"},(0,j.__)("Auto redirection","slim-seo")),React.createElement(B,{content:(0,j.__)("Automatically redirect pages if needed","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-auto-redirection",type:"checkbox",name:`${a}[auto_redirection]`,value:"1",checked:n,onChange:r}),React.createElement("div",{className:"ss-toggle__switch"})))),React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-redirect-www"},(0,j.__)("Redirect www","slim-seo")),React.createElement(B,{content:(0,j.__)("Auto redirect www to non-www and vice versa","slim-seo")})),React.createElement("td",null,React.createElement("select",{id:"ss-redirect-www",name:`${a}[redirect_www]`,value:s,onChange:P=>c(_=>P.target.value)},React.createElement("option",{value:""},(0,j.__)("Do nothing","slim-seo")),React.createElement("option",{value:"www-to-non"},(0,j.__)("www to non-www","slim-seo")),React.createElement("option",{value:"non-to-www"},(0,j.__)("non-www to www","slim-seo"))))),React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-enable-404-logs"},(0,j.__)("Enable 404 logs","slim-seo")),React.createElement(B,{content:(0,j.__)("Enable to track 404 logs","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-enable-404-logs",type:"checkbox",name:`${a}[enable_404_logs]`,value:"1",checked:i,onChange:l}),React.createElement("div",{className:"ss-toggle__switch"})))),i?React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-auto-delete-404-logs"},(0,j.__)("Auto delete 404 logs","slim-seo")),React.createElement(B,{content:(0,j.__)("404 logs in the database will be automatically removed","slim-seo")})),React.createElement("td",null,React.createElement("select",{id:"ss-auto-delete-404-logs",name:`${a}[auto_delete_404_logs]`,value:p,onChange:P=>d(P.target.value)},React.createElement("option",{value:"-1"},(0,j.__)("Never","slim-seo")),React.createElement("option",{value:"7"},(0,j.__)("Older than a week","slim-seo")),React.createElement("option",{value:"30"},(0,j.__)("Older than a month","slim-seo"))))):SSRedirection.isLog404TableExist&&React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-delete-404-log-table"},(0,j.__)("Delete 404 logs table","slim-seo")),React.createElement(B,{content:(0,j.__)("Delete 404 logs table","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-delete-404-log-table",type:"checkbox",name:`${a}[delete_404_log_table]`,value:"1",checked:f,onChange:y}),React.createElement("div",{className:"ss-toggle__switch"})))),React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-redirect-404-to"},(0,j.__)("Redirect all 404 to","slim-seo")),React.createElement(B,{content:(0,j.__)("Auto redirect 404 pages if they do not have redirection rule.","slim-seo")})),React.createElement("td",null,React.createElement("select",{id:"ss-redirect-404-to",name:`${a}[redirect_404_to]`,value:W,onChange:P=>k(P.target.value)},React.createElement("option",{value:""},(0,j.__)("Do nothing","slim-seo")),React.createElement("option",{value:"homepage"},(0,j.__)("Homepage","slim-seo")),React.createElement("option",{value:"custom"},(0,j.__)("Custom URL","slim-seo"))),W==="custom"&&React.createElement("input",{type:"text",className:"regular-text",name:`${a}[redirect_404_to_url]`,value:T,onChange:P=>m(P.target.value.trim())}))))),React.createElement("p",{className:"submit"},React.createElement("input",{type:"submit",name:"submit",id:"submit",className:"button button-primary",value:(0,j.__)("Save Changes","slim-seo")})))},Ir=Wa;var Va=()=>React.createElement(Se,{forceRenderTabPanel:!0},React.createElement(Ie,null,React.createElement(_e,null,(0,ft.__)("Redirects","slim-seo")),SSRedirection.settings.enable_404_logs==1&&React.createElement(_e,null,(0,ft.__)("404 Logs","slim-seo")),React.createElement(_e,null,(0,ft.__)("Settings","slim-seo"))),React.createElement(xe,null,React.createElement(wr,null)),SSRedirection.settings.enable_404_logs==1&&React.createElement(xe,null,React.createElement(Sr,null)),React.createElement(xe,null,React.createElement(Ir,null)));(0,Ar.render)(React.createElement(Va,null),document.getElementById("ss-redirection"));})(); 4 4 /*! ***************************************************************************** 5 5 Copyright (c) Microsoft Corporation. -
slim-seo/tags/3.25.1/readme.txt
r3093556 r3101077 4 4 Tags: seo, redirection, schema, xml sitemap, header 5 5 Requires at least: 5.9 6 Tested up to: 6.5. 36 Tested up to: 6.5.4 7 7 Requires PHP: 7.2 8 Stable tag: 3.25. 08 Stable tag: 3.25.1 9 9 License: GPL v3 10 10 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 157 157 158 158 == Changelog == 159 160 = 3.25.1 - 2024-06-11 = 161 - Fix typo in redirection module 162 - Check if queried object returns null that causes error for Open Graph 159 163 160 164 = 3.25.0 - 2024-05-28 = -
slim-seo/tags/3.25.1/slim-seo.php
r3093556 r3101077 6 6 * Author: eLightUp 7 7 * Author URI: https://elightup.com 8 * Version: 3.25. 08 * Version: 3.25.1 9 9 * Text Domain: slim-seo 10 10 * Domain Path: /languages … … 20 20 define( 'SLIM_SEO_REDIRECTS', 'ss_redirects' ); 21 21 define( 'SLIM_SEO_DELETE_404_LOGS_ACTION', 'delete_404_logs' ); 22 define( 'SLIM_SEO_VER', '3.25. 0' );22 define( 'SLIM_SEO_VER', '3.25.1' ); 23 23 define( 'SLIM_SEO_DB_VER', 1 ); 24 24 -
slim-seo/tags/3.25.1/src/Helpers/Images.php
r3093556 r3101077 8 8 private static $cache = []; 9 9 10 public static function get_post_images( WP_Post $post ): array { 10 public static function get_post_images( ?WP_Post $post ): array { 11 if ( ! $post ) { 12 return []; 13 } 14 11 15 $images = []; 12 16 -
slim-seo/tags/3.25.1/src/Redirection/Redirection.php
r3066492 r3101077 23 23 } 24 24 25 $http_host = $_SERVER['HTTP_HOST'] ?? ''; // @ codingStandardsIgnoreLine.26 $request_uri = rawurldecode( $_SERVER['REQUEST_URI'] ?? '' ); // @ codingStandardsIgnoreLine.25 $http_host = $_SERVER['HTTP_HOST'] ?? ''; // @phpcs:ignore. 26 $request_uri = rawurldecode( $_SERVER['REQUEST_URI'] ?? '' ); // @phpcs:ignore. 27 27 $request_url = ( Helper::is_ssl() ? 'https' : 'http' ) . "://{$http_host}{$request_uri}"; 28 28 $request_url = Helper::normalize_url( $request_url ); … … 116 116 117 117 $should_redirect = false; 118 $http_host = $_SERVER['HTTP_HOST'] ?? ''; // @ codingStandardsIgnoreLine.118 $http_host = $_SERVER['HTTP_HOST'] ?? ''; // @phpcs:ignore. 119 119 $http_host = strtolower( $http_host ); 120 120 121 if ( 'www-to-non' === $redirect_www && false !== stripos( $http_host, 'wwww' ) ) {121 if ( 'www-to-non' === $redirect_www && str_starts_with( $http_host, 'www.' ) ) { 122 122 $http_host = substr( $http_host, 4 ); 123 123 $should_redirect = true; 124 } elseif ( 'non-to-www' === $redirect_www && false === stripos( $http_host, 'wwww' ) ) {124 } elseif ( 'non-to-www' === $redirect_www && ! str_starts_with( $http_host, 'www.' ) ) { 125 125 $http_host = 'www.' . $http_host; 126 126 $should_redirect = true; -
slim-seo/tags/3.25.1/vendor/composer/installed.php
r3093556 r3101077 2 2 'root' => array( 3 3 'name' => 'elightup/slim-seo', 4 'pretty_version' => '3.25. 0',5 'version' => '3.25. 0.0',6 'reference' => ' 67604469f135a5dc3fd4f9cb7dbb6157b2faf73e',4 'pretty_version' => '3.25.1', 5 'version' => '3.25.1.0', 6 'reference' => '012ae02830eaa0fe8f721350637c786d95e5718f', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 12 12 'versions' => array( 13 13 'elightup/slim-seo' => array( 14 'pretty_version' => '3.25. 0',15 'version' => '3.25. 0.0',16 'reference' => ' 67604469f135a5dc3fd4f9cb7dbb6157b2faf73e',14 'pretty_version' => '3.25.1', 15 'version' => '3.25.1.0', 16 'reference' => '012ae02830eaa0fe8f721350637c786d95e5718f', 17 17 'type' => 'wordpress-plugin', 18 18 'install_path' => __DIR__ . '/../../', -
slim-seo/trunk/js/redirection.js
r3025627 r3101077 1 1 (()=>{var Dr=Object.create;var Ht=Object.defineProperty;var jr=Object.getOwnPropertyDescriptor;var Ur=Object.getOwnPropertyNames;var Fr=Object.getPrototypeOf,Mr=Object.prototype.hasOwnProperty;var Fe=(e,a)=>()=>(a||e((a={exports:{}}).exports,a),a.exports);var Br=(e,a,t,o)=>{if(a&&typeof a=="object"||typeof a=="function")for(let n of Ur(a))!Mr.call(e,n)&&n!==t&&Ht(e,n,{get:()=>a[n],enumerable:!(o=jr(a,n))||o.enumerable});return e};var O=(e,a,t)=>(t=e!=null?Dr(Fr(e)):{},Br(a||!e||!e.__esModule?Ht(t,"default",{value:e,enumerable:!0}):t,e));var de=Fe((Ha,qt)=>{qt.exports=wp.element});var se=Fe((qa,Kt)=>{Kt.exports=wp.i18n});var pe=Fe((Ka,zt)=>{zt.exports=React});var ot=Fe((In,Qt)=>{Qt.exports=wp.components});var Pr=Fe((ze,Ft)=>{(function(e,a){typeof ze=="object"&&typeof Ft=="object"?Ft.exports=a(pe()):typeof define=="function"&&define.amd?define(["react"],a):typeof ze=="object"?ze.ReactPaginate=a(pe()):e.ReactPaginate=a(e.React)})(ze,e=>(()=>{var a={703:(r,s,c)=>{"use strict";var i=c(414);function l(){}function p(){}p.resetWarningCache=l,r.exports=function(){function d(W,k,T,m,P,_){if(_!==i){var x=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw x.name="Invariant Violation",x}}function f(){return d}d.isRequired=d;var y={array:d,bigint:d,bool:d,func:d,number:d,object:d,string:d,symbol:d,any:d,arrayOf:f,element:d,elementType:d,instanceOf:f,node:d,objectOf:f,oneOf:f,oneOfType:f,shape:f,exact:f,checkPropTypes:p,resetWarningCache:l};return y.PropTypes=y,y}},697:(r,s,c)=>{r.exports=c(703)()},414:r=>{"use strict";r.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},98:r=>{"use strict";r.exports=e}},t={};function o(r){var s=t[r];if(s!==void 0)return s.exports;var c=t[r]={exports:{}};return a[r](c,c.exports,o),c.exports}o.n=r=>{var s=r&&r.__esModule?()=>r.default:()=>r;return o.d(s,{a:s}),s},o.d=(r,s)=>{for(var c in s)o.o(s,c)&&!o.o(r,c)&&Object.defineProperty(r,c,{enumerable:!0,get:s[c]})},o.o=(r,s)=>Object.prototype.hasOwnProperty.call(r,s),o.r=r=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})};var n={};return(()=>{"use strict";o.r(n),o.d(n,{default:()=>V});var r=o(98),s=o.n(r),c=o(697),i=o.n(c);function l(){return l=Object.assign?Object.assign.bind():function(b){for(var v=1;v<arguments.length;v++){var w=arguments[v];for(var E in w)Object.prototype.hasOwnProperty.call(w,E)&&(b[E]=w[E])}return b},l.apply(this,arguments)}var p=function(b){var v=b.pageClassName,w=b.pageLinkClassName,E=b.page,J=b.selected,he=b.activeClassName,Q=b.activeLinkClassName,h=b.getEventListener,u=b.pageSelectedHandler,S=b.href,g=b.extraAriaContext,C=b.pageLabelBuilder,R=b.rel,M=b.ariaLabel||"Page "+E+(g?" "+g:""),q=null;return J&&(q="page",M=b.ariaLabel||"Page "+E+" is your current page",v=v!==void 0?v+" "+he:he,w!==void 0?Q!==void 0&&(w=w+" "+Q):w=Q),s().createElement("li",{className:v},s().createElement("a",l({rel:R,role:S?void 0:"button",className:w,href:S,tabIndex:J?"-1":"0","aria-label":M,"aria-current":q,onKeyPress:u},h(u)),C(E)))};p.propTypes={pageSelectedHandler:i().func.isRequired,selected:i().bool.isRequired,pageClassName:i().string,pageLinkClassName:i().string,activeClassName:i().string,activeLinkClassName:i().string,extraAriaContext:i().string,href:i().string,ariaLabel:i().string,page:i().number.isRequired,getEventListener:i().func.isRequired,pageLabelBuilder:i().func.isRequired,rel:i().string};let d=p;function f(){return f=Object.assign?Object.assign.bind():function(b){for(var v=1;v<arguments.length;v++){var w=arguments[v];for(var E in w)Object.prototype.hasOwnProperty.call(w,E)&&(b[E]=w[E])}return b},f.apply(this,arguments)}var y=function(b){var v=b.breakLabel,w=b.breakClassName,E=b.breakLinkClassName,J=b.breakHandler,he=b.getEventListener,Q=w||"break";return s().createElement("li",{className:Q},s().createElement("a",f({className:E,role:"button",tabIndex:"0",onKeyPress:J},he(J)),v))};y.propTypes={breakLabel:i().oneOfType([i().string,i().node]),breakClassName:i().string,breakLinkClassName:i().string,breakHandler:i().func.isRequired,getEventListener:i().func.isRequired};let W=y;function k(b){var v=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return b??v}function T(b){return T=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(v){return typeof v}:function(v){return v&&typeof Symbol=="function"&&v.constructor===Symbol&&v!==Symbol.prototype?"symbol":typeof v},T(b)}function m(){return m=Object.assign?Object.assign.bind():function(b){for(var v=1;v<arguments.length;v++){var w=arguments[v];for(var E in w)Object.prototype.hasOwnProperty.call(w,E)&&(b[E]=w[E])}return b},m.apply(this,arguments)}function P(b,v){for(var w=0;w<v.length;w++){var E=v[w];E.enumerable=E.enumerable||!1,E.configurable=!0,"value"in E&&(E.writable=!0),Object.defineProperty(b,E.key,E)}}function _(b,v){return _=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(w,E){return w.__proto__=E,w},_(b,v)}function x(b,v){if(v&&(T(v)==="object"||typeof v=="function"))return v;if(v!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return I(b)}function I(b){if(b===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return b}function L(b){return L=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(v){return v.__proto__||Object.getPrototypeOf(v)},L(b)}function N(b,v,w){return v in b?Object.defineProperty(b,v,{value:w,enumerable:!0,configurable:!0,writable:!0}):b[v]=w,b}var X=function(b){(function(h,u){if(typeof u!="function"&&u!==null)throw new TypeError("Super expression must either be null or a function");h.prototype=Object.create(u&&u.prototype,{constructor:{value:h,writable:!0,configurable:!0}}),Object.defineProperty(h,"prototype",{writable:!1}),u&&_(h,u)})(Q,b);var v,w,E,J,he=(E=Q,J=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var h,u=L(E);if(J){var S=L(this).constructor;h=Reflect.construct(u,arguments,S)}else h=u.apply(this,arguments);return x(this,h)});function Q(h){var u,S;return function(g,C){if(!(g instanceof C))throw new TypeError("Cannot call a class as a function")}(this,Q),N(I(u=he.call(this,h)),"handlePreviousPage",function(g){var C=u.state.selected;u.handleClick(g,null,C>0?C-1:void 0,{isPrevious:!0})}),N(I(u),"handleNextPage",function(g){var C=u.state.selected,R=u.props.pageCount;u.handleClick(g,null,C<R-1?C+1:void 0,{isNext:!0})}),N(I(u),"handlePageSelected",function(g,C){if(u.state.selected===g)return u.callActiveCallback(g),void u.handleClick(C,null,void 0,{isActive:!0});u.handleClick(C,null,g)}),N(I(u),"handlePageChange",function(g){u.state.selected!==g&&(u.setState({selected:g}),u.callCallback(g))}),N(I(u),"getEventListener",function(g){return N({},u.props.eventListener,g)}),N(I(u),"handleClick",function(g,C,R){var M=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},q=M.isPrevious,G=q!==void 0&&q,Te=M.isNext,ee=Te!==void 0&&Te,F=M.isBreak,K=F!==void 0&&F,$=M.isActive,ne=$!==void 0&&$;g.preventDefault?g.preventDefault():g.returnValue=!1;var H=u.state.selected,z=u.props.onClick,U=R;if(z){var A=z({index:C,selected:H,nextSelectedPage:R,event:g,isPrevious:G,isNext:ee,isBreak:K,isActive:ne});if(A===!1)return;Number.isInteger(A)&&(U=A)}U!==void 0&&u.handlePageChange(U)}),N(I(u),"handleBreakClick",function(g,C){var R=u.state.selected;u.handleClick(C,g,R<g?u.getForwardJump():u.getBackwardJump(),{isBreak:!0})}),N(I(u),"callCallback",function(g){u.props.onPageChange!==void 0&&typeof u.props.onPageChange=="function"&&u.props.onPageChange({selected:g})}),N(I(u),"callActiveCallback",function(g){u.props.onPageActive!==void 0&&typeof u.props.onPageActive=="function"&&u.props.onPageActive({selected:g})}),N(I(u),"getElementPageRel",function(g){var C=u.state.selected,R=u.props,M=R.nextPageRel,q=R.prevPageRel,G=R.selectedPageRel;return C-1===g?q:C===g?G:C+1===g?M:void 0}),N(I(u),"pagination",function(){var g=[],C=u.props,R=C.pageRangeDisplayed,M=C.pageCount,q=C.marginPagesDisplayed,G=C.breakLabel,Te=C.breakClassName,ee=C.breakLinkClassName,F=u.state.selected;if(M<=R)for(var K=0;K<M;K++)g.push(u.getPageElement(K));else{var $=R/2,ne=R-$;F>M-R/2?$=R-(ne=M-F):F<R/2&&(ne=R-($=F));var H,z,U=function(ie){return u.getPageElement(ie)},A=[];for(H=0;H<M;H++){var Z=H+1;Z<=q||Z>M-q||H>=F-$&&H<=F+(F===0&&R>1?ne-1:ne)?A.push({type:"page",index:H,display:U(H)}):G&&A.length>0&&A[A.length-1].display!==z&&(R>0||q>0)&&(z=s().createElement(W,{key:H,breakLabel:G,breakClassName:Te,breakLinkClassName:ee,breakHandler:u.handleBreakClick.bind(null,H),getEventListener:u.getEventListener}),A.push({type:"break",index:H,display:z}))}A.forEach(function(ie,oe){var ue=ie;ie.type==="break"&&A[oe-1]&&A[oe-1].type==="page"&&A[oe+1]&&A[oe+1].type==="page"&&A[oe+1].index-A[oe-1].index<=2&&(ue={type:"page",index:ie.index,display:U(ie.index)}),g.push(ue.display)})}return g}),h.initialPage!==void 0&&h.forcePage!==void 0&&console.warn("(react-paginate): Both initialPage (".concat(h.initialPage,") and forcePage (").concat(h.forcePage,") props are provided, which is discouraged.")+` Use exclusively forcePage prop for a controlled component. 2 2 See https://reactjs.org/docs/forms.html#controlled-components`),S=h.initialPage?h.initialPage:h.forcePage?h.forcePage:0,u.state={selected:S},u}return v=Q,(w=[{key:"componentDidMount",value:function(){var h=this.props,u=h.initialPage,S=h.disableInitialCallback,g=h.extraAriaContext,C=h.pageCount,R=h.forcePage;u===void 0||S||this.callCallback(u),g&&console.warn("DEPRECATED (react-paginate): The extraAriaContext prop is deprecated. You should now use the ariaLabelBuilder instead."),Number.isInteger(C)||console.warn("(react-paginate): The pageCount prop value provided is not an integer (".concat(C,"). Did you forget a Math.ceil()?")),u!==void 0&&u>C-1&&console.warn("(react-paginate): The initialPage prop provided is greater than the maximum page index from pageCount prop (".concat(u," > ").concat(C-1,").")),R!==void 0&&R>C-1&&console.warn("(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (".concat(R," > ").concat(C-1,")."))}},{key:"componentDidUpdate",value:function(h){this.props.forcePage!==void 0&&this.props.forcePage!==h.forcePage&&(this.props.forcePage>this.props.pageCount-1&&console.warn("(react-paginate): The forcePage prop provided is greater than the maximum page index from pageCount prop (".concat(this.props.forcePage," > ").concat(this.props.pageCount-1,").")),this.setState({selected:this.props.forcePage})),Number.isInteger(h.pageCount)&&!Number.isInteger(this.props.pageCount)&&console.warn("(react-paginate): The pageCount prop value provided is not an integer (".concat(this.props.pageCount,"). Did you forget a Math.ceil()?"))}},{key:"getForwardJump",value:function(){var h=this.state.selected,u=this.props,S=u.pageCount,g=h+u.pageRangeDisplayed;return g>=S?S-1:g}},{key:"getBackwardJump",value:function(){var h=this.state.selected-this.props.pageRangeDisplayed;return h<0?0:h}},{key:"getElementHref",value:function(h){var u=this.props,S=u.hrefBuilder,g=u.pageCount,C=u.hrefAllControls;if(S)return C||h>=0&&h<g?S(h+1,g,this.state.selected):void 0}},{key:"ariaLabelBuilder",value:function(h){var u=h===this.state.selected;if(this.props.ariaLabelBuilder&&h>=0&&h<this.props.pageCount){var S=this.props.ariaLabelBuilder(h+1,u);return this.props.extraAriaContext&&!u&&(S=S+" "+this.props.extraAriaContext),S}}},{key:"getPageElement",value:function(h){var u=this.state.selected,S=this.props,g=S.pageClassName,C=S.pageLinkClassName,R=S.activeClassName,M=S.activeLinkClassName,q=S.extraAriaContext,G=S.pageLabelBuilder;return s().createElement(d,{key:h,pageSelectedHandler:this.handlePageSelected.bind(null,h),selected:u===h,rel:this.getElementPageRel(h),pageClassName:g,pageLinkClassName:C,activeClassName:R,activeLinkClassName:M,extraAriaContext:q,href:this.getElementHref(h),ariaLabel:this.ariaLabelBuilder(h),page:h+1,pageLabelBuilder:G,getEventListener:this.getEventListener})}},{key:"render",value:function(){var h=this.props.renderOnZeroPageCount;if(this.props.pageCount===0&&h!==void 0)return h&&h(this.props);var u=this.props,S=u.disabledClassName,g=u.disabledLinkClassName,C=u.pageCount,R=u.className,M=u.containerClassName,q=u.previousLabel,G=u.previousClassName,Te=u.previousLinkClassName,ee=u.previousAriaLabel,F=u.prevRel,K=u.nextLabel,$=u.nextClassName,ne=u.nextLinkClassName,H=u.nextAriaLabel,z=u.nextRel,U=this.state.selected,A=U===0,Z=U===C-1,ie="".concat(k(G)).concat(A?" ".concat(k(S)):""),oe="".concat(k($)).concat(Z?" ".concat(k(S)):""),ue="".concat(k(Te)).concat(A?" ".concat(k(g)):""),Ue="".concat(k(ne)).concat(Z?" ".concat(k(g)):""),ke=A?"true":"false",Ge=Z?"true":"false";return s().createElement("ul",{className:R||M,role:"navigation","aria-label":"Pagination"},s().createElement("li",{className:ie},s().createElement("a",m({className:ue,href:this.getElementHref(U-1),tabIndex:A?"-1":"0",role:"button",onKeyPress:this.handlePreviousPage,"aria-disabled":ke,"aria-label":ee,rel:F},this.getEventListener(this.handlePreviousPage)),q)),this.pagination(),s().createElement("li",{className:oe},s().createElement("a",m({className:Ue,href:this.getElementHref(U+1),tabIndex:Z?"-1":"0",role:"button",onKeyPress:this.handleNextPage,"aria-disabled":Ge,"aria-label":H,rel:z},this.getEventListener(this.handleNextPage)),K)))}}])&&P(v.prototype,w),Object.defineProperty(v,"prototype",{writable:!1}),Q}(r.Component);N(X,"propTypes",{pageCount:i().number.isRequired,pageRangeDisplayed:i().number,marginPagesDisplayed:i().number,previousLabel:i().node,previousAriaLabel:i().string,prevPageRel:i().string,prevRel:i().string,nextLabel:i().node,nextAriaLabel:i().string,nextPageRel:i().string,nextRel:i().string,breakLabel:i().oneOfType([i().string,i().node]),hrefBuilder:i().func,hrefAllControls:i().bool,onPageChange:i().func,onPageActive:i().func,onClick:i().func,initialPage:i().number,forcePage:i().number,disableInitialCallback:i().bool,containerClassName:i().string,className:i().string,pageClassName:i().string,pageLinkClassName:i().string,pageLabelBuilder:i().func,activeClassName:i().string,activeLinkClassName:i().string,previousClassName:i().string,nextClassName:i().string,previousLinkClassName:i().string,nextLinkClassName:i().string,disabledClassName:i().string,disabledLinkClassName:i().string,breakClassName:i().string,breakLinkClassName:i().string,extraAriaContext:i().string,ariaLabelBuilder:i().func,eventListener:i().string,renderOnZeroPageCount:i().func,selectedPageRel:i().string}),N(X,"defaultProps",{pageRangeDisplayed:2,marginPagesDisplayed:3,activeClassName:"selected",previousLabel:"Previous",previousClassName:"previous",previousAriaLabel:"Previous page",prevPageRel:"prev",prevRel:"prev",nextLabel:"Next",nextClassName:"next",nextAriaLabel:"Next page",nextPageRel:"next",nextRel:"next",breakLabel:"...",disabledClassName:"disabled",disableInitialCallback:!1,pageLabelBuilder:function(b){return b},eventListener:"onClick",renderOnZeroPageCount:void 0,selectedPageRel:"canonical",hrefAllControls:!1});let V=X})(),n})())});var Ar=O(de()),ft=O(se());var tt=O(pe());var Me=O(pe());function mt(e){return function(a){return!!a.type&&a.type.tabsRole===e}}var Pe=mt("Tab"),Ee=mt("TabList"),Ce=mt("TabPanel");function bt(){return bt=Object.assign||function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},bt.apply(this,arguments)}function Wr(e){return Pe(e)||Ee(e)||Ce(e)}function Ze(e,a){return Me.Children.map(e,function(t){return t===null?null:Wr(t)?a(t):t.props&&t.props.children&&typeof t.props.children=="object"?(0,Me.cloneElement)(t,bt({},t.props,{children:Ze(t.props.children,a)})):t})}function Be(e,a){return Me.Children.forEach(e,function(t){t!==null&&(Pe(t)||Ce(t)?a(t):t.props&&t.props.children&&typeof t.props.children=="object"&&(Ee(t)&&a(t),Be(t.props.children,a)))})}var ge=O(pe());function Jt(e){var a,t,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e))for(a=0;a<e.length;a++)e[a]&&(t=Jt(e[a]))&&(o&&(o+=" "),o+=t);else for(a in e)e[a]&&(o&&(o+=" "),o+=a);return o}function Vr(){for(var e,a,t=0,o="";t<arguments.length;)(e=arguments[t++])&&(a=Jt(e))&&(o&&(o+=" "),o+=a);return o}var Ne=Vr;var $r=0;function Ye(){return"react-tabs-"+$r++}function Xe(e){var a=0;return Be(e,function(t){Pe(t)&&a++}),a}function Gt(e){var a=0;return Be(e,function(t){Ce(t)&&a++}),a}var Hr=["children","className","disabledTabClassName","domRef","focus","forceRenderTabPanel","onSelect","selectedIndex","selectedTabClassName","selectedTabPanelClassName","environment","disableUpDownKeys"];function ht(){return ht=Object.assign||function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},ht.apply(this,arguments)}function qr(e,a){if(e==null)return{};var t={},o=Object.keys(e),n,r;for(r=0;r<o.length;r++)n=o[r],!(a.indexOf(n)>=0)&&(t[n]=e[n]);return t}function Kr(e,a){e.prototype=Object.create(a.prototype),e.prototype.constructor=e,gt(e,a)}function gt(e,a){return gt=Object.setPrototypeOf||function(o,n){return o.__proto__=n,o},gt(e,a)}function Yt(e){return e&&"getAttribute"in e}function Zt(e){return Yt(e)&&e.getAttribute("data-rttab")}function Oe(e){return Yt(e)&&e.getAttribute("aria-disabled")==="true"}var Qe;function zr(e){var a=e||(typeof window<"u"?window:void 0);try{Qe=!!(typeof a<"u"&&a.document&&a.document.activeElement)}catch{Qe=!1}}var et=function(e){Kr(a,e);function a(){for(var o,n=arguments.length,r=new Array(n),s=0;s<n;s++)r[s]=arguments[s];return o=e.call.apply(e,[this].concat(r))||this,o.tabNodes=[],o.handleKeyDown=function(c){var i=o.props,l=i.direction,p=i.disableUpDownKeys;if(o.isTabFromContainer(c.target)){var d=o.props.selectedIndex,f=!1,y=!1;(c.keyCode===32||c.keyCode===13)&&(f=!0,y=!1,o.handleClick(c)),c.keyCode===37||!p&&c.keyCode===38?(l==="rtl"?d=o.getNextTab(d):d=o.getPrevTab(d),f=!0,y=!0):c.keyCode===39||!p&&c.keyCode===40?(l==="rtl"?d=o.getPrevTab(d):d=o.getNextTab(d),f=!0,y=!0):c.keyCode===35?(d=o.getLastTab(),f=!0,y=!0):c.keyCode===36&&(d=o.getFirstTab(),f=!0,y=!0),f&&c.preventDefault(),y&&o.setSelected(d,c)}},o.handleClick=function(c){var i=c.target;do if(o.isTabFromContainer(i)){if(Oe(i))return;var l=[].slice.call(i.parentNode.children).filter(Zt).indexOf(i);o.setSelected(l,c);return}while((i=i.parentNode)!=null)},o}var t=a.prototype;return t.setSelected=function(n,r){if(!(n<0||n>=this.getTabsCount())){var s=this.props,c=s.onSelect,i=s.selectedIndex;c(n,i,r)}},t.getNextTab=function(n){for(var r=this.getTabsCount(),s=n+1;s<r;s++)if(!Oe(this.getTab(s)))return s;for(var c=0;c<n;c++)if(!Oe(this.getTab(c)))return c;return n},t.getPrevTab=function(n){for(var r=n;r--;)if(!Oe(this.getTab(r)))return r;for(r=this.getTabsCount();r-- >n;)if(!Oe(this.getTab(r)))return r;return n},t.getFirstTab=function(){for(var n=this.getTabsCount(),r=0;r<n;r++)if(!Oe(this.getTab(r)))return r;return null},t.getLastTab=function(){for(var n=this.getTabsCount();n--;)if(!Oe(this.getTab(n)))return n;return null},t.getTabsCount=function(){var n=this.props.children;return Xe(n)},t.getPanelsCount=function(){var n=this.props.children;return Gt(n)},t.getTab=function(n){return this.tabNodes["tabs-"+n]},t.getChildren=function(){var n=this,r=0,s=this.props,c=s.children,i=s.disabledTabClassName,l=s.focus,p=s.forceRenderTabPanel,d=s.selectedIndex,f=s.selectedTabClassName,y=s.selectedTabPanelClassName,W=s.environment;this.tabIds=this.tabIds||[],this.panelIds=this.panelIds||[];for(var k=this.tabIds.length-this.getTabsCount();k++<0;)this.tabIds.push(Ye()),this.panelIds.push(Ye());return Ze(c,function(T){var m=T;if(Ee(T)){var P=0,_=!1;Qe==null&&zr(W),Qe&&(_=ge.default.Children.toArray(T.props.children).filter(Pe).some(function(I,L){var N=W||(typeof window<"u"?window:void 0);return N&&N.document.activeElement===n.getTab(L)})),m=(0,ge.cloneElement)(T,{children:Ze(T.props.children,function(I){var L="tabs-"+P,N=d===P,X={tabRef:function(b){n.tabNodes[L]=b},id:n.tabIds[P],panelId:n.panelIds[P],selected:N,focus:N&&(l||_)};return f&&(X.selectedClassName=f),i&&(X.disabledClassName=i),P++,(0,ge.cloneElement)(I,X)})})}else if(Ce(T)){var x={id:n.panelIds[r],tabId:n.tabIds[r],selected:d===r};p&&(x.forceRender=p),y&&(x.selectedClassName=y),r++,m=(0,ge.cloneElement)(T,x)}return m})},t.isTabFromContainer=function(n){if(!Zt(n))return!1;var r=n.parentElement;do{if(r===this.node)return!0;if(r.getAttribute("data-rttabs"))break;r=r.parentElement}while(r);return!1},t.render=function(){var n=this,r=this.props,s=r.children,c=r.className,i=r.disabledTabClassName,l=r.domRef,p=r.focus,d=r.forceRenderTabPanel,f=r.onSelect,y=r.selectedIndex,W=r.selectedTabClassName,k=r.selectedTabPanelClassName,T=r.environment,m=r.disableUpDownKeys,P=qr(r,Hr);return ge.default.createElement("div",ht({},P,{className:Ne(c),onClick:this.handleClick,onKeyDown:this.handleKeyDown,ref:function(x){n.node=x,l&&l(x)},"data-rttabs":!0}),this.getChildren())},a}(ge.Component);et.defaultProps={className:"react-tabs",focus:!1};et.propTypes={};var Jr=["children","defaultIndex","defaultFocus"];function Gr(e,a){if(e==null)return{};var t={},o=Object.keys(e),n,r;for(r=0;r<o.length;r++)n=o[r],!(a.indexOf(n)>=0)&&(t[n]=e[n]);return t}function Zr(e,a){e.prototype=Object.create(a.prototype),e.prototype.constructor=e,yt(e,a)}function yt(e,a){return yt=Object.setPrototypeOf||function(o,n){return o.__proto__=n,o},yt(e,a)}var Yr=0,vt=1,Se=function(e){Zr(a,e);function a(o){var n;return n=e.call(this,o)||this,n.handleSelected=function(r,s,c){var i=n.props.onSelect,l=n.state.mode;if(!(typeof i=="function"&&i(r,s,c)===!1)){var p={focus:c.type==="keydown"};l===vt&&(p.selectedIndex=r),n.setState(p)}},n.state=a.copyPropsToState(n.props,{},o.defaultFocus),n}a.getDerivedStateFromProps=function(n,r){return a.copyPropsToState(n,r)},a.getModeFromProps=function(n){return n.selectedIndex===null?vt:Yr},a.copyPropsToState=function(n,r,s){s===void 0&&(s=!1);var c={focus:s,mode:a.getModeFromProps(n)};if(c.mode===vt){var i=Math.max(0,Xe(n.children)-1),l=null;r.selectedIndex!=null?l=Math.min(r.selectedIndex,i):l=n.defaultIndex||0,c.selectedIndex=l}return c};var t=a.prototype;return t.render=function(){var n=this.props,r=n.children,s=n.defaultIndex,c=n.defaultFocus,i=Gr(n,Jr),l=this.state,p=l.focus,d=l.selectedIndex;return i.focus=p,i.onSelect=this.handleSelected,d!=null&&(i.selectedIndex=d),tt.default.createElement(et,i,r)},a}(tt.Component);Se.defaultProps={defaultFocus:!1,forceRenderTabPanel:!1,selectedIndex:null,defaultIndex:null,environment:null,disableUpDownKeys:!1};Se.propTypes={};Se.tabsRole="Tabs";var rt=O(pe());var Xr=["children","className"];function Tt(){return Tt=Object.assign||function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},Tt.apply(this,arguments)}function Qr(e,a){if(e==null)return{};var t={},o=Object.keys(e),n,r;for(r=0;r<o.length;r++)n=o[r],!(a.indexOf(n)>=0)&&(t[n]=e[n]);return t}function ea(e,a){e.prototype=Object.create(a.prototype),e.prototype.constructor=e,Pt(e,a)}function Pt(e,a){return Pt=Object.setPrototypeOf||function(o,n){return o.__proto__=n,o},Pt(e,a)}var Ie=function(e){ea(a,e);function a(){return e.apply(this,arguments)||this}var t=a.prototype;return t.render=function(){var n=this.props,r=n.children,s=n.className,c=Qr(n,Xr);return rt.default.createElement("ul",Tt({},c,{className:Ne(s),role:"tablist"}),r)},a}(rt.Component);Ie.defaultProps={className:"react-tabs__tab-list"};Ie.propTypes={};Ie.tabsRole="TabList";var at=O(pe());var ta=["children","className","disabled","disabledClassName","focus","id","panelId","selected","selectedClassName","tabIndex","tabRef"];function Nt(){return Nt=Object.assign||function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},Nt.apply(this,arguments)}function ra(e,a){if(e==null)return{};var t={},o=Object.keys(e),n,r;for(r=0;r<o.length;r++)n=o[r],!(a.indexOf(n)>=0)&&(t[n]=e[n]);return t}function aa(e,a){e.prototype=Object.create(a.prototype),e.prototype.constructor=e,_t(e,a)}function _t(e,a){return _t=Object.setPrototypeOf||function(o,n){return o.__proto__=n,o},_t(e,a)}var Ct="react-tabs__tab",_e=function(e){aa(a,e);function a(){return e.apply(this,arguments)||this}var t=a.prototype;return t.componentDidMount=function(){this.checkFocus()},t.componentDidUpdate=function(){this.checkFocus()},t.checkFocus=function(){var n=this.props,r=n.selected,s=n.focus;r&&s&&this.node.focus()},t.render=function(){var n,r=this,s=this.props,c=s.children,i=s.className,l=s.disabled,p=s.disabledClassName,d=s.focus,f=s.id,y=s.panelId,W=s.selected,k=s.selectedClassName,T=s.tabIndex,m=s.tabRef,P=ra(s,ta);return at.default.createElement("li",Nt({},P,{className:Ne(i,(n={},n[k]=W,n[p]=l,n)),ref:function(x){r.node=x,m&&m(x)},role:"tab",id:f,"aria-selected":W?"true":"false","aria-disabled":l?"true":"false","aria-controls":y,tabIndex:T||(W?"0":null),"data-rttab":!0}),c)},a}(at.Component);_e.defaultProps={className:Ct,disabledClassName:Ct+"--disabled",focus:!1,id:null,panelId:null,selected:!1,selectedClassName:Ct+"--selected"};_e.propTypes={};_e.tabsRole="Tab";var nt=O(pe());var na=["children","className","forceRender","id","selected","selectedClassName","tabId"];function xt(){return xt=Object.assign||function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},xt.apply(this,arguments)}function oa(e,a){if(e==null)return{};var t={},o=Object.keys(e),n,r;for(r=0;r<o.length;r++)n=o[r],!(a.indexOf(n)>=0)&&(t[n]=e[n]);return t}function sa(e,a){e.prototype=Object.create(a.prototype),e.prototype.constructor=e,Rt(e,a)}function Rt(e,a){return Rt=Object.setPrototypeOf||function(o,n){return o.__proto__=n,o},Rt(e,a)}var Xt="react-tabs__tab-panel",xe=function(e){sa(a,e);function a(){return e.apply(this,arguments)||this}var t=a.prototype;return t.render=function(){var n,r=this.props,s=r.children,c=r.className,i=r.forceRender,l=r.id,p=r.selected,d=r.selectedClassName,f=r.tabId,y=oa(r,na);return nt.default.createElement("div",xt({},y,{className:Ne(c,(n={},n[d]=p,n)),role:"tabpanel",id:l,"aria-labelledby":f}),i||p?s:null)},a}(nt.Component);xe.defaultProps={className:Xt,forceRender:!1,selectedClassName:Xt+"--selected"};xe.propTypes={};xe.tabsRole="TabPanel";var Je=O(de()),je=O(se());var lt=O(ot());var D=O(pe(),1);function ar(e,a,t,o){function n(r){return r instanceof t?r:new t(function(s){s(r)})}return new(t||(t=Promise))(function(r,s){function c(p){try{l(o.next(p))}catch(d){s(d)}}function i(p){try{l(o.throw(p))}catch(d){s(d)}}function l(p){p.done?r(p.value):n(p.value).then(c,i)}l((o=o.apply(e,a||[])).next())})}function nr(e,a){var t={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},o,n,r,s;return s={next:c(0),throw:c(1),return:c(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function c(l){return function(p){return i([l,p])}}function i(l){if(o)throw new TypeError("Generator is already executing.");for(;t;)try{if(o=1,n&&(r=l[0]&2?n.return:l[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,l[1])).done)return r;switch(n=0,r&&(l=[l[0]&2,r.value]),l[0]){case 0:case 1:r=l;break;case 4:return t.label++,{value:l[1],done:!1};case 5:t.label++,n=l[1],l=[0];continue;case 7:l=t.ops.pop(),t.trys.pop();continue;default:if(r=t.trys,!(r=r.length>0&&r[r.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!r||l[1]>r[0]&&l[1]<r[3])){t.label=l[1];break}if(l[0]===6&&t.label<r[1]){t.label=r[1],r=l;break}if(r&&t.label<r[2]){t.label=r[2],t.ops.push(l);break}r[2]&&t.ops.pop(),t.trys.pop();continue}l=a.call(e,t)}catch(p){l=[6,p],n=0}finally{o=r=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}var fe=function(){},te=fe(),We=Object,re=function(e){return e===te},Re=function(e){return typeof e=="function"},ve=function(e,a){return We.assign({},e,a)},At="undefined",Dt=function(){return typeof window!=At},ia=function(){return typeof document!=At},la=function(){return Dt()&&typeof window.requestAnimationFrame!=At},st=new WeakMap,ca=0,He=function(e){var a=typeof e,t=e&&e.constructor,o=t==Date,n,r;if(We(e)===e&&!o&&t!=RegExp){if(n=st.get(e),n)return n;if(n=++ca+"~",st.set(e,n),t==Array){for(n="@",r=0;r<e.length;r++)n+=He(e[r])+",";st.set(e,n)}if(t==We){n="#";for(var s=We.keys(e).sort();!re(r=s.pop());)re(e[r])||(n+=r+":"+He(e[r])+",");st.set(e,n)}}else n=o?e.toJSON():a=="symbol"?e.toString():a=="string"?JSON.stringify(e):""+e;return n},Ot=!0,ua=function(){return Ot},or=Dt(),jt=ia(),Lt=or&&window.addEventListener?window.addEventListener.bind(window):fe,da=jt?document.addEventListener.bind(document):fe,Et=or&&window.removeEventListener?window.removeEventListener.bind(window):fe,pa=jt?document.removeEventListener.bind(document):fe,fa=function(){var e=jt&&document.visibilityState;return re(e)||e!=="hidden"},ma=function(e){return da("visibilitychange",e),Lt("focus",e),function(){pa("visibilitychange",e),Et("focus",e)}},ba=function(e){var a=function(){Ot=!0,e()},t=function(){Ot=!1};return Lt("online",a),Lt("offline",t),function(){Et("online",a),Et("offline",t)}},ha={isOnline:ua,isVisible:fa},ga={initFocus:ma,initReconnect:ba},it=!Dt()||"Deno"in window,va=function(e){return la()?window.requestAnimationFrame(e):setTimeout(e,1)},Ve=it?D.useEffect:D.useLayoutEffect,wt=typeof navigator<"u"&&navigator.connection,er=!it&&wt&&(["slow-2g","2g"].includes(wt.effectiveType)||wt.saveData),sr=function(e){if(Re(e))try{e=e()}catch{e=""}var a=[].concat(e);e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?He(e):"";var t=e?"$swr$"+e:"";return[e,a,t]},Le=new WeakMap,ir=0,lr=1,cr=2,$e=function(e,a,t,o,n,r,s){s===void 0&&(s=!0);var c=Le.get(e),i=c[0],l=c[1],p=c[3],d=i[a],f=l[a];if(s&&f)for(var y=0;y<f.length;++y)f[y](t,o,n);return r&&(delete p[a],d&&d[0])?d[0](cr).then(function(){return e.get(a)}):e.get(a)},ya=0,St=function(){return++ya},ur=function(){for(var e=[],a=0;a<arguments.length;a++)e[a]=arguments[a];return ar(void 0,void 0,void 0,function(){var t,o,n,r,s,c,i,l,p,d,f,y,W,k,T,m,P,_,x,I,L;return nr(this,function(N){switch(N.label){case 0:if(t=e[0],o=e[1],n=e[2],r=e[3],s=typeof r=="boolean"?{revalidate:r}:r||{},c=re(s.populateCache)?!0:s.populateCache,i=s.revalidate!==!1,l=s.rollbackOnError!==!1,p=s.optimisticData,d=sr(o),f=d[0],y=d[2],!f)return[2];if(W=Le.get(t),k=W[2],e.length<3)return[2,$e(t,f,t.get(f),te,te,i,!0)];if(T=n,P=St(),k[f]=[P,0],_=!re(p),x=t.get(f),_&&(I=Re(p)?p(x):p,t.set(f,I),$e(t,f,I)),Re(T))try{T=T(t.get(f))}catch(X){m=X}return T&&Re(T.then)?[4,T.catch(function(X){m=X})]:[3,2];case 1:if(T=N.sent(),P!==k[f][0]){if(m)throw m;return[2,T]}else m&&_&&l&&(c=!0,T=x,t.set(f,x));N.label=2;case 2:return c&&(m||(Re(c)&&(T=c(T,x)),t.set(f,T)),t.set(y,ve(t.get(y),{error:m}))),k[f][1]=St(),[4,$e(t,f,T,m,te,i,!!c)];case 3:if(L=N.sent(),m)throw m;return[2,c?L:T]}})})},tr=function(e,a){for(var t in e)e[t][0]&&e[t][0](a)},dr=function(e,a){if(!Le.has(e)){var t=ve(ga,a),o={},n=ur.bind(te,e),r=fe;if(Le.set(e,[o,{},{},{},n]),!it){var s=t.initFocus(setTimeout.bind(te,tr.bind(te,o,ir))),c=t.initReconnect(setTimeout.bind(te,tr.bind(te,o,lr)));r=function(){s&&s(),c&&c(),Le.delete(e)}}return[e,n,r]}return[e,Le.get(e)[4]]},Ta=function(e,a,t,o,n){var r=t.errorRetryCount,s=n.retryCount,c=~~((Math.random()+.5)*(1<<(s<8?s:8)))*t.errorRetryInterval;!re(r)&&s>r||setTimeout(o,c,n)},pr=dr(new Map),fr=pr[0],Pa=pr[1],mr=ve({onLoadingSlow:fe,onSuccess:fe,onError:fe,onErrorRetry:Ta,onDiscarded:fe,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:er?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:er?5e3:3e3,compare:function(e,a){return He(e)==He(a)},isPaused:function(){return!1},cache:fr,mutate:Pa,fallback:{}},ha),br=function(e,a){var t=ve(e,a);if(a){var o=e.use,n=e.fallback,r=a.use,s=a.fallback;o&&r&&(t.use=o.concat(r)),n&&s&&(t.fallback=ve(n,s))}return t},It=(0,D.createContext)({}),Ca=function(e){var a=e.value,t=br((0,D.useContext)(It),a),o=a&&a.provider,n=(0,D.useState)(function(){return o?dr(o(t.cache||fr),a):te})[0];return n&&(t.cache=n[0],t.mutate=n[1]),Ve(function(){return n?n[2]:te},[]),(0,D.createElement)(It.Provider,ve(e,{value:t}))},Na=function(e,a){var t=(0,D.useState)({})[1],o=(0,D.useRef)(e),n=(0,D.useRef)({data:!1,error:!1,isValidating:!1}),r=(0,D.useCallback)(function(s){var c=!1,i=o.current;for(var l in s){var p=l;i[p]!==s[p]&&(i[p]=s[p],n.current[p]&&(c=!0))}c&&!a.current&&t({})},[]);return Ve(function(){o.current=e}),[o,n.current,r]},_a=function(e){return Re(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}]},xa=function(){return ve(mr,(0,D.useContext)(It))},Ra=function(e){return function(){for(var t=[],o=0;o<arguments.length;o++)t[o]=arguments[o];var n=xa(),r=_a(t),s=r[0],c=r[1],i=r[2],l=br(n,i),p=e,d=l.use;if(d)for(var f=d.length;f-- >0;)p=d[f](p);return p(s,c||l.fetcher,l)}},rr=function(e,a,t){var o=a[e]||(a[e]=[]);return o.push(t),function(){var n=o.indexOf(t);n>=0&&(o[n]=o[o.length-1],o.pop())}},kt={dedupe:!0},wa=function(e,a,t){var o=t.cache,n=t.compare,r=t.fallbackData,s=t.suspense,c=t.revalidateOnMount,i=t.refreshInterval,l=t.refreshWhenHidden,p=t.refreshWhenOffline,d=Le.get(o),f=d[0],y=d[1],W=d[2],k=d[3],T=sr(e),m=T[0],P=T[1],_=T[2],x=(0,D.useRef)(!1),I=(0,D.useRef)(!1),L=(0,D.useRef)(m),N=(0,D.useRef)(a),X=(0,D.useRef)(t),V=function(){return X.current},b=function(){return V().isVisible()&&V().isOnline()},v=function(ee){return o.set(_,ve(o.get(_),ee))},w=o.get(m),E=re(r)?t.fallback[m]:r,J=re(w)?E:w,he=o.get(_)||{},Q=he.error,h=!x.current,u=function(){return h&&!re(c)?c:V().isPaused()?!1:s?re(J)?!1:t.revalidateIfStale:re(J)||t.revalidateIfStale},S=function(){return!m||!a?!1:he.isValidating?!0:h&&u()},g=S(),C=Na({data:J,error:Q,isValidating:g},I),R=C[0],M=C[1],q=C[2],G=(0,D.useCallback)(function(ee){return ar(void 0,void 0,void 0,function(){var F,K,$,ne,H,z,U,A,Z,ie,oe,ue,Ue;return nr(this,function(ke){switch(ke.label){case 0:if(F=N.current,!m||!F||I.current||V().isPaused())return[2,!1];ne=!0,H=ee||{},z=!k[m]||!H.dedupe,U=function(){return!I.current&&m===L.current&&x.current},A=function(){var Ge=k[m];Ge&&Ge[1]===$&&delete k[m]},Z={isValidating:!1},ie=function(){v({isValidating:!1}),U()&&q(Z)},v({isValidating:!0}),q({isValidating:!0}),ke.label=1;case 1:return ke.trys.push([1,3,,4]),z&&($e(o,m,R.current.data,R.current.error,!0),t.loadingTimeout&&!o.get(m)&&setTimeout(function(){ne&&U()&&V().onLoadingSlow(m,t)},t.loadingTimeout),k[m]=[F.apply(void 0,P),St()]),Ue=k[m],K=Ue[0],$=Ue[1],[4,K];case 2:return K=ke.sent(),z&&setTimeout(A,t.dedupingInterval),!k[m]||k[m][1]!==$?(z&&U()&&V().onDiscarded(m),[2,!1]):(v({error:te}),Z.error=te,oe=W[m],!re(oe)&&($<=oe[0]||$<=oe[1]||oe[1]===0)?(ie(),z&&U()&&V().onDiscarded(m),[2,!1]):(n(R.current.data,K)?Z.data=R.current.data:Z.data=K,n(o.get(m),K)||o.set(m,K),z&&U()&&V().onSuccess(K,m,t),[3,4]));case 3:return ue=ke.sent(),A(),V().isPaused()||(v({error:ue}),Z.error=ue,z&&U()&&(V().onError(ue,m,t),(typeof t.shouldRetryOnError=="boolean"&&t.shouldRetryOnError||Re(t.shouldRetryOnError)&&t.shouldRetryOnError(ue))&&b()&&V().onErrorRetry(ue,m,t,G,{retryCount:(H.retryCount||0)+1,dedupe:!0}))),[3,4];case 4:return ne=!1,ie(),U()&&z&&$e(o,m,Z.data,Z.error,!1),[2,!0]}})})},[m]),Te=(0,D.useCallback)(ur.bind(te,o,function(){return L.current}),[]);if(Ve(function(){N.current=a,X.current=t}),Ve(function(){if(!!m){var ee=m!==L.current,F=G.bind(te,kt),K=function(U,A,Z){q(ve({error:A,isValidating:Z},n(R.current.data,U)?te:{data:U}))},$=0,ne=function(U){if(U==ir){var A=Date.now();V().revalidateOnFocus&&A>$&&b()&&($=A+V().focusThrottleInterval,F())}else if(U==lr)V().revalidateOnReconnect&&b()&&F();else if(U==cr)return G()},H=rr(m,y,K),z=rr(m,f,ne);return I.current=!1,L.current=m,x.current=!0,ee&&q({data:J,error:Q,isValidating:g}),u()&&(re(J)||it?F():va(F)),function(){I.current=!0,H(),z()}}},[m,G]),Ve(function(){var ee;function F(){var $=Re(i)?i(J):i;$&&ee!==-1&&(ee=setTimeout(K,$))}function K(){!R.current.error&&(l||V().isVisible())&&(p||V().isOnline())?G(kt).then(F):F()}return F(),function(){ee&&(clearTimeout(ee),ee=-1)}},[i,l,p,G]),(0,D.useDebugValue)(J),s&&re(J)&&m)throw N.current=a,X.current=t,I.current=!1,re(Q)?G(kt):Q;return{mutate:Te,get data(){return M.data=!0,J},get error(){return M.error=!0,Q},get isValidating(){return M.isValidating=!0,g}}},An=We.defineProperty(Ca,"default",{value:mr});var hr=Ra(wa);var B=({content:e,icon:a="editor-help"})=>React.createElement(lt.Tooltip,{text:e},React.createElement("span",{className:"ss-tooltip"},React.createElement(lt.Dashicon,{icon:a}))),ka=e=>{let a=/^(mailto|tel|sms):/,t=/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/;return a.test(e)||t.test(e)},qe=e=>ka(e)?e:(e=e[0]==="/"?e:`/${e}`,SSRedirection.homeURL+`${e}`),ae=(e,a={},t="GET")=>{let o={method:t,headers:{"X-WP-Nonce":SSRedirection.nonce,"Content-Type":"application/json"}},n=`${SSRedirection.rest}/slim-seo-redirection/${e}`;if(t==="POST")o.body=JSON.stringify(a);else{let r=new URLSearchParams(a).toString();r&&(n+=SSRedirection.rest.includes("?")?`&${r}`:`?${r}`)}return fetch(n,o).then(r=>r.json())},me=(e,a={},t={},o)=>{t={method:"GET",returnMutate:!1,options:{},...t};let{data:n,error:r,mutate:s}=hr([e,a,t.method],ae,{revalidateOnFocus:!1,...t.options}),c=r||!n?o:n;return t.returnMutate?{result:c,mutate:s}:c},gr=(e,a)=>{let t="data:text/csv;charset=utf-8,"+a.map(s=>s.map(c=>(!c||typeof c!="string"||(c=c.replaceAll(",","")),c)).join(",")).join(` 3 `),n=encodeURI(t).replaceAll("#","%23"),r=document.createElement("a");r.setAttribute("href",n),r.setAttribute("download",e),r.click()};var vr=O(de()),ct=O(se());var Oa=()=>{let[e,a]=(0,vr.useReducer)(n=>!n,!1),t=e?(0,ct.__)("Exporting","slim-seo"):(0,ct.__)("Export","slim-seo");return React.createElement("a",{href:"#",title:t,onClick:n=>{n.preventDefault(),a(),ae("export").then(r=>{r?gr(r.filename,r.data):alert((0,ct.__)("No redirect found!. Cannot export","slim-seo")),a()})},disabled:e},t)},yr=Oa;var Tr=O(ot()),Ke=O(de()),Ae=O(se());var La=()=>{let[e,a]=(0,Ke.useReducer)(l=>!l,!1),[t,o]=(0,Ke.useState)(),[n,r]=(0,Ke.useReducer)(l=>!l,!1),s=(0,Ae.__)("Import","slim-seo"),c=l=>o(l.target.files[0]),i=()=>{r();let l=new FileReader;l.readAsText(t),l.onload=p=>{ae("import",{text:l.result},"POST").then(d=>{d?location.reload():(alert((0,Ae.__)("Invalid data format. Please try again.","slim-seo")),r())})}};return React.createElement(React.Fragment,null,React.createElement("a",{href:"#",title:s,onClick:a},s),e&&React.createElement(Tr.Modal,{title:(0,Ae.__)("Upload CSV","slim-seo"),overlayClassName:"ss-modal ss-upload",onRequestClose:a},React.createElement("input",{type:"file",accept:"*.csv",onChange:c}),React.createElement("button",{type:"button",className:"button-primary",onClick:i,disabled:!t||n},n?(0,Ae.__)("Submitting...","slim-seo"):(0,Ae.__)("Submit","slim-seo"))))},Ut=La;var we=O(de()),xr=O(se());var Mt=O(se()),Cr=O(Pr()),Ea=({totalRows:e,limit:a,setOffset:t})=>{let o=Math.ceil(e/a),n=r=>{let s=r.selected*a%e;t(s)};return o>1&&React.createElement(Cr.default,{className:"ss-paginate",breakLabel:"...",nextLabel:(0,Mt.__)("Next \xBB","slim-seo"),onPageChange:n,pageRangeDisplayed:5,pageCount:o,previousLabel:(0,Mt.__)("\xAB Previous","slim-seo"),renderOnZeroPageCount:null})},ut=Ea;var le=O(se());var Sa=({isCheckAll:e,checkAll:a})=>React.createElement("tr",null,React.createElement("th",{className:"ss-redirect__checkbox"},React.createElement("input",{type:"checkbox",checked:e,onChange:a})),React.createElement("th",{className:"ss-redirect__type"},(0,le.__)("Type","slim-seo"),React.createElement(B,{content:(0,le.__)("Redirect type","slim-seo")})),React.createElement("th",{className:"ss-redirect__url"},(0,le.__)("From URL","slim-seo"),React.createElement(B,{content:(0,le.__)("URL to redirect","slim-seo")})),React.createElement("th",{className:"ss-redirect__url"},(0,le.__)("To URL","slim-seo"),React.createElement(B,{content:(0,le.__)("Destination URL","slim-seo")})),React.createElement("th",{className:"ss-redirect__note"},(0,le.__)("Note","slim-seo"),React.createElement(B,{content:(0,le.__)("Something to reminds you about the redirects","slim-seo")})),React.createElement("th",{className:"ss-redirect__enable"},(0,le.__)("Enable","slim-seo"),React.createElement(B,{content:(0,le.__)("Is the redirect enabled?","slim-seo")})),React.createElement("th",{className:"ss-redirect__actions"},(0,le.__)("Actions","slim-seo"))),Bt=Sa;var Nr=O(de());var Wt=O(se());var dt=O(ot()),ye=O(de()),Y=O(se());var Ia=({redirectToEdit:e={},children:a,linkClassName:t,callback:o})=>{let[n,r]=(0,ye.useState)({}),[s,c]=(0,ye.useState)(!1),[i,l]=(0,ye.useState)(""),[p,d]=(0,ye.useReducer)(L=>!L,!1),[f,y]=(0,ye.useState)(!1),{result:W,mutate:k}=me("redirects",{},{returnMutate:!0}),T=n.id?(0,Y.__)("Update Redirect","slim-seo"):(0,Y.__)("Add Redirect","slim-seo"),m=L=>{L.preventDefault(),y(!0)},P=()=>y(!1),_=()=>{l(""),ae("update_redirect",{redirect:n},"POST").then(L=>{if(y(!1),c(!1),n.id){o(n);return}n.id=L;let N=[...W];N.push(n),k(N,{revalidate:!1})})},x=L=>N=>{let X=N.target.type==="checkbox"?Number(N.target.checked):L==="note"?N.target.value:N.target.value.trim();r(V=>({...V,[L]:X}))},I=L=>{if(L.preventDefault(),!n.from.length){l((0,Y.__)("Please fill out From URL.","slim-seo"));return}if(n.type!=410&&!n.to.length){l((0,Y.__)("Please fill out To URL.","slim-seo"));return}if(c(!0),n.id){_();return}ae("exists",{from:n.from}).then(N=>{N?(c(!1),l((0,Y.__)("From URL already exists, which means this page already has a redirect rule!","slim-seo"))):_()})};return(0,ye.useEffect)(()=>{r({...SSRedirection.defaultRedirect,...e})},[e]),React.createElement(React.Fragment,null,React.createElement("a",{href:"#",className:t,onClick:m,title:T},a||T),f&&React.createElement(dt.Modal,{title:T,overlayClassName:"ss-modal ssr-modal",onRequestClose:P},React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-type"},(0,Y.__)("Type","slim-seo"),React.createElement(B,{content:(0,Y.__)("Redirect type","slim-seo")})),React.createElement("select",{id:"ss-type",value:n.type,onChange:x("type")},Object.entries(SSRedirection.redirectTypes).map(([L,N])=>React.createElement("option",{key:L,value:L},N))),n.type==410&&React.createElement("p",{className:"description"},React.createElement("small",null,(0,Y.__)("410 means the content is gone and no longer available. It can be deleted permanently. In this case, we need to return the 410 status instead of redirect. If you want to show an alternative page for this content, please consider a 3xx redirect.","slim-seo")))),React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-from"},(0,Y.__)("From URL","slim-seo"),React.createElement(B,{content:(0,Y.__)("URL to redirect","slim-seo")})),React.createElement("div",{className:"ss-from-inputs"},React.createElement("select",{value:n.condition,onChange:x("condition")},Object.entries(SSRedirection.conditionOptions).map(([L,N])=>React.createElement("option",{key:L,value:L},N))),React.createElement("input",{id:"ss-from",type:"text",value:n.from,onChange:x("from")}))),n.type!=410&&React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-to"},(0,Y.__)("To URL","slim-seo"),React.createElement(B,{content:(0,Y.__)("Destination URL","slim-seo")})),React.createElement("input",{id:"ss-to",type:"text",value:n.to,onChange:x("to")})),React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-note"},(0,Y.__)("Note","slim-seo"),React.createElement(B,{content:(0,Y.__)("Something that reminds you about this redirect","slim-seo")})),React.createElement("input",{id:"ss-note",type:"text",value:n.note,onChange:x("note")})),React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{className:"ss-toggle"},React.createElement("input",{type:"checkbox",value:"1",checked:!!n.enable,onChange:x("enable")}),React.createElement("div",{className:"ss-toggle__switch"}),React.createElement("span",{className:"ss-toggle__label"},(0,Y.__)("Enable","slim-seo")))),React.createElement("div",{className:"ssr-modal-field"},React.createElement(dt.Button,{className:"button-link",onClick:d},(0,Y.__)("Advanced options","slim-seo"))),p&&React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{className:"ss-toggle"},React.createElement("input",{type:"checkbox",value:"1",checked:!!n.ignoreParameters,onChange:x("ignoreParameters")}),React.createElement("div",{className:"ss-toggle__switch"}),React.createElement("span",{className:"ss-toggle__label"},(0,Y.__)("Ignore parameters","slim-seo")))),React.createElement("button",{className:"button button-primary",onClick:I,disabled:s},T),i&&React.createElement("p",{className:"ss-warning-message"},i)))},De=Ia;var Aa=({redirectItem:e,checkedList:a,setCheckedList:t,deleteRedirects:o,updateRedirects:n})=>{let[r,s]=(0,Nr.useState)(e),c=d=>{d.target.checked?t([...a,r.id]):t(a.filter(f=>f!==r.id))},i=d=>{let f={...r,enable:!r.enable};s(f),ae("update_redirect",{redirect:f},"POST").then(y=>n(f))},l=d=>{let f={...d};s(f),n(f)},p=d=>{d.preventDefault(),confirm((0,Wt.__)("Delete redirect ","slim-seo")+`'${r.from}'?`)&&o([r.id])};return React.createElement("tr",null,React.createElement("td",{className:"ss-redirect__checkbox"},React.createElement("input",{type:"checkbox",value:r.id,checked:a.includes(r.id),onChange:c})),React.createElement("td",{className:"ss-redirect__type"},r.type),React.createElement("td",{className:"ss-redirect__url"},r.condition==="exact-match"?React.createElement("a",{href:qe(r.from),target:"_blank"},r.from):r.from,React.createElement("small",null,SSRedirection.conditionOptions[r.condition])),React.createElement("td",{className:"ss-redirect__url"},React.createElement("a",{href:qe(r.to),target:"_blank"},r.to)),React.createElement("td",{className:"ss-redirect__note"},r.note),React.createElement("td",{className:"ss-redirect__enable"},React.createElement("label",{className:"ss-toggle"},React.createElement("input",{type:"checkbox",checked:r.enable==1,onChange:i}),React.createElement("div",{className:"ss-toggle__switch"}))),React.createElement("td",{className:"ss-redirect__actions"},React.createElement(De,{redirectToEdit:r,callback:l},React.createElement("span",{className:"dashicons dashicons-edit"})),React.createElement("a",{href:"#",onClick:p,title:(0,Wt.__)("Delete","slim-seo")},React.createElement("span",{className:"dashicons dashicons-trash"}))))},_r=Aa;var Da=({searchKeyword:e,redirectType:a,executeBulkAction:t,setExecuteBulkAction:o})=>{let[r,s]=(0,we.useState)(0),[c,i]=(0,we.useState)([]),[l,p]=(0,we.useState)(!1),[d,f]=(0,we.useState)(0),{result:y,mutate:W}=me("redirects",{},{returnMutate:!0}),k=()=>{p(!l),i(l?[]:y.map(_=>_.id))},T=(_=[])=>{ae("delete_redirects",{ids:_},"POST").then(x=>{W(y.filter(I=>!_.includes(I.id)),{revalidate:!1})})},m=_=>{W(y.map(x=>(x.id==_.id&&(x=_),x)),{revalidate:!1})};if((0,we.useEffect)(()=>{t==="delete"&&(T(c),o(""))},[t]),(0,we.useEffect)(()=>{s(0),f(Date.now())},[e,a]),y===void 0)return React.createElement("div",{className:"ss-loader"});if(Object.keys(y).length===0)return;let P=[...y];return e&&(P=P.filter(_=>_.from.includes(e)||_.to.includes(e))),a&&(P=P.filter(_=>_.type==a)),P.length?React.createElement(React.Fragment,null,React.createElement("table",{className:"ss-table"},React.createElement("thead",null,React.createElement(Bt,{isCheckAll:l,checkAll:k})),React.createElement("tbody",null,P.slice(r,r+20).map(_=>React.createElement(_r,{key:_.id,redirectItem:_,checkedList:c,setCheckedList:i,deleteRedirects:T,updateRedirects:m}))),React.createElement("tfoot",null,React.createElement(Bt,{isCheckAll:l,checkAll:k}))),React.createElement(ut,{key:d,totalRows:P.length,limit:20,setOffset:s})):React.createElement("span",null,(0,xr.__)("No redirects found.","slim-seo"))},Rr=Da;var ja=()=>{let[e,a]=(0,Je.useState)(""),[t,o]=(0,Je.useState)(""),[n,r]=(0,Je.useState)(""),[s,c]=(0,Je.useState)(""),i=me("redirects"),l=d=>{d.preventDefault(),o(e)},p=d=>{d.code==="Enter"&&d.preventDefault()};return React.createElement(React.Fragment,null,React.createElement("div",{className:"ss-filters"},React.createElement(De,{redirectToEdit:{},linkClassName:"button button-primary"}),Array.isArray(i)&&i.length>0?React.createElement(React.Fragment,null,React.createElement("span",{className:"ss-bulk-actions"},React.createElement("select",{name:"ssr_bulk_actions",value:e,onChange:d=>a(d.target.value)},React.createElement("option",{value:""},(0,je.__)("Bulk actions","slim-seo")),React.createElement("option",{value:"delete"},(0,je.__)("Delete","slim-seo"))),React.createElement("button",{className:"button button-secondary",onClick:l},(0,je.__)("Apply","slim-seo"))),React.createElement("span",{className:"ss-filter"},React.createElement("select",{name:"ssr_redirect_type",value:n,onChange:d=>r(d.target.value)},React.createElement("option",{value:""},(0,je.__)("All redirect types","slim-seo")),Object.entries(SSRedirection.redirectTypes).map(([d,f])=>React.createElement("option",{key:d,value:d},f)))),React.createElement("span",{className:"ss-filters-right"},React.createElement("span",{className:"ss-export-import"},React.createElement(yr,null)," | ",React.createElement(Ut,null)),React.createElement("span",{className:"ss-search"},React.createElement("input",{type:"text",className:"ss-search-input",value:s,placeholder:(0,je.__)("Search..","slim-seo"),onKeyDown:p,onChange:d=>c(d.target.value.trim())})))):React.createElement("div",{class:"ss-import"},React.createElement(Ut,null))),React.createElement(Rr,{searchKeyword:s,redirectType:n,executeBulkAction:t,setExecuteBulkAction:o}))},wr=ja;var Er=O(de());var Or=O(de()),pt=O(se());var be=O(se());var Ua=({order:e,changeOrder:a})=>{let{orderBy:t,sort:o}=e;return React.createElement("tr",null,React.createElement("th",{className:"ss-log__url"},(0,be.__)("URL","slim-seo"),React.createElement(B,{content:(0,be.__)("404 URL","slim-seo")})),React.createElement("th",{className:"ss-log__hit "+(t==="hit"?`sorted ${o}`:"sortable asc")},React.createElement("a",{href:"#",onClick:a("hit")},React.createElement("span",null,(0,be.__)("Hit","slim-seo"),React.createElement(B,{content:(0,be.__)("The number of times the URL was hitted","slim-seo")})),React.createElement("span",{className:"sorting-indicator"}))),React.createElement("th",{className:"ss-log__created_at "+(t==="created_at"?`sorted ${o}`:"sortable asc")},React.createElement("a",{href:"#",onClick:a("created_at")},React.createElement("span",null,(0,be.__)("Created at","slim-seo"),React.createElement(B,{content:(0,be.__)("First time the URL was hitted","slim-seo")})),React.createElement("span",{className:"sorting-indicator"}))),React.createElement("th",{className:"ss-log__updated_at "+(t==="updated_at"?`sorted ${o}`:"sortable asc")},React.createElement("a",{href:"#",onClick:a("updated_at")},React.createElement("span",null,(0,be.__)("Updated at","slim-seo"),React.createElement(B,{content:(0,be.__)("Last time the URL was hitted","slim-seo")})),React.createElement("span",{className:"sorting-indicator"}))),React.createElement("th",{className:"ss-log__actions"},(0,be.__)("Actions","slim-seo")))},Vt=Ua;var $t=O(se());var Fa=({log:e,deleteLog:a})=>{let t=o=>{o.preventDefault(),confirm((0,$t.__)("Delete log ","slim-seo")+`'${e.url}'?`)&&a(e)};return React.createElement("tr",null,React.createElement("td",{className:"ss-log__url"},React.createElement("a",{href:qe(e.url),target:"_blank"},e.url)),React.createElement("td",{className:"ss-log__hit"},e.hit),React.createElement("td",{className:"ss-log__created_at"},e.created_at),React.createElement("td",{className:"ss-log__updated_at"},e.updated_at),React.createElement("td",{className:"ss-log__actions"},React.createElement(De,{redirectToEdit:{from:e.url}},React.createElement("span",{className:"dashicons dashicons-welcome-add-page"})),React.createElement("a",{href:"#",onClick:t,title:(0,$t.__)("Delete","slim-seo")},React.createElement("span",{className:"dashicons dashicons-trash"}))))},kr=Fa;var Ma=({limit:e,offset:a})=>{let[t,o]=(0,Or.useState)({orderBy:"updated_at",sort:"desc"}),{result:n,mutate:r}=me("logs",{orderBy:t.orderBy,sort:t.sort,limit:e,offset:a},{returnMutate:!0,options:{revalidateIfStale:!1}}),s=l=>p=>{p.preventDefault();let d=l===t.orderBy&&t.sort==="desc"?"asc":"desc";o({orderBy:l,sort:d})},c=l=>{ae("delete_log",{id:l.id}).then(p=>{r(n.filter(d=>d.id!=l.id))})},i=l=>{l.preventDefault(),confirm((0,pt.__)("Are you sure to clear 404 log?","slim-seo"))&&ae("delete_logs",{}).then(p=>{r({})})};return n===void 0?React.createElement("div",{className:"ss-loader"}):Object.keys(n).length===0?React.createElement("span",null,(0,pt.__)("No data","slim-seo")):React.createElement(React.Fragment,null,React.createElement("div",{className:"ss-filters"},React.createElement("button",{className:"button button-primary",onClick:i},(0,pt.__)("Clear log","slim-seo"))),React.createElement("table",{className:"ss-table"},React.createElement("thead",null,React.createElement(Vt,{order:t,changeOrder:s})),React.createElement("tbody",null,n.map(l=>React.createElement(kr,{key:l.id,log:l,deleteLog:c}))),React.createElement("tfoot",null,React.createElement(Vt,{order:t,changeOrder:s}))))},Lr=Ma;var Ba=()=>{let a=me("total_logs"),[t,o]=(0,Er.useState)(0);return React.createElement(React.Fragment,null,React.createElement(Lr,{limit:20,offset:t}),React.createElement(ut,{totalRows:a,limit:20,setOffset:o}))},Sr=Ba;var ce=O(de()),j=O(se());var Wa=()=>{let{settings:e,settingsName:a}=SSRedirection,[t,o]=(0,ce.useReducer)(P=>!P,!!e.force_trailing_slash),[n,r]=(0,ce.useReducer)(P=>!P,!!e.auto_redirection),[s,c]=(0,ce.useState)(e.redirect_www),[i,l]=(0,ce.useReducer)(P=>!P,!!e.enable_404_logs),[p,d]=(0,ce.useState)(e.auto_delete_404_logs),[f,y]=(0,ce.useReducer)(P=>!P,!1),[W,k]=(0,ce.useState)(e.redirect_404_to),[T,m]=(0,ce.useState)(e.redirect_404_to_url);return React.createElement(React.Fragment,null,React.createElement("table",{className:"form-table"},React.createElement("thead",null,React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-force-trailing-slash"},(0,j.__)("Force trailing slash","slim-seo")),React.createElement(B,{content:(0,j.__)("Enable redirect non-slash URL to URL has slash","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-force-trailing-slash",type:"checkbox",name:`${a}[force_trailing_slash]`,value:"1",checked:t,onChange:o}),React.createElement("div",{className:"ss-toggle__switch"})),React.createElement("br",null),React.createElement(ce.RawHTML,null,["<small>",(0,j.sprintf)((0,j.__)(`Don't forget to add trailing slash in the <a href="%s">permalink settings</a>. If you use a permalink like "%%postname%%.html", then just enable this settings to force it work for category/tag/taxonomy/archive pages.`,"slim-seo"),SSRedirection.permalinkUrl),"</small>"])))),React.createElement("tbody",null,React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-auto-redirection"},(0,j.__)("Auto redirection","slim-seo")),React.createElement(B,{content:(0,j.__)("Automatically redirect pages if needed","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-auto-redirection",type:"checkbox",name:`${a}[auto_redirection]`,value:"1",checked:n,onChange:r}),React.createElement("div",{className:"ss-toggle__switch"})))),React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-redirect-www"},(0,j.__)("Redirect www","slim-seo")),React.createElement(B,{content:(0,j.__)("Auto redirect www to non-www and vice versa","slim-seo")})),React.createElement("td",null,React.createElement("select",{id:"ss-redirect-www",name:`${a}[redirect_www]`,value:s,onChange:P=>c(_=>P.target.value)},React.createElement("option",{value:""},(0,j.__)("Do nothing","slim-seo")),React.createElement("option",{value:"www-to-non"},(0,j.__)("www to non-www w","slim-seo")),React.createElement("option",{value:"non-to-www"},(0,j.__)("non-www to www","slim-seo"))))),React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-enable-404-logs"},(0,j.__)("Enable 404 logs","slim-seo")),React.createElement(B,{content:(0,j.__)("Enable to track 404 logs","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-enable-404-logs",type:"checkbox",name:`${a}[enable_404_logs]`,value:"1",checked:i,onChange:l}),React.createElement("div",{className:"ss-toggle__switch"})))),i?React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-auto-delete-404-logs"},(0,j.__)("Auto delete 404 logs","slim-seo")),React.createElement(B,{content:(0,j.__)("404 logs in the database will be automatically removed","slim-seo")})),React.createElement("td",null,React.createElement("select",{id:"ss-auto-delete-404-logs",name:`${a}[auto_delete_404_logs]`,value:p,onChange:P=>d(P.target.value)},React.createElement("option",{value:"-1"},(0,j.__)("Never","slim-seo")),React.createElement("option",{value:"7"},(0,j.__)("Older than a week","slim-seo")),React.createElement("option",{value:"30"},(0,j.__)("Older than a month","slim-seo"))))):SSRedirection.isLog404TableExist&&React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-delete-404-log-table"},(0,j.__)("Delete 404 logs table","slim-seo")),React.createElement(B,{content:(0,j.__)("Delete 404 logs table","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-delete-404-log-table",type:"checkbox",name:`${a}[delete_404_log_table]`,value:"1",checked:f,onChange:y}),React.createElement("div",{className:"ss-toggle__switch"})))),React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-redirect-404-to"},(0,j.__)("Redirect all 404 to","slim-seo")),React.createElement(B,{content:(0,j.__)("Auto redirect 404 pages if they do not have redirection rule.","slim-seo")})),React.createElement("td",null,React.createElement("select",{id:"ss-redirect-404-to",name:`${a}[redirect_404_to]`,value:W,onChange:P=>k(P.target.value)},React.createElement("option",{value:""},(0,j.__)("Do nothing","slim-seo")),React.createElement("option",{value:"homepage"},(0,j.__)("Homepage","slim-seo")),React.createElement("option",{value:"custom"},(0,j.__)("Custom URL","slim-seo"))),W==="custom"&&React.createElement("input",{type:"text",className:"regular-text",name:`${a}[redirect_404_to_url]`,value:T,onChange:P=>m(P.target.value.trim())}))))),React.createElement("p",{className:"submit"},React.createElement("input",{type:"submit",name:"submit",id:"submit",className:"button button-primary",value:(0,j.__)("Save Changes","slim-seo")})))},Ir=Wa;var Va=()=>React.createElement(Se,{forceRenderTabPanel:!0},React.createElement(Ie,null,React.createElement(_e,null,(0,ft.__)("Redirects","slim-seo")),SSRedirection.settings.enable_404_logs==1&&React.createElement(_e,null,(0,ft.__)("404 Logs","slim-seo")),React.createElement(_e,null,(0,ft.__)("Settings","slim-seo"))),React.createElement(xe,null,React.createElement(wr,null)),SSRedirection.settings.enable_404_logs==1&&React.createElement(xe,null,React.createElement(Sr,null)),React.createElement(xe,null,React.createElement(Ir,null)));(0,Ar.render)(React.createElement(Va,null),document.getElementById("ss-redirection"));})();3 `),n=encodeURI(t).replaceAll("#","%23"),r=document.createElement("a");r.setAttribute("href",n),r.setAttribute("download",e),r.click()};var vr=O(de()),ct=O(se());var Oa=()=>{let[e,a]=(0,vr.useReducer)(n=>!n,!1),t=e?(0,ct.__)("Exporting","slim-seo"):(0,ct.__)("Export","slim-seo");return React.createElement("a",{href:"#",title:t,onClick:n=>{n.preventDefault(),a(),ae("export").then(r=>{r?gr(r.filename,r.data):alert((0,ct.__)("No redirect found!. Cannot export","slim-seo")),a()})},disabled:e},t)},yr=Oa;var Tr=O(ot()),Ke=O(de()),Ae=O(se());var La=()=>{let[e,a]=(0,Ke.useReducer)(l=>!l,!1),[t,o]=(0,Ke.useState)(),[n,r]=(0,Ke.useReducer)(l=>!l,!1),s=(0,Ae.__)("Import","slim-seo"),c=l=>o(l.target.files[0]),i=()=>{r();let l=new FileReader;l.readAsText(t),l.onload=p=>{ae("import",{text:l.result},"POST").then(d=>{d?location.reload():(alert((0,Ae.__)("Invalid data format. Please try again.","slim-seo")),r())})}};return React.createElement(React.Fragment,null,React.createElement("a",{href:"#",title:s,onClick:a},s),e&&React.createElement(Tr.Modal,{title:(0,Ae.__)("Upload CSV","slim-seo"),overlayClassName:"ss-modal ss-upload",onRequestClose:a},React.createElement("input",{type:"file",accept:"*.csv",onChange:c}),React.createElement("button",{type:"button",className:"button-primary",onClick:i,disabled:!t||n},n?(0,Ae.__)("Submitting...","slim-seo"):(0,Ae.__)("Submit","slim-seo"))))},Ut=La;var we=O(de()),xr=O(se());var Mt=O(se()),Cr=O(Pr()),Ea=({totalRows:e,limit:a,setOffset:t})=>{let o=Math.ceil(e/a),n=r=>{let s=r.selected*a%e;t(s)};return o>1&&React.createElement(Cr.default,{className:"ss-paginate",breakLabel:"...",nextLabel:(0,Mt.__)("Next \xBB","slim-seo"),onPageChange:n,pageRangeDisplayed:5,pageCount:o,previousLabel:(0,Mt.__)("\xAB Previous","slim-seo"),renderOnZeroPageCount:null})},ut=Ea;var le=O(se());var Sa=({isCheckAll:e,checkAll:a})=>React.createElement("tr",null,React.createElement("th",{className:"ss-redirect__checkbox"},React.createElement("input",{type:"checkbox",checked:e,onChange:a})),React.createElement("th",{className:"ss-redirect__type"},(0,le.__)("Type","slim-seo"),React.createElement(B,{content:(0,le.__)("Redirect type","slim-seo")})),React.createElement("th",{className:"ss-redirect__url"},(0,le.__)("From URL","slim-seo"),React.createElement(B,{content:(0,le.__)("URL to redirect","slim-seo")})),React.createElement("th",{className:"ss-redirect__url"},(0,le.__)("To URL","slim-seo"),React.createElement(B,{content:(0,le.__)("Destination URL","slim-seo")})),React.createElement("th",{className:"ss-redirect__note"},(0,le.__)("Note","slim-seo"),React.createElement(B,{content:(0,le.__)("Something to reminds you about the redirects","slim-seo")})),React.createElement("th",{className:"ss-redirect__enable"},(0,le.__)("Enable","slim-seo"),React.createElement(B,{content:(0,le.__)("Is the redirect enabled?","slim-seo")})),React.createElement("th",{className:"ss-redirect__actions"},(0,le.__)("Actions","slim-seo"))),Bt=Sa;var Nr=O(de());var Wt=O(se());var dt=O(ot()),ye=O(de()),Y=O(se());var Ia=({redirectToEdit:e={},children:a,linkClassName:t,callback:o})=>{let[n,r]=(0,ye.useState)({}),[s,c]=(0,ye.useState)(!1),[i,l]=(0,ye.useState)(""),[p,d]=(0,ye.useReducer)(L=>!L,!1),[f,y]=(0,ye.useState)(!1),{result:W,mutate:k}=me("redirects",{},{returnMutate:!0}),T=n.id?(0,Y.__)("Update Redirect","slim-seo"):(0,Y.__)("Add Redirect","slim-seo"),m=L=>{L.preventDefault(),y(!0)},P=()=>y(!1),_=()=>{l(""),ae("update_redirect",{redirect:n},"POST").then(L=>{if(y(!1),c(!1),n.id){o(n);return}n.id=L;let N=[...W];N.push(n),k(N,{revalidate:!1})})},x=L=>N=>{let X=N.target.type==="checkbox"?Number(N.target.checked):L==="note"?N.target.value:N.target.value.trim();r(V=>({...V,[L]:X}))},I=L=>{if(L.preventDefault(),!n.from.length){l((0,Y.__)("Please fill out From URL.","slim-seo"));return}if(n.type!=410&&!n.to.length){l((0,Y.__)("Please fill out To URL.","slim-seo"));return}if(c(!0),n.id){_();return}ae("exists",{from:n.from}).then(N=>{N?(c(!1),l((0,Y.__)("From URL already exists, which means this page already has a redirect rule!","slim-seo"))):_()})};return(0,ye.useEffect)(()=>{r({...SSRedirection.defaultRedirect,...e})},[e]),React.createElement(React.Fragment,null,React.createElement("a",{href:"#",className:t,onClick:m,title:T},a||T),f&&React.createElement(dt.Modal,{title:T,overlayClassName:"ss-modal ssr-modal",onRequestClose:P},React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-type"},(0,Y.__)("Type","slim-seo"),React.createElement(B,{content:(0,Y.__)("Redirect type","slim-seo")})),React.createElement("select",{id:"ss-type",value:n.type,onChange:x("type")},Object.entries(SSRedirection.redirectTypes).map(([L,N])=>React.createElement("option",{key:L,value:L},N))),n.type==410&&React.createElement("p",{className:"description"},React.createElement("small",null,(0,Y.__)("410 means the content is gone and no longer available. It can be deleted permanently. In this case, we need to return the 410 status instead of redirect. If you want to show an alternative page for this content, please consider a 3xx redirect.","slim-seo")))),React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-from"},(0,Y.__)("From URL","slim-seo"),React.createElement(B,{content:(0,Y.__)("URL to redirect","slim-seo")})),React.createElement("div",{className:"ss-from-inputs"},React.createElement("select",{value:n.condition,onChange:x("condition")},Object.entries(SSRedirection.conditionOptions).map(([L,N])=>React.createElement("option",{key:L,value:L},N))),React.createElement("input",{id:"ss-from",type:"text",value:n.from,onChange:x("from")}))),n.type!=410&&React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-to"},(0,Y.__)("To URL","slim-seo"),React.createElement(B,{content:(0,Y.__)("Destination URL","slim-seo")})),React.createElement("input",{id:"ss-to",type:"text",value:n.to,onChange:x("to")})),React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{htmlFor:"ss-note"},(0,Y.__)("Note","slim-seo"),React.createElement(B,{content:(0,Y.__)("Something that reminds you about this redirect","slim-seo")})),React.createElement("input",{id:"ss-note",type:"text",value:n.note,onChange:x("note")})),React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{className:"ss-toggle"},React.createElement("input",{type:"checkbox",value:"1",checked:!!n.enable,onChange:x("enable")}),React.createElement("div",{className:"ss-toggle__switch"}),React.createElement("span",{className:"ss-toggle__label"},(0,Y.__)("Enable","slim-seo")))),React.createElement("div",{className:"ssr-modal-field"},React.createElement(dt.Button,{className:"button-link",onClick:d},(0,Y.__)("Advanced options","slim-seo"))),p&&React.createElement("div",{className:"ssr-modal-field"},React.createElement("label",{className:"ss-toggle"},React.createElement("input",{type:"checkbox",value:"1",checked:!!n.ignoreParameters,onChange:x("ignoreParameters")}),React.createElement("div",{className:"ss-toggle__switch"}),React.createElement("span",{className:"ss-toggle__label"},(0,Y.__)("Ignore parameters","slim-seo")))),React.createElement("button",{className:"button button-primary",onClick:I,disabled:s},T),i&&React.createElement("p",{className:"ss-warning-message"},i)))},De=Ia;var Aa=({redirectItem:e,checkedList:a,setCheckedList:t,deleteRedirects:o,updateRedirects:n})=>{let[r,s]=(0,Nr.useState)(e),c=d=>{d.target.checked?t([...a,r.id]):t(a.filter(f=>f!==r.id))},i=d=>{let f={...r,enable:!r.enable};s(f),ae("update_redirect",{redirect:f},"POST").then(y=>n(f))},l=d=>{let f={...d};s(f),n(f)},p=d=>{d.preventDefault(),confirm((0,Wt.__)("Delete redirect ","slim-seo")+`'${r.from}'?`)&&o([r.id])};return React.createElement("tr",null,React.createElement("td",{className:"ss-redirect__checkbox"},React.createElement("input",{type:"checkbox",value:r.id,checked:a.includes(r.id),onChange:c})),React.createElement("td",{className:"ss-redirect__type"},r.type),React.createElement("td",{className:"ss-redirect__url"},r.condition==="exact-match"?React.createElement("a",{href:qe(r.from),target:"_blank"},r.from):r.from,React.createElement("small",null,SSRedirection.conditionOptions[r.condition])),React.createElement("td",{className:"ss-redirect__url"},React.createElement("a",{href:qe(r.to),target:"_blank"},r.to)),React.createElement("td",{className:"ss-redirect__note"},r.note),React.createElement("td",{className:"ss-redirect__enable"},React.createElement("label",{className:"ss-toggle"},React.createElement("input",{type:"checkbox",checked:r.enable==1,onChange:i}),React.createElement("div",{className:"ss-toggle__switch"}))),React.createElement("td",{className:"ss-redirect__actions"},React.createElement(De,{redirectToEdit:r,callback:l},React.createElement("span",{className:"dashicons dashicons-edit"})),React.createElement("a",{href:"#",onClick:p,title:(0,Wt.__)("Delete","slim-seo")},React.createElement("span",{className:"dashicons dashicons-trash"}))))},_r=Aa;var Da=({searchKeyword:e,redirectType:a,executeBulkAction:t,setExecuteBulkAction:o})=>{let[r,s]=(0,we.useState)(0),[c,i]=(0,we.useState)([]),[l,p]=(0,we.useState)(!1),[d,f]=(0,we.useState)(0),{result:y,mutate:W}=me("redirects",{},{returnMutate:!0}),k=()=>{p(!l),i(l?[]:y.map(_=>_.id))},T=(_=[])=>{ae("delete_redirects",{ids:_},"POST").then(x=>{W(y.filter(I=>!_.includes(I.id)),{revalidate:!1})})},m=_=>{W(y.map(x=>(x.id==_.id&&(x=_),x)),{revalidate:!1})};if((0,we.useEffect)(()=>{t==="delete"&&(T(c),o(""))},[t]),(0,we.useEffect)(()=>{s(0),f(Date.now())},[e,a]),y===void 0)return React.createElement("div",{className:"ss-loader"});if(Object.keys(y).length===0)return;let P=[...y];return e&&(P=P.filter(_=>_.from.includes(e)||_.to.includes(e))),a&&(P=P.filter(_=>_.type==a)),P.length?React.createElement(React.Fragment,null,React.createElement("table",{className:"ss-table"},React.createElement("thead",null,React.createElement(Bt,{isCheckAll:l,checkAll:k})),React.createElement("tbody",null,P.slice(r,r+20).map(_=>React.createElement(_r,{key:_.id,redirectItem:_,checkedList:c,setCheckedList:i,deleteRedirects:T,updateRedirects:m}))),React.createElement("tfoot",null,React.createElement(Bt,{isCheckAll:l,checkAll:k}))),React.createElement(ut,{key:d,totalRows:P.length,limit:20,setOffset:s})):React.createElement("span",null,(0,xr.__)("No redirects found.","slim-seo"))},Rr=Da;var ja=()=>{let[e,a]=(0,Je.useState)(""),[t,o]=(0,Je.useState)(""),[n,r]=(0,Je.useState)(""),[s,c]=(0,Je.useState)(""),i=me("redirects"),l=d=>{d.preventDefault(),o(e)},p=d=>{d.code==="Enter"&&d.preventDefault()};return React.createElement(React.Fragment,null,React.createElement("div",{className:"ss-filters"},React.createElement(De,{redirectToEdit:{},linkClassName:"button button-primary"}),Array.isArray(i)&&i.length>0?React.createElement(React.Fragment,null,React.createElement("span",{className:"ss-bulk-actions"},React.createElement("select",{name:"ssr_bulk_actions",value:e,onChange:d=>a(d.target.value)},React.createElement("option",{value:""},(0,je.__)("Bulk actions","slim-seo")),React.createElement("option",{value:"delete"},(0,je.__)("Delete","slim-seo"))),React.createElement("button",{className:"button button-secondary",onClick:l},(0,je.__)("Apply","slim-seo"))),React.createElement("span",{className:"ss-filter"},React.createElement("select",{name:"ssr_redirect_type",value:n,onChange:d=>r(d.target.value)},React.createElement("option",{value:""},(0,je.__)("All redirect types","slim-seo")),Object.entries(SSRedirection.redirectTypes).map(([d,f])=>React.createElement("option",{key:d,value:d},f)))),React.createElement("span",{className:"ss-filters-right"},React.createElement("span",{className:"ss-export-import"},React.createElement(yr,null)," | ",React.createElement(Ut,null)),React.createElement("span",{className:"ss-search"},React.createElement("input",{type:"text",className:"ss-search-input",value:s,placeholder:(0,je.__)("Search..","slim-seo"),onKeyDown:p,onChange:d=>c(d.target.value.trim())})))):React.createElement("div",{class:"ss-import"},React.createElement(Ut,null))),React.createElement(Rr,{searchKeyword:s,redirectType:n,executeBulkAction:t,setExecuteBulkAction:o}))},wr=ja;var Er=O(de());var Or=O(de()),pt=O(se());var be=O(se());var Ua=({order:e,changeOrder:a})=>{let{orderBy:t,sort:o}=e;return React.createElement("tr",null,React.createElement("th",{className:"ss-log__url"},(0,be.__)("URL","slim-seo"),React.createElement(B,{content:(0,be.__)("404 URL","slim-seo")})),React.createElement("th",{className:"ss-log__hit "+(t==="hit"?`sorted ${o}`:"sortable asc")},React.createElement("a",{href:"#",onClick:a("hit")},React.createElement("span",null,(0,be.__)("Hit","slim-seo"),React.createElement(B,{content:(0,be.__)("The number of times the URL was hitted","slim-seo")})),React.createElement("span",{className:"sorting-indicator"}))),React.createElement("th",{className:"ss-log__created_at "+(t==="created_at"?`sorted ${o}`:"sortable asc")},React.createElement("a",{href:"#",onClick:a("created_at")},React.createElement("span",null,(0,be.__)("Created at","slim-seo"),React.createElement(B,{content:(0,be.__)("First time the URL was hitted","slim-seo")})),React.createElement("span",{className:"sorting-indicator"}))),React.createElement("th",{className:"ss-log__updated_at "+(t==="updated_at"?`sorted ${o}`:"sortable asc")},React.createElement("a",{href:"#",onClick:a("updated_at")},React.createElement("span",null,(0,be.__)("Updated at","slim-seo"),React.createElement(B,{content:(0,be.__)("Last time the URL was hitted","slim-seo")})),React.createElement("span",{className:"sorting-indicator"}))),React.createElement("th",{className:"ss-log__actions"},(0,be.__)("Actions","slim-seo")))},Vt=Ua;var $t=O(se());var Fa=({log:e,deleteLog:a})=>{let t=o=>{o.preventDefault(),confirm((0,$t.__)("Delete log ","slim-seo")+`'${e.url}'?`)&&a(e)};return React.createElement("tr",null,React.createElement("td",{className:"ss-log__url"},React.createElement("a",{href:qe(e.url),target:"_blank"},e.url)),React.createElement("td",{className:"ss-log__hit"},e.hit),React.createElement("td",{className:"ss-log__created_at"},e.created_at),React.createElement("td",{className:"ss-log__updated_at"},e.updated_at),React.createElement("td",{className:"ss-log__actions"},React.createElement(De,{redirectToEdit:{from:e.url}},React.createElement("span",{className:"dashicons dashicons-welcome-add-page"})),React.createElement("a",{href:"#",onClick:t,title:(0,$t.__)("Delete","slim-seo")},React.createElement("span",{className:"dashicons dashicons-trash"}))))},kr=Fa;var Ma=({limit:e,offset:a})=>{let[t,o]=(0,Or.useState)({orderBy:"updated_at",sort:"desc"}),{result:n,mutate:r}=me("logs",{orderBy:t.orderBy,sort:t.sort,limit:e,offset:a},{returnMutate:!0,options:{revalidateIfStale:!1}}),s=l=>p=>{p.preventDefault();let d=l===t.orderBy&&t.sort==="desc"?"asc":"desc";o({orderBy:l,sort:d})},c=l=>{ae("delete_log",{id:l.id}).then(p=>{r(n.filter(d=>d.id!=l.id))})},i=l=>{l.preventDefault(),confirm((0,pt.__)("Are you sure to clear 404 log?","slim-seo"))&&ae("delete_logs",{}).then(p=>{r({})})};return n===void 0?React.createElement("div",{className:"ss-loader"}):Object.keys(n).length===0?React.createElement("span",null,(0,pt.__)("No data","slim-seo")):React.createElement(React.Fragment,null,React.createElement("div",{className:"ss-filters"},React.createElement("button",{className:"button button-primary",onClick:i},(0,pt.__)("Clear log","slim-seo"))),React.createElement("table",{className:"ss-table"},React.createElement("thead",null,React.createElement(Vt,{order:t,changeOrder:s})),React.createElement("tbody",null,n.map(l=>React.createElement(kr,{key:l.id,log:l,deleteLog:c}))),React.createElement("tfoot",null,React.createElement(Vt,{order:t,changeOrder:s}))))},Lr=Ma;var Ba=()=>{let a=me("total_logs"),[t,o]=(0,Er.useState)(0);return React.createElement(React.Fragment,null,React.createElement(Lr,{limit:20,offset:t}),React.createElement(ut,{totalRows:a,limit:20,setOffset:o}))},Sr=Ba;var ce=O(de()),j=O(se());var Wa=()=>{let{settings:e,settingsName:a}=SSRedirection,[t,o]=(0,ce.useReducer)(P=>!P,!!e.force_trailing_slash),[n,r]=(0,ce.useReducer)(P=>!P,!!e.auto_redirection),[s,c]=(0,ce.useState)(e.redirect_www),[i,l]=(0,ce.useReducer)(P=>!P,!!e.enable_404_logs),[p,d]=(0,ce.useState)(e.auto_delete_404_logs),[f,y]=(0,ce.useReducer)(P=>!P,!1),[W,k]=(0,ce.useState)(e.redirect_404_to),[T,m]=(0,ce.useState)(e.redirect_404_to_url);return React.createElement(React.Fragment,null,React.createElement("table",{className:"form-table"},React.createElement("thead",null,React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-force-trailing-slash"},(0,j.__)("Force trailing slash","slim-seo")),React.createElement(B,{content:(0,j.__)("Enable redirect non-slash URL to URL has slash","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-force-trailing-slash",type:"checkbox",name:`${a}[force_trailing_slash]`,value:"1",checked:t,onChange:o}),React.createElement("div",{className:"ss-toggle__switch"})),React.createElement("br",null),React.createElement(ce.RawHTML,null,["<small>",(0,j.sprintf)((0,j.__)(`Don't forget to add trailing slash in the <a href="%s">permalink settings</a>. If you use a permalink like "%%postname%%.html", then just enable this settings to force it work for category/tag/taxonomy/archive pages.`,"slim-seo"),SSRedirection.permalinkUrl),"</small>"])))),React.createElement("tbody",null,React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-auto-redirection"},(0,j.__)("Auto redirection","slim-seo")),React.createElement(B,{content:(0,j.__)("Automatically redirect pages if needed","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-auto-redirection",type:"checkbox",name:`${a}[auto_redirection]`,value:"1",checked:n,onChange:r}),React.createElement("div",{className:"ss-toggle__switch"})))),React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-redirect-www"},(0,j.__)("Redirect www","slim-seo")),React.createElement(B,{content:(0,j.__)("Auto redirect www to non-www and vice versa","slim-seo")})),React.createElement("td",null,React.createElement("select",{id:"ss-redirect-www",name:`${a}[redirect_www]`,value:s,onChange:P=>c(_=>P.target.value)},React.createElement("option",{value:""},(0,j.__)("Do nothing","slim-seo")),React.createElement("option",{value:"www-to-non"},(0,j.__)("www to non-www","slim-seo")),React.createElement("option",{value:"non-to-www"},(0,j.__)("non-www to www","slim-seo"))))),React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-enable-404-logs"},(0,j.__)("Enable 404 logs","slim-seo")),React.createElement(B,{content:(0,j.__)("Enable to track 404 logs","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-enable-404-logs",type:"checkbox",name:`${a}[enable_404_logs]`,value:"1",checked:i,onChange:l}),React.createElement("div",{className:"ss-toggle__switch"})))),i?React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-auto-delete-404-logs"},(0,j.__)("Auto delete 404 logs","slim-seo")),React.createElement(B,{content:(0,j.__)("404 logs in the database will be automatically removed","slim-seo")})),React.createElement("td",null,React.createElement("select",{id:"ss-auto-delete-404-logs",name:`${a}[auto_delete_404_logs]`,value:p,onChange:P=>d(P.target.value)},React.createElement("option",{value:"-1"},(0,j.__)("Never","slim-seo")),React.createElement("option",{value:"7"},(0,j.__)("Older than a week","slim-seo")),React.createElement("option",{value:"30"},(0,j.__)("Older than a month","slim-seo"))))):SSRedirection.isLog404TableExist&&React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-delete-404-log-table"},(0,j.__)("Delete 404 logs table","slim-seo")),React.createElement(B,{content:(0,j.__)("Delete 404 logs table","slim-seo")})),React.createElement("td",null,React.createElement("label",{className:"ss-toggle"},React.createElement("input",{id:"ss-delete-404-log-table",type:"checkbox",name:`${a}[delete_404_log_table]`,value:"1",checked:f,onChange:y}),React.createElement("div",{className:"ss-toggle__switch"})))),React.createElement("tr",null,React.createElement("th",{scope:"row"},React.createElement("label",{htmlFor:"ss-redirect-404-to"},(0,j.__)("Redirect all 404 to","slim-seo")),React.createElement(B,{content:(0,j.__)("Auto redirect 404 pages if they do not have redirection rule.","slim-seo")})),React.createElement("td",null,React.createElement("select",{id:"ss-redirect-404-to",name:`${a}[redirect_404_to]`,value:W,onChange:P=>k(P.target.value)},React.createElement("option",{value:""},(0,j.__)("Do nothing","slim-seo")),React.createElement("option",{value:"homepage"},(0,j.__)("Homepage","slim-seo")),React.createElement("option",{value:"custom"},(0,j.__)("Custom URL","slim-seo"))),W==="custom"&&React.createElement("input",{type:"text",className:"regular-text",name:`${a}[redirect_404_to_url]`,value:T,onChange:P=>m(P.target.value.trim())}))))),React.createElement("p",{className:"submit"},React.createElement("input",{type:"submit",name:"submit",id:"submit",className:"button button-primary",value:(0,j.__)("Save Changes","slim-seo")})))},Ir=Wa;var Va=()=>React.createElement(Se,{forceRenderTabPanel:!0},React.createElement(Ie,null,React.createElement(_e,null,(0,ft.__)("Redirects","slim-seo")),SSRedirection.settings.enable_404_logs==1&&React.createElement(_e,null,(0,ft.__)("404 Logs","slim-seo")),React.createElement(_e,null,(0,ft.__)("Settings","slim-seo"))),React.createElement(xe,null,React.createElement(wr,null)),SSRedirection.settings.enable_404_logs==1&&React.createElement(xe,null,React.createElement(Sr,null)),React.createElement(xe,null,React.createElement(Ir,null)));(0,Ar.render)(React.createElement(Va,null),document.getElementById("ss-redirection"));})(); 4 4 /*! ***************************************************************************** 5 5 Copyright (c) Microsoft Corporation. -
slim-seo/trunk/readme.txt
r3093556 r3101077 4 4 Tags: seo, redirection, schema, xml sitemap, header 5 5 Requires at least: 5.9 6 Tested up to: 6.5. 36 Tested up to: 6.5.4 7 7 Requires PHP: 7.2 8 Stable tag: 3.25. 08 Stable tag: 3.25.1 9 9 License: GPL v3 10 10 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 157 157 158 158 == Changelog == 159 160 = 3.25.1 - 2024-06-11 = 161 - Fix typo in redirection module 162 - Check if queried object returns null that causes error for Open Graph 159 163 160 164 = 3.25.0 - 2024-05-28 = -
slim-seo/trunk/slim-seo.php
r3093556 r3101077 6 6 * Author: eLightUp 7 7 * Author URI: https://elightup.com 8 * Version: 3.25. 08 * Version: 3.25.1 9 9 * Text Domain: slim-seo 10 10 * Domain Path: /languages … … 20 20 define( 'SLIM_SEO_REDIRECTS', 'ss_redirects' ); 21 21 define( 'SLIM_SEO_DELETE_404_LOGS_ACTION', 'delete_404_logs' ); 22 define( 'SLIM_SEO_VER', '3.25. 0' );22 define( 'SLIM_SEO_VER', '3.25.1' ); 23 23 define( 'SLIM_SEO_DB_VER', 1 ); 24 24 -
slim-seo/trunk/src/Helpers/Images.php
r3093556 r3101077 8 8 private static $cache = []; 9 9 10 public static function get_post_images( WP_Post $post ): array { 10 public static function get_post_images( ?WP_Post $post ): array { 11 if ( ! $post ) { 12 return []; 13 } 14 11 15 $images = []; 12 16 -
slim-seo/trunk/src/Redirection/Redirection.php
r3066492 r3101077 23 23 } 24 24 25 $http_host = $_SERVER['HTTP_HOST'] ?? ''; // @ codingStandardsIgnoreLine.26 $request_uri = rawurldecode( $_SERVER['REQUEST_URI'] ?? '' ); // @ codingStandardsIgnoreLine.25 $http_host = $_SERVER['HTTP_HOST'] ?? ''; // @phpcs:ignore. 26 $request_uri = rawurldecode( $_SERVER['REQUEST_URI'] ?? '' ); // @phpcs:ignore. 27 27 $request_url = ( Helper::is_ssl() ? 'https' : 'http' ) . "://{$http_host}{$request_uri}"; 28 28 $request_url = Helper::normalize_url( $request_url ); … … 116 116 117 117 $should_redirect = false; 118 $http_host = $_SERVER['HTTP_HOST'] ?? ''; // @ codingStandardsIgnoreLine.118 $http_host = $_SERVER['HTTP_HOST'] ?? ''; // @phpcs:ignore. 119 119 $http_host = strtolower( $http_host ); 120 120 121 if ( 'www-to-non' === $redirect_www && false !== stripos( $http_host, 'wwww' ) ) {121 if ( 'www-to-non' === $redirect_www && str_starts_with( $http_host, 'www.' ) ) { 122 122 $http_host = substr( $http_host, 4 ); 123 123 $should_redirect = true; 124 } elseif ( 'non-to-www' === $redirect_www && false === stripos( $http_host, 'wwww' ) ) {124 } elseif ( 'non-to-www' === $redirect_www && ! str_starts_with( $http_host, 'www.' ) ) { 125 125 $http_host = 'www.' . $http_host; 126 126 $should_redirect = true; -
slim-seo/trunk/vendor/composer/installed.php
r3093556 r3101077 2 2 'root' => array( 3 3 'name' => 'elightup/slim-seo', 4 'pretty_version' => '3.25. 0',5 'version' => '3.25. 0.0',6 'reference' => ' 67604469f135a5dc3fd4f9cb7dbb6157b2faf73e',4 'pretty_version' => '3.25.1', 5 'version' => '3.25.1.0', 6 'reference' => '012ae02830eaa0fe8f721350637c786d95e5718f', 7 7 'type' => 'wordpress-plugin', 8 8 'install_path' => __DIR__ . '/../../', … … 12 12 'versions' => array( 13 13 'elightup/slim-seo' => array( 14 'pretty_version' => '3.25. 0',15 'version' => '3.25. 0.0',16 'reference' => ' 67604469f135a5dc3fd4f9cb7dbb6157b2faf73e',14 'pretty_version' => '3.25.1', 15 'version' => '3.25.1.0', 16 'reference' => '012ae02830eaa0fe8f721350637c786d95e5718f', 17 17 'type' => 'wordpress-plugin', 18 18 'install_path' => __DIR__ . '/../../',
Note: See TracChangeset
for help on using the changeset viewer.