@strapi/admin 4.12.0-beta.4 → 4.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/ConfirmBulkActionDialog/index.js +2 -0
  2. package/admin/src/content-manager/pages/ListView/components/BulkActionButtons/SelectedEntriesModal/index.js +83 -36
  3. package/admin/src/pages/AuthPage/components/Register/index.js +0 -4
  4. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/Events/index.js +1 -1
  5. package/admin/src/translations/en.json +1 -0
  6. package/build/7065.ec811562.chunk.js +114 -0
  7. package/build/{9806.91360bb6.chunk.js → 9806.aa25371d.chunk.js} +10 -10
  8. package/build/{Admin-authenticatedApp.24998de8.chunk.js → Admin-authenticatedApp.376233ff.chunk.js} +1 -1
  9. package/build/{admin-app.c2e4e128.chunk.js → admin-app.1c3f7fd6.chunk.js} +8 -8
  10. package/build/{content-manager.8772445b.chunk.js → content-manager.e9205db1.chunk.js} +95 -95
  11. package/build/{en-json.4c733bd1.chunk.js → en-json.e34140fc.chunk.js} +1 -1
  12. package/build/index.html +1 -1
  13. package/build/{main.ef5fb1a8.js → main.1e3b0985.js} +281 -281
  14. package/build/review-workflows-settings-create-view.05758184.chunk.js +1 -0
  15. package/build/review-workflows-settings-edit-view.c33f7c58.chunk.js +1 -0
  16. package/build/{review-workflows-settings-list-view.3ee9190d.chunk.js → review-workflows-settings-list-view.f055e1be.chunk.js} +8 -8
  17. package/build/{runtime~main.c99f4c36.js → runtime~main.58ec8df6.js} +2 -2
  18. package/build/sso-settings-page.7c9b2fd9.chunk.js +1 -0
  19. package/build/{webhook-edit-page.a91f27a1.chunk.js → webhook-edit-page.6cb479ff.chunk.js} +2 -2
  20. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/WorkflowAttributes/WorkflowAttributes.js +85 -9
  21. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/CreateView/CreateView.js +61 -4
  22. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/EditView/EditView.js +71 -21
  23. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/pages/ListView/ListView.js +1 -2
  24. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +1 -1
  25. package/ee/admin/pages/SettingsPage/pages/SingleSignOn/index.js +2 -8
  26. package/ee/server/bootstrap.js +2 -0
  27. package/ee/server/services/auth.js +1 -1
  28. package/ee/server/services/index.js +1 -0
  29. package/ee/server/services/review-workflows/metrics/index.js +51 -0
  30. package/ee/server/services/review-workflows/metrics/weekly-metrics.js +76 -0
  31. package/ee/server/services/review-workflows/workflows/index.js +5 -0
  32. package/ee/server/validation/authentication.js +6 -1
  33. package/package.json +9 -9
  34. package/build/7065.99ca8ab1.chunk.js +0 -112
  35. package/build/review-workflows-settings-create-view.d4b5dbb8.chunk.js +0 -1
  36. package/build/review-workflows-settings-edit-view.77299c63.chunk.js +0 -1
  37. package/build/sso-settings-page.3a1ed8c9.chunk.js +0 -1
  38. package/ee/server/services/review-workflows/metrics.js +0 -24
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8936],{80252:function(ue,y,t){t.r(y),t.d(y,{default:function(){return K}});var e=t(32735),i=t(19565),g=t(15062),E=t(30305),F=t(41415),m=t(87933),V=t(23866),k=t(49372),X=t(66456),d=t(92802),Y=t(3040),Z=t.n(Y),z=t(67879),B=t(20108),H=t(53038),N=t(90769),P=t(61234),j=t(50337),S=t(77061),u=t(27187),c=t(90562),J=t(45594),Q=t(165),n=t(2121),G=t(32329),C=t(79989),U=t(82920);function $(){const{formatMessage:s}=(0,z.Z)(),{post:b}=(0,i.kY)(),{push:q}=(0,H.k6)(),{formatAPIError:_}=(0,i.So)(),w=(0,g.I0)(),ee=(0,g.v9)(E._),T=(0,i.lm)(),{collectionTypes:te,singleTypes:oe,isLoading:se}=(0,N.G)(),{isLoading:M,meta:v,workflows:I}=(0,G.n)(),{clientState:{currentWorkflow:{data:l,isDirty:ne}}}=(0,g.v9)(o=>o?.[n.sN]??C.E),{allowedActions:{canCreate:ae}}=(0,i.ss)(ee.settings["review-workflows"]),[L,f]=e.useState(!1),{isLoading:W,getFeature:le}=(0,j.q5)(),[re,ie]=e.useState(null),[A,h]=e.useState({}),a=le("review-workflows"),R=I.flatMap(o=>o.contentTypes),{mutateAsync:ce,isLoading:D}=(0,B.useMutation)(async({workflow:o})=>{const{data:{data:r}}=await b("/admin/review-workflows/workflows",{data:o});return r},{onSuccess(){T({type:"success",message:{id:"Settings.review-workflows.create.page.notification.success",defaultMessage:"Workflow successfully created"}})}}),O=async()=>{h({});try{const o=await ce({workflow:l});return q(`/settings/review-workflows/${o.id}`),o}catch(o){return o.response.data?.error?.name==="ValidationError"&&o.response.data?.error?.details?.errors?.length>0&&ie(o.response.data?.error?.details?.errors.reduce((r,x)=>(Z()(r,x.path,x.message),r),{})),T({type:"warning",message:_(o)}),null}},fe=async()=>{await O()},ge=()=>{h({})},p=(0,d.TA)({enableReinitialize:!0,initialErrors:re,initialValues:l,async onSubmit(){const o=l.contentTypes.some(r=>R.includes(r));a?.[n.Ef]&&v?.workflowCount>=parseInt(a[n.Ef],10)?f("workflow"):a?.[n._X]&&l.stages.length>=parseInt(a[n._X],10)?f("stage"):o?h(r=>({...r,hasReassignedContentTypes:!0})):O()},validate(o){return(0,U.V)({values:o,formatMessage:s})}});return(0,P.v)(n.sN,C.I),e.useEffect(()=>{w((0,S.Js)()),w((0,S.CI)({name:""}))},[w]),e.useEffect(()=>{!M&&!W&&(a?.[n.Ef]&&v?.workflowsTotal>=parseInt(a[n.Ef],10)?f("workflow"):a?.[n._X]&&l.stages.length>=parseInt(a[n._X],10)&&f("stage"))},[W,M,a,v?.workflowsTotal,l.stages.length]),e.createElement(e.Fragment,null,e.createElement(u.lx,null),e.createElement(d.Hy,{value:p},e.createElement(d.l0,{onSubmit:p.handleSubmit},e.createElement(u.h4,{navigationAction:e.createElement(u.eJ,{href:"/settings/review-workflows"}),primaryAction:e.createElement(F.z,{startIcon:e.createElement(X.Z,null),type:"submit",size:"M",disabled:!ne||!ae,isLoading:D},s({id:"global.save",defaultMessage:"Save"})),title:s({id:"Settings.review-workflows.create.page.title",defaultMessage:"Create Review Workflow"}),subtitle:s({id:"Settings.review-workflows.page.subtitle",defaultMessage:"{count, plural, one {# stage} other {# stages}}"},{count:l?.stages?.length??0})}),e.createElement(u.fC,null,e.createElement(m.k,{alignItems:"stretch",direction:"column",gap:7},se?e.createElement(V.a,null,s({id:"Settings.review-workflows.page.isLoading",defaultMessage:"Workflow is loading"})):e.createElement(m.k,{alignItems:"stretch",direction:"column",gap:7},e.createElement(Q.Y,{contentTypes:{collectionTypes:te,singleTypes:oe},workflows:I}),e.createElement(J.U,{stages:p.values?.stages})))))),e.createElement(i.QH.Root,{isConfirmButtonLoading:D,isOpen:Object.keys(A).length>0,onToggleDialog:ge,onConfirm:fe},e.createElement(i.QH.Body,null,e.createElement(m.k,{direction:"column",gap:5},A.hasReassignedContentTypes&&e.createElement(k.Z,{textAlign:"center",variant:"omega"},s({id:"Settings.review-workflows.page.delete.confirm.contentType.body",defaultMessage:"{count} {count, plural, one {content-type} other {content-types}} {count, plural, one {is} other {are}} already mapped to {count, plural, one {another workflow} other {other workflows}}. If you save changes, {count, plural, one {this} other {these}} {count, plural, one {content-type} other {{count} content-types}} will no more be mapped to the {count, plural, one {another workflow} other {other workflows}} and all corresponding information will be removed."},{count:R.filter(o=>l.contentTypes.includes(o)).length})),e.createElement(k.Z,{textAlign:"center",variant:"omega"},s({id:"Settings.review-workflows.page.delete.confirm.confirm",defaultMessage:"Are you sure you want to save?"}))))),e.createElement(c.fC,{isOpen:L==="workflow",onClose:()=>f(!1)},e.createElement(c.Dx,null,s({id:"Settings.review-workflows.create.page.workflows.limit.title",defaultMessage:"You\u2019ve reached the limit of workflows in your plan"})),e.createElement(c.uT,null,s({id:"Settings.review-workflows.create.page.workflows.limit.body",defaultMessage:"Delete a workflow or contact Sales to enable more workflows."}))),e.createElement(c.fC,{isOpen:L==="stage",onClose:()=>f(!1)},e.createElement(c.Dx,null,s({id:"Settings.review-workflows.create.page.stages.limit.title",defaultMessage:"You have reached the limit of stages for this workflow in your plan"})),e.createElement(c.uT,null,s({id:"Settings.review-workflows.create.page.stages.limit.body",defaultMessage:"Try deleting some stages or contact Sales to enable more stages."}))))}function K(){const s=(0,g.v9)(E._);return e.createElement(i.O4,{permissions:s.settings["review-workflows"].create},e.createElement($,null))}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4409],{45696:function(Ee,M,t){t.r(M),t.d(M,{default:function(){return oe}});var e=t(32735),i=t(19565),d=t(15062),T=t(30305),B=t(41415),h=t(87933),H=t(23866),p=t(49372),N=t(66456),y=t(92802),P=t(3040),U=t.n(P),J=t(67879),Q=t(20108),G=t(53038),$=t(90769),K=t(61234),b=t(50337),I=t(77061),g=t(27187),c=t(90562),q=t(45594),_=t(165),l=t(2121),ee=t(32329),L=t(79989),te=t(82920);function se(){const{workflowId:u}=(0,G.UO)(),ne=(0,d.v9)(T._),{formatMessage:n}=(0,J.Z)(),E=(0,d.I0)(),{put:ae}=(0,i.kY)(),{formatAPIError:le}=(0,i.So)(),A=(0,i.lm)(),{isLoading:D,meta:m,workflows:k,status:W,refetch:re}=(0,ee.n)(),{collectionTypes:ie,singleTypes:ce,isLoading:fe}=(0,$.G)(),{status:de,clientState:{currentWorkflow:{data:a,isDirty:ge,hasDeletedServerStages:O}}}=(0,d.v9)(s=>s?.[l.sN]??L.E),{allowedActions:{canDelete:ue,canUpdate:S}}=(0,i.ss)(ne.settings["review-workflows"]),[w,v]=e.useState({}),{getFeature:me,isLoading:R}=(0,b.q5)(),[x,f]=e.useState(!1),[we,F]=e.useState(null),V=k.find(s=>s.id===parseInt(u,10)),Z=k.filter(s=>s.id!==parseInt(u,10)).flatMap(s=>s.contentTypes),{mutateAsync:ve,isLoading:j}=(0,Q.useMutation)(async({workflow:s})=>{const{data:{data:o}}=await ae(`/admin/review-workflows/workflows/${s.id}`,{data:s});return o},{onSuccess(){A({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}})}}),he=async s=>{F(null);try{return await ve({workflow:s})}catch(o){return o.response.data?.error?.name==="ValidationError"&&o.response.data?.error?.details?.errors?.length>0&&F(o.response.data?.error?.details?.errors.reduce((Y,z)=>(U()(Y,z.path,z.message),Y),{})),A({type:"warning",message:le(o)}),null}},X=async()=>{await he(a),await re(),v({})},pe=async()=>{await X()},ye=()=>{v({})},C=(0,y.TA)({enableReinitialize:!0,initialErrors:we,initialValues:a,async onSubmit(){const s=a.contentTypes.some(o=>Z.includes(o));r?.[l.Ef]&&m?.workflowCount>parseInt(r[l.Ef],10)?f("workflow"):r?.[l._X]&&a.stages.length>parseInt(r[l._X],10)?f("stage"):O||s?(O&&v(o=>({...o,hasDeletedServerStages:!0})),s&&v(o=>({...o,hasReassignedContentTypes:!0}))):X()},validate(s){return(0,te.V)({values:s,formatMessage:n})}});(0,K.v)(l.sN,L.I);const r=me("review-workflows");return e.useEffect(()=>(E((0,I.fC)({status:W,data:V})),()=>{E((0,I.Js)())}),[W,V,E]),e.useEffect(()=>{!D&&!R&&(r?.[l.Ef]&&m?.workflowCount>parseInt(r[l.Ef],10)?f("workflow"):r?.[l._X]&&a.stages.length>parseInt(r[l._X],10)&&f("stage"))},[a.stages.length,R,D,r,m?.workflowCount,m.workflowsTotal]),e.createElement(e.Fragment,null,e.createElement(g.lx,null),e.createElement(y.Hy,{value:C},e.createElement(y.l0,{onSubmit:C.handleSubmit},e.createElement(g.h4,{navigationAction:e.createElement(g.eJ,{href:"/settings/review-workflows"}),primaryAction:e.createElement(B.z,{startIcon:e.createElement(N.Z,null),type:"submit",size:"M",disabled:!ge||!S,loading:!Object.keys(w).length>0&&j},n({id:"global.save",defaultMessage:"Save"})),subtitle:a.stages.length>0&&n({id:"Settings.review-workflows.page.subtitle",defaultMessage:"{count, plural, one {# stage} other {# stages}}"},{count:a.stages.length}),title:a.name}),e.createElement(g.fC,null,fe||de==="loading"?e.createElement(h.k,{justifyContent:"center"},e.createElement(H.a,null,n({id:"Settings.review-workflows.page.isLoading",defaultMessage:"Workflow is loading"}))):e.createElement(h.k,{alignItems:"stretch",direction:"column",gap:7},e.createElement(_.Y,{canUpdate:S,contentTypes:{collectionTypes:ie,singleTypes:ce},currentWorkflow:a,workflows:k}),e.createElement(q.U,{canDelete:ue,canUpdate:S,stages:C.values?.stages}))))),e.createElement(i.QH.Root,{isConfirmButtonLoading:j,isOpen:Object.keys(w).length>0,onToggleDialog:ye,onConfirm:pe},e.createElement(i.QH.Body,null,e.createElement(h.k,{direction:"column",gap:5},w.hasDeletedServerStages&&e.createElement(p.Z,{textAlign:"center",variant:"omega"},n({id:"Settings.review-workflows.page.delete.confirm.stages.body",defaultMessage:"All entries assigned to deleted stages will be moved to the previous stage."})),w.hasReassignedContentTypes&&e.createElement(p.Z,{textAlign:"center",variant:"omega"},n({id:"Settings.review-workflows.page.delete.confirm.contentType.body",defaultMessage:"{count} {count, plural, one {content-type} other {content-types}} {count, plural, one {is} other {are}} already mapped to {count, plural, one {another workflow} other {other workflows}}. If you save changes, {count, plural, one {this} other {these}} {count, plural, one {content-type} other {{count} content-types}} will no more be mapped to the {count, plural, one {another workflow} other {other workflows}} and all corresponding information will be removed."},{count:Z.filter(s=>a.contentTypes.includes(s)).length})),e.createElement(p.Z,{textAlign:"center",variant:"omega"},n({id:"Settings.review-workflows.page.delete.confirm.confirm",defaultMessage:"Are you sure you want to save?"}))))),e.createElement(c.fC,{isOpen:x==="workflow",onClose:()=>f(!1)},e.createElement(c.Dx,null,n({id:"Settings.review-workflows.edit.page.workflows.limit.title",defaultMessage:"You\u2019ve reached the limit of workflows in your plan"})),e.createElement(c.uT,null,n({id:"Settings.review-workflows.edit.page.workflows.limit.body",defaultMessage:"Delete a workflow or contact Sales to enable more workflows."}))),e.createElement(c.fC,{isOpen:x==="stage",onClose:()=>f(!1)},e.createElement(c.Dx,null,n({id:"Settings.review-workflows.edit.page.stages.limit.title",defaultMessage:"You have reached the limit of stages for this workflow in your plan"})),e.createElement(c.uT,null,n({id:"Settings.review-workflows.edit.page.stages.limit.body",defaultMessage:"Try deleting some stages or contact Sales to enable more stages."}))))}function oe(){const u=(0,d.v9)(T._);return e.createElement(i.O4,{permissions:u.settings["review-workflows"].main},e.createElement(se,null))}}}]);
@@ -1,18 +1,18 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[349],{17379:function(D,u,e){e.d(u,{r:function(){return h}});var t=e(32735),n=e(72850),r=e(60216),f=e.n(r),T=e(74506);function m(E,i,o){if(!E||!i)return{display:"none"};const{x:s,y:a}=o;return{transform:`translate(${s}px, ${a}px)`}}function h({renderItem:E}){const{itemType:i,isDragging:o,item:s,initialOffset:a,currentOffset:y,mouseOffset:p}=(0,T.useDragLayer)(w=>({item:w.getItem(),itemType:w.getItemType(),initialOffset:w.getInitialSourceClientOffset(),currentOffset:w.getSourceClientOffset(),isDragging:w.isDragging(),mouseOffset:w.getClientOffset()}));return o?t.createElement(n.x,{height:"100%",left:0,position:"fixed",pointerEvents:"none",top:0,zIndex:100,width:"100%"},t.createElement(n.x,{style:m(a,y,p)},E({type:i,item:s}))):null}h.propTypes={renderItem:f().func.isRequired}},50337:function(D,u,e){e.d(u,{pl:function(){return i},aY:function(){return W},q5:function(){return p.q}});var t=e(32735),n=e(19565),r=e(86209),f=e(97889);const T={data:[],isLoading:!0};var h=(L,A)=>(0,f.ZP)(L,v=>{switch(A.type){case"GET_DATA_SUCCEEDED":{v.data=A.data,v.isLoading=!1;break}case"GET_DATA_ERROR":{v.isLoading=!1;break}default:return v}}),i=({ssoEnabled:L})=>{const[A,v]=(0,t.useReducer)(h,T),l=(0,n.lm)(),{get:c}=(0,n.kY)();return(0,t.useEffect)(()=>{(async()=>{try{if(!L){v({type:"GET_DATA_SUCCEEDED",data:[]});return}const{data:C}=await c((0,r.IF)("providers"));v({type:"GET_DATA_SUCCEEDED",data:C})}catch(C){console.error(C),v({type:"GET_DATA_ERROR"}),l({type:"warning",message:{id:"notification.error"}})}})()},[c,L,l]),A},o=e(36866),s=e.n(o),a=e(67879),y=e(53038),p=e(53104);const w="strapi-notification-seat-limit",I="https://cloud.strapi.io/profile/billing",P="https://strapi.io/billing/request-seats";var W=()=>{const{formatMessage:L}=(0,a.Z)();let{license:A,isError:v,isLoading:l}=(0,p.q)();const c=(0,n.lm)(),{pathname:O}=(0,y.TH)(),{enforcementUserCount:C,permittedSeats:S,licenseLimitStatus:R,isHostedOnStrapiCloud:N}=A;(0,t.useEffect)(()=>{if(v||l)return;const Z=!s()(S)&&!window.sessionStorage.getItem(`${w}-${O}`)&&(R==="AT_LIMIT"||R==="OVER_LIMIT");let B;R==="OVER_LIMIT"?B="warning":R==="AT_LIMIT"&&(B="softWarning"),Z&&c({type:B,message:L({id:"notification.ee.warning.over-.message",defaultMessage:"Add seats to {licenseLimitStatus, select, OVER_LIMIT {invite} other {re-enable}} Users. If you already did it but it's not reflected in Strapi yet, make sure to restart your app."},{licenseLimitStatus:R}),title:L({id:"notification.ee.warning.at-seat-limit.title",defaultMessage:"{licenseLimitStatus, select, OVER_LIMIT {Over} other {At}} seat limit ({enforcementUserCount}/{permittedSeats})"},{licenseLimitStatus:R,enforcementUserCount:C,permittedSeats:S}),link:{url:N?I:P,label:L({id:"notification.ee.warning.seat-limit.link",defaultMessage:"{isHostedOnStrapiCloud, select, true {ADD SEATS} other {CONTACT SALES}}"},{isHostedOnStrapiCloud:N})},blockTransition:!0,onClose(){window.sessionStorage.setItem(`${w}-${O}`,!0)}})},[c,A,O,L,l,S,R,C,N,v])}},53104:function(D,u,e){e.d(u,{q:function(){return f}});var t=e(32735),n=e(19565),r=e(20108);function f({enabled:T}={enabled:!0}){const{get:m}=(0,n.kY)(),{data:h,isError:E,isLoading:i}=(0,r.useQuery)(["ee","license-limit-info"],async()=>{const{data:{data:a}}=await m("/admin/license-limit-information");return a},{enabled:T}),o=h??{},s=t.useCallback(a=>(o?.features??[]).find(p=>p.name===a)?.options??{},[o?.features]);return{license:o,getFeature:s,isError:E,isLoading:i}}},27187:function(D,u,e){e.d(u,{eJ:function(){return v},lx:function(){return L},h4:function(){return l},fC:function(){return A}});var t=e(32735),n=e(96709),r=e(27649),f=e(17e3),T=e(82055),m=e(19565),h=e(29439),E=e(67879),i=e(17379),o=e(2121),s=e(87933),a=e(49372),y=e(16899),p=e(60216),w=e.n(p),I=e(8471);const P=(0,I.ZP)(s.k)`
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[349],{17379:function(D,d,e){e.d(d,{r:function(){return h}});var t=e(32735),n=e(72850),r=e(60216),f=e.n(r),T=e(74506);function m(E,i,o){if(!E||!i)return{display:"none"};const{x:s,y:a}=o;return{transform:`translate(${s}px, ${a}px)`}}function h({renderItem:E}){const{itemType:i,isDragging:o,item:s,initialOffset:a,currentOffset:y,mouseOffset:p}=(0,T.useDragLayer)(w=>({item:w.getItem(),itemType:w.getItemType(),initialOffset:w.getInitialSourceClientOffset(),currentOffset:w.getSourceClientOffset(),isDragging:w.isDragging(),mouseOffset:w.getClientOffset()}));return o?t.createElement(n.x,{height:"100%",left:0,position:"fixed",pointerEvents:"none",top:0,zIndex:100,width:"100%"},t.createElement(n.x,{style:m(a,y,p)},E({type:i,item:s}))):null}h.propTypes={renderItem:f().func.isRequired}},50337:function(D,d,e){e.d(d,{pl:function(){return i},aY:function(){return W},q5:function(){return p.q}});var t=e(32735),n=e(19565),r=e(86209),f=e(97889);const T={data:[],isLoading:!0};var h=(L,A)=>(0,f.ZP)(L,v=>{switch(A.type){case"GET_DATA_SUCCEEDED":{v.data=A.data,v.isLoading=!1;break}case"GET_DATA_ERROR":{v.isLoading=!1;break}default:return v}}),i=({ssoEnabled:L})=>{const[A,v]=(0,t.useReducer)(h,T),l=(0,n.lm)(),{get:c}=(0,n.kY)();return(0,t.useEffect)(()=>{(async()=>{try{if(!L){v({type:"GET_DATA_SUCCEEDED",data:[]});return}const{data:C}=await c((0,r.IF)("providers"));v({type:"GET_DATA_SUCCEEDED",data:C})}catch(C){console.error(C),v({type:"GET_DATA_ERROR"}),l({type:"warning",message:{id:"notification.error"}})}})()},[c,L,l]),A},o=e(36866),s=e.n(o),a=e(67879),y=e(53038),p=e(53104);const w="strapi-notification-seat-limit",I="https://cloud.strapi.io/profile/billing",P="https://strapi.io/billing/request-seats";var W=()=>{const{formatMessage:L}=(0,a.Z)();let{license:A,isError:v,isLoading:l}=(0,p.q)();const c=(0,n.lm)(),{pathname:O}=(0,y.TH)(),{enforcementUserCount:C,permittedSeats:S,licenseLimitStatus:R,isHostedOnStrapiCloud:N}=A;(0,t.useEffect)(()=>{if(v||l)return;const Z=!s()(S)&&!window.sessionStorage.getItem(`${w}-${O}`)&&(R==="AT_LIMIT"||R==="OVER_LIMIT");let B;R==="OVER_LIMIT"?B="warning":R==="AT_LIMIT"&&(B="softWarning"),Z&&c({type:B,message:L({id:"notification.ee.warning.over-.message",defaultMessage:"Add seats to {licenseLimitStatus, select, OVER_LIMIT {invite} other {re-enable}} Users. If you already did it but it's not reflected in Strapi yet, make sure to restart your app."},{licenseLimitStatus:R}),title:L({id:"notification.ee.warning.at-seat-limit.title",defaultMessage:"{licenseLimitStatus, select, OVER_LIMIT {Over} other {At}} seat limit ({enforcementUserCount}/{permittedSeats})"},{licenseLimitStatus:R,enforcementUserCount:C,permittedSeats:S}),link:{url:N?I:P,label:L({id:"notification.ee.warning.seat-limit.link",defaultMessage:"{isHostedOnStrapiCloud, select, true {ADD SEATS} other {CONTACT SALES}}"},{isHostedOnStrapiCloud:N})},blockTransition:!0,onClose(){window.sessionStorage.setItem(`${w}-${O}`,!0)}})},[c,A,O,L,l,S,R,C,N,v])}},53104:function(D,d,e){e.d(d,{q:function(){return f}});var t=e(32735),n=e(19565),r=e(20108);function f({enabled:T}={enabled:!0}){const{get:m}=(0,n.kY)(),{data:h,isError:E,isLoading:i}=(0,r.useQuery)(["ee","license-limit-info"],async()=>{const{data:{data:a}}=await m("/admin/license-limit-information");return a},{enabled:T}),o=h??{},s=t.useCallback(a=>(o?.features??[]).find(p=>p.name===a)?.options??{},[o?.features]);return{license:o,getFeature:s,isError:E,isLoading:i}}},27187:function(D,d,e){e.d(d,{eJ:function(){return v},lx:function(){return L},h4:function(){return l},fC:function(){return A}});var t=e(32735),n=e(96709),r=e(27649),f=e(17e3),T=e(82055),m=e(19565),h=e(29439),E=e(67879),i=e(17379),o=e(2121),s=e(87933),a=e(49372),y=e(16899),p=e(60216),w=e.n(p),I=e(8471);const P=(0,I.ZP)(s.k)`
2
2
  svg path {
3
3
  fill: ${({theme:c})=>c.colors.neutral600};
4
4
  }
5
- `;function M({name:c}){return t.createElement(s.k,{background:"primary100",borderStyle:"dashed",borderColor:"primary600",borderWidth:"1px",gap:3,hasRadius:!0,padding:3,shadow:"tableShadow",width:(0,m.Q1)(300)},t.createElement(P,{alignItems:"center",background:"neutral200",borderRadius:"50%",height:6,justifyContent:"center",width:6},t.createElement(y.Z,{width:`${8/16}rem`})),t.createElement(a.Z,{fontWeight:"bold"},c))}M.propTypes={name:w().string.isRequired};function W({type:c,item:O}){switch(c){case o.uL.STAGE:return t.createElement(M,{...O});default:return null}}function L(){return t.createElement(i.r,{renderItem:W})}function A({children:c}){return t.createElement(n.A,null,t.createElement(r.o,{tabIndex:-1},t.createElement(f.D,null,c)))}function v({href:c}){const{formatMessage:O}=(0,E.Z)();return t.createElement(m.rU,{startIcon:t.createElement(h.Z,null),to:c},O({id:"global.back",defaultMessage:"Back"}))}function l({title:c,subtitle:O,navigationAction:C,primaryAction:S}){return t.createElement(t.Fragment,null,t.createElement(m.SL,{name:c}),t.createElement(T.T,{navigationAction:C,primaryAction:S,title:c,subtitle:O}))}},90562:function(D,u,e){e.d(u,{uT:function(){return W},fC:function(){return v},Dx:function(){return M}});var t=e(32735),n=e(49372),r=e(87933),f=e(85025),T=e(31600),m=e(72850),h=e(50563),E=e(95489),i=e(35331),o=e(60216),s=e.n(o),a=e(67879),y=e(8471),p=e.p+"0cd5f8915b265d5b1856.png";const w="limits-title",I="https://strapi.io/pricing-cloud",P="https://strapi.io/contact-sales";function M({children:l}){return t.createElement(n.Z,{variant:"alpha",id:w},l)}M.propTypes={children:s().node.isRequired};function W({children:l}){return t.createElement(n.Z,{variant:"omega"},l)}W.propTypes={children:s().node.isRequired};function L(){const{formatMessage:l}=(0,a.Z)();return t.createElement(r.k,{gap:2,paddingTop:4},t.createElement(E.Q,{variant:"default",isExternal:!0,href:I},l({id:"Settings.review-workflows.limit.cta.learn",defaultMessage:"Learn more"})),t.createElement(E.Q,{variant:"tertiary",isExternal:!0,href:P},l({id:"Settings.review-workflows.limit.cta.sales",defaultMessage:"Contact Sales"})))}const A=y.ZP.img`
5
+ `;function M({name:c}){return t.createElement(s.k,{background:"primary100",borderStyle:"dashed",borderColor:"primary600",borderWidth:"1px",gap:3,hasRadius:!0,padding:3,shadow:"tableShadow",width:(0,m.Q1)(300)},t.createElement(P,{alignItems:"center",background:"neutral200",borderRadius:"50%",height:6,justifyContent:"center",width:6},t.createElement(y.Z,{width:`${8/16}rem`})),t.createElement(a.Z,{fontWeight:"bold"},c))}M.propTypes={name:w().string.isRequired};function W({type:c,item:O}){switch(c){case o.uL.STAGE:return t.createElement(M,{...O});default:return null}}function L(){return t.createElement(i.r,{renderItem:W})}function A({children:c}){return t.createElement(n.A,null,t.createElement(r.o,{tabIndex:-1},t.createElement(f.D,null,c)))}function v({href:c}){const{formatMessage:O}=(0,E.Z)();return t.createElement(m.rU,{startIcon:t.createElement(h.Z,null),to:c},O({id:"global.back",defaultMessage:"Back"}))}function l({title:c,subtitle:O,navigationAction:C,primaryAction:S}){return t.createElement(t.Fragment,null,t.createElement(m.SL,{name:c}),t.createElement(T.T,{navigationAction:C,primaryAction:S,title:c,subtitle:O}))}},90562:function(D,d,e){e.d(d,{uT:function(){return W},fC:function(){return v},Dx:function(){return M}});var t=e(32735),n=e(49372),r=e(87933),f=e(85025),T=e(31600),m=e(72850),h=e(50563),E=e(95489),i=e(35331),o=e(60216),s=e.n(o),a=e(67879),y=e(8471),p=e.p+"0cd5f8915b265d5b1856.png";const w="limits-title",I="https://strapi.io/pricing-cloud",P="https://strapi.io/contact-sales";function M({children:l}){return t.createElement(n.Z,{variant:"alpha",id:w},l)}M.propTypes={children:s().node.isRequired};function W({children:l}){return t.createElement(n.Z,{variant:"omega"},l)}W.propTypes={children:s().node.isRequired};function L(){const{formatMessage:l}=(0,a.Z)();return t.createElement(r.k,{gap:2,paddingTop:4},t.createElement(E.Q,{variant:"default",isExternal:!0,href:I},l({id:"Settings.review-workflows.limit.cta.learn",defaultMessage:"Learn more"})),t.createElement(E.Q,{variant:"tertiary",isExternal:!0,href:P},l({id:"Settings.review-workflows.limit.cta.sales",defaultMessage:"Contact Sales"})))}const A=y.ZP.img`
6
6
  // Margin top|right reverse the padding of ModalBody
7
7
  margin-right: ${({theme:l})=>`-${l.spaces[7]}`};
8
8
  margin-top: ${({theme:l})=>`-${l.spaces[7]}`};
9
9
  width: 360px;
10
- `;function v({children:l,isOpen:c,onClose:O}){const{formatMessage:C}=(0,a.Z)();return c?t.createElement(f.P,{labelledBy:w},t.createElement(T.f,null,t.createElement(r.k,{gap:2,paddingLeft:7,position:"relative"},t.createElement(r.k,{alignItems:"start",direction:"column",gap:2,width:"60%"},l,t.createElement(L,null)),t.createElement(r.k,{justifyContent:"end",height:"100%",width:"40%"},t.createElement(A,{src:p,"aria-hidden":!0,alt:"",loading:"lazy"}),t.createElement(m.x,{display:"flex",position:"absolute",right:0,top:0},t.createElement(h.h,{icon:t.createElement(i.Z,null),"aria-label":C({id:"global.close",defaultMessage:"Close"}),onClick:O})))))):null}v.defaultProps={isOpen:!1},v.propTypes={children:s().node.isRequired,isOpen:s().bool,onClose:s().func.isRequired}},2121:function(D,u,e){e.d(u,{$k:function(){return E},Ef:function(){return y},FT:function(){return s},Nj:function(){return h},Ot:function(){return m},VS:function(){return i},_X:function(){return p},gu:function(){return r},lv:function(){return o},qZ:function(){return f},sN:function(){return n},uL:function(){return a},x4:function(){return T}});var t=e(12301);const n="settings_review-workflows",r="Settings/Review_Workflows/RESET_WORKFLOW",f="Settings/Review_Workflows/SET_WORKFLOW",T="Settings/Review_Workflows/WORKFLOW_DELETE_STAGE",m="Settings/Review_Workflows/WORKFLOW_ADD_STAGE",h="Settings/Review_Workflows/WORKFLOW_UPDATE_STAGE",E="Settings/Review_Workflows/WORKFLOW_UPDATE_STAGE_POSITION",i="Settings/Review_Workflows/WORKFLOW_UPDATE",o={primary600:"Blue",primary200:"Lilac",alternative600:"Violet",alternative200:"Lavender",success600:"Green",success200:"Pale Green",danger500:"Cherry",danger200:"Pink",warning600:"Orange",warning200:"Yellow",secondary600:"Teal",secondary200:"Baby Blue",neutral400:"Gray",neutral0:"White"},s=t.W.colors.primary600,a={STAGE:"stage"},y="numberOfWorkflows",p="stagesPerWorkflow"},32329:function(D,u,e){e.d(u,{n:function(){return r}});var t=e(19565),n=e(20108);function r(f={}){const{get:T}=(0,t.kY)(),{id:m="",...h}=f,E={populate:"stages"},{data:i,isLoading:o,status:s,refetch:a}=(0,n.useQuery)(["review-workflows","workflows",m],async()=>(await T(`/admin/review-workflows/workflows/${m}`,{params:{...E,...h}})).data);let y=[];return m&&i?.data?y=[i.data]:Array.isArray(i?.data)&&(y=i.data),{meta:i?.meta??{},workflows:y,isLoading:o,status:s,refetch:a}}},32033:function(D,u,e){e.r(u),e.d(u,{default:function(){return B}});var t=e(32735),n=e(19565),r=e(15062),f=e(30305),T=e(87933),m=e(23866),h=e(56755),E=e(73269),i=e(33827),o=e(94547),s=e(19786),a=e(49372),y=e(3685),p=e(35658),w=e(50563),I=e(19406),P=e(68625),M=e(4038),W=e(67879),L=e(20108),A=e(53038),v=e(8471),l=e(90769),c=e(50337),O=e(27187),C=e(90562),S=e(2121),R=e(32329);const N=(0,v.ZP)(n.rU)`
10
+ `;function v({children:l,isOpen:c,onClose:O}){const{formatMessage:C}=(0,a.Z)();return c?t.createElement(f.P,{labelledBy:w},t.createElement(T.f,null,t.createElement(r.k,{gap:2,paddingLeft:7,position:"relative"},t.createElement(r.k,{alignItems:"start",direction:"column",gap:2,width:"60%"},l,t.createElement(L,null)),t.createElement(r.k,{justifyContent:"end",height:"100%",width:"40%"},t.createElement(A,{src:p,"aria-hidden":!0,alt:"",loading:"lazy"}),t.createElement(m.x,{display:"flex",position:"absolute",right:0,top:0},t.createElement(h.h,{icon:t.createElement(i.Z,null),"aria-label":C({id:"global.close",defaultMessage:"Close"}),onClick:O})))))):null}v.defaultProps={isOpen:!1},v.propTypes={children:s().node.isRequired,isOpen:s().bool,onClose:s().func.isRequired}},2121:function(D,d,e){e.d(d,{$k:function(){return E},Ef:function(){return y},FT:function(){return s},Nj:function(){return h},Ot:function(){return m},VS:function(){return i},_X:function(){return p},gu:function(){return r},lv:function(){return o},qZ:function(){return f},sN:function(){return n},uL:function(){return a},x4:function(){return T}});var t=e(12301);const n="settings_review-workflows",r="Settings/Review_Workflows/RESET_WORKFLOW",f="Settings/Review_Workflows/SET_WORKFLOW",T="Settings/Review_Workflows/WORKFLOW_DELETE_STAGE",m="Settings/Review_Workflows/WORKFLOW_ADD_STAGE",h="Settings/Review_Workflows/WORKFLOW_UPDATE_STAGE",E="Settings/Review_Workflows/WORKFLOW_UPDATE_STAGE_POSITION",i="Settings/Review_Workflows/WORKFLOW_UPDATE",o={primary600:"Blue",primary200:"Lilac",alternative600:"Violet",alternative200:"Lavender",success600:"Green",success200:"Pale Green",danger500:"Cherry",danger200:"Pink",warning600:"Orange",warning200:"Yellow",secondary600:"Teal",secondary200:"Baby Blue",neutral400:"Gray",neutral0:"White"},s=t.W.colors.primary600,a={STAGE:"stage"},y="numberOfWorkflows",p="stagesPerWorkflow"},32329:function(D,d,e){e.d(d,{n:function(){return r}});var t=e(19565),n=e(20108);function r(f={}){const{get:T}=(0,t.kY)(),{id:m="",...h}=f,E={populate:"stages"},{data:i,isLoading:o,status:s,refetch:a}=(0,n.useQuery)(["review-workflows","workflows",m],async()=>(await T(`/admin/review-workflows/workflows/${m}`,{params:{...E,...h}})).data);let y=[];return m&&i?.data?y=[i.data]:Array.isArray(i?.data)&&(y=i.data),{meta:i?.meta??{},workflows:y,isLoading:o,status:s,refetch:a}}},32033:function(D,d,e){e.r(d),e.d(d,{default:function(){return B}});var t=e(32735),n=e(19565),r=e(15062),f=e(30305),T=e(87933),m=e(23866),h=e(56755),E=e(73269),i=e(33827),o=e(94547),s=e(19786),a=e(49372),y=e(3685),p=e(35658),w=e(50563),I=e(19406),P=e(68625),M=e(4038),W=e(67879),L=e(20108),A=e(53038),v=e(8471),l=e(90769),c=e(50337),O=e(27187),C=e(90562),S=e(2121),R=e(32329);const N=(0,v.ZP)(n.rU)`
11
11
  align-items: center;
12
12
  height: ${(0,n.Q1)(32)};
13
13
  display: flex;
14
14
  justify-content: center;
15
- padding: ${({theme:d})=>`${d.spaces[2]}}`};
15
+ padding: ${({theme:u})=>`${u.spaces[2]}}`};
16
16
  width: ${(0,n.Q1)(32)};
17
17
 
18
18
  svg {
@@ -20,7 +20,7 @@
20
20
  width: ${(0,n.Q1)(12)};
21
21
 
22
22
  path {
23
- fill: ${({theme:d})=>d.colors.neutral500};
23
+ fill: ${({theme:u})=>u.colors.neutral500};
24
24
  }
25
25
  }
26
26
 
@@ -28,11 +28,11 @@
28
28
  &:focus {
29
29
  svg {
30
30
  path {
31
- fill: ${({theme:d})=>d.colors.neutral800};
31
+ fill: ${({theme:u})=>u.colors.neutral800};
32
32
  }
33
33
  }
34
34
  }
35
- `;function Z(){const{formatMessage:d}=(0,W.Z)(),{push:K}=(0,A.k6)(),{collectionTypes:J,singleTypes:b,isLoading:q}=(0,l.G)(),{meta:$,workflows:H,isLoading:F,refetch:_}=(0,R.n)(),[Q,G]=t.useState(null),[ee,k]=t.useState(!1),{del:te}=(0,n.kY)(),{formatAPIError:ne}=(0,n.So)(),V=(0,n.lm)(),{getFeature:se,isLoading:Y}=(0,c.q5)(),{trackUsage:X}=(0,n.rS)(),oe=(0,r.v9)(f._),{allowedActions:{canCreate:z,canDelete:ae}}=(0,n.ss)(oe.settings["review-workflows"]),x=se("review-workflows"),{mutateAsync:re,isLoading:ie}=(0,L.useMutation)(async({workflowId:g,stages:U})=>{const{data:{data:j}}=await te(`/admin/review-workflows/workflows/${g}`,{data:U});return j},{onSuccess(){V({type:"success",message:{id:"notification.success.deleted",defaultMessage:"Deleted"}})}}),le=g=>[...J,...b].find(j=>j.uid===g).info.displayName,ce=g=>{G(g)},de=()=>{G(null)},ue=async()=>{try{const g=await re({workflowId:Q});return await _(),G(null),g}catch(g){return V({type:"warning",message:ne(g)}),null}};return t.useEffect(()=>{!F&&!Y&&x?.[S.Ef]&&$?.workflowCount>parseInt(x[S.Ef],10)&&k(!0)},[Y,F,x,$?.workflowCount,$.workflowsTotal]),t.createElement(t.Fragment,null,t.createElement(O.h4,{primaryAction:t.createElement(n.Qj,{disabled:!z,startIcon:t.createElement(I.Z,null),size:"S",to:"/settings/review-workflows/create",onClick:g=>{x?.[S.Ef]&&$?.workflowCount>=parseInt(x[S.Ef],10)?(g.preventDefault(),k(!0)):X("willCreateWorkflow")}},d({id:"Settings.review-workflows.list.page.create",defaultMessage:"Create new workflow"})),subtitle:d({id:"Settings.review-workflows.list.page.subtitle",defaultMessage:"Manage content review stages and collaborate during content creation from draft to publication"}),title:d({id:"Settings.review-workflows.list.page.title",defaultMessage:"Review Workflows"})}),t.createElement(O.fC,null,F||q?t.createElement(T.k,{justifyContent:"center"},t.createElement(m.a,null,d({id:"Settings.review-workflows.page.list.isLoading",defaultMessage:"Workflows are loading"}))):t.createElement(h.i,{colCount:3,footer:z&&t.createElement(E.c,{icon:t.createElement(I.Z,null),onClick:()=>{x?.[S.Ef]&&$?.workflowCount>=parseInt(x[S.Ef],10)?k(!0):(K("/settings/review-workflows/create"),X("willCreateWorkflow"))}},d({id:"Settings.review-workflows.list.page.create",defaultMessage:"Create new workflow"})),rowCount:1},t.createElement(i.h,null,t.createElement(o.Tr,null,t.createElement(s.Th,null,t.createElement(a.Z,{variant:"sigma"},d({id:"Settings.review-workflows.list.page.list.column.name.title",defaultMessage:"Name"}))),t.createElement(s.Th,null,t.createElement(a.Z,{variant:"sigma"},d({id:"Settings.review-workflows.list.page.list.column.stages.title",defaultMessage:"Stages"}))),t.createElement(s.Th,null,t.createElement(a.Z,{variant:"sigma"},d({id:"Settings.review-workflows.list.page.list.column.contentTypes.title",defaultMessage:"Content Types"}))),t.createElement(s.Th,null,t.createElement(y.T,null,d({id:"Settings.review-workflows.list.page.list.column.actions.title",defaultMessage:"Actions"}))))),t.createElement(p.p,null,H.map(g=>t.createElement(o.Tr,{...(0,n.X7)({fn(U){U.target.nodeName!=="BUTTON"&&K(`/settings/review-workflows/${g.id}`)}}),key:`workflow-${g.id}`},t.createElement(s.Td,{width:(0,n.Q1)(250)},t.createElement(a.Z,{textColor:"neutral800",fontWeight:"bold",ellipsis:!0},g.name)),t.createElement(s.Td,null,t.createElement(a.Z,{textColor:"neutral800"},g.stages.length)),t.createElement(s.Td,null,t.createElement(a.Z,{textColor:"neutral800"},(g?.contentTypes??[]).map(le).join(", "))),t.createElement(s.Td,null,t.createElement(T.k,{alignItems:"center",justifyContent:"end"},t.createElement(N,{to:`/settings/review-workflows/${g.id}`,"aria-label":d({id:"Settings.review-workflows.list.page.list.column.actions.edit.label",defaultMessage:"Edit {name}"},{name:g.name})},t.createElement(P.Z,null)),H.length>1&&ae&&t.createElement(w.h,{"aria-label":d({id:"Settings.review-workflows.list.page.list.column.actions.delete.label",defaultMessage:"Delete {name}"},{name:"Default workflow"}),icon:t.createElement(M.Z,null),noBorder:!0,onClick:()=>{ce(g.id)}}))))))),t.createElement(n.QH,{bodyText:{id:"Settings.review-workflows.list.page.delete.confirm.body",defaultMessage:"If you remove this worfklow, all stage-related information will be removed for this content-type. Are you sure you want to remove it?"},isConfirmButtonLoading:ie,isOpen:!!Q,onToggleDialog:de,onConfirm:ue}),t.createElement(C.fC,{isOpen:ee,onClose:()=>k(!1)},t.createElement(C.Dx,null,d({id:"Settings.review-workflows.list.page.workflows.limit.title",defaultMessage:"You\u2019ve reached the limit of workflows in your plan"})),t.createElement(C.uT,null,d({id:"Settings.review-workflows.list.page.workflows.limit.body",defaultMessage:"Delete a workflow or contact Sales to enable more workflows."})))))}function B(){const d=(0,r.v9)(f._);return t.createElement(n.O4,{permissions:d.settings["review-workflows"].main},t.createElement(Z,null))}},73269:function(D,u,e){e.d(u,{c:function(){return i}});var t=e(74512),n=e(8471),r=e(72850),f=e(9026),T=e(87933),m=e(49372);const h=(0,n.ZP)(r.x)`
35
+ `;function Z(){const{formatMessage:u}=(0,W.Z)(),{push:K}=(0,A.k6)(),{collectionTypes:J,singleTypes:b,isLoading:q}=(0,l.G)(),{meta:$,workflows:H,isLoading:F,refetch:_}=(0,R.n)(),[Q,G]=t.useState(null),[ee,k]=t.useState(!1),{del:te}=(0,n.kY)(),{formatAPIError:ne}=(0,n.So)(),V=(0,n.lm)(),{getFeature:se,isLoading:Y}=(0,c.q5)(),{trackUsage:X}=(0,n.rS)(),oe=(0,r.v9)(f._),{allowedActions:{canCreate:z,canDelete:ae}}=(0,n.ss)(oe.settings["review-workflows"]),x=se("review-workflows"),{mutateAsync:re,isLoading:ie}=(0,L.useMutation)(async({workflowId:g,stages:U})=>{const{data:{data:j}}=await te(`/admin/review-workflows/workflows/${g}`,{data:U});return j},{onSuccess(){V({type:"success",message:{id:"notification.success.deleted",defaultMessage:"Deleted"}})}}),le=g=>[...J,...b].find(j=>j.uid===g).info.displayName,ce=g=>{G(g)},ue=()=>{G(null)},de=async()=>{try{const g=await re({workflowId:Q});return await _(),G(null),g}catch(g){return V({type:"warning",message:ne(g)}),null}};return t.useEffect(()=>{!F&&!Y&&x?.[S.Ef]&&$?.workflowCount>parseInt(x[S.Ef],10)&&k(!0)},[Y,F,x,$?.workflowCount,$.workflowsTotal]),t.createElement(t.Fragment,null,t.createElement(O.h4,{primaryAction:t.createElement(n.Qj,{disabled:!z,startIcon:t.createElement(I.Z,null),size:"S",to:"/settings/review-workflows/create",onClick:g=>{x?.[S.Ef]&&$?.workflowCount>=parseInt(x[S.Ef],10)?(g.preventDefault(),k(!0)):X("willCreateWorkflow")}},u({id:"Settings.review-workflows.list.page.create",defaultMessage:"Create new workflow"})),subtitle:u({id:"Settings.review-workflows.list.page.subtitle",defaultMessage:"Manage your content review process"}),title:u({id:"Settings.review-workflows.list.page.title",defaultMessage:"Review Workflows"})}),t.createElement(O.fC,null,F||q?t.createElement(T.k,{justifyContent:"center"},t.createElement(m.a,null,u({id:"Settings.review-workflows.page.list.isLoading",defaultMessage:"Workflows are loading"}))):t.createElement(h.i,{colCount:3,footer:z&&t.createElement(E.c,{icon:t.createElement(I.Z,null),onClick:()=>{x?.[S.Ef]&&$?.workflowCount>=parseInt(x[S.Ef],10)?k(!0):(K("/settings/review-workflows/create"),X("willCreateWorkflow"))}},u({id:"Settings.review-workflows.list.page.create",defaultMessage:"Create new workflow"})),rowCount:1},t.createElement(i.h,null,t.createElement(o.Tr,null,t.createElement(s.Th,null,t.createElement(a.Z,{variant:"sigma"},u({id:"Settings.review-workflows.list.page.list.column.name.title",defaultMessage:"Name"}))),t.createElement(s.Th,null,t.createElement(a.Z,{variant:"sigma"},u({id:"Settings.review-workflows.list.page.list.column.stages.title",defaultMessage:"Stages"}))),t.createElement(s.Th,null,t.createElement(a.Z,{variant:"sigma"},u({id:"Settings.review-workflows.list.page.list.column.contentTypes.title",defaultMessage:"Content Types"}))),t.createElement(s.Th,null,t.createElement(y.T,null,u({id:"Settings.review-workflows.list.page.list.column.actions.title",defaultMessage:"Actions"}))))),t.createElement(p.p,null,H.map(g=>t.createElement(o.Tr,{...(0,n.X7)({fn(U){U.target.nodeName!=="BUTTON"&&K(`/settings/review-workflows/${g.id}`)}}),key:`workflow-${g.id}`},t.createElement(s.Td,{width:(0,n.Q1)(250)},t.createElement(a.Z,{textColor:"neutral800",fontWeight:"bold",ellipsis:!0},g.name)),t.createElement(s.Td,null,t.createElement(a.Z,{textColor:"neutral800"},g.stages.length)),t.createElement(s.Td,null,t.createElement(a.Z,{textColor:"neutral800"},(g?.contentTypes??[]).map(le).join(", "))),t.createElement(s.Td,null,t.createElement(T.k,{alignItems:"center",justifyContent:"end"},t.createElement(N,{to:`/settings/review-workflows/${g.id}`,"aria-label":u({id:"Settings.review-workflows.list.page.list.column.actions.edit.label",defaultMessage:"Edit {name}"},{name:g.name})},t.createElement(P.Z,null)),H.length>1&&ae&&t.createElement(w.h,{"aria-label":u({id:"Settings.review-workflows.list.page.list.column.actions.delete.label",defaultMessage:"Delete {name}"},{name:"Default workflow"}),icon:t.createElement(M.Z,null),noBorder:!0,onClick:()=>{ce(g.id)}}))))))),t.createElement(n.QH,{bodyText:{id:"Settings.review-workflows.list.page.delete.confirm.body",defaultMessage:"If you remove this worfklow, all stage-related information will be removed for this content-type. Are you sure you want to remove it?"},isConfirmButtonLoading:ie,isOpen:!!Q,onToggleDialog:ue,onConfirm:de}),t.createElement(C.fC,{isOpen:ee,onClose:()=>k(!1)},t.createElement(C.Dx,null,u({id:"Settings.review-workflows.list.page.workflows.limit.title",defaultMessage:"You\u2019ve reached the limit of workflows in your plan"})),t.createElement(C.uT,null,u({id:"Settings.review-workflows.list.page.workflows.limit.body",defaultMessage:"Delete a workflow or contact Sales to enable more workflows."})))))}function B(){const u=(0,r.v9)(f._);return t.createElement(n.O4,{permissions:u.settings["review-workflows"].main},t.createElement(Z,null))}},73269:function(D,d,e){e.d(d,{c:function(){return i}});var t=e(74512),n=e(8471),r=e(72850),f=e(9026),T=e(87933),m=e(49372);const h=(0,n.ZP)(r.x)`
36
36
  height: ${24/16}rem;
37
37
  width: ${24/16}rem;
38
38
  border-radius: 50%;
@@ -53,4 +53,4 @@
53
53
  display: block;
54
54
  width: 100%;
55
55
  border: none;
56
- `,i=({children:o,icon:s,...a})=>(0,t.jsxs)("div",{children:[(0,t.jsx)(f.i,{}),(0,t.jsx)(E,{as:"button",background:"primary100",padding:5,...a,children:(0,t.jsxs)(T.k,{children:[(0,t.jsx)(h,{"aria-hidden":!0,background:"primary200",children:s}),(0,t.jsx)(r.x,{paddingLeft:3,children:(0,t.jsx)(m.Z,{variant:"pi",fontWeight:"bold",textColor:"primary600",children:o})})]})})]})},29439:function(D,u,e){e.d(u,{Z:function(){return r}});var t=e(74512);const n=f=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...f,children:(0,t.jsx)("path",{fill:"#212134",d:"M24 13.3a.2.2 0 0 1-.2.2H5.74l8.239 8.239a.2.2 0 0 1 0 .282L12.14 23.86a.2.2 0 0 1-.282 0L.14 12.14a.2.2 0 0 1 0-.282L11.86.14a.2.2 0 0 1 .282 0L13.98 1.98a.2.2 0 0 1 0 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6Z"})}),r=n}}]);
56
+ `,i=({children:o,icon:s,...a})=>(0,t.jsxs)("div",{children:[(0,t.jsx)(f.i,{}),(0,t.jsx)(E,{as:"button",background:"primary100",padding:5,...a,children:(0,t.jsxs)(T.k,{children:[(0,t.jsx)(h,{"aria-hidden":!0,background:"primary200",children:s}),(0,t.jsx)(r.x,{paddingLeft:3,children:(0,t.jsx)(m.Z,{variant:"pi",fontWeight:"bold",textColor:"primary600",children:o})})]})})]})},29439:function(D,d,e){e.d(d,{Z:function(){return r}});var t=e(74512);const n=f=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...f,children:(0,t.jsx)("path",{fill:"#212134",d:"M24 13.3a.2.2 0 0 1-.2.2H5.74l8.239 8.239a.2.2 0 0 1 0 .282L12.14 23.86a.2.2 0 0 1-.282 0L.14 12.14a.2.2 0 0 1 0-.282L11.86.14a.2.2 0 0 1 .282 0L13.98 1.98a.2.2 0 0 1 0 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6Z"})}),r=n}}]);
@@ -1,2 +1,2 @@
1
- (function(){"use strict";var j={},m={};function e(n){var i=m[n];if(i!==void 0)return i.exports;var t=m[n]={id:n,loaded:!1,exports:{}};return j[n].call(t.exports,t,t.exports,e),t.loaded=!0,t.exports}e.m=j,function(){var n=[];e.O=function(i,t,o,r){if(t){r=r||0;for(var s=n.length;s>0&&n[s-1][2]>r;s--)n[s]=n[s-1];n[s]=[t,o,r];return}for(var a=1/0,s=0;s<n.length;s++){for(var t=n[s][0],o=n[s][1],r=n[s][2],d=!0,l=0;l<t.length;l++)(r&!1||a>=r)&&Object.keys(e.O).every(function(p){return e.O[p](t[l])})?t.splice(l--,1):(d=!1,r<a&&(a=r));if(d){n.splice(s--,1);var c=o();c!==void 0&&(i=c)}}return i}}(),function(){e.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return e.d(i,{a:i}),i}}(),function(){var n=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},i;e.t=function(t,o){if(o&1&&(t=this(t)),o&8||typeof t=="object"&&t&&(o&4&&t.__esModule||o&16&&typeof t.then=="function"))return t;var r=Object.create(null);e.r(r);var s={};i=i||[null,n({}),n([]),n(n)];for(var a=o&2&&t;typeof a=="object"&&!~i.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach(function(d){s[d]=function(){return t[d]}});return s.default=function(){return t},e.d(r,s),r}}(),function(){e.d=function(n,i){for(var t in i)e.o(i,t)&&!e.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:i[t]})}}(),function(){e.f={},e.e=function(n){return Promise.all(Object.keys(e.f).reduce(function(i,t){return e.f[t](n,i),i},[]))}}(),function(){e.u=function(n){return""+({46:"content-type-builder-translation-zh-Hans-json",90:"i18n-translation-de-json",92:"api-tokens-edit-page",96:"email-translation-de-json",123:"ru-json",129:"i18n-translation-es-json",302:"sso-settings-page",320:"en-json",349:"review-workflows-settings-list-view",395:"tr-json",435:"email-translation-it-json",562:"no-json",585:"upload-translation-pt-json",606:"sk-json",615:"upload-translation-uk-json",695:"upload-settings",742:"content-type-builder-translation-th-json",744:"email-translation-cs-json",749:"th-json",801:"Admin-authenticatedApp",830:"he-json",931:"content-type-builder-translation-en-json",994:"content-manager",1001:"content-type-builder-translation-nl-json",1009:"upload-translation-ms-json",1011:"zh-json",1018:"email-translation-ko-json",1023:"content-type-builder-translation-it-json",1056:"upload-translation-tr-json",1157:"email-translation-pt-BR-json",1167:"users-permissions-translation-ko-json",1180:"i18n-translation-tr-json",1312:"ja-json",1331:"upload-translation-es-json",1375:"upload-translation-pt-BR-json",1377:"ko-json",1442:"users-permissions-translation-cs-json",1495:"email-settings-page",1674:"users-permissions-translation-ru-json",1930:"users-permissions-translation-pt-json",2137:"i18n-translation-fr-json",2151:"content-type-builder-translation-id-json",2246:"content-type-builder-translation-dk-json",2248:"gu-json",2282:"users-providers-settings-page",2380:"users-permissions-translation-tr-json",2411:"email-translation-tr-json",2464:"users-permissions-translation-de-json",2489:"upload-translation-ko-json",2492:"transfer-tokens-edit-page",2544:"admin-edit-roles-page",2553:"zh-Hans-json",2567:"content-type-builder-translation-ko-json",2603:"email-translation-en-json",2648:"email-translation-ar-json",2657:"content-type-builder-translation-cs-json",2671:"nl-json",2742:"users-permissions-translation-zh-Hans-json",2812:"audit-logs-settings-page",3025:"ms-json",3038:"upload-translation-sk-json",3043:"email-translation-zh-Hans-json",3095:"users-permissions-translation-sk-json",3098:"users-permissions-translation-fr-json",3166:"email-translation-pt-json",3206:"email-translation-nl-json",3278:"vi-json",3304:"content-type-builder-translation-tr-json",3340:"pt-json",3455:"admin-roles-list",3516:"ca-json",3530:"users-permissions-translation-vi-json",3552:"i18n-settings-page",3650:"upload",3677:"Admin_pluginsPage",3702:"users-permissions-translation-pl-json",3825:"email-translation-dk-json",3948:"content-type-builder-translation-pl-json",3964:"content-type-builder-translation-ms-json",3981:"Admin_homePage",4021:"upload-translation-de-json",4121:"webhook-list-page",4179:"users-permissions-translation-id-json",4263:"admin-edit-users",4299:"api-tokens-create-page",4302:"content-type-builder-translation-zh-json",4409:"review-workflows-settings-edit-view",4587:"email-translation-th-json",4693:"email-translation-fr-json",4804:"upload-translation-ru-json",4816:"transfer-tokens-create-page",4987:"upload-translation-pl-json",5053:"upload-translation-zh-json",5162:"webhook-edit-page",5199:"admin-users",5222:"upload-translation-it-json",5296:"i18n-translation-dk-json",5388:"email-translation-ru-json",5396:"users-permissions-translation-zh-json",5516:"Admin_marketplace",5538:"admin-app",5751:"email-translation-es-json",5880:"upload-translation-ja-json",5894:"hu-json",5895:"Admin_settingsPage",5905:"content-type-builder-list-view",5906:"content-type-builder-translation-pt-BR-json",6232:"upload-translation-th-json",6280:"i18n-translation-ko-json",6332:"hi-json",6377:"users-permissions-translation-dk-json",6434:"upload-translation-en-json",6460:"users-permissions-translation-en-json",6745:"email-translation-uk-json",6784:"email-translation-ms-json",6817:"it-json",6831:"upload-translation-zh-Hans-json",6836:"users-permissions-translation-uk-json",6848:"email-translation-zh-json",6901:"de-json",7048:"users-permissions-translation-nl-json",7094:"users-permissions-translation-ar-json",7155:"content-type-builder-translation-de-json",7186:"content-type-builder-translation-ru-json",7327:"email-translation-vi-json",7347:"highlight.js",7403:"uk-json",7465:"upload-translation-dk-json",7519:"cs-json",7663:"email-translation-id-json",7808:"i18n-translation-zh-json",7817:"users-permissions-translation-es-json",7828:"users-permissions-translation-th-json",7833:"upload-translation-fr-json",7846:"pl-json",7898:"dk-json",7934:"content-type-builder-translation-pt-json",7958:"ar-json",7997:"content-type-builder-translation-sk-json",8006:"fr-json",8056:"api-tokens-list-page",8175:"i18n-translation-en-json",8178:"email-translation-ja-json",8329:"content-type-builder-translation-sv-json",8342:"content-type-builder-translation-es-json",8360:"eu-json",8367:"es-json",8418:"users-email-settings-page",8423:"upload-translation-ca-json",8467:"users-permissions-translation-sv-json",8481:"email-translation-pl-json",8573:"content-type-builder-translation-uk-json",8736:"users-permissions-translation-pt-BR-json",8853:"users-roles-settings-page",8880:"content-type-builder",8897:"id-json",8907:"content-type-builder-translation-ja-json",8936:"review-workflows-settings-create-view",8965:"content-type-builder-translation-fr-json",9220:"users-permissions-translation-ms-json",9303:"sv-json",9366:"i18n-translation-pl-json",9412:"email-translation-sk-json",9460:"users-advanced-settings-page",9497:"Admin_profilePage",9501:"Admin_InternalErrorPage",9502:"users-permissions-translation-ja-json",9511:"content-type-builder-translation-ar-json",9514:"Upload_ConfigureTheView",9600:"transfer-tokens-list-page",9647:"pt-BR-json",9726:"sa-json",9737:"i18n-translation-ru-json",9762:"i18n-translation-zh-Hans-json",9797:"upload-translation-he-json",9903:"ml-json",9905:"users-permissions-translation-it-json"}[n]||n)+"."+{46:"6ff57db6",90:"362384a6",92:"58139df9",96:"1b334230",123:"8193d8c4",129:"87b494d1",302:"3a1ed8c9",311:"cb0884bb",320:"4c733bd1",349:"3ee9190d",395:"56c32cf6",435:"a2ed8c78",448:"829e1344",502:"8ae8ef60",562:"19a2dbfa",585:"6b937fdf",606:"bf2f057a",615:"9950466a",695:"cac210a0",742:"122277cc",744:"6eaeec6a",749:"5f659396",801:"24998de8",830:"3cf0b48a",918:"54414509",931:"ed29ff4d",994:"8772445b",1001:"997fe8cc",1009:"74f6d746",1011:"1cc86ff0",1018:"4de49b23",1023:"e268ab74",1049:"758a01f5",1056:"74117e5c",1157:"81cca553",1167:"357d7a33",1180:"10f0600d",1312:"91286391",1331:"ba2eb03a",1375:"d1704f0b",1377:"fcf3ec4b",1386:"762d6eb8",1387:"a86ac314",1442:"7e23424a",1495:"d494d1eb",1674:"8e883c67",1727:"b49f0713",1930:"a7eda429",2137:"57ddc77e",2151:"65255f93",2225:"15d1df72",2246:"fd626b67",2248:"5bd62812",2282:"8876c1ee",2379:"0ca87a89",2380:"2bd7ff98",2395:"df7a044a",2411:"e6c0f8fc",2464:"a6fb670f",2489:"a52eab64",2492:"8741529f",2544:"a49b9f4f",2553:"36d81cdc",2567:"04cb309d",2603:"4211d4d0",2648:"88304564",2657:"1ef9e106",2671:"b2b16eea",2742:"6ab714ee",2801:"b1140c9b",2812:"4b422831",3025:"0eddffd9",3038:"483a18f6",3043:"c6841563",3095:"7f37180f",3098:"7e55bbbb",3100:"2ba4df95",3166:"2a2a0643",3206:"377bdd9f",3278:"ee4c5537",3304:"41f44f77",3340:"ee554a41",3455:"0c129e98",3483:"e2ee2547",3516:"a53c10b6",3530:"6722a8a2",3552:"47f78016",3650:"cbfeefa5",3677:"8728ff6e",3702:"0a7287d1",3739:"63e352f1",3825:"85402492",3948:"634f638b",3964:"f6b743b9",3981:"ac9dfb86",3984:"dda474f7",4021:"420c943b",4121:"65e1b5bb",4179:"a5a0fb59",4263:"67704088",4299:"46c2ea84",4302:"3532b962",4409:"77299c63",4546:"ff9fdf30",4587:"660fa9a8",4628:"9cbb6df5",4693:"78be2787",4804:"675f6b93",4816:"1597e6ab",4987:"426f31c9",5053:"e1dd6eb2",5162:"a91f27a1",5199:"3279ffb0",5222:"e87d7966",5296:"89401417",5388:"6bce37dd",5396:"7978eaa6",5483:"6dd2e776",5516:"f0b87fce",5538:"c2e4e128",5542:"2415a393",5751:"0b6b1006",5880:"44b88e7a",5894:"9f4aae42",5895:"8c600d1a",5905:"bf9be456",5906:"6a95dc71",6158:"c974fd83",6232:"98d35574",6280:"ef4f9471",6332:"9104eb78",6377:"60e50f48",6434:"8b7573ce",6460:"4b302272",6691:"f880a0b6",6745:"bd1fb6bf",6784:"7390477e",6817:"bfe27ed8",6831:"db163b6b",6836:"6a0a1572",6848:"7a2232ea",6901:"b3be02c7",7030:"b98dcedf",7048:"c9f92a3c",7065:"99ca8ab1",7094:"7d87d54d",7155:"63fcff7b",7186:"3af65503",7327:"9fb7e6d7",7347:"28a1547e",7403:"b7e38370",7464:"8a6c1e6c",7465:"bbb2fa05",7519:"4b44411c",7663:"c97239fe",7808:"bef2dc07",7817:"35007573",7828:"1e9c0247",7833:"baab9911",7846:"f094a417",7898:"842aa391",7934:"ddb44f8c",7958:"f530bc3f",7997:"c6078082",8006:"aa8839d2",8056:"505bf7e0",8175:"1ec7becf",8178:"63eebd02",8276:"6c7b8e6e",8329:"a6df2462",8342:"a4a361a9",8360:"633025f0",8367:"f57b5335",8418:"a87978e5",8423:"57954414",8467:"17187818",8481:"97d0db97",8573:"e1315acd",8736:"1b6d2920",8853:"0431f48c",8880:"40534de5",8897:"41e07c46",8907:"9be0d5b2",8936:"d4b5dbb8",8965:"499c3a46",9220:"c83f87c4",9303:"fd0e86c6",9366:"dfac513d",9412:"53da2fcd",9460:"18379a56",9497:"a968035f",9501:"f45f2462",9502:"891fe76e",9511:"3e808e2f",9514:"345ac1e0",9600:"22147d2c",9647:"dec7fb01",9726:"a56836f1",9737:"401bc498",9762:"757ce62d",9797:"0a830937",9806:"91360bb6",9903:"557aa14c",9905:"0705465d",9944:"7af075a5"}[n]+".chunk.js"}}(),function(){e.miniCssF=function(n){}}(),function(){e.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}()}(),function(){e.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)}}(),function(){var n={},i="@strapi/admin:";e.l=function(t,o,r,s){if(n[t]){n[t].push(o);return}var a,d;if(r!==void 0)for(var l=document.getElementsByTagName("script"),c=0;c<l.length;c++){var f=l[c];if(f.getAttribute("src")==t||f.getAttribute("data-webpack")==i+r){a=f;break}}a||(d=!0,a=document.createElement("script"),a.charset="utf-8",a.timeout=120,e.nc&&a.setAttribute("nonce",e.nc),a.setAttribute("data-webpack",i+r),a.src=t),n[t]=[o];var u=function(g,p){a.onerror=a.onload=null,clearTimeout(b);var h=n[t];if(delete n[t],a.parentNode&&a.parentNode.removeChild(a),h&&h.forEach(function(v){return v(p)}),g)return g(p)},b=setTimeout(u.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=u.bind(null,a.onerror),a.onload=u.bind(null,a.onload),d&&document.head.appendChild(a)}}(),function(){e.r=function(n){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})}}(),function(){e.nmd=function(n){return n.paths=[],n.children||(n.children=[]),n}}(),function(){e.p="/admin/"}(),function(){e.b=document.baseURI||self.location.href;var n={1303:0};e.f.j=function(o,r){var s=e.o(n,o)?n[o]:void 0;if(s!==0)if(s)r.push(s[2]);else if(o!=1303){var a=new Promise(function(f,u){s=n[o]=[f,u]});r.push(s[2]=a);var d=e.p+e.u(o),l=new Error,c=function(f){if(e.o(n,o)&&(s=n[o],s!==0&&(n[o]=void 0),s)){var u=f&&(f.type==="load"?"missing":f.type),b=f&&f.target&&f.target.src;l.message="Loading chunk "+o+` failed.
2
- (`+u+": "+b+")",l.name="ChunkLoadError",l.type=u,l.request=b,s[1](l)}};e.l(d,c,"chunk-"+o,o)}else n[o]=0},e.O.j=function(o){return n[o]===0};var i=function(o,r){var s=r[0],a=r[1],d=r[2],l,c,f=0;if(s.some(function(b){return n[b]!==0})){for(l in a)e.o(a,l)&&(e.m[l]=a[l]);if(d)var u=d(e)}for(o&&o(r);f<s.length;f++)c=s[f],e.o(n,c)&&n[c]&&n[c][0](),n[c]=0;return e.O(u)},t=self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[];t.forEach(i.bind(null,0)),t.push=i.bind(null,t.push.bind(t))}(),function(){e.nc=void 0}()})();
1
+ (function(){"use strict";var j={},m={};function e(n){var i=m[n];if(i!==void 0)return i.exports;var t=m[n]={id:n,loaded:!1,exports:{}};return j[n].call(t.exports,t,t.exports,e),t.loaded=!0,t.exports}e.m=j,function(){var n=[];e.O=function(i,t,o,r){if(t){r=r||0;for(var s=n.length;s>0&&n[s-1][2]>r;s--)n[s]=n[s-1];n[s]=[t,o,r];return}for(var a=1/0,s=0;s<n.length;s++){for(var t=n[s][0],o=n[s][1],r=n[s][2],c=!0,l=0;l<t.length;l++)(r&!1||a>=r)&&Object.keys(e.O).every(function(p){return e.O[p](t[l])})?t.splice(l--,1):(c=!1,r<a&&(a=r));if(c){n.splice(s--,1);var d=o();d!==void 0&&(i=d)}}return i}}(),function(){e.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return e.d(i,{a:i}),i}}(),function(){var n=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},i;e.t=function(t,o){if(o&1&&(t=this(t)),o&8||typeof t=="object"&&t&&(o&4&&t.__esModule||o&16&&typeof t.then=="function"))return t;var r=Object.create(null);e.r(r);var s={};i=i||[null,n({}),n([]),n(n)];for(var a=o&2&&t;typeof a=="object"&&!~i.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach(function(c){s[c]=function(){return t[c]}});return s.default=function(){return t},e.d(r,s),r}}(),function(){e.d=function(n,i){for(var t in i)e.o(i,t)&&!e.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:i[t]})}}(),function(){e.f={},e.e=function(n){return Promise.all(Object.keys(e.f).reduce(function(i,t){return e.f[t](n,i),i},[]))}}(),function(){e.u=function(n){return""+({46:"content-type-builder-translation-zh-Hans-json",90:"i18n-translation-de-json",92:"api-tokens-edit-page",96:"email-translation-de-json",123:"ru-json",129:"i18n-translation-es-json",302:"sso-settings-page",320:"en-json",349:"review-workflows-settings-list-view",395:"tr-json",435:"email-translation-it-json",562:"no-json",585:"upload-translation-pt-json",606:"sk-json",615:"upload-translation-uk-json",695:"upload-settings",742:"content-type-builder-translation-th-json",744:"email-translation-cs-json",749:"th-json",801:"Admin-authenticatedApp",830:"he-json",931:"content-type-builder-translation-en-json",994:"content-manager",1001:"content-type-builder-translation-nl-json",1009:"upload-translation-ms-json",1011:"zh-json",1018:"email-translation-ko-json",1023:"content-type-builder-translation-it-json",1056:"upload-translation-tr-json",1157:"email-translation-pt-BR-json",1167:"users-permissions-translation-ko-json",1180:"i18n-translation-tr-json",1312:"ja-json",1331:"upload-translation-es-json",1375:"upload-translation-pt-BR-json",1377:"ko-json",1442:"users-permissions-translation-cs-json",1495:"email-settings-page",1674:"users-permissions-translation-ru-json",1930:"users-permissions-translation-pt-json",2137:"i18n-translation-fr-json",2151:"content-type-builder-translation-id-json",2246:"content-type-builder-translation-dk-json",2248:"gu-json",2282:"users-providers-settings-page",2380:"users-permissions-translation-tr-json",2411:"email-translation-tr-json",2464:"users-permissions-translation-de-json",2489:"upload-translation-ko-json",2492:"transfer-tokens-edit-page",2544:"admin-edit-roles-page",2553:"zh-Hans-json",2567:"content-type-builder-translation-ko-json",2603:"email-translation-en-json",2648:"email-translation-ar-json",2657:"content-type-builder-translation-cs-json",2671:"nl-json",2742:"users-permissions-translation-zh-Hans-json",2812:"audit-logs-settings-page",3025:"ms-json",3038:"upload-translation-sk-json",3043:"email-translation-zh-Hans-json",3095:"users-permissions-translation-sk-json",3098:"users-permissions-translation-fr-json",3166:"email-translation-pt-json",3206:"email-translation-nl-json",3278:"vi-json",3304:"content-type-builder-translation-tr-json",3340:"pt-json",3455:"admin-roles-list",3516:"ca-json",3530:"users-permissions-translation-vi-json",3552:"i18n-settings-page",3650:"upload",3677:"Admin_pluginsPage",3702:"users-permissions-translation-pl-json",3825:"email-translation-dk-json",3948:"content-type-builder-translation-pl-json",3964:"content-type-builder-translation-ms-json",3981:"Admin_homePage",4021:"upload-translation-de-json",4121:"webhook-list-page",4179:"users-permissions-translation-id-json",4263:"admin-edit-users",4299:"api-tokens-create-page",4302:"content-type-builder-translation-zh-json",4409:"review-workflows-settings-edit-view",4587:"email-translation-th-json",4693:"email-translation-fr-json",4804:"upload-translation-ru-json",4816:"transfer-tokens-create-page",4987:"upload-translation-pl-json",5053:"upload-translation-zh-json",5162:"webhook-edit-page",5199:"admin-users",5222:"upload-translation-it-json",5296:"i18n-translation-dk-json",5388:"email-translation-ru-json",5396:"users-permissions-translation-zh-json",5516:"Admin_marketplace",5538:"admin-app",5751:"email-translation-es-json",5880:"upload-translation-ja-json",5894:"hu-json",5895:"Admin_settingsPage",5905:"content-type-builder-list-view",5906:"content-type-builder-translation-pt-BR-json",6232:"upload-translation-th-json",6280:"i18n-translation-ko-json",6332:"hi-json",6377:"users-permissions-translation-dk-json",6434:"upload-translation-en-json",6460:"users-permissions-translation-en-json",6745:"email-translation-uk-json",6784:"email-translation-ms-json",6817:"it-json",6831:"upload-translation-zh-Hans-json",6836:"users-permissions-translation-uk-json",6848:"email-translation-zh-json",6901:"de-json",7048:"users-permissions-translation-nl-json",7094:"users-permissions-translation-ar-json",7155:"content-type-builder-translation-de-json",7186:"content-type-builder-translation-ru-json",7327:"email-translation-vi-json",7347:"highlight.js",7403:"uk-json",7465:"upload-translation-dk-json",7519:"cs-json",7663:"email-translation-id-json",7808:"i18n-translation-zh-json",7817:"users-permissions-translation-es-json",7828:"users-permissions-translation-th-json",7833:"upload-translation-fr-json",7846:"pl-json",7898:"dk-json",7934:"content-type-builder-translation-pt-json",7958:"ar-json",7997:"content-type-builder-translation-sk-json",8006:"fr-json",8056:"api-tokens-list-page",8175:"i18n-translation-en-json",8178:"email-translation-ja-json",8329:"content-type-builder-translation-sv-json",8342:"content-type-builder-translation-es-json",8360:"eu-json",8367:"es-json",8418:"users-email-settings-page",8423:"upload-translation-ca-json",8467:"users-permissions-translation-sv-json",8481:"email-translation-pl-json",8573:"content-type-builder-translation-uk-json",8736:"users-permissions-translation-pt-BR-json",8853:"users-roles-settings-page",8880:"content-type-builder",8897:"id-json",8907:"content-type-builder-translation-ja-json",8936:"review-workflows-settings-create-view",8965:"content-type-builder-translation-fr-json",9220:"users-permissions-translation-ms-json",9303:"sv-json",9366:"i18n-translation-pl-json",9412:"email-translation-sk-json",9460:"users-advanced-settings-page",9497:"Admin_profilePage",9501:"Admin_InternalErrorPage",9502:"users-permissions-translation-ja-json",9511:"content-type-builder-translation-ar-json",9514:"Upload_ConfigureTheView",9600:"transfer-tokens-list-page",9647:"pt-BR-json",9726:"sa-json",9737:"i18n-translation-ru-json",9762:"i18n-translation-zh-Hans-json",9797:"upload-translation-he-json",9903:"ml-json",9905:"users-permissions-translation-it-json"}[n]||n)+"."+{46:"6ff57db6",90:"362384a6",92:"58139df9",96:"1b334230",123:"8193d8c4",129:"87b494d1",302:"7c9b2fd9",311:"cb0884bb",320:"e34140fc",349:"f055e1be",395:"56c32cf6",435:"a2ed8c78",448:"829e1344",502:"8ae8ef60",562:"19a2dbfa",585:"6b937fdf",606:"bf2f057a",615:"9950466a",695:"cac210a0",742:"122277cc",744:"6eaeec6a",749:"5f659396",801:"376233ff",830:"3cf0b48a",918:"54414509",931:"ed29ff4d",994:"e9205db1",1001:"997fe8cc",1009:"74f6d746",1011:"1cc86ff0",1018:"4de49b23",1023:"e268ab74",1049:"758a01f5",1056:"74117e5c",1157:"81cca553",1167:"357d7a33",1180:"10f0600d",1312:"91286391",1331:"ba2eb03a",1375:"d1704f0b",1377:"fcf3ec4b",1386:"762d6eb8",1387:"a86ac314",1442:"7e23424a",1495:"d494d1eb",1674:"8e883c67",1727:"b49f0713",1930:"a7eda429",2137:"57ddc77e",2151:"65255f93",2225:"15d1df72",2246:"fd626b67",2248:"5bd62812",2282:"8876c1ee",2379:"0ca87a89",2380:"2bd7ff98",2395:"df7a044a",2411:"e6c0f8fc",2464:"a6fb670f",2489:"a52eab64",2492:"8741529f",2544:"a49b9f4f",2553:"36d81cdc",2567:"04cb309d",2603:"4211d4d0",2648:"88304564",2657:"1ef9e106",2671:"b2b16eea",2742:"6ab714ee",2801:"b1140c9b",2812:"4b422831",3025:"0eddffd9",3038:"483a18f6",3043:"c6841563",3095:"7f37180f",3098:"7e55bbbb",3100:"2ba4df95",3166:"2a2a0643",3206:"377bdd9f",3278:"ee4c5537",3304:"41f44f77",3340:"ee554a41",3455:"0c129e98",3483:"e2ee2547",3516:"a53c10b6",3530:"6722a8a2",3552:"47f78016",3650:"cbfeefa5",3677:"8728ff6e",3702:"0a7287d1",3739:"63e352f1",3825:"85402492",3948:"634f638b",3964:"f6b743b9",3981:"ac9dfb86",3984:"dda474f7",4021:"420c943b",4121:"65e1b5bb",4179:"a5a0fb59",4263:"67704088",4299:"46c2ea84",4302:"3532b962",4409:"c33f7c58",4546:"ff9fdf30",4587:"660fa9a8",4628:"9cbb6df5",4693:"78be2787",4804:"675f6b93",4816:"1597e6ab",4987:"426f31c9",5053:"e1dd6eb2",5162:"6cb479ff",5199:"3279ffb0",5222:"e87d7966",5296:"89401417",5388:"6bce37dd",5396:"7978eaa6",5483:"6dd2e776",5516:"f0b87fce",5538:"1c3f7fd6",5542:"2415a393",5751:"0b6b1006",5880:"44b88e7a",5894:"9f4aae42",5895:"8c600d1a",5905:"bf9be456",5906:"6a95dc71",6158:"c974fd83",6232:"98d35574",6280:"ef4f9471",6332:"9104eb78",6377:"60e50f48",6434:"8b7573ce",6460:"4b302272",6691:"f880a0b6",6745:"bd1fb6bf",6784:"7390477e",6817:"bfe27ed8",6831:"db163b6b",6836:"6a0a1572",6848:"7a2232ea",6901:"b3be02c7",7030:"b98dcedf",7048:"c9f92a3c",7065:"ec811562",7094:"7d87d54d",7155:"63fcff7b",7186:"3af65503",7327:"9fb7e6d7",7347:"28a1547e",7403:"b7e38370",7464:"8a6c1e6c",7465:"bbb2fa05",7519:"4b44411c",7663:"c97239fe",7808:"bef2dc07",7817:"35007573",7828:"1e9c0247",7833:"baab9911",7846:"f094a417",7898:"842aa391",7934:"ddb44f8c",7958:"f530bc3f",7997:"c6078082",8006:"aa8839d2",8056:"505bf7e0",8175:"1ec7becf",8178:"63eebd02",8276:"6c7b8e6e",8329:"a6df2462",8342:"a4a361a9",8360:"633025f0",8367:"f57b5335",8418:"a87978e5",8423:"57954414",8467:"17187818",8481:"97d0db97",8573:"e1315acd",8736:"1b6d2920",8853:"0431f48c",8880:"40534de5",8897:"41e07c46",8907:"9be0d5b2",8936:"05758184",8965:"499c3a46",9220:"c83f87c4",9303:"fd0e86c6",9366:"dfac513d",9412:"53da2fcd",9460:"18379a56",9497:"a968035f",9501:"f45f2462",9502:"891fe76e",9511:"3e808e2f",9514:"345ac1e0",9600:"22147d2c",9647:"dec7fb01",9726:"a56836f1",9737:"401bc498",9762:"757ce62d",9797:"0a830937",9806:"aa25371d",9903:"557aa14c",9905:"0705465d",9944:"7af075a5"}[n]+".chunk.js"}}(),function(){e.miniCssF=function(n){}}(),function(){e.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}()}(),function(){e.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)}}(),function(){var n={},i="@strapi/admin:";e.l=function(t,o,r,s){if(n[t]){n[t].push(o);return}var a,c;if(r!==void 0)for(var l=document.getElementsByTagName("script"),d=0;d<l.length;d++){var f=l[d];if(f.getAttribute("src")==t||f.getAttribute("data-webpack")==i+r){a=f;break}}a||(c=!0,a=document.createElement("script"),a.charset="utf-8",a.timeout=120,e.nc&&a.setAttribute("nonce",e.nc),a.setAttribute("data-webpack",i+r),a.src=t),n[t]=[o];var u=function(g,p){a.onerror=a.onload=null,clearTimeout(b);var h=n[t];if(delete n[t],a.parentNode&&a.parentNode.removeChild(a),h&&h.forEach(function(v){return v(p)}),g)return g(p)},b=setTimeout(u.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=u.bind(null,a.onerror),a.onload=u.bind(null,a.onload),c&&document.head.appendChild(a)}}(),function(){e.r=function(n){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})}}(),function(){e.nmd=function(n){return n.paths=[],n.children||(n.children=[]),n}}(),function(){e.p="/admin/"}(),function(){e.b=document.baseURI||self.location.href;var n={1303:0};e.f.j=function(o,r){var s=e.o(n,o)?n[o]:void 0;if(s!==0)if(s)r.push(s[2]);else if(o!=1303){var a=new Promise(function(f,u){s=n[o]=[f,u]});r.push(s[2]=a);var c=e.p+e.u(o),l=new Error,d=function(f){if(e.o(n,o)&&(s=n[o],s!==0&&(n[o]=void 0),s)){var u=f&&(f.type==="load"?"missing":f.type),b=f&&f.target&&f.target.src;l.message="Loading chunk "+o+` failed.
2
+ (`+u+": "+b+")",l.name="ChunkLoadError",l.type=u,l.request=b,s[1](l)}};e.l(c,d,"chunk-"+o,o)}else n[o]=0},e.O.j=function(o){return n[o]===0};var i=function(o,r){var s=r[0],a=r[1],c=r[2],l,d,f=0;if(s.some(function(b){return n[b]!==0})){for(l in a)e.o(a,l)&&(e.m[l]=a[l]);if(c)var u=c(e)}for(o&&o(r);f<s.length;f++)d=s[f],e.o(n,d)&&n[d]&&n[d][0](),n[d]=0;return e.O(u)},t=self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[];t.forEach(i.bind(null,0)),t.push=i.bind(null,t.push.bind(t))}(),function(){e.nc=void 0}()})();
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[302],{68951:function(J,m,e){e.r(m),e.d(m,{SingleSignOn:function(){return R},default:function(){return k}});var t=e(32735),E=e(96709),M=e(27649),y=e(82055),C=e(41415),I=e(17e3),O=e(87933),b=e(49372),A=e(15335),u=e(5803),P=e(71842),D=e(68465),T=e(84967),f=e(6407),o=e(19565),x=e(66456),F=e(89793),B=e.n(F),G=e(67879),h=e(15062),v=e(2160),S=e(30305),H=e(86209),i=e(24346),Z=i.Ry().shape({autoRegister:i.Xg().required(o.I0.required),defaultRole:i.nK().when("autoRegister",(a,l)=>a?l.required(o.I0.required):l.nullable()),ssoLockedRoles:i.IX().nullable().of(i.nK().when("ssoLockedRoles",(a,l)=>a?l.required(o.I0.required):l.nullable()))});const R=()=>{const{formatMessage:a}=(0,G.Z)(),l=(0,h.v9)(S._),{isLoading:z,allowedActions:{canUpdate:g,canReadRoles:K}}=(0,o.ss)({...l.settings.sso,readRoles:l.settings.roles.read}),[{formErrors:n,initialData:U,isLoading:X,modifiedData:r,showHeaderButtonLoader:N},Y,{handleChange:d,handleSubmit:W}]=(0,v.G4)((0,H.IF)("providers/options"),Z,()=>{},["autoRegister","defaultRole","ssoLockedRoles"]),{roles:L}=(0,v.bF)(K);(0,o.go)();const j=z||X,p=B()(U,r);return t.createElement(E.A,null,t.createElement(o.SL,{name:"SSO"}),t.createElement(M.o,{tabIndex:-1},t.createElement("form",{onSubmit:s=>{if(p){s.preventDefault();return}W(s)}},t.createElement(y.T,{primaryAction:t.createElement(C.z,{"data-testid":"save-button",disabled:p,loading:N,startIcon:t.createElement(x.Z,null),type:"submit",size:"L"},a({id:"global.save",defaultMessage:"Save"})),title:a({id:"Settings.sso.title",defaultMessage:"Single Sign-On"}),subtitle:a({id:"Settings.sso.description",defaultMessage:"Configure the settings for the Single Sign-On feature."})}),t.createElement(I.D,null,j?t.createElement(o.dO,null):t.createElement(O.k,{direction:"column",alignItems:"stretch",gap:4,background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},t.createElement(b.Z,{variant:"delta",as:"h2"},a({id:"global.settings",defaultMessage:"Settings"})),t.createElement(A.r,{gap:4},t.createElement(u.P,{col:6,m:6,s:12},t.createElement(P.s,{"aria-label":"autoRegister","data-testid":"autoRegister",disabled:!g,checked:r.autoRegister,hint:a({id:"Settings.sso.form.registration.description",defaultMessage:"Create new user on SSO login if no account exists"}),label:a({id:"Settings.sso.form.registration.label",defaultMessage:"Auto-registration"}),name:"autoRegister",offLabel:a({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:a({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:s=>{d({target:{name:"autoRegister",value:s.target.checked}})}})),t.createElement(u.P,{col:6,m:6,s:12},t.createElement(D.P,{disabled:!g,hint:a({id:"Settings.sso.form.defaultRole.description",defaultMessage:"It will attach the new authenticated user to the selected role"}),error:n.defaultRole?a({id:n.defaultRole.id,defaultMessage:n.defaultRole.id}):"",label:a({id:"Settings.sso.form.defaultRole.label",defaultMessage:"Default role"}),name:"defaultRole",onChange:s=>{d({target:{name:"defaultRole",value:s}})},placeholder:a({id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"}),value:r.defaultRole},L.map(({id:s,name:c})=>t.createElement(T.W,{key:s,value:s.toString()},c)))),t.createElement(u.P,{col:6,m:6,s:12},t.createElement(f.NU,{disabled:!g,hint:a({id:"Settings.sso.form.localAuthenticationLock.description",defaultMessage:"Select the roles for which you want to disable the local authentication"}),error:n.ssoLockedRoles?a({id:n.ssoLockedRoles.id,defaultMessage:n.ssoLockedRoles.id}):"",label:a({id:"Settings.sso.form.localAuthenticationLock.label",defaultMessage:"Local authentication lock-out"}),name:"ssoLockedRoles",onChange:s=>{d({target:{name:"ssoLockedRoles",value:s}})},placeholder:a({id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"}),onClear:()=>{d({target:{name:"ssoLockedRoles",emptyArray:[]}})},value:r.ssoLockedRoles||[],withTags:!0},L.map(({id:s,name:c})=>t.createElement(f.ML,{key:s,value:s.toString()},c))))))))))};var k=()=>{const a=(0,h.v9)(S._);return t.createElement(o.O4,{permissions:a.settings.sso.main},t.createElement(R,null))}}}]);
@@ -23,11 +23,11 @@
23
23
  */
24
24
  padding-inline-start: ${({theme:s})=>s.spaces[2]};
25
25
  }
26
- `,oe=s=>{const r=[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"}];return s&&(r.push({id:"app.utils.publish",defaultMessage:"Publish"}),r.push({id:"app.utils.unpublish",defaultMessage:"Unpublish"})),r},Y=s=>{const r=["entry.create","entry.update","entry.delete"];return s&&r.push("entry.publish","entry.unpublish"),{entry:r,media:["media.create","media.update","media.delete"]}},J=e.createContext(),le=({children:s})=>{const{formatMessage:r}=(0,_.Z)(),{collectionTypes:d,isLoading:M}=(0,de.G)(),y=e.useMemo(()=>d.some(L=>L.options.draftAndPublish===!0),[d]),v=r({id:"Settings.webhooks.form.events",defaultMessage:"Events"});return e.createElement(J.Provider,{value:{isDraftAndPublish:y}},e.createElement(g.k,{direction:"column",alignItems:"stretch",gap:1},e.createElement(b.Q,{"aria-hidden":!0},v),M&&e.createElement(W.a,null,r({id:"Settings.webhooks.events.isLoading",defaultMessage:"Events loading"})),e.createElement(B,{"aria-label":v},s)))};le.propTypes={children:f().oneOfType([f().arrayOf(f().node),f().node]).isRequired};const q=({getHeaders:s=oe})=>{const{isDraftAndPublish:r}=e.useContext(J),{formatMessage:d}=(0,_.Z)(),M=s(r);return e.createElement(K.S,null,e.createElement(U.Z,null,e.createElement(i.g,null,e.createElement(se.T,null,d({id:"Settings.webhooks.event.select",defaultMessage:"Select event"}))),M.map(y=>["app.utils.publish","app.utils.unpublish"].includes(y.id)?e.createElement(i.g,{key:y.id,title:d({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for content with draft & publish enabled"})},e.createElement(re.Z,{variant:"sigma",textColor:"neutral600"},d(y))):e.createElement(i.g,{key:y.id},e.createElement(re.Z,{variant:"sigma",textColor:"neutral600"},d(y))))))};q.defaultProps={getHeaders:oe},q.propTypes={getHeaders:f().func};const ee=({providedEvents:s})=>{const{isDraftAndPublish:r}=e.useContext(J),d=s||Y(r),{values:M,handleChange:y}=(0,Q.u6)(),v="events",L=M.events,$=[],te=u(L),A=({target:{name:E,value:m}})=>{let C=new Set(L);m?C.add(E):C.delete(E),y({target:{name:v,value:Array.from(C)}})},w=({target:{name:E,value:m}})=>{let C=new Set(L);m?d[E].forEach(N=>{$.includes(N)||C.add(N)}):d[E].forEach(N=>C.delete(N)),y({target:{name:v,value:Array.from(C)}})};return e.createElement(j.X,null,Object.entries(d).map(([E,m])=>e.createElement(F,{disabledEvents:$,key:E,name:E,events:m,inputValue:te[E],handleSelect:A,handleSelectAll:w})))};ee.defaultProps={providedEvents:null},ee.propTypes={providedEvents:f().object};const ce=s=>s.replace(/-/g," ").split(" ").map(r=>r.charAt(0).toUpperCase()+r.slice(1).toLowerCase()).join(" "),F=({disabledEvents:s,name:r,events:d,inputValue:M,handleSelect:y,handleSelectAll:v})=>{const{formatMessage:L}=(0,_.Z)(),$=d.filter(m=>!s.includes(m)),te=M.length>0,A=M.length===$.length,w=({target:{name:m}})=>{v({target:{name:m,value:!A}})},E=5;return e.createElement(U.Z,null,e.createElement(i.f,null,e.createElement(X.X,{indeterminate:te&&!A,"aria-label":L({id:"global.select-all-entries",defaultMessage:"Select all entries"}),name:r,onChange:w,value:A},ce(r))),d.map(m=>e.createElement(i.f,{key:m},e.createElement(S.C,{disabled:s.includes(m),"aria-label":m,name:m,value:M.includes(m),onValueChange:C=>y({target:{name:m,value:C}})}))),d.length<E&&e.createElement(i.f,{colSpan:`${E-d.length}`}))};F.defaultProps={disabledEvents:[],events:[],inputValue:[],handleSelect(){},handleSelectAll(){}},F.propTypes={disabledEvents:f().array,events:f().array,inputValue:f().array,handleSelect:f().func,handleSelectAll:f().func,name:f().string.isRequired},P.Z={Root:le,Headers:q,Body:ee,EventRow:F}},77476:function(G,P,t){t.d(P,{Z:function(){return fe}});var e=t(32735),T=t(27649),g=t(19565),b=t(20108),W=t(53038),K=t(90769),U=t(82055),i=t(87933),se=t(41415),re=t(17e3),j=t(72850),X=t(15335),S=t(5803),Q=t(10369),ie=t(2438),f=t(66456),_=t(29439),D=t(92802),de=t(60216),u=t.n(de),B=t(67879),oe=t(9592),Y=t(36795);function J(){return e.createElement(Y.Z.Root,null,e.createElement(Y.Z.Headers,null),e.createElement(Y.Z.Body,null))}var le=t(76437),q=t(7563),ee=t(19406),ce=t(21428),F=t(90333);const s=["A-IM","Accept","Accept-Charset","Accept-Encoding","Accept-Language","Accept-Datetime","Access-Control-Request-Method","Access-Control-Request-Headers","Authorization","Cache-Control","Connection","Content-Length","Content-Type","Cookie","Date","Expect","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Max-Forwards","Origin","Pragma","Proxy-Authorization","Range","Referer","TE","User-Agent","Upgrade","Via","Warning"],r=({name:n,onChange:a,value:o,...c})=>{const{values:{headers:h}}=(0,D.u6)(),[O,l]=(0,e.useState)(s);(0,e.useEffect)(()=>{l(s.filter(p=>!h?.some(x=>x.key!==o&&x.key===p)))},[h,o]);const H=p=>{a({target:{name:n,value:p}})},z=p=>{l(x=>[...x,p]),H(p)};return e.createElement(ce.XU,{...c,onClear:()=>H(""),onChange:H,onCreateOption:z,placeholder:"",value:o},O.map(p=>e.createElement(F.O,{value:p,key:p},p)))};r.defaultProps={value:void 0},r.propTypes={name:u().string.isRequired,onChange:u().func.isRequired,value:u().string};var d=r,y=()=>{const{formatMessage:n}=(0,B.Z)(),{values:a,errors:o}=(0,D.u6)();return e.createElement(i.k,{direction:"column",alignItems:"stretch",gap:1},e.createElement(le.Q,null,n({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(j.x,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(D.F2,{validateOnChange:!1,name:"headers",render:({push:c,remove:h})=>e.createElement(X.r,{gap:4},a.headers.map((O,l)=>e.createElement(e.Fragment,{key:`${l}.${O.key}`},e.createElement(S.P,{col:6},e.createElement(D.gN,{as:d,name:`headers.${l}.key`,"aria-label":`row ${l+1} key`,label:n({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:o.headers?.[l]?.key&&o.headers[l].key})),e.createElement(S.P,{col:6},e.createElement(i.k,{alignItems:"flex-end"},e.createElement(j.x,{style:{flex:1}},e.createElement(D.gN,{as:Q.o,name:`headers.${l}.value`,"aria-label":`row ${l+1} value`,label:n({id:"Settings.webhooks.value",defaultMessage:"Value"}),error:o.headers?.[l]?.value&&o.headers[l].value})),e.createElement(i.k,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:o.headers?.[l]?.value?0:5},e.createElement(g.fG,{disabled:a.headers.length===1,onClick:()=>h(l),label:n({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:l+1})})))))),e.createElement(S.P,{col:12},e.createElement(q.A,{type:"button",onClick:()=>{c({key:"",value:""})},startIcon:e.createElement(ee.Z,null)},n({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))})))},v=t(49372),L=t(27169),$=t(35331),te=t(8471);const A=te.ZP.svg(({theme:n,color:a})=>`
26
+ `,oe=s=>{const r=[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"}];return s&&(r.push({id:"app.utils.publish",defaultMessage:"Publish"}),r.push({id:"app.utils.unpublish",defaultMessage:"Unpublish"})),r},Y=s=>{const r=["entry.create","entry.update","entry.delete"];return s&&r.push("entry.publish","entry.unpublish"),{entry:r,media:["media.create","media.update","media.delete"]}},J=e.createContext(),le=({children:s})=>{const{formatMessage:r}=(0,_.Z)(),{collectionTypes:d,isLoading:M}=(0,de.G)(),y=e.useMemo(()=>d.some(L=>L.options.draftAndPublish===!0),[d]),v=r({id:"Settings.webhooks.form.events",defaultMessage:"Events"});return e.createElement(J.Provider,{value:{isDraftAndPublish:y}},e.createElement(g.k,{direction:"column",alignItems:"stretch",gap:1},e.createElement(b.Q,{"aria-hidden":!0},v),M&&e.createElement(W.a,null,r({id:"Settings.webhooks.events.isLoading",defaultMessage:"Events loading"})),e.createElement(B,{"aria-label":v},s)))};le.propTypes={children:f().oneOfType([f().arrayOf(f().node),f().node]).isRequired};const q=({getHeaders:s=oe})=>{const{isDraftAndPublish:r}=e.useContext(J),{formatMessage:d}=(0,_.Z)(),M=s(r);return e.createElement(K.S,null,e.createElement(U.Z,null,e.createElement(i.g,null,e.createElement(se.T,null,d({id:"Settings.webhooks.event.select",defaultMessage:"Select event"}))),M.map(y=>["app.utils.publish","app.utils.unpublish"].includes(y.id)?e.createElement(i.g,{key:y.id,title:d({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for content with draft & publish enabled"})},e.createElement(re.Z,{variant:"sigma",textColor:"neutral600"},d(y))):e.createElement(i.g,{key:y.id},e.createElement(re.Z,{variant:"sigma",textColor:"neutral600"},d(y))))))};q.defaultProps={getHeaders:oe},q.propTypes={getHeaders:f().func};const ee=({providedEvents:s})=>{const{isDraftAndPublish:r}=e.useContext(J),d=s||Y(r),{values:M,handleChange:y}=(0,Q.u6)(),v="events",L=M.events,w=[],te=u(L),A=({target:{name:E,value:m}})=>{let C=new Set(L);m?C.add(E):C.delete(E),y({target:{name:v,value:Array.from(C)}})},$=({target:{name:E,value:m}})=>{let C=new Set(L);m?d[E].forEach(N=>{w.includes(N)||C.add(N)}):d[E].forEach(N=>C.delete(N)),y({target:{name:v,value:Array.from(C)}})};return e.createElement(j.X,null,Object.entries(d).map(([E,m])=>e.createElement(F,{disabledEvents:w,key:E,name:E,events:m,inputValue:te[E],handleSelect:A,handleSelectAll:$})))};ee.defaultProps={providedEvents:null},ee.propTypes={providedEvents:f().object};const ce=s=>s.replace(/-/g," ").split(" ").map(r=>r.charAt(0).toUpperCase()+r.slice(1).toLowerCase()).join(" "),F=({disabledEvents:s,name:r,events:d,inputValue:M,handleSelect:y,handleSelectAll:v})=>{const{formatMessage:L}=(0,_.Z)(),w=d.filter(m=>!s.includes(m)),te=M.length>0,A=M.length===w.length,$=({target:{name:m}})=>{v({target:{name:m,value:!A}})},E=5;return e.createElement(U.Z,null,e.createElement(i.f,null,e.createElement(X.X,{indeterminate:te&&!A,"aria-label":L({id:"global.select-all-entries",defaultMessage:"Select all entries"}),name:r,onChange:$,value:A},ce(r))),d.map(m=>e.createElement(i.f,{key:m},e.createElement(S.C,{disabled:s.includes(m),"aria-label":m,name:m,value:M.includes(m),onValueChange:C=>y({target:{name:m,value:C}})}))),d.length<E&&e.createElement(i.f,{colSpan:E-d.length}))};F.defaultProps={disabledEvents:[],events:[],inputValue:[],handleSelect(){},handleSelectAll(){}},F.propTypes={disabledEvents:f().array,events:f().array,inputValue:f().array,handleSelect:f().func,handleSelectAll:f().func,name:f().string.isRequired},P.Z={Root:le,Headers:q,Body:ee,EventRow:F}},77476:function(G,P,t){t.d(P,{Z:function(){return fe}});var e=t(32735),T=t(27649),g=t(19565),b=t(20108),W=t(53038),K=t(90769),U=t(82055),i=t(87933),se=t(41415),re=t(17e3),j=t(72850),X=t(15335),S=t(5803),Q=t(10369),ie=t(2438),f=t(66456),_=t(29439),D=t(92802),de=t(60216),u=t.n(de),B=t(67879),oe=t(9592),Y=t(36795);function J(){return e.createElement(Y.Z.Root,null,e.createElement(Y.Z.Headers,null),e.createElement(Y.Z.Body,null))}var le=t(76437),q=t(7563),ee=t(19406),ce=t(21428),F=t(90333);const s=["A-IM","Accept","Accept-Charset","Accept-Encoding","Accept-Language","Accept-Datetime","Access-Control-Request-Method","Access-Control-Request-Headers","Authorization","Cache-Control","Connection","Content-Length","Content-Type","Cookie","Date","Expect","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Max-Forwards","Origin","Pragma","Proxy-Authorization","Range","Referer","TE","User-Agent","Upgrade","Via","Warning"],r=({name:n,onChange:a,value:o,...c})=>{const{values:{headers:h}}=(0,D.u6)(),[O,l]=(0,e.useState)(s);(0,e.useEffect)(()=>{l(s.filter(p=>!h?.some(x=>x.key!==o&&x.key===p)))},[h,o]);const H=p=>{a({target:{name:n,value:p}})},z=p=>{l(x=>[...x,p]),H(p)};return e.createElement(ce.XU,{...c,onClear:()=>H(""),onChange:H,onCreateOption:z,placeholder:"",value:o},O.map(p=>e.createElement(F.O,{value:p,key:p},p)))};r.defaultProps={value:void 0},r.propTypes={name:u().string.isRequired,onChange:u().func.isRequired,value:u().string};var d=r,y=()=>{const{formatMessage:n}=(0,B.Z)(),{values:a,errors:o}=(0,D.u6)();return e.createElement(i.k,{direction:"column",alignItems:"stretch",gap:1},e.createElement(le.Q,null,n({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(j.x,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(D.F2,{validateOnChange:!1,name:"headers",render:({push:c,remove:h})=>e.createElement(X.r,{gap:4},a.headers.map((O,l)=>e.createElement(e.Fragment,{key:`${l}.${O.key}`},e.createElement(S.P,{col:6},e.createElement(D.gN,{as:d,name:`headers.${l}.key`,"aria-label":`row ${l+1} key`,label:n({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:o.headers?.[l]?.key&&o.headers[l].key})),e.createElement(S.P,{col:6},e.createElement(i.k,{alignItems:"flex-end"},e.createElement(j.x,{style:{flex:1}},e.createElement(D.gN,{as:Q.o,name:`headers.${l}.value`,"aria-label":`row ${l+1} value`,label:n({id:"Settings.webhooks.value",defaultMessage:"Value"}),error:o.headers?.[l]?.value&&o.headers[l].value})),e.createElement(i.k,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:o.headers?.[l]?.value?0:5},e.createElement(g.fG,{disabled:a.headers.length===1,onClick:()=>h(l),label:n({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:l+1})})))))),e.createElement(S.P,{col:12},e.createElement(q.A,{type:"button",onClick:()=>{c({key:"",value:""})},startIcon:e.createElement(ee.Z,null)},n({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))})))},v=t(49372),L=t(27169),w=t(35331),te=t(8471);const A=te.ZP.svg(({theme:n,color:a})=>`
27
27
  width: ${12/16}rem;
28
28
  height: ${12/16}rem;
29
29
 
30
30
  path {
31
31
  fill: ${n.colors[a]};
32
32
  }
33
- `),w=({isPending:n,statusCode:a})=>{const{formatMessage:o}=(0,B.Z)();return n?e.createElement(i.k,{gap:2,alignItems:"center"},e.createElement(A,{as:L.Z}),e.createElement(v.Z,null,o({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):a>=200&&a<300?e.createElement(i.k,{gap:2,alignItems:"center"},e.createElement(A,{as:f.Z,color:"success700"}),e.createElement(v.Z,null,o({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):a>=300?e.createElement(i.k,{gap:2,alignItems:"center"},e.createElement(A,{as:$.Z,color:"danger700"}),e.createElement(v.Z,null,o({id:"Settings.error",defaultMessage:"error"})," ",a)):null};w.propTypes={isPending:u().bool.isRequired,statusCode:u().number},w.defaultProps={statusCode:void 0};const E=({statusCode:n,message:a})=>{const{formatMessage:o}=(0,B.Z)();return n>=200&&n<300?e.createElement(i.k,{justifyContent:"flex-end"},e.createElement(v.Z,{textColor:"neutral600",ellipsis:!0},o({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):n>=300?e.createElement(i.k,{justifyContent:"flex-end"},e.createElement(i.k,{maxWidth:(0,g.Q1)(250),justifyContent:"flex-end",title:a},e.createElement(v.Z,{ellipsis:!0,textColor:"neutral600"},a))):null};E.propTypes={statusCode:u().number,message:u().string},E.defaultProps={statusCode:void 0,message:void 0};const m=({onCancel:n})=>{const{formatMessage:a}=(0,B.Z)();return e.createElement(i.k,{justifyContent:"flex-end"},e.createElement("button",{onClick:n,type:"button"},e.createElement(i.k,{gap:2,alignItems:"center"},e.createElement(v.Z,{textColor:"neutral400"},a({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement(A,{as:$.Z,color:"neutral400"}))))};m.propTypes={onCancel:u().func.isRequired};const C=({isPending:n,onCancel:a,response:o})=>{const{statusCode:c,message:h}=o,{formatMessage:O}=(0,B.Z)();return e.createElement(j.x,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(X.r,{gap:4,style:{alignItems:"center"}},e.createElement(S.P,{col:3},e.createElement(v.Z,null,O({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(S.P,{col:3},e.createElement(w,{isPending:n,statusCode:c})),e.createElement(S.P,{col:6},n?e.createElement(m,{onCancel:a}):e.createElement(E,{statusCode:c,message:h}))))};C.defaultProps={isPending:!1,onCancel(){},response:{}},C.propTypes={isPending:u().bool,onCancel:u().func,response:u().object};var N=C,k=t(24346);const ge=/(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/,Ee=/(^$)|((https?:\/\/.*)(d*)\/?(.*))/,he=({formatMessage:n})=>k.Ry().shape({name:k.Z_().required(n({id:"Settings.webhooks.validation.name.required",defaultMessage:"Name is required"})).matches(ge,n({id:"Settings.webhooks.validation.name.regex",defaultMessage:"The name must start with a letter and only contain letters, numbers, spaces and underscores"})),url:k.Z_().required(n({id:"Settings.webhooks.validation.url.required",defaultMessage:"Url is required"})).matches(Ee,n({id:"Settings.webhooks.validation.url.regex",defaultMessage:"The value must be a valid Url"})),headers:k.Vo(a=>{let o=k.IX();if(a.length===1){const{key:c,value:h}=a[0];if(!c&&!h)return o}return o.of(k.Ry().shape({key:k.Z_().required(n({id:"Settings.webhooks.validation.key",defaultMessage:"Key is required"})),value:k.Z_().required(n({id:"Settings.webhooks.validation.value",defaultMessage:"Value is required"}))}))}),events:k.IX()}),ue=({handleSubmit:n,triggerWebhook:a,isCreating:o,isTriggering:c,triggerResponse:h,data:O})=>{const{formatMessage:l}=(0,B.Z)(),[H,z]=(0,e.useState)(!1),p=(0,oe.c)(J,async()=>(await t.e(7030).then(t.bind(t,61442))).EventTableEE),x=Z=>Object.keys(Z).length?Object.entries(Z).map(([ne,ae])=>({key:ne,value:ae})):[{key:"",value:""}],R=(0,D.TA)({initialValues:{name:O?.name||"",url:O?.url||"",headers:x(O?.headers||{}),events:O?.events||[]},onSubmit(Z,{resetForm:ne,setSubmitting:ae}){n(Z),ne({values:Z}),ae(!1)},validationSchema:he({formatMessage:l}),validateOnChange:!1,validateOnBlur:!1});return p?e.createElement(D.Hy,{value:R},e.createElement(g.l0,{onSubmit:R.handleSubmit},e.createElement(U.T,{primaryAction:e.createElement(i.k,{gap:2},e.createElement(se.z,{onClick:()=>{a(),z(!0)},variant:"tertiary",startIcon:e.createElement(ie.Z,null),disabled:o||c,size:"L"},l({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(se.z,{startIcon:e.createElement(f.Z,null),type:"submit",size:"L",disabled:!R.dirty,loading:R.isSubmitting},l({id:"global.save",defaultMessage:"Save"}))),title:o?l({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):O?.name,navigationAction:e.createElement(g.rU,{startIcon:e.createElement(_.Z,null),to:"/settings/webhooks"},l({id:"global.back",defaultMessage:"Back"}))}),e.createElement(re.D,null,e.createElement(i.k,{direction:"column",alignItems:"stretch",gap:4},H&&e.createElement(N,{isPending:c,response:h,onCancel:()=>z(!1)}),e.createElement(j.x,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(i.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(X.r,{gap:6},e.createElement(S.P,{col:6},e.createElement(D.gN,{as:Q.o,name:"name",error:R?.errors?.name&&R.errors.name,label:l({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(S.P,{col:12},e.createElement(D.gN,{as:Q.o,name:"url",error:R?.errors?.url&&R.errors.url,label:l({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(y,null),e.createElement(p,null))))))):null};ue.propTypes={data:u().object,handleSubmit:u().func.isRequired,triggerWebhook:u().func.isRequired,isCreating:u().bool.isRequired,isTriggering:u().bool.isRequired,triggerResponse:u().object},ue.defaultProps={data:void 0,triggerResponse:void 0};var pe=ue;const me=n=>({...n,headers:n.headers.reduce((a,{key:o,value:c})=>(o!==""&&(a[o]=c),a),{})});var fe=()=>{const{params:{id:n}}=(0,W.$B)("/settings/webhooks/:id"),a=n==="create",{replace:o}=(0,W.k6)(),c=(0,g.lm)(),{formatAPIError:h}=(0,g.So)(),O=(0,b.useQueryClient)(),{isLoading:l}=(0,K.G)(),{put:H,get:z,post:p}=(0,g.kY)(),{isLoading:x,data:R,error:Z}=(0,b.useQuery)(["webhooks",n],async()=>{const{data:{data:I}}=await z(`/admin/webhooks/${n}`);return I},{enabled:!a});e.useEffect(()=>{Z&&c({type:"warning",message:h(Z)})},[Z,c,h]);const{isLoading:ne,data:ae,isIdle:ve,mutate:Me}=(0,b.useMutation)(()=>p(`/admin/webhooks/${n}/trigger`)),ye=()=>Me(null,{onError(I){c({type:"warning",message:h(I)})}}),Ce=(0,b.useMutation)(I=>p("/admin/webhooks",I)),Pe=(0,b.useMutation)(({id:I,body:V})=>H(`/admin/webhooks/${I}`,V)),be=async I=>{if(a){Ce.mutate(me(I),{onSuccess({data:V}){c({type:"success",message:{id:"Settings.webhooks.created"}}),o(`/settings/webhooks/${V.data.id}`)},onError(V){c({type:"warning",message:h(V)})}});return}Pe.mutate({id:n,body:me(I)},{onSuccess(){O.invalidateQueries(["webhooks",n]),c({type:"success",message:{id:"notification.form.success.fields"}})},onError(V){c({type:"warning",message:h(V)})}})};return x||l?e.createElement(g.dO,null):e.createElement(T.o,null,e.createElement(g.SL,{name:"Webhooks"}),e.createElement(pe,{data:R,handleSubmit:be,triggerWebhook:ye,isCreating:a,isTriggering:ne,isTriggerIdle:ve,triggerResponse:ae?.data.data}))}},5722:function(G,P,t){t.r(P);var e=t(32735),T=t(19565),g=t(15062),b=t(30305),W=t(77476);const K=()=>{const U=(0,g.v9)(b._);return e.createElement(T.O4,{permissions:U.settings.webhooks.create},e.createElement(W.Z,null))};P.default=K},63939:function(G,P,t){t.r(P);var e=t(32735),T=t(19565),g=t(15062),b=t(30305),W=t(77476);const K=()=>{const U=(0,g.v9)(b._);return e.createElement(T.O4,{permissions:U.settings.webhooks.update},e.createElement(W.Z,null))};P.default=K},90333:function(G,P,t){t.d(P,{O:function(){return T}});var e=t(21428);const T=e.Wx},29439:function(G,P,t){t.d(P,{Z:function(){return g}});var e=t(74512);const T=b=>(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...b,children:(0,e.jsx)("path",{fill:"#212134",d:"M24 13.3a.2.2 0 0 1-.2.2H5.74l8.239 8.239a.2.2 0 0 1 0 .282L12.14 23.86a.2.2 0 0 1-.282 0L.14 12.14a.2.2 0 0 1 0-.282L11.86.14a.2.2 0 0 1 .282 0L13.98 1.98a.2.2 0 0 1 0 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6Z"})}),g=T}}]);
33
+ `),$=({isPending:n,statusCode:a})=>{const{formatMessage:o}=(0,B.Z)();return n?e.createElement(i.k,{gap:2,alignItems:"center"},e.createElement(A,{as:L.Z}),e.createElement(v.Z,null,o({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):a>=200&&a<300?e.createElement(i.k,{gap:2,alignItems:"center"},e.createElement(A,{as:f.Z,color:"success700"}),e.createElement(v.Z,null,o({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):a>=300?e.createElement(i.k,{gap:2,alignItems:"center"},e.createElement(A,{as:w.Z,color:"danger700"}),e.createElement(v.Z,null,o({id:"Settings.error",defaultMessage:"error"})," ",a)):null};$.propTypes={isPending:u().bool.isRequired,statusCode:u().number},$.defaultProps={statusCode:void 0};const E=({statusCode:n,message:a})=>{const{formatMessage:o}=(0,B.Z)();return n>=200&&n<300?e.createElement(i.k,{justifyContent:"flex-end"},e.createElement(v.Z,{textColor:"neutral600",ellipsis:!0},o({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):n>=300?e.createElement(i.k,{justifyContent:"flex-end"},e.createElement(i.k,{maxWidth:(0,g.Q1)(250),justifyContent:"flex-end",title:a},e.createElement(v.Z,{ellipsis:!0,textColor:"neutral600"},a))):null};E.propTypes={statusCode:u().number,message:u().string},E.defaultProps={statusCode:void 0,message:void 0};const m=({onCancel:n})=>{const{formatMessage:a}=(0,B.Z)();return e.createElement(i.k,{justifyContent:"flex-end"},e.createElement("button",{onClick:n,type:"button"},e.createElement(i.k,{gap:2,alignItems:"center"},e.createElement(v.Z,{textColor:"neutral400"},a({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement(A,{as:w.Z,color:"neutral400"}))))};m.propTypes={onCancel:u().func.isRequired};const C=({isPending:n,onCancel:a,response:o})=>{const{statusCode:c,message:h}=o,{formatMessage:O}=(0,B.Z)();return e.createElement(j.x,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(X.r,{gap:4,style:{alignItems:"center"}},e.createElement(S.P,{col:3},e.createElement(v.Z,null,O({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(S.P,{col:3},e.createElement($,{isPending:n,statusCode:c})),e.createElement(S.P,{col:6},n?e.createElement(m,{onCancel:a}):e.createElement(E,{statusCode:c,message:h}))))};C.defaultProps={isPending:!1,onCancel(){},response:{}},C.propTypes={isPending:u().bool,onCancel:u().func,response:u().object};var N=C,k=t(24346);const ge=/(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/,Ee=/(^$)|((https?:\/\/.*)(d*)\/?(.*))/,he=({formatMessage:n})=>k.Ry().shape({name:k.Z_().required(n({id:"Settings.webhooks.validation.name.required",defaultMessage:"Name is required"})).matches(ge,n({id:"Settings.webhooks.validation.name.regex",defaultMessage:"The name must start with a letter and only contain letters, numbers, spaces and underscores"})),url:k.Z_().required(n({id:"Settings.webhooks.validation.url.required",defaultMessage:"Url is required"})).matches(Ee,n({id:"Settings.webhooks.validation.url.regex",defaultMessage:"The value must be a valid Url"})),headers:k.Vo(a=>{let o=k.IX();if(a.length===1){const{key:c,value:h}=a[0];if(!c&&!h)return o}return o.of(k.Ry().shape({key:k.Z_().required(n({id:"Settings.webhooks.validation.key",defaultMessage:"Key is required"})),value:k.Z_().required(n({id:"Settings.webhooks.validation.value",defaultMessage:"Value is required"}))}))}),events:k.IX()}),ue=({handleSubmit:n,triggerWebhook:a,isCreating:o,isTriggering:c,triggerResponse:h,data:O})=>{const{formatMessage:l}=(0,B.Z)(),[H,z]=(0,e.useState)(!1),p=(0,oe.c)(J,async()=>(await t.e(7030).then(t.bind(t,61442))).EventTableEE),x=Z=>Object.keys(Z).length?Object.entries(Z).map(([ne,ae])=>({key:ne,value:ae})):[{key:"",value:""}],R=(0,D.TA)({initialValues:{name:O?.name||"",url:O?.url||"",headers:x(O?.headers||{}),events:O?.events||[]},onSubmit(Z,{resetForm:ne,setSubmitting:ae}){n(Z),ne({values:Z}),ae(!1)},validationSchema:he({formatMessage:l}),validateOnChange:!1,validateOnBlur:!1});return p?e.createElement(D.Hy,{value:R},e.createElement(g.l0,{onSubmit:R.handleSubmit},e.createElement(U.T,{primaryAction:e.createElement(i.k,{gap:2},e.createElement(se.z,{onClick:()=>{a(),z(!0)},variant:"tertiary",startIcon:e.createElement(ie.Z,null),disabled:o||c,size:"L"},l({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(se.z,{startIcon:e.createElement(f.Z,null),type:"submit",size:"L",disabled:!R.dirty,loading:R.isSubmitting},l({id:"global.save",defaultMessage:"Save"}))),title:o?l({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):O?.name,navigationAction:e.createElement(g.rU,{startIcon:e.createElement(_.Z,null),to:"/settings/webhooks"},l({id:"global.back",defaultMessage:"Back"}))}),e.createElement(re.D,null,e.createElement(i.k,{direction:"column",alignItems:"stretch",gap:4},H&&e.createElement(N,{isPending:c,response:h,onCancel:()=>z(!1)}),e.createElement(j.x,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(i.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(X.r,{gap:6},e.createElement(S.P,{col:6},e.createElement(D.gN,{as:Q.o,name:"name",error:R?.errors?.name&&R.errors.name,label:l({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(S.P,{col:12},e.createElement(D.gN,{as:Q.o,name:"url",error:R?.errors?.url&&R.errors.url,label:l({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(y,null),e.createElement(p,null))))))):null};ue.propTypes={data:u().object,handleSubmit:u().func.isRequired,triggerWebhook:u().func.isRequired,isCreating:u().bool.isRequired,isTriggering:u().bool.isRequired,triggerResponse:u().object},ue.defaultProps={data:void 0,triggerResponse:void 0};var pe=ue;const me=n=>({...n,headers:n.headers.reduce((a,{key:o,value:c})=>(o!==""&&(a[o]=c),a),{})});var fe=()=>{const{params:{id:n}}=(0,W.$B)("/settings/webhooks/:id"),a=n==="create",{replace:o}=(0,W.k6)(),c=(0,g.lm)(),{formatAPIError:h}=(0,g.So)(),O=(0,b.useQueryClient)(),{isLoading:l}=(0,K.G)(),{put:H,get:z,post:p}=(0,g.kY)(),{isLoading:x,data:R,error:Z}=(0,b.useQuery)(["webhooks",n],async()=>{const{data:{data:I}}=await z(`/admin/webhooks/${n}`);return I},{enabled:!a});e.useEffect(()=>{Z&&c({type:"warning",message:h(Z)})},[Z,c,h]);const{isLoading:ne,data:ae,isIdle:ve,mutate:Me}=(0,b.useMutation)(()=>p(`/admin/webhooks/${n}/trigger`)),ye=()=>Me(null,{onError(I){c({type:"warning",message:h(I)})}}),Ce=(0,b.useMutation)(I=>p("/admin/webhooks",I)),Pe=(0,b.useMutation)(({id:I,body:V})=>H(`/admin/webhooks/${I}`,V)),be=async I=>{if(a){Ce.mutate(me(I),{onSuccess({data:V}){c({type:"success",message:{id:"Settings.webhooks.created"}}),o(`/settings/webhooks/${V.data.id}`)},onError(V){c({type:"warning",message:h(V)})}});return}Pe.mutate({id:n,body:me(I)},{onSuccess(){O.invalidateQueries(["webhooks",n]),c({type:"success",message:{id:"notification.form.success.fields"}})},onError(V){c({type:"warning",message:h(V)})}})};return x||l?e.createElement(g.dO,null):e.createElement(T.o,null,e.createElement(g.SL,{name:"Webhooks"}),e.createElement(pe,{data:R,handleSubmit:be,triggerWebhook:ye,isCreating:a,isTriggering:ne,isTriggerIdle:ve,triggerResponse:ae?.data.data}))}},5722:function(G,P,t){t.r(P);var e=t(32735),T=t(19565),g=t(15062),b=t(30305),W=t(77476);const K=()=>{const U=(0,g.v9)(b._);return e.createElement(T.O4,{permissions:U.settings.webhooks.create},e.createElement(W.Z,null))};P.default=K},63939:function(G,P,t){t.r(P);var e=t(32735),T=t(19565),g=t(15062),b=t(30305),W=t(77476);const K=()=>{const U=(0,g.v9)(b._);return e.createElement(T.O4,{permissions:U.settings.webhooks.update},e.createElement(W.Z,null))};P.default=K},90333:function(G,P,t){t.d(P,{O:function(){return T}});var e=t(21428);const T=e.Wx},29439:function(G,P,t){t.d(P,{Z:function(){return g}});var e=t(74512);const T=b=>(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...b,children:(0,e.jsx)("path",{fill:"#212134",d:"M24 13.3a.2.2 0 0 1-.2.2H5.74l8.239 8.239a.2.2 0 0 1 0 .282L12.14 23.86a.2.2 0 0 1-.282 0L.14 12.14a.2.2 0 0 1 0-.282L11.86.14a.2.2 0 0 1 .282 0L13.98 1.98a.2.2 0 0 1 0 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6Z"})}),g=T}}]);
@@ -1,15 +1,37 @@
1
1
  import * as React from 'react';
2
2
 
3
- import { Grid, GridItem, MultiSelectNested, TextInput } from '@strapi/design-system';
3
+ import {
4
+ Grid,
5
+ GridItem,
6
+ MultiSelect,
7
+ MultiSelectGroup,
8
+ MultiSelectOption,
9
+ TextInput,
10
+ Typography,
11
+ } from '@strapi/design-system';
4
12
  import { useCollator } from '@strapi/helper-plugin';
5
13
  import { useField } from 'formik';
6
14
  import PropTypes from 'prop-types';
7
15
  import { useIntl } from 'react-intl';
8
16
  import { useDispatch } from 'react-redux';
17
+ import styled from 'styled-components';
9
18
 
10
19
  import { updateWorkflow } from '../../actions';
11
20
 
12
- export function WorkflowAttributes({ canUpdate, contentTypes: { collectionTypes, singleTypes } }) {
21
+ const NestedOption = styled(MultiSelectOption)`
22
+ padding-left: ${({ theme }) => theme.spaces[7]};
23
+ `;
24
+
25
+ const ContentTypeTakeNotice = styled(Typography)`
26
+ font-style: italic;
27
+ `;
28
+
29
+ export function WorkflowAttributes({
30
+ canUpdate,
31
+ contentTypes: { collectionTypes, singleTypes },
32
+ currentWorkflow,
33
+ workflows,
34
+ }) {
13
35
  const { formatMessage, locale } = useIntl();
14
36
  const dispatch = useDispatch();
15
37
  const [nameField, nameMeta, nameHelper] = useField('name');
@@ -39,7 +61,7 @@ export function WorkflowAttributes({ canUpdate, contentTypes: { collectionTypes,
39
61
  </GridItem>
40
62
 
41
63
  <GridItem col={6}>
42
- <MultiSelectNested
64
+ <MultiSelect
43
65
  {...contentTypesField}
44
66
  customizeContent={(value) =>
45
67
  formatMessage(
@@ -62,7 +84,12 @@ export function WorkflowAttributes({ canUpdate, contentTypes: { collectionTypes,
62
84
  dispatch(updateWorkflow({ contentTypes: values }));
63
85
  contentTypesHelper.setValue(values);
64
86
  }}
65
- options={[
87
+ placeholder={formatMessage({
88
+ id: 'Settings.review-workflows.workflow.contentTypes.placeholder',
89
+ defaultMessage: 'Select',
90
+ })}
91
+ >
92
+ {[
66
93
  ...(collectionTypes.length > 0
67
94
  ? [
68
95
  {
@@ -94,12 +121,58 @@ export function WorkflowAttributes({ canUpdate, contentTypes: { collectionTypes,
94
121
  },
95
122
  ]
96
123
  : []),
97
- ]}
98
- placeholder={formatMessage({
99
- id: 'Settings.review-workflows.workflow.contentTypes.placeholder',
100
- defaultMessage: 'Select',
124
+ ].map((opt) => {
125
+ if ('children' in opt) {
126
+ return (
127
+ <MultiSelectGroup
128
+ key={opt.label}
129
+ label={opt.label}
130
+ values={opt.children.map((child) => child.value.toString())}
131
+ >
132
+ {opt.children.map((child) => {
133
+ const { name: assignedWorkflowName } =
134
+ workflows.find(
135
+ (workflow) =>
136
+ ((currentWorkflow && workflow.id !== currentWorkflow.id) ||
137
+ !currentWorkflow) &&
138
+ workflow.contentTypes.includes(child.value)
139
+ ) ?? {};
140
+
141
+ return (
142
+ <NestedOption key={child.value} value={child.value}>
143
+ {formatMessage(
144
+ {
145
+ id: 'Settings.review-workflows.workflow.contentTypes.assigned.notice',
146
+ defaultMessage:
147
+ '{label} {name, select, undefined {} other {<i>(assigned to <em>{name}</em> workflow)</i>}}',
148
+ },
149
+ {
150
+ label: child.label,
151
+ name: assignedWorkflowName,
152
+ em: (...children) => (
153
+ <Typography as="em" fontWeight="bold">
154
+ {children}
155
+ </Typography>
156
+ ),
157
+ i: (...children) => (
158
+ <ContentTypeTakeNotice>{children}</ContentTypeTakeNotice>
159
+ ),
160
+ }
161
+ )}
162
+ </NestedOption>
163
+ );
164
+ })}
165
+ </MultiSelectGroup>
166
+ );
167
+ }
168
+
169
+ return (
170
+ <MultiSelectOption key={opt.value} value={opt.value}>
171
+ {opt.label}
172
+ </MultiSelectOption>
173
+ );
101
174
  })}
102
- />
175
+ </MultiSelect>
103
176
  </GridItem>
104
177
  </Grid>
105
178
  );
@@ -114,6 +187,7 @@ const ContentTypeType = PropTypes.shape({
114
187
 
115
188
  WorkflowAttributes.defaultProps = {
116
189
  canUpdate: true,
190
+ currentWorkflow: undefined,
117
191
  };
118
192
 
119
193
  WorkflowAttributes.propTypes = {
@@ -122,4 +196,6 @@ WorkflowAttributes.propTypes = {
122
196
  collectionTypes: PropTypes.arrayOf(ContentTypeType).isRequired,
123
197
  singleTypes: PropTypes.arrayOf(ContentTypeType).isRequired,
124
198
  }).isRequired,
199
+ currentWorkflow: PropTypes.object,
200
+ workflows: PropTypes.array.isRequired,
125
201
  };
@@ -1,7 +1,8 @@
1
1
  import * as React from 'react';
2
2
 
3
- import { Button, Flex, Loader } from '@strapi/design-system';
3
+ import { Button, Flex, Loader, Typography } from '@strapi/design-system';
4
4
  import {
5
+ ConfirmDialog,
5
6
  useAPIErrorHandler,
6
7
  useFetchClient,
7
8
  useNotification,
@@ -42,6 +43,7 @@ export function ReviewWorkflowsCreateView() {
42
43
  const permissions = useSelector(selectAdminPermissions);
43
44
  const toggleNotification = useNotification();
44
45
  const { collectionTypes, singleTypes, isLoading: isLoadingModels } = useContentTypes();
46
+ const { isLoading: isWorkflowLoading, meta, workflows } = useReviewWorkflows();
45
47
  const {
46
48
  clientState: {
47
49
  currentWorkflow: { data: currentWorkflow, isDirty: currentWorkflowIsDirty },
@@ -52,8 +54,11 @@ export function ReviewWorkflowsCreateView() {
52
54
  } = useRBAC(permissions.settings['review-workflows']);
53
55
  const [showLimitModal, setShowLimitModal] = React.useState(false);
54
56
  const { isLoading: isLicenseLoading, getFeature } = useLicenseLimits();
55
- const { meta, isLoading: isWorkflowLoading } = useReviewWorkflows();
56
57
  const [initialErrors, setInitialErrors] = React.useState(null);
58
+ const [savePrompts, setSavePrompts] = React.useState({});
59
+
60
+ const limits = getFeature('review-workflows');
61
+ const contentTypesFromOtherWorkflows = workflows.flatMap((workflow) => workflow.contentTypes);
57
62
 
58
63
  const { mutateAsync, isLoading } = useMutation(
59
64
  async ({ workflow }) => {
@@ -79,6 +84,8 @@ export function ReviewWorkflowsCreateView() {
79
84
  );
80
85
 
81
86
  const submitForm = async () => {
87
+ setSavePrompts({});
88
+
82
89
  try {
83
90
  const workflow = await mutateAsync({ workflow: currentWorkflow });
84
91
 
@@ -110,13 +117,23 @@ export function ReviewWorkflowsCreateView() {
110
117
  }
111
118
  };
112
119
 
113
- const limits = getFeature('review-workflows');
120
+ const handleConfirmDeleteDialog = async () => {
121
+ await submitForm();
122
+ };
123
+
124
+ const handleConfirmClose = () => {
125
+ setSavePrompts({});
126
+ };
114
127
 
115
128
  const formik = useFormik({
116
129
  enableReinitialize: true,
117
130
  initialErrors,
118
131
  initialValues: currentWorkflow,
119
132
  async onSubmit() {
133
+ const isContentTypeReassignment = currentWorkflow.contentTypes.some((contentType) =>
134
+ contentTypesFromOtherWorkflows.includes(contentType)
135
+ );
136
+
120
137
  /**
121
138
  * If the current license has a limit, check if the total count of workflows
122
139
  * exceeds that limit and display the limits modal instead of sending the
@@ -140,6 +157,8 @@ export function ReviewWorkflowsCreateView() {
140
157
  parseInt(limits[CHARGEBEE_STAGES_PER_WORKFLOW_ENTITLEMENT_NAME], 10)
141
158
  ) {
142
159
  setShowLimitModal('stage');
160
+ } else if (isContentTypeReassignment) {
161
+ setSavePrompts((prev) => ({ ...prev, hasReassignedContentTypes: true }));
143
162
  } else {
144
163
  submitForm();
145
164
  }
@@ -243,7 +262,10 @@ export function ReviewWorkflowsCreateView() {
243
262
  </Loader>
244
263
  ) : (
245
264
  <Flex alignItems="stretch" direction="column" gap={7}>
246
- <WorkflowAttributes contentTypes={{ collectionTypes, singleTypes }} />
265
+ <WorkflowAttributes
266
+ contentTypes={{ collectionTypes, singleTypes }}
267
+ workflows={workflows}
268
+ />
247
269
  <Stages stages={formik.values?.stages} />
248
270
  </Flex>
249
271
  )}
@@ -252,6 +274,41 @@ export function ReviewWorkflowsCreateView() {
252
274
  </Form>
253
275
  </FormikProvider>
254
276
 
277
+ <ConfirmDialog.Root
278
+ isConfirmButtonLoading={isLoading}
279
+ isOpen={Object.keys(savePrompts).length > 0}
280
+ onToggleDialog={handleConfirmClose}
281
+ onConfirm={handleConfirmDeleteDialog}
282
+ >
283
+ <ConfirmDialog.Body>
284
+ <Flex direction="column" gap={5}>
285
+ {savePrompts.hasReassignedContentTypes && (
286
+ <Typography textAlign="center" variant="omega">
287
+ {formatMessage(
288
+ {
289
+ id: 'Settings.review-workflows.page.delete.confirm.contentType.body',
290
+ defaultMessage:
291
+ '{count} {count, plural, one {content-type} other {content-types}} {count, plural, one {is} other {are}} already mapped to {count, plural, one {another workflow} other {other workflows}}. If you save changes, {count, plural, one {this} other {these}} {count, plural, one {content-type} other {{count} content-types}} will no more be mapped to the {count, plural, one {another workflow} other {other workflows}} and all corresponding information will be removed.',
292
+ },
293
+ {
294
+ count: contentTypesFromOtherWorkflows.filter((contentType) =>
295
+ currentWorkflow.contentTypes.includes(contentType)
296
+ ).length,
297
+ }
298
+ )}
299
+ </Typography>
300
+ )}
301
+
302
+ <Typography textAlign="center" variant="omega">
303
+ {formatMessage({
304
+ id: 'Settings.review-workflows.page.delete.confirm.confirm',
305
+ defaultMessage: 'Are you sure you want to save?',
306
+ })}
307
+ </Typography>
308
+ </Flex>
309
+ </ConfirmDialog.Body>
310
+ </ConfirmDialog.Root>
311
+
255
312
  <LimitsModal.Root
256
313
  isOpen={showLimitModal === 'workflow'}
257
314
  onClose={() => setShowLimitModal(false)}