core-data.js 26 KB
!function(){"use strict";var e={n:function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,{a:n}),n},d:function(t,n){for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{LICENSE_STORE:function(){return I},RESTRICTION_STORE:function(){return at},SETTINGS_STORE:function(){return _e},Status:function(){return v},URL_SEARCH_STORE:function(){return dn},appendUrlParams:function(){return f},fetch:function(){return _},fetchCredOpts:function(){return p},fetchWithCreds:function(){return y},getErrorMessage:function(){return A},licenseDefaults:function(){return m},licenseStore:function(){return ge},localControls:function(){return T},restBase:function(){return S},restUrl:function(){return g},restrictionDefaults:function(){return lt},restrictionsStore:function(){return un},settingsDefaults:function(){return Te},settingsStore:function(){return rt},urlSearchStore:function(){return kn},useLicense:function(){return xn},useSettings:function(){return Vn},validateRestriction:function(){return ot}});var n={};e.r(n),e.d(n,{activateLicense:function(){return V},activatePro:function(){return j},changeActionStatus:function(){return x},checkLicenseStatus:function(){return F},deactivateLicense:function(){return Y},hydrate:function(){return Q},removeLicense:function(){return M},updateLicenseKey:function(){return B}});var r={};e.r(r),e.d(r,{getLicenseData:function(){return re},getLicenseKey:function(){return se},getLicenseStatus:function(){return ie}});var s={};e.r(s),e.d(s,{getConnectInfo:function(){return ue},getDispatchError:function(){return Se},getDispatchStatus:function(){return de},getLicenseData:function(){return ce},getLicenseKey:function(){return oe},getLicenseStatus:function(){return ae},hasDispatched:function(){return Ee},isDispatching:function(){return le}});var i={};e.r(i),e.d(i,{changeActionStatus:function(){return me},hydrate:function(){return Ue},hydrateBlockTypes:function(){return we},saveSettings:function(){return Le},stageUnsavedChanges:function(){return He},updateSettings:function(){return Oe}});var c={};e.r(c),e.d(c,{getKnownBlockTypes:function(){return je},getSettings:function(){return Me}});var o={};e.r(o),e.d(o,{getDispatchError:function(){return nt},getDispatchStatus:function(){return Ze},getExcludedBlocks:function(){return Xe},getKnownBlockTypes:function(){return $e},getReqPermission:function(){return ze},getSetting:function(){return qe},getSettings:function(){return Qe},getUnsavedChanges:function(){return We},hasDispatched:function(){return tt},hasUnsavedChanges:function(){return Je},isDispatching:function(){return et}});var a={};e.r(a),e.d(a,{addNotice:function(){return vt},changeActionStatus:function(){return Rt},changeEditorId:function(){return Dt},clearEditorData:function(){return Ot},clearNotice:function(){return It},clearNotices:function(){return Nt},createRestriction:function(){return Lt},deleteRestriction:function(){return Ut},hydrate:function(){return wt},updateEditorValues:function(){return mt},updateRestriction:function(){return Ht}});var u={};e.r(u),e.d(u,{getRestriction:function(){return Wt},getRestrictions:function(){return qt}});var d={};e.r(d),e.d(d,{getDispatchError:function(){return an},getDispatchStatus:function(){return sn},getEditorId:function(){return en},getEditorValues:function(){return tn},getNextPriority:function(){return nn},getNotices:function(){return Jt},getRestriction:function(){return zt},getRestrictionDefaults:function(){return rn},getRestrictions:function(){return Xt},hasDispatched:function(){return on},isDispatching:function(){return cn},isEditorActive:function(){return Zt}});var l={};e.r(l),e.d(l,{changeActionStatus:function(){return Dn},searchError:function(){return Nn},searchRequest:function(){return vn},searchSuccess:function(){return In},updateSuggestions:function(){return Rn}});var E={};e.r(E),e.d(E,{getDispatchError:function(){return Gn},getDispatchStatus:function(){return wn},getSuggestions:function(){return Un},hasDispatched:function(){return bn},isDispatching:function(){return Pn}});const S="content-control/v2",g=`${wpApiSettings.root}${S}/`,p=(e={})=>({...e,headers:{...e.headers,"Content-Type":"application/json","X-WP-Nonce":wpApiSettings.nonce},credentials:"same-origin"}),_=(e,t={})=>(t.body&&(t.body=JSON.stringify(t.body)),wpApiSettings.root.includes("?")&&(e=e.replace("?","&")),{type:"FETCH",path:`${wpApiSettings.root}${e}`,options:p(t)}),y=(e,t)=>new Promise(((n,r)=>{window.fetch(e,p(t)).then((e=>e.json())).then((e=>n(e))).catch((e=>r(e)))}));var T={FETCH({path:e,options:t}){return new Promise(((n,r)=>{window.fetch(e,t).then((e=>e.json())).then((e=>n(e))).catch((e=>r(e)))}))}};const f=(e,t)=>{const n=Object.fromEntries(Object.entries(t).filter((([,e])=>!!e)));return`${e}?${new URLSearchParams({...n})}`},A=e=>e instanceof Error?e.message:String(e);var h=window.wp.data,C=window.wp.dataControls,R=window.wp.i18n;let v=function(e){return e.Idle="IDLE",e.Resolving="RESOLVING",e.Error="ERROR",e.Success="SUCCESS",e}({});const I="content-control/license",N={ACTIVATE_LICENSE:"ACTIVATE_LICENSE",CONNECT_SITE:"CONNECT_SITE",DEACTIVATE_LICENSE:"DEACTIVATE_LICENSE",REMOVE_LICENSE:"REMOVE_LICENSE",UPDATE_LICENSE_KEY:"UPDATE_LICENSE_KEY",CHECK_LICENSE_STATUS:"CHECK_LICENSE_STATUS",CHANGE_ACTION_STATUS:"CHANGE_ACTION_STATUS",HYDRATE_LICENSE_DATA:"HYDRATE_LICENSE_DATA",LICENSE_FETCH_ERROR:"LICENSE_FETCH_ERROR"},D={success:!1,license:"invalid",license_limit:1,site_count:0,expires:"",activations_left:0,price_id:0,error:void 0,error_message:void 0},m={key:"",status:D},O={license:m},L=(e="")=>(e&&(e=`/${e}`),`content-control/v2/license${e}`),{ACTIVATE_LICENSE:H,CONNECT_SITE:U,DEACTIVATE_LICENSE:w,UPDATE_LICENSE_KEY:P,REMOVE_LICENSE:b,CHECK_LICENSE_STATUS:G,HYDRATE_LICENSE_DATA:k,CHANGE_ACTION_STATUS:K}=N,x=(e,t,n)=>(n&&console.log(e,n),{type:K,actionName:e,status:t,message:n});function*V(e){const t="activateLicense";try{yield x(t,v.Resolving);const n=yield _(L("activate"),{method:"POST",body:{licenseKey:e}});if(n){const{status:e,connectInfo:r}=n;return yield x(t,v.Success),void 0!==r?{type:U,licenseStatus:e,connectInfo:r}:{type:H,licenseStatus:e}}return x(t,v.Error,(0,R.__)("An error occurred, license were not saved.","content-control"))}catch(e){return x(t,v.Error,A(e))}}function*Y(){const e="deactivateLicense";try{yield x(e,v.Resolving);const t=yield _(L("deactivate"),{method:"POST"});return t?(yield x(e,v.Success),{type:w,licenseStatus:t.status}):x(e,v.Error,(0,R.__)("An error occurred, license were not saved.","content-control"))}catch(t){return x(e,v.Error,A(t))}}function*F(){const e="checkLicenseStatus";try{yield x(e,v.Resolving);const t=yield _(L("status"),{method:"POST"});return t?(yield x(e,v.Success),{type:G,licenseStatus:t.status}):x(e,v.Error,(0,R.__)("An error occurred, license were not saved.","content-control"))}catch(t){return x(e,v.Error,A(t))}}function*B(e){const t="updateLicenseKey";if((yield(0,h.resolveSelect)(I,"getLicenseKey"))===e)return x(t,v.Error,(0,R.__)("The license key is the same as the current one.","content-control"));try{yield x(t,v.Resolving);const n=yield _(L(),{method:"POST",body:{licenseKey:e}});return n?(yield x(t,v.Success),{type:P,licenseKey:e,licenseStatus:n.status}):x(t,v.Error,(0,R.__)("An error occurred, license were not saved.","content-control"))}catch(e){return x(t,v.Error,A(e))}}function*M(){const e="removeLicense";try{return yield x(e,v.Resolving),(yield _(L(),{method:"DELETE"}))?(yield x(e,v.Success),{type:b}):x(e,v.Error,(0,R.__)("An error occurred, license were not saved.","content-control"))}catch(t){return x(e,v.Error,A(t))}}function*j(){const e="activatePro";try{return yield x(e,v.Resolving),(yield _(L("activate-pro"),{method:"POST"}))?x(e,v.Success):x(e,v.Error,(0,R.__)("An error occurred, license were not saved.","content-control"))}catch(t){return x(e,v.Error,A(t))}}const Q=e=>({type:k,license:e}),{ACTIVATE_LICENSE:$,CONNECT_SITE:q,DEACTIVATE_LICENSE:W,REMOVE_LICENSE:J,UPDATE_LICENSE_KEY:X,CHECK_LICENSE_STATUS:z,HYDRATE_LICENSE_DATA:Z,CHANGE_ACTION_STATUS:ee,LICENSE_FETCH_ERROR:te}=N;const{LICENSE_FETCH_ERROR:ne}=N;function*re(){try{const e=yield _(L(),{method:"GET"});return e?Q(e):{type:ne,message:(0,R.__)("An error occurred, license data was not loaded.","content-control")}}catch(e){return{type:ne,message:A(e)}}}function*se(){const{key:e}=yield(0,C.select)(I,"getLicenseData");return e}function*ie(){const{status:e}=yield(0,C.select)(I,"getLicenseData");return e}const ce=e=>e.license,oe=e=>{const{key:t}=ce(e);return t},ae=e=>{const{status:t}=ce(e);return{...D,...t}},ue=e=>e.connectInfo,de=(e,t)=>e?.dispatchStatus?.[t]?.status,le=(e,t)=>{if(!Array.isArray(t))return de(e,t)===v.Resolving;let n=!1;for(let r=0;t.length>r;r++)if(n=de(e,t[r])===v.Resolving,n)return!0;return n},Ee=(e,t)=>{const n=de(e,t);return!!(n&&[v.Success,v.Error].indexOf(n)>=0)},Se=(e,t)=>e?.dispatchStatus?.[t]?.error,ge=(0,h.createReduxStore)(I,{initialState:O,selectors:s,actions:n,reducer:(e,{type:t,license:n,licenseKey:r,licenseStatus:s,connectInfo:i,actionName:c,status:o,message:a})=>{switch(t){case $:case W:case z:return{...e,license:{...e.license,status:s}};case q:return{...e,license:{...e.license,status:s},connectInfo:i};case X:return{...e,license:{...e.license,key:r,status:s}};case J:return{...e,license:{key:"",status:{}}};case Z:return{...e,license:n};case te:return{...e,error:a};case ee:return{...e,dispatchStatus:{...e.dispatchStatus,[c]:{...e?.dispatchStatus?.[c],status:o,error:a}}};default:return e}},resolvers:r,controls:{...C.controls,...T}});var pe=window.wp.hooks;const _e="content-control/settings",ye={UPDATE:"UPDATE",STAGE_CHANGES:"STAGE_CHANGES",SAVE_CHANGES:"SAVE_CHANGES",HYDRATE:"HYDRATE",CHANGE_ACTION_STATUS:"CHANGE_ACTION_STATUS",SETTINGS_FETCH_ERROR:"SETTINGS_FETCH_ERROR",HYDRATE_BLOCK_TYPES:"HYDRATE_BLOCK_TYPES",BLOCK_TYPES_FETCH_ERROR:"BLOCK_TYPES_FETCH_ERROR"},Te=(0,pe.applyFilters)("contentControl.defaultSettings",{defaultDenialMessage:"",excludeAdmins:!0,excludedBlocks:[],permissions:{view_block_controls:"edit_posts",edit_block_controls:"edit_posts",edit_restrictions:"manage_options",manage_settings:"manage_options"},mediaQueries:{mobile:{override:!1,breakpoint:640},tablet:{override:!1,breakpoint:920},desktop:{override:!1,breakpoint:1440}}}),{currentSettings:fe=Te}=contentControlCoreData,Ae={settings:fe,unsavedChanges:{}},he=()=>"content-control/v2/settings",{UPDATE:Ce,SAVE_CHANGES:Re,STAGE_CHANGES:ve,HYDRATE:Ie,CHANGE_ACTION_STATUS:Ne,HYDRATE_BLOCK_TYPES:De}=ye,me=(e,t,n)=>(n&&console.log(e,n),{type:Ne,actionName:e,status:t,message:n});function*Oe(e){const t="updateSettings";try{yield me(t,v.Resolving);const n=yield(0,C.select)(_e,"getSettings"),r=yield _(he(),{method:"PUT",body:{settings:{...n,...e}}});return r?(yield me(t,v.Success),{type:Ce,settings:r}):me(t,v.Error,(0,R.__)("An error occurred, settings were not saved.","content-control"))}catch(e){return me(t,v.Error,A(e))}}function*Le(){const e="saveSettings";try{yield me(e,v.Resolving);const t=yield(0,C.select)(_e,"getSettings"),n=yield(0,C.select)(_e,"getUnsavedChanges"),r=yield _(he(),{method:"PUT",body:{settings:{...t,...n}}});return r?(yield me(e,v.Success),{type:Re,settings:r}):me(e,v.Error,(0,R.__)("An error occurred, settings were not saved.","content-control"))}catch(t){return me(e,v.Error,A(t))}}const He=e=>({type:ve,settings:e}),Ue=e=>({type:Ie,settings:e}),we=e=>({type:De,blockTypes:e}),{UPDATE:Pe,STAGE_CHANGES:be,SAVE_CHANGES:Ge,HYDRATE:ke,HYDRATE_BLOCK_TYPES:Ke,CHANGE_ACTION_STATUS:xe,SETTINGS_FETCH_ERROR:Ve,BLOCK_TYPES_FETCH_ERROR:Ye}=ye;const{SETTINGS_FETCH_ERROR:Fe,BLOCK_TYPES_FETCH_ERROR:Be}=ye;function*Me(){try{const{settings:e}=yield _(he(),{method:"GET"});return e?Ue(e):{type:Fe,message:(0,R.__)("An error occurred, settings were not loaded.","content-control")}}catch(e){return{type:Fe,message:A(e)}}}function*je(){try{const e=yield _(`${S}/blockTypes`,{method:"GET"});return e?we(e):{type:Be,message:(0,R.__)("An error occurred, block types were not loaded.","content-control")}}catch(e){return{type:Be,message:A(e)}}}const Qe=e=>e.settings,$e=e=>e.knownBlockTypes,qe=(e,t,n)=>{var r;return null!==(r=Qe(e)[t])&&void 0!==r?r:n},We=e=>{var t;return null!==(t=e?.unsavedChanges)&&void 0!==t?t:{}},Je=e=>{var t;return Object.keys(null!==(t=e?.unsavedChanges)&&void 0!==t?t:{}).length>0},Xe=e=>qe(e,"excludedBlocks",Te.excludedBlocks),ze=(e,t)=>{const n=qe(e,"permissions",Te.permissions)[t];return"string"==typeof n?n:"manage_options"},Ze=(e,t)=>e?.dispatchStatus?.[t]?.status,et=(e,t)=>{if(!Array.isArray(t))return Ze(e,t)===v.Resolving;let n=!1;for(let r=0;t.length>r;r++)if(n=Ze(e,t[r])===v.Resolving,n)return!0;return n},tt=(e,t)=>{const n=Ze(e,t);return!!(n&&[v.Success,v.Error].indexOf(n)>=0)},nt=(e,t)=>e?.dispatchStatus?.[t]?.error,rt=(0,h.createReduxStore)(_e,{initialState:Ae,selectors:o,actions:i,reducer:(e,{type:t,settings:n,actionName:r,status:s,message:i,blockTypes:c})=>{var o;switch(t){case ke:return{...e,settings:n};case Ke:return{...e,knownBlockTypes:c};case Ye:case Ve:return{...e,error:i};case be:return{...e,unsavedChanges:{...null!==(o=e.unsavedChanges)&&void 0!==o?o:{},...n}};case Ge:return{...e,settings:{...e.settings,...n},unsavedChanges:{}};case Pe:return{...e,settings:{...e.settings,...n}};case xe:return{...e,dispatchStatus:{...e.dispatchStatus,[r]:{...e?.dispatchStatus?.[r],status:s,error:i}}};default:return e}},resolvers:c,controls:{...C.controls,...T}}),st=(e=void 0)=>{const t="content-control/v2/restrictions";return e?`${t}/${e}`:t},it=({title:e,excerpt:t,...n})=>({...n,title:"string"==typeof e?e:e.raw,description:"string"==typeof t?t:t.raw}),ct=({description:e,...t})=>({...t,excerpt:e}),ot=e=>!!e&&(e.title.length?!(!e.settings?.conditions?.items?.length&&"publish"===e.status)||{message:(0,R.__)("Please provide at least one condition for this restriction before enabling it.","content-control"),tabName:"content"}:{message:(0,R.__)("Please provide a name for this restriction.","content-control"),tabName:"general",field:"title"}),at="content-control/restrictions",ut={CREATE:"CREATE",UPDATE:"UPDATE",DELETE:"DELETE",HYDRATE:"HYDRATE",ADD_NOTICE:"ADD_NOTICE",CLEAR_NOTICE:"CLEAR_NOTICE",CLEAR_NOTICES:"CLEAR_NOTICES",EDITOR_CHANGE_ID:"EDITOR_CHANGE_ID",EDITOR_CLEAR_DATA:"EDITOR_CLEAR_DATA",EDITOR_UPDATE_VALUES:"EDITOR_UPDATE_VALUES",CHANGE_ACTION_STATUS:"CHANGE_ACTION_STATUS",RESTRICTIONS_FETCH_ERROR:"RESTRICTIONS_FETCH_ERROR"},dt={restrictions:[],editor:{},notices:[]},lt={id:0,title:"",description:"",status:"draft",priority:0,settings:{userStatus:"logged_in",roleMatch:"any",userRoles:[],protectionMethod:"redirect",redirectType:"login",redirectUrl:"",replacementType:"message",replacementPage:void 0,archiveHandling:"filter_post_content",archiveReplacementPage:void 0,archiveRedirectType:"login",archiveRedirectUrl:"",additionalQueryHandling:"filter_post_content",showExcerpts:!1,overrideMessage:!1,customMessage:"",conditions:{logicalOperator:"or",items:[]}}},{CREATE:Et,DELETE:St,UPDATE:gt,HYDRATE:pt,ADD_NOTICE:_t,CLEAR_NOTICE:yt,CLEAR_NOTICES:Tt,CHANGE_ACTION_STATUS:ft,EDITOR_CHANGE_ID:At,EDITOR_CLEAR_DATA:ht,EDITOR_UPDATE_VALUES:Ct}=ut,Rt=(e,t,n)=>(n&&console.log(e,n),{type:ft,actionName:e,status:t,message:n}),vt=e=>({type:_t,notice:e}),It=e=>({type:yt,noticeId:e}),Nt=()=>({type:Tt});function*Dt(e){try{if(void 0===e)return{type:At,editorId:void 0,editorValues:void 0};const t=yield(0,C.select)(at,"getRestrictionDefaults");let n="new"===e?t:void 0;return"number"==typeof e&&e>0&&(n=yield(0,C.select)(at,"getRestriction",e)),{type:At,editorId:e,editorValues:n}}catch(e){return console.log(e),Rt("changeEditorId",v.Error,A(e))}}const mt=e=>({type:Ct,editorValues:e}),Ot=()=>({type:ht});function*Lt(e){const t="createRestriction";try{yield Rt(t,v.Resolving);const{id:n,...r}=e,s=ot(e);if(!0!==s)return yield Rt(t,v.Error,s||(0,R.__)("An error occurred, restriction was not saved.")),vt({id:"restriction-error",type:"error",message:"object"==typeof s?s.message:"",closeDelay:5e3});const i=yield _(st(),{method:"POST",body:ct(r)});if(i){yield Rt(t,v.Success);const n=yield(0,C.select)(at,"getEditorId"),r={type:Et,restriction:it(i)};return"new"===n?(yield r,void(yield Dt(i.id))):(yield vt({id:"restriction-saved",type:"success",message:(0,R.sprintf)(
// translators: %s: restriction title.
(0,R.__)('Restriction "%s" saved successfully.',"content-control"),e?.title),closeDelay:5e3}),r)}return Rt(t,v.Error,(0,R.__)("An error occurred, restriction was not saved.","content-control"))}catch(e){return Rt(t,v.Error,A(e))}}function*Ht(e){const t="updateRestriction";try{yield Rt(t,v.Resolving);const n=ot(e);if(!0!==n)return yield Rt(t,v.Error,n||(0,R.__)("An error occurred, restriction was not saved.")),vt({id:"restriction-error",type:"error",message:"object"==typeof n?n.message:"",closeDelay:5e3});const r=yield(0,C.select)(at,"getRestriction",e.id),s=yield _(st(r.id),{method:"POST",body:ct(e)});return s?(yield Rt(t,v.Success),yield vt({id:"restriction-saved",type:"success",message:(0,R.sprintf)(
// translators: %s: restriction title.
(0,R.__)('Restriction "%s" saved successfully.',"content-control"),e?.title),closeDelay:5e3}),{type:gt,restriction:it(s)}):Rt(t,v.Error,(0,R.__)("An error occurred, restriction was not saved.","content-control"))}catch(e){return Rt(t,v.Error,A(e))}}function*Ut(e,t=!1){const n="deleteRestriction";try{yield Rt(n,v.Resolving);const r=yield(0,C.select)(at,"getRestriction",e),s=t?"?force=true":"",i=st(r.id)+s;return(yield _(i,{method:"DELETE"}))?(yield Rt(n,v.Success),t?{type:St,restrictionId:e}:{type:gt,restriction:{...r,status:"trash"}}):Rt(n,v.Error,(0,R.__)("An error occurred, restriction was not deleted.","content-control"))}catch(e){return Rt(n,v.Error,A(e))}}const wt=e=>({type:pt,restrictions:e}),{CREATE:Pt,DELETE:bt,UPDATE:Gt,HYDRATE:kt,ADD_NOTICE:Kt,CLEAR_NOTICE:xt,CLEAR_NOTICES:Vt,CHANGE_ACTION_STATUS:Yt,EDITOR_CHANGE_ID:Ft,EDITOR_CLEAR_DATA:Bt,EDITOR_UPDATE_VALUES:Mt,RESTRICTIONS_FETCH_ERROR:jt}=ut;const{UPDATE:Qt,RESTRICTIONS_FETCH_ERROR:$t}=ut;function*qt(){try{const e=yield _(f(st(),{status:["any","trash","auto-draft"],per_page:100,context:"edit"}));if(e){const t=e.map(it);return wt(t)}return{type:$t,message:(0,R.__)("An error occurred, restrictions were not loaded.","content-control")}}catch(e){return{type:$t,message:A(e)}}}function*Wt(e){try{const t=yield _(f(st(e),{context:"edit"}));return t?{type:Qt,restriction:it(t)}:{type:$t,message:(0,R.sprintf)(/* translators: 1: restriction id */
(0,R.__)("An error occurred, restriction %d were not loaded.","content-control"),e)}}catch(e){return{type:$t,message:A(e)}}}const Jt=e=>e.notices||[],Xt=e=>e.restrictions||[],zt=(e,t)=>Xt(e).find((e=>e.id===t)),Zt=e=>{const t=e?.editor?.id;return"string"==typeof t&&"new"===t||"number"==typeof t&&t>0},en=e=>e?.editor?.id,tn=e=>e?.editor?.values,nn=e=>{const t=Xt(e);return 0===t.length?0:t.reduce(((e,t)=>t.priority>e?t.priority:e),0)+1},rn=e=>{const t=nn(e);return{...(0,pe.applyFilters)("contentControl.defaultRestrictionValues",lt),priority:t}},sn=(e,t)=>e?.dispatchStatus?.[t]?.status,cn=(e,t)=>{if(!Array.isArray(t))return sn(e,t)===v.Resolving;let n=!1;for(let r=0;t.length>r;r++)if(n=sn(e,t[r])===v.Resolving,n)return!0;return n},on=(e,t)=>{const n=sn(e,t);return!!(n&&[v.Success,v.Error].indexOf(n)>=0)},an=(e,t)=>e?.dispatchStatus?.[t]?.error,un=(0,h.createReduxStore)(at,{initialState:dt,selectors:d,actions:a,reducer:(e=dt,{restrictions:t,restriction:n,restrictionId:r,type:s,editorId:i,editorValues:c,actionName:o,status:a,message:u,notice:d,noticeId:l})=>{switch(s){case Pt:return{...e,restrictions:[...e.restrictions,n]};case Gt:return{...e,restrictions:e.restrictions.filter((e=>e.id!==n.id)).concat([n])};case bt:return{...e,restrictions:e.restrictions.filter((e=>e.id!==r))};case kt:return{...e,restrictions:t};case Kt:return{...e,notices:[...e.notices.filter((({id:e})=>e!==d.id)),d]};case xt:return{...e,notices:e.notices.filter((({id:e})=>e!==l))};case Vt:return{...e,notices:[]};case jt:return{...e,error:u};case Ft:return{...e,editor:{...e.editor,id:i,values:c}};case Mt:return{...e,editor:{...e.editor,values:{...e.editor?.values,...c}}};case Bt:return{...e,editor:{}};case Yt:return{...e,dispatchStatus:{...e.dispatchStatus,[o]:{...e?.dispatchStatus?.[o],status:a,error:u}}};default:return e}},resolvers:u,controls:{...C.controls,...T}}),dn="content-control/url-search",ln={SEARCH_REQUEST:"SEARCH_REQUEST",SEARCH_SUCCESS:"SEARCH_SUCCESS",SEARCH_ERROR:"SEARCH_ERROR",UPDATE_SUGGESTIONS:"UPDATE_SUGGESTIONS",CHANGE_ACTION_STATUS:"CHANGE_ACTION_STATUS"},En={currentQuery:"",searchResults:[],queries:{}};var Sn=window.wp.apiFetch,gn=e.n(Sn);const pn=(e={search:""})=>f("wp/v2/search",e),yn=(e,t={})=>({type:"FETCH_LINK_SUGGESTIONS",search:e,searchOptions:t});var Tn={async FETCH_LINK_SUGGESTIONS({search:e,searchOptions:t={},settings:n={disablePostFormats:!1}}){const{isInitialSuggestions:r=!1,type:s,subtype:i,page:c,perPage:o=(r?3:20)}=t,{disablePostFormats:a=!1}=n,u=[],d=e=>!s||s===e||Array.isArray(s)&&s.indexOf(e)>=0;return d("post")&&u.push(gn()({path:pn({search:e,page:c,per_page:o,type:"post",subtype:i}),cache:"no-cache"}).then((e=>e.map((e=>({...e,meta:{kind:"post-type",subtype:i}}))))).catch((()=>[]))),d("term")&&u.push(gn()({path:pn({search:e,page:c,per_page:o,type:"term",subtype:i}),cache:"no-cache"}).then((e=>e.map((e=>({...e,meta:{kind:"taxonomy",subtype:i}}))))).catch((()=>[]))),!a&&d("post-format")&&u.push(gn()({path:pn({search:e,page:c,per_page:o,type:"post-format",subtype:i}),cache:"no-cache"}).then((e=>e.map((e=>({...e,meta:{kind:"taxonomy",subtype:i}}))))).catch((()=>[]))),d("attachment")&&u.push(gn()({path:pn({search:e,page:c,per_page:o}),cache:"no-cache"}).then((e=>e.map((e=>({...e,meta:{kind:"media"}}))))).catch((()=>[]))),Promise.all(u).then((e=>e.reduce(((e,t)=>e.concat(t)),[]).filter((e=>!!e.id)).slice(0,o).map((e=>{var t;const n="attachment"===e.type;return{id:e.id,url:n?e.source_url:e.url,title:n?null!==(t=e.title.rendered)&&void 0!==t?t:suggestion.title.raw:e.title||(0,R.__)("(no title)"),type:e?.subtype||e.type,kind:e?.meta?.kind}}))))}};const{SEARCH_REQUEST:fn,SEARCH_SUCCESS:An,SEARCH_ERROR:hn,CHANGE_ACTION_STATUS:Cn}=ln;function*Rn(e,t){const n="updateSuggestions";try{yield Dn(n,v.Resolving),yield vn(e);const r=yield yn(e,t);if(r)return yield Dn(n,v.Success),In(e,r);const s=(0,R.__)("No results returned","content-control");return yield Dn(n,v.Error,s),Nn(e,s)}catch(t){const r=A(t);return yield Dn(n,v.Error,r),Nn(e,r)}}function vn(e){return{type:fn,queryText:e}}function In(e,t){return{type:An,queryText:e,results:t}}function Nn(e,t){return{type:hn,queryText:e,error:t}}const Dn=(e,t,n)=>(n&&console.log(e,n),{type:Cn,actionName:e,status:t,message:n}),{SEARCH_ERROR:mn,SEARCH_REQUEST:On,SEARCH_SUCCESS:Ln,CHANGE_ACTION_STATUS:Hn}=ln;const Un=e=>e.searchResults||[],wn=(e,t)=>e?.dispatchStatus?.[t]?.status,Pn=(e,t)=>{if(!Array.isArray(t))return wn(e,t)===v.Resolving;let n=!1;for(let r=0;t.length>r;r++)if(n=wn(e,t[r])===v.Resolving,n)return!0;return n},bn=(e,t)=>{const n=wn(e,t);return!!(n&&[v.Success,v.Error].indexOf(n)>=0)},Gn=(e,t)=>e?.dispatchStatus?.[t]?.error,kn=(0,h.createReduxStore)(dn,{initialState:En,selectors:E,actions:l,reducer:(e=En,{type:t,queryText:n,results:r,error:s,actionName:i,status:c,message:o})=>{var a;switch(t){case On:return{...e,currentQuery:n};case Ln:return e.currentQuery===n?{searchResults:r}:e;case mn:return e.currentQuery===n?{...e,error:s}:e;case Hn:return{...e,dispatchStatus:{...e.dispatchStatus,[i]:{...null!==(a=e?.dispatchStatus?.[i])&&void 0!==a?a:{},status:c,error:o}}};default:return e}},controls:{...C.controls,...T,...Tn}});var Kn=window.wp.element,xn=()=>{var e,t,n,r;const{connectInfo:s,licenseKey:i,licenseStatus:c,isSaving:o,proWasActivated:a,isActivatingPro:u}=(0,h.useSelect)((e=>{const t=e(ge);return{connectInfo:t.getConnectInfo(),licenseKey:t.getLicenseKey(),licenseStatus:t.getLicenseStatus(),isSaving:t.isDispatching("activateLicense")||t.isDispatching("deactivateLicense")||t.isDispatching("checkLicenseStatus")||t.isDispatching("updateLicenseKey")||t.isDispatching("removeLicense"),isActivatingPro:t.isDispatching("activatePro"),proWasActivated:t.hasDispatched("activatePro")}}),[]),{activateLicense:d,deactivateLicense:l,checkLicenseStatus:E,updateLicenseKey:S,removeLicense:g,activatePro:p}=(0,h.useDispatch)(ge),_="valid"===c?.license,y=["deactivated","site_inactive","inactive"].includes(null!==(e=c?.license)&&void 0!==e?e:""),T=["invalid","failed"].includes(c?.license),f=T&&["","missing"].includes(null!==(t=c?.error)&&void 0!==t?t:""),A="expired"===c?.license||["invalid","failed"].includes(null!==(n=c?.license)&&void 0!==n?n:"")&&"expired"===c?.error,C="disabled"===c?.license||T&&"disabled"===c?.error,R="no_activations_left"===c?.error,v=!!c?.error,I=T&&v&&!["missing","expired","disabled"].includes(null!==(r=c?.error)&&void 0!==r?r:""),N=(0,Kn.useMemo)((()=>_||y||A||C||R),[_,y,A,C,R]),D=(0,Kn.useMemo)((()=>_?"active":A?"expired":f?"missing":y?"deactivated":C?"disabled":I?"error":"unknown"),[_,A,f,y,C,I]),m=(0,Kn.useMemo)((()=>{var e;let t=null!==(e=c?.price_id)&&void 0!==e?e:null;if(null===t)return-1;switch("string"==typeof t&&(t=parseInt(t,10)),t){default:return-1;case!1:case 0:return 0;case 1:case 2:case 3:case 4:return t}}),[c?.price_id]);return{connectInfo:s,licenseKey:i,licenseStatus:c,licenseLevel:m,activateLicense:d,deactivateLicense:l,checkLicenseStatus:E,updateLicenseKey:S,removeLicense:g,activatePro:p,getLicenseStatusName:D,isSaving:o,isActivatingPro:u,proWasActivated:a,isLicenseKeyValid:N,isLicenseActive:_,isLicenseDeactivated:y,isLicenseMissing:f,isLicenseExpired:A,isLicenseInvalid:T,isLicenseDisabled:C,isLicenseOverQuota:R,isGeneralError:I,hasError:v}},Vn=()=>{const{currentSettings:e,unsavedChanges:t,hasUnsavedChanges:n,isSaving:r}=(0,h.useSelect)((e=>{const t=e(rt);return{unsavedChanges:t.getUnsavedChanges(),hasUnsavedChanges:t.hasUnsavedChanges(),currentSettings:t.getSettings(),isSaving:t.isDispatching("updateSettings")||t.isDispatching("saveSettings")}}),[]),{updateSettings:s,saveSettings:i,stageUnsavedChanges:c}=(0,h.useDispatch)(rt),o=(0,Kn.useMemo)((()=>({...e,...t})),[e,t]);return{currentSettings:e,settings:o,getSetting:(e,t)=>{var n;return null!==(n=o[e])&&void 0!==n?n:t},updateSettings:s,saveSettings:i,isSaving:r,hasUnsavedChanges:n,stageUnsavedChanges:c,unsavedChanges:t}};(window.contentControl=window.contentControl||{}).coreData=t}();