@strapi/admin 4.9.2 → 4.10.0-beta.1

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 (77) hide show
  1. package/admin/src/content-manager/components/DynamicTable/CellContent/PublicationState/PublicationState.js +26 -0
  2. package/admin/src/content-manager/components/DynamicTable/CellContent/PublicationState/index.js +1 -0
  3. package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +2 -0
  4. package/admin/src/content-manager/components/DynamicTable/index.js +25 -49
  5. package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +2 -0
  6. package/admin/src/content-manager/pages/EditView/Information/index.js +77 -53
  7. package/admin/src/content-manager/pages/EditView/InformationBox/InformationBoxCE.js +13 -0
  8. package/admin/src/content-manager/pages/EditView/InformationBox/index.js +3 -0
  9. package/admin/src/content-manager/pages/EditView/index.js +3 -4
  10. package/admin/src/content-manager/pages/ListView/index.js +6 -9
  11. package/admin/src/content-manager/sharedReducers/crudReducer/actions.js +6 -0
  12. package/admin/src/content-manager/sharedReducers/crudReducer/constants.js +1 -0
  13. package/admin/src/content-manager/sharedReducers/crudReducer/reducer.js +5 -0
  14. package/admin/src/index.js +1 -0
  15. package/admin/src/translations/en.json +6 -0
  16. package/build/{Admin-authenticatedApp.217db666.chunk.js → Admin-authenticatedApp.52c88751.chunk.js} +2 -2
  17. package/build/{Admin_settingsPage.1dbfc9ce.chunk.js → Admin_settingsPage.257b3477.chunk.js} +7 -7
  18. package/build/{admin-app.558af642.chunk.js → admin-app.dfaeea5d.chunk.js} +18 -18
  19. package/build/content-manager.def692c2.chunk.js +1130 -0
  20. package/build/content-type-builder-translation-en-json.510e88ca.chunk.js +1 -0
  21. package/build/content-type-builder.5e1f4afc.chunk.js +126 -0
  22. package/build/en-json.08303b37.chunk.js +1 -0
  23. package/build/index.html +1 -1
  24. package/build/{main.ef8db4a2.js → main.120be100.js} +145 -145
  25. package/build/review-workflows-settings.9092ed72.chunk.js +106 -0
  26. package/build/{runtime~main.3a92d953.js → runtime~main.112b3101.js} +1 -1
  27. package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/ReviewWorkflowsStageEE.js +15 -0
  28. package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +45 -0
  29. package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/index.js +3 -0
  30. package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +135 -0
  31. package/ee/admin/content-manager/pages/EditView/InformationBox/index.js +3 -0
  32. package/ee/admin/hooks/useSettingsMenu/utils/customAdminLinks.js +12 -12
  33. package/ee/admin/hooks/useSettingsMenu/utils/customGlobalLinks.js +21 -13
  34. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +199 -0
  35. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +42 -0
  36. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/AddStage.js +87 -0
  37. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/index.js +1 -0
  38. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +90 -0
  39. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/index.js +1 -0
  40. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stages.js +92 -0
  41. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/index.js +1 -0
  42. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +6 -0
  43. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +35 -0
  44. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/index.js +3 -0
  45. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +122 -0
  46. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/getWorkflowValidationSchema.js +25 -0
  47. package/ee/admin/pages/SettingsPage/utils/customRoutes.js +16 -2
  48. package/ee/admin/permissions/customPermissions.js +3 -0
  49. package/ee/server/bootstrap.js +13 -0
  50. package/ee/server/config/admin-actions.js +10 -0
  51. package/ee/server/constants/default-stages.json +14 -0
  52. package/ee/server/constants/default-workflow.json +1 -0
  53. package/ee/server/constants/workflows.js +8 -0
  54. package/ee/server/content-types/index.js +9 -0
  55. package/ee/server/content-types/workflow/index.js +31 -0
  56. package/ee/server/content-types/workflow-stage/index.js +36 -0
  57. package/ee/server/controllers/index.js +2 -0
  58. package/ee/server/controllers/workflows/index.js +36 -0
  59. package/ee/server/controllers/workflows/stages/index.js +102 -0
  60. package/ee/server/index.js +1 -0
  61. package/ee/server/middlewares/review-workflows.js +40 -0
  62. package/ee/server/register.js +8 -0
  63. package/ee/server/routes/index.js +104 -0
  64. package/ee/server/services/index.js +4 -0
  65. package/ee/server/services/review-workflows/entity-service-decorator.js +54 -0
  66. package/ee/server/services/review-workflows/review-workflows.js +111 -0
  67. package/ee/server/services/review-workflows/stages.js +249 -0
  68. package/ee/server/services/review-workflows/workflows.js +25 -0
  69. package/ee/server/utils/index.js +8 -0
  70. package/ee/server/utils/persisted-tables.js +114 -22
  71. package/ee/server/utils/review-workflows.js +34 -0
  72. package/ee/server/validation/review-workflows.js +24 -0
  73. package/package.json +9 -9
  74. package/build/content-manager.d1565bfc.chunk.js +0 -1132
  75. package/build/content-type-builder-translation-en-json.6c8e69ab.chunk.js +0 -1
  76. package/build/content-type-builder.9d780e7f.chunk.js +0 -126
  77. package/build/en-json.cf600231.chunk.js +0 -1
@@ -0,0 +1,106 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8155],{67350:function(L,w,e){e.d(w,{n:function(){return x}});var t=e(20108),g=e(43383);const f="review-workflows",v="/admin/review-workflows";function x(c){const{get:y}=(0,g.kY)(),E=(0,t.useQueryClient)(),k=[f,c??"default"];async function W({params:l={populate:"stages"}}){try{const{data:{data:o}}=await y(`${v}/workflows/${c??""}`,{params:l});return o}catch{return null}}async function T(){await E.refetchQueries(k)}return{workflows:(0,t.useQuery)(k,W),refetchWorkflow:T}}},16633:function(L,w,e){e.r(w),e.d(w,{default:function(){return De}});var t=e(32735),g=e(92802),f=e(67879),v=e(15062),x=e(20108),c=e(43383),y=e(96709),E=e(27649),k=e(82055),W=e(41415),T=e(17e3),b=e(97405),l=e(66456),o=e(60216),n=e.n(o),h=e(8471),m=e(72850),A=e(87933);const I="settings_review-workflows",C="Settings/Review_Workflows/SET_WORKFLOWS",$="Settings/Review_Workflows/WORKFLOW_DELETE_STAGE",p="Settings/Review_Workflows/WORKFLOW_ADD_STAGE",R="Settings/Review_Workflows/WORKFLOW_UPDATE_STAGE";function S({status:a,data:s}){return{type:C,payload:{status:a,workflows:s}}}function K(a){return{type:$,payload:{stageId:a}}}function j(a={}){return{type:p,payload:a}}function X(a,s){return{type:R,payload:{stageId:a,...s}}}var U=e(49372),J=e(86308);const P=(0,h.ZP)(J.Z)`
2
+ > circle {
3
+ fill: ${({theme:a})=>a.colors.neutral150};
4
+ }
5
+ > path {
6
+ fill: ${({theme:a})=>a.colors.neutral600};
7
+ }
8
+ `,z=(0,h.ZP)(m.x)`
9
+ border-radius: 26px;
10
+
11
+ svg {
12
+ height: ${({theme:a})=>a.spaces[6]};
13
+ width: ${({theme:a})=>a.spaces[6]};
14
+
15
+ > path {
16
+ fill: ${({theme:a})=>a.colors.neutral600};
17
+ }
18
+ }
19
+
20
+ &:hover {
21
+ color: ${({theme:a})=>a.colors.primary600} !important;
22
+ ${U.Z} {
23
+ color: ${({theme:a})=>a.colors.primary600} !important;
24
+ }
25
+
26
+ ${P} {
27
+ > circle {
28
+ fill: ${({theme:a})=>a.colors.primary600};
29
+ }
30
+ > path {
31
+ fill: ${({theme:a})=>a.colors.neutral100};
32
+ }
33
+ }
34
+ }
35
+
36
+ &:active {
37
+ ${U.Z} {
38
+ color: ${({theme:a})=>a.colors.primary600};
39
+ }
40
+
41
+ ${P} {
42
+ > circle {
43
+ fill: ${({theme:a})=>a.colors.primary600};
44
+ }
45
+ > path {
46
+ fill: ${({theme:a})=>a.colors.neutral100};
47
+ }
48
+ }
49
+ }
50
+ `;function G({children:a,...s}){return t.createElement(z,{as:"button",background:"neutral0",border:"neutral150",paddingBottom:3,paddingLeft:4,paddingRight:4,paddingTop:3,shadow:"filterShadow",...s},t.createElement(A.k,{gap:2},t.createElement(P,{"aria-hidden":!0}),t.createElement(U.Z,{variant:"pi",fontWeight:"bold",textColor:"neutral500"},a)))}G.propTypes={children:n().node.isRequired};var _=e(83828),q=e(61762),ee=e(50563),N=e(89966),Q=e(15335),H=e(5803),ge=e(10369),fe=e(4038);function le({id:a,name:s,index:r,canDelete:D,isOpen:u=!1}){const{formatMessage:i}=(0,f.Z)(),{trackUsage:d}=(0,c.rS)(),[M,ae]=(0,t.useState)(u),B=`stages.${r}.name`,[Y,oe]=(0,g.U$)(B),F=(0,v.I0)();return t.createElement(_.U,{size:"S",variant:"primary",onToggle:()=>{ae(!M),M||d("willEditStage")},expanded:M,shadow:"tableShadow"},t.createElement(q.B,{title:s,togglePosition:"left",action:D?t.createElement(ee.h,{background:"transparent",noBorder:!0,onClick:()=>F(K(a)),label:i({id:"Settings.review-workflows.stage.delete",defaultMessage:"Delete stage"}),icon:t.createElement(fe.Z,null)}):null}),t.createElement(N.v,{padding:6,background:"neutral0",hasRadius:!0},t.createElement(Q.r,{gap:4},t.createElement(H.P,{col:6},t.createElement(ge.o,{...Y,id:B,value:s,label:i({id:"Settings.review-workflows.stage.name.label",defaultMessage:"Stage name"}),error:oe.error??!1,onChange:Z=>{Y.onChange(Z),F(X(a,{name:Z.target.value}))}})))))}le.propTypes=n().shape({id:n().number.isRequired,name:n().string.isRequired,canDelete:n().bool.isRequired}).isRequired;const me=(0,h.ZP)(m.x)`
51
+ position: relative;
52
+ `,pe=(0,h.ZP)(m.x)`
53
+ left: 50%;
54
+ position: absolute;
55
+ top: 0;
56
+ transform: translateX(-50%);
57
+ `;function te({stages:a}){const{formatMessage:s}=(0,f.Z)(),r=(0,v.I0)(),{trackUsage:D}=(0,c.rS)();return t.createElement(A.k,{direction:"column",gap:6,width:"100%"},t.createElement(me,{spacing:4,width:"100%"},t.createElement(pe,{background:"neutral200",height:"100%",width:2,zIndex:1}),t.createElement(A.k,{direction:"column",alignItems:"stretch",gap:6,zIndex:2,position:"relative",as:"ol"},a.map((u,i)=>{const d=u?.id??u.__temp_key__;return t.createElement(m.x,{key:`stage-${d}`,as:"li"},t.createElement(le,{...u,id:d,index:i,canDelete:a.length>1,isOpen:!u.id}))}))),t.createElement(A.k,{direction:"column",gap:6},t.createElement(G,{type:"button",onClick:()=>{r(j({name:""})),D("willCreateStage")}},s({id:"Settings.review-workflows.stage.add",defaultMessage:"Add new stage"}))))}te.defaultProps={stages:[]},te.propTypes={stages:n().arrayOf(n().shape({id:n().number,__temp_key__:n().number,name:n().string.isRequired}))};var ie=e(97889),ve=e(89793),he=e.n(ve);const de={status:"loading",serverState:{currentWorkflow:null,workflows:[]},clientState:{currentWorkflow:{data:null,isDirty:!1,hasDeletedServerStages:!1}}};function we(a=de,s){return(0,ie.Uy)(a,r=>{const{payload:D}=s;switch(s.type){case C:{const{status:u,workflows:i}=D;if(r.status=u,i){const d=i[0];r.serverState.workflows=i,r.serverState.currentWorkflow=d,r.clientState.currentWorkflow.data=d,r.clientState.currentWorkflow.hasDeletedServerStages=!1}break}case $:{const{stageId:u}=D,{currentWorkflow:i}=a.clientState;r.clientState.currentWorkflow.data.stages=i.data.stages.filter(d=>(d?.id??d.__temp_key__)!==u),i.hasDeletedServerStages||(r.clientState.currentWorkflow.hasDeletedServerStages=!!a.serverState.currentWorkflow.stages.find(d=>d.id===u));break}case p:{const{currentWorkflow:u}=a.clientState;u.data||(r.clientState.currentWorkflow.data={stages:[]});const i=Ee(r.clientState.currentWorkflow.data.stages);r.clientState.currentWorkflow.data.stages.push({...D,__temp_key__:i});break}case R:{const{currentWorkflow:u}=a.clientState,{stageId:i,...d}=D;r.clientState.currentWorkflow.data.stages=u.data.stages.map(M=>(M.id??M.__temp_key__)===i?{...M,...d}:M);break}default:break}a.clientState.currentWorkflow.data&&(r.clientState.currentWorkflow.isDirty=!he()((0,ie.Vk)(r.clientState.currentWorkflow).data,r.serverState.currentWorkflow))})}const Ee=(a=[])=>{const s=a.map(r=>r.id??r.__temp_key__);return Math.max(...s,-1)+1};function ye(a,s){const r=(0,v.oR)();(0,t.useEffect)(()=>{r.injectReducer(a,s)},[r,a,s])}var Se=e(67350),V=e(24346);function xe({formatMessage:a}){return V.Ry({stages:V.IX().of(V.Ry().shape({name:V.Z_().required(a({id:"Settings.review-workflows.validation.stage.name",defaultMessage:"Name is required"})).max(255,a({id:"Settings.review-workflows.validation.stage.max-length",defaultMessage:"Name can not be longer than 255 characters"}))}))})}var ke=e(83983);function We(){const{trackUsage:a}=(0,c.rS)(),{formatMessage:s}=(0,f.Z)(),r=(0,v.I0)(),{put:D}=(0,c.kY)(),{formatAPIError:u}=(0,c.So)(),i=(0,c.lm)(),{workflows:d,refetchWorkflow:M}=(0,Se.n)(),{status:ae,clientState:{currentWorkflow:{data:B,isDirty:Y,hasDeletedServerStages:oe}}}=(0,v.v9)(O=>O?.[I]??de),[F,Z]=(0,t.useState)(!1),{mutateAsync:Me,isLoading:ce}=(0,x.useMutation)(async({workflowId:O,stages:re})=>{try{const{data:{data:se}}=await D(`/admin/review-workflows/workflows/${O}/stages`,{data:re});return se}catch(se){i({type:"warning",message:u(se)})}return null},{onError(O){i({type:"warning",message:u(O)})},onSuccess(){i({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}})}}),Te=(O,re)=>Me({workflowId:O,stages:re}),ue=async()=>{await Te(B.id,B.stages),await M(),Z(!1)},Ae=async()=>{await ue()},Ce=()=>{Z(O=>!O)},ne=(0,g.TA)({enableReinitialize:!0,initialValues:B,async onSubmit(){oe?Z(!0):ue()},validationSchema:xe({formatMessage:s}),validateOnChange:!1});return ye(I,we),(0,t.useEffect)(()=>{r(S({status:d.status,data:d.data}))},[d.status,d.data,r]),(0,t.useEffect)(()=>{a("didViewWorkflow")},[]),t.createElement(c.O4,{permissions:ke.Z.settings["review-workflows"].main},t.createElement(y.A,null,t.createElement(c.SL,{name:s({id:"Settings.review-workflows.page.title",defaultMessage:"Review Workflows"})}),t.createElement(E.o,{tabIndex:-1},t.createElement(g.Hy,{value:ne},t.createElement(g.l0,{onSubmit:ne.handleSubmit},t.createElement(k.T,{primaryAction:t.createElement(W.z,{startIcon:t.createElement(l.Z,null),type:"submit",size:"M",disabled:!Y,loading:!F&&ce},s({id:"global.save",defaultMessage:"Save"})),title:s({id:"Settings.review-workflows.page.title",defaultMessage:"Review Workflows"}),subtitle:s({id:"Settings.review-workflows.page.subtitle",defaultMessage:"{count, plural, one {# stage} other {# stages}}"},{count:B?.stages?.length??0})}),t.createElement(T.D,null,ae==="loading"&&t.createElement(b.a,null,s({id:"Settings.review-workflows.page.isLoading",defaultMessage:"Workflow is loading"})),t.createElement(te,{stages:ne.values?.stages})))),t.createElement(c.QH,{bodyText:{id:"Settings.review-workflows.page.delete.confirm.body",defaultMessage:"All entries assigned to deleted stages will be moved to the first stage. Are you sure you want to save this?"},isConfirmButtonLoading:ce,isOpen:F,onToggleDialog:Ce,onConfirm:Ae}))))}var De=We},83828:function(L,w,e){e.d(w,{U:function(){return b},y:function(){return W}});var t=e(74512),g=e(32735),f=e(8471),v=e(91045),x=e(72850),c=e(87933),y=e(74971),E=e(49372);const k=({theme:l,expanded:o,variant:n,disabled:h,error:m})=>m?`1px solid ${l.colors.danger600} !important`:h?`1px solid ${l.colors.neutral150}`:o?`1px solid ${l.colors.primary600}`:n==="primary"?`1px solid ${l.colors.neutral0}`:`1px solid ${l.colors.neutral100}`,W=(0,f.ZP)(E.Z)``,T=(0,f.ZP)(x.x)`
58
+ border: ${k};
59
+
60
+ &:hover:not([aria-disabled='true']) {
61
+ border: 1px solid ${({theme:l})=>l.colors.primary600};
62
+
63
+ ${W} {
64
+ color: ${({theme:l,expanded:o})=>o?void 0:l.colors.primary700};
65
+ }
66
+
67
+ ${E.Z} {
68
+ color: ${({theme:l,expanded:o})=>o?void 0:l.colors.primary600};
69
+ }
70
+
71
+ & > ${c.k} {
72
+ background: ${({theme:l})=>l.colors.primary100};
73
+ }
74
+
75
+ [data-strapi-dropdown='true'] {
76
+ background: ${({theme:l})=>l.colors.primary200};
77
+ }
78
+ }
79
+ `,b=({children:l,disabled:o=!1,error:n,expanded:h=!1,hasErrorMessage:m=!0,id:A,onToggle:I,toggle:C,size:$="M",variant:p="primary",shadow:R})=>{const S=(0,y.M)(A),K=g.useMemo(()=>({expanded:h,onToggle:I,toggle:C,id:S,size:$,variant:p,disabled:o}),[o,h,S,I,$,C,p]);return(0,t.jsxs)(v.S.Provider,{value:K,children:[(0,t.jsx)(T,{"data-strapi-expanded":h,disabled:o,"aria-disabled":o,expanded:h,hasRadius:!0,variant:p,error:n,shadow:R,children:l}),n&&m&&(0,t.jsx)(x.x,{paddingTop:1,children:(0,t.jsx)(E.Z,{variant:"pi",textColor:"danger600",children:n})})]})}},89966:function(L,w,e){e.d(w,{v:function(){return v}});var t=e(74512),g=e(91045),f=e(72850);const v=({children:x,...c})=>{const{expanded:y,id:E}=(0,g.A)();if(!y)return null;const k=`accordion-content-${E}`,W=`accordion-label-${E}`,T=`accordion-desc-${E}`;return(0,t.jsx)(f.x,{role:"region",id:k,"aria-labelledby":W,"aria-describedby":T,...c,children:x})}},91045:function(L,w,e){e.d(w,{A:function(){return f},S:function(){return g}});var t=e(32735);const g=(0,t.createContext)({disabled:!1,expanded:!1,id:"",size:"M",variant:"primary"}),f=()=>(0,t.useContext)(g)},61762:function(L,w,e){e.d(w,{B:function(){return l}});var t=e(74512),g=e(16899),f=e(8471),v=e(83828),x=e(91045);const c=({expanded:o,disabled:n,variant:h})=>{let m="neutral100";return o?m="primary100":n?m="neutral150":h==="primary"&&(m="neutral0"),m};var y=e(87933),E=e(99140),k=e(7563),W=e(49372);const T=(0,f.ZP)(k.A)`
80
+ text-align: left;
81
+
82
+ // necessary to make the ellipsis prop work on the title
83
+ > span {
84
+ max-width: 100%;
85
+ }
86
+
87
+ svg {
88
+ width: ${14/16}rem;
89
+ height: ${14/16}rem;
90
+
91
+ path {
92
+ fill: ${({theme:o,expanded:n})=>n?o.colors.primary600:o.colors.neutral500};
93
+ }
94
+ }
95
+ `,b=(0,f.ZP)(y.k)`
96
+ min-height: ${({theme:o,size:n})=>o.sizes.accordions[n]};
97
+ border-radius: ${({theme:o,expanded:n})=>n?`${o.borderRadius} ${o.borderRadius} 0 0`:o.borderRadius};
98
+
99
+ &:hover {
100
+ svg {
101
+ path {
102
+ fill: ${({theme:o})=>o.colors.primary600};
103
+ }
104
+ }
105
+ }
106
+ `,l=({title:o,description:n,as:h="span",togglePosition:m="right",action:A,...I})=>{const{onToggle:C,toggle:$,expanded:p,id:R,size:S,variant:K,disabled:j}=(0,x.A)(),X=`accordion-content-${R}`,U=`accordion-label-${R}`,J=`accordion-desc-${R}`,P=S==="M"?6:4,z=S==="M"?P:P-2,G=c({expanded:p,disabled:j,variant:K}),_={as:h,fontWeight:S==="S"?"bold":void 0,id:U,textColor:p?"primary600":"neutral700",ellipsis:!0,variant:S==="M"?"delta":void 0},q=p?"primary600":"neutral600",ee=p?"primary200":"neutral200",N=S==="M"?`${32/16}rem`:`${24/16}rem`,Q=()=>{j||($&&!C?(console.warn('Deprecation warning: Usage of "toggle" prop in Accordion component is deprecated. This is discouraged and will be removed in the next major release. Please use "onToggle" instead'),$()):C&&C())},H=(0,t.jsx)(y.k,{justifyContent:"center",borderRadius:"50%",height:N,width:N,transform:p?"rotate(180deg)":void 0,"data-strapi-dropdown":!0,"aria-hidden":!0,as:"span",background:ee,cursor:j?"not-allowed":"pointer",onClick:Q,shrink:0,children:(0,t.jsx)(E.J,{as:g.Z,width:S==="M"?`${11/16}rem`:`${8/16}rem`,color:p?"primary600":"neutral600"})});return(0,t.jsx)(b,{paddingBottom:z,paddingLeft:P,paddingRight:P,paddingTop:z,background:G,expanded:p,size:S,justifyContent:"space-between",cursor:j?"not-allowed":"",children:(0,t.jsxs)(y.k,{gap:3,flex:1,maxWidth:"100%",children:[m==="left"&&H,(0,t.jsx)(T,{onClick:Q,"aria-disabled":j,"aria-expanded":p,"aria-controls":X,"aria-labelledby":U,"data-strapi-accordion-toggle":!0,expanded:p,type:"button",flex:1,minWidth:0,...I,children:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(v.y,{..._,children:o}),n&&(0,t.jsx)(W.Z,{as:"p",id:J,textColor:q,children:n})]})}),m==="right"&&(0,t.jsxs)(y.k,{gap:3,children:[H,A]}),m==="left"&&A]})})}},86308:function(L,w,e){e.d(w,{Z:function(){return f}});var t=e(74512);const g=v=>(0,t.jsxs)("svg",{width:"1rem",height:"1rem",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...v,children:[(0,t.jsx)("circle",{cx:12,cy:12,r:12,fill:"#212134"}),(0,t.jsx)("path",{d:"M17 12.569c0 .124-.1.224-.225.224h-3.981v3.982c0 .124-.101.225-.226.225h-1.136a.225.225 0 0 1-.226-.225v-3.981H7.226A.225.225 0 0 1 7 12.567v-1.136c0-.125.1-.226.225-.226h3.982V7.226c0-.124.1-.225.224-.225h1.138c.124 0 .224.1.224.225v3.982h3.982c.124 0 .225.1.225.224v1.138Z",fill:"#F6F6F9"})]}),f=g}}]);
@@ -1,2 +1,2 @@
1
- (function(){"use strict";var j={},m={};function a(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,a),t.loaded=!0,t.exports}a.m=j,function(){var n=[];a.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 e=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||e>=r)&&Object.keys(a.O).every(function(b){return a.O[b](t[l])})?t.splice(l--,1):(c=!1,r<e&&(e=r));if(c){n.splice(s--,1);var f=o();f!==void 0&&(i=f)}}return i}}(),function(){a.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return a.d(i,{a:i}),i}}(),function(){var n=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},i;a.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);a.r(r);var s={};i=i||[null,n({}),n([]),n(n)];for(var e=o&2&&t;typeof e=="object"&&!~i.indexOf(e);e=n(e))Object.getOwnPropertyNames(e).forEach(function(c){s[c]=function(){return t[c]}});return s.default=function(){return t},a.d(r,s),r}}(),function(){a.d=function(n,i){for(var t in i)a.o(i,t)&&!a.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:i[t]})}}(),function(){a.f={},a.e=function(n){return Promise.all(Object.keys(a.f).reduce(function(i,t){return a.f[t](n,i),i},[]))}}(),function(){a.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",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",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",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",9762:"i18n-translation-zh-Hans-json",9797:"upload-translation-he-json",9903:"ml-json",9905:"users-permissions-translation-it-json"}[n]||n)+"."+{46:"415577fb",90:"362384a6",92:"cd36e30e",96:"1b334230",123:"e0662702",129:"87b494d1",302:"1dd4886e",320:"cf600231",395:"bac5dbd3",435:"a2ed8c78",462:"8fff7f3b",562:"19a2dbfa",585:"6b937fdf",606:"2374f129",615:"9950466a",695:"945fdcfa",742:"6fe3ed55",744:"6eaeec6a",749:"5f659396",801:"217db666",830:"3cf0b48a",931:"6c8e69ab",994:"d1565bfc",1001:"40bbc562",1009:"74f6d746",1011:"3529f1e5",1018:"4de49b23",1023:"13b3c26a",1056:"74117e5c",1157:"81cca553",1167:"357d7a33",1180:"10f0600d",1312:"81b6d1e3",1331:"ba2eb03a",1375:"d1704f0b",1377:"4539f4ba",1387:"84b454d3",1442:"7e23424a",1495:"1095e1ab",1657:"45231968",1674:"20e177db",1930:"a7eda429",2137:"57ddc77e",2151:"ee3b36bb",2246:"e05583e9",2248:"4d667d0c",2282:"e32089c2",2380:"2bd7ff98",2411:"e6c0f8fc",2464:"a6fb670f",2489:"a52eab64",2492:"22bf28e5",2544:"4f1858e9",2553:"4cfef87d",2567:"8a274be5",2603:"4211d4d0",2648:"88304564",2657:"a5b299ca",2671:"98345913",2742:"6ab714ee",2812:"19d90bda",3025:"0eddffd9",3038:"483a18f6",3043:"c6841563",3081:"bcf9a12f",3095:"7f37180f",3098:"7e55bbbb",3166:"2a2a0643",3206:"377bdd9f",3278:"ee4c5537",3304:"cea4d226",3340:"ee554a41",3455:"329c1f63",3516:"43e14418",3530:"6722a8a2",3552:"7d80aae0",3650:"a86b1054",3677:"f6b52ee9",3702:"0a7287d1",3825:"85402492",3948:"24a34349",3964:"2d29c1e0",3981:"f9309c6d",4021:"420c943b",4121:"5beb2a5c",4179:"a5a0fb59",4263:"7e14d85f",4299:"97595e12",4302:"faedd610",4587:"660fa9a8",4628:"20631dd1",4693:"78be2787",4804:"675f6b93",4816:"ec2ca215",4987:"426f31c9",5053:"e1dd6eb2",5162:"213f0075",5199:"d02de059",5222:"e87d7966",5296:"89401417",5388:"6bce37dd",5396:"7978eaa6",5516:"56bc1008",5538:"558af642",5542:"b8240e3f",5563:"905daa13",5751:"0b6b1006",5880:"44b88e7a",5894:"fe71e6c8",5895:"1dbfc9ce",5905:"9c2c020c",5906:"97f71a9d",6232:"98d35574",6280:"ef4f9471",6332:"323be97d",6377:"60e50f48",6404:"68405699",6434:"8b7573ce",6460:"4b302272",6745:"bd1fb6bf",6784:"7390477e",6817:"bfe27ed8",6831:"db163b6b",6836:"6a0a1572",6848:"7a2232ea",6901:"fcac7381",7048:"c9f92a3c",7094:"7d87d54d",7155:"0979cccb",7186:"54d11230",7259:"b7d00cea",7327:"9fb7e6d7",7347:"28a1547e",7403:"b7e38370",7465:"bbb2fa05",7519:"4b44411c",7663:"c97239fe",7808:"bef2dc07",7817:"35007573",7828:"1e9c0247",7833:"baab9911",7846:"59a5dab3",7898:"e34cad0d",7934:"ddb44f8c",7958:"39e54aba",7997:"626c9493",8006:"f66c3211",8056:"6757c7b9",8175:"60af6722",8178:"63eebd02",8329:"59f5e1e5",8342:"fe4daad8",8360:"fb17c8f9",8367:"715b6fd8",8418:"e5506eb4",8423:"57954414",8467:"17187818",8481:"97d0db97",8573:"c4524247",8694:"6522968d",8736:"1b6d2920",8853:"2f85dcec",8880:"9d780e7f",8897:"41e07c46",8907:"9be0d5b2",8965:"b1eb52f6",9220:"c83f87c4",9303:"ae6e71ea",9366:"dfac513d",9412:"53da2fcd",9460:"5b5a9baa",9497:"9112cffc",9501:"15c6bf07",9502:"891fe76e",9511:"56d8fcf4",9514:"eaaec495",9600:"cf8c77f2",9647:"9410688b",9726:"6359a11c",9762:"757ce62d",9797:"0a830937",9903:"8988e374",9905:"0705465d"}[n]+".chunk.js"}}(),function(){a.miniCssF=function(n){}}(),function(){a.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}()}(),function(){a.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)}}(),function(){var n={},i="@strapi/admin:";a.l=function(t,o,r,s){if(n[t]){n[t].push(o);return}var e,c;if(r!==void 0)for(var l=document.getElementsByTagName("script"),f=0;f<l.length;f++){var d=l[f];if(d.getAttribute("src")==t||d.getAttribute("data-webpack")==i+r){e=d;break}}e||(c=!0,e=document.createElement("script"),e.charset="utf-8",e.timeout=120,a.nc&&e.setAttribute("nonce",a.nc),e.setAttribute("data-webpack",i+r),e.src=t),n[t]=[o];var u=function(g,b){e.onerror=e.onload=null,clearTimeout(p);var h=n[t];if(delete n[t],e.parentNode&&e.parentNode.removeChild(e),h&&h.forEach(function(y){return y(b)}),g)return g(b)},p=setTimeout(u.bind(null,void 0,{type:"timeout",target:e}),12e4);e.onerror=u.bind(null,e.onerror),e.onload=u.bind(null,e.onload),c&&document.head.appendChild(e)}}(),function(){a.r=function(n){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})}}(),function(){a.nmd=function(n){return n.paths=[],n.children||(n.children=[]),n}}(),function(){a.p="/admin/"}(),function(){a.b=document.baseURI||self.location.href;var n={1303:0};a.f.j=function(o,r){var s=a.o(n,o)?n[o]:void 0;if(s!==0)if(s)r.push(s[2]);else if(o!=1303){var e=new Promise(function(d,u){s=n[o]=[d,u]});r.push(s[2]=e);var c=a.p+a.u(o),l=new Error,f=function(d){if(a.o(n,o)&&(s=n[o],s!==0&&(n[o]=void 0),s)){var u=d&&(d.type==="load"?"missing":d.type),p=d&&d.target&&d.target.src;l.message="Loading chunk "+o+` failed.
1
+ (function(){"use strict";var j={},m={};function a(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,a),t.loaded=!0,t.exports}a.m=j,function(){var n=[];a.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 e=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||e>=r)&&Object.keys(a.O).every(function(b){return a.O[b](t[l])})?t.splice(l--,1):(c=!1,r<e&&(e=r));if(c){n.splice(s--,1);var f=o();f!==void 0&&(i=f)}}return i}}(),function(){a.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return a.d(i,{a:i}),i}}(),function(){var n=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},i;a.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);a.r(r);var s={};i=i||[null,n({}),n([]),n(n)];for(var e=o&2&&t;typeof e=="object"&&!~i.indexOf(e);e=n(e))Object.getOwnPropertyNames(e).forEach(function(c){s[c]=function(){return t[c]}});return s.default=function(){return t},a.d(r,s),r}}(),function(){a.d=function(n,i){for(var t in i)a.o(i,t)&&!a.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:i[t]})}}(),function(){a.f={},a.e=function(n){return Promise.all(Object.keys(a.f).reduce(function(i,t){return a.f[t](n,i),i},[]))}}(),function(){a.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",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",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",8155:"review-workflows-settings",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",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",9762:"i18n-translation-zh-Hans-json",9797:"upload-translation-he-json",9903:"ml-json",9905:"users-permissions-translation-it-json"}[n]||n)+"."+{46:"415577fb",90:"362384a6",92:"cd36e30e",96:"1b334230",123:"e0662702",129:"87b494d1",302:"1dd4886e",320:"08303b37",395:"bac5dbd3",435:"a2ed8c78",462:"8fff7f3b",562:"19a2dbfa",585:"6b937fdf",606:"2374f129",615:"9950466a",695:"945fdcfa",742:"6fe3ed55",744:"6eaeec6a",749:"5f659396",801:"52c88751",830:"3cf0b48a",931:"510e88ca",994:"def692c2",1001:"40bbc562",1009:"74f6d746",1011:"3529f1e5",1018:"4de49b23",1023:"13b3c26a",1056:"74117e5c",1157:"81cca553",1167:"357d7a33",1180:"10f0600d",1312:"81b6d1e3",1331:"ba2eb03a",1375:"d1704f0b",1377:"4539f4ba",1387:"84b454d3",1442:"7e23424a",1495:"1095e1ab",1657:"45231968",1674:"20e177db",1930:"a7eda429",2137:"57ddc77e",2151:"ee3b36bb",2246:"e05583e9",2248:"4d667d0c",2282:"e32089c2",2380:"2bd7ff98",2411:"e6c0f8fc",2464:"a6fb670f",2489:"a52eab64",2492:"22bf28e5",2544:"4f1858e9",2553:"4cfef87d",2567:"8a274be5",2603:"4211d4d0",2648:"88304564",2657:"a5b299ca",2671:"98345913",2742:"6ab714ee",2812:"19d90bda",3025:"0eddffd9",3038:"483a18f6",3043:"c6841563",3081:"bcf9a12f",3095:"7f37180f",3098:"7e55bbbb",3166:"2a2a0643",3206:"377bdd9f",3278:"ee4c5537",3304:"cea4d226",3340:"ee554a41",3455:"329c1f63",3516:"43e14418",3530:"6722a8a2",3552:"7d80aae0",3650:"a86b1054",3677:"f6b52ee9",3702:"0a7287d1",3825:"85402492",3948:"24a34349",3964:"2d29c1e0",3981:"f9309c6d",4021:"420c943b",4121:"5beb2a5c",4179:"a5a0fb59",4263:"7e14d85f",4299:"97595e12",4302:"faedd610",4587:"660fa9a8",4628:"20631dd1",4693:"78be2787",4804:"675f6b93",4816:"ec2ca215",4987:"426f31c9",5053:"e1dd6eb2",5162:"213f0075",5199:"d02de059",5222:"e87d7966",5296:"89401417",5388:"6bce37dd",5396:"7978eaa6",5516:"56bc1008",5538:"dfaeea5d",5542:"b8240e3f",5563:"905daa13",5751:"0b6b1006",5880:"44b88e7a",5894:"fe71e6c8",5895:"257b3477",5905:"9c2c020c",5906:"97f71a9d",6232:"98d35574",6280:"ef4f9471",6332:"323be97d",6377:"60e50f48",6404:"68405699",6434:"8b7573ce",6460:"4b302272",6745:"bd1fb6bf",6784:"7390477e",6817:"bfe27ed8",6831:"db163b6b",6836:"6a0a1572",6848:"7a2232ea",6901:"fcac7381",7048:"c9f92a3c",7094:"7d87d54d",7155:"0979cccb",7186:"54d11230",7259:"b7d00cea",7327:"9fb7e6d7",7347:"28a1547e",7403:"b7e38370",7465:"bbb2fa05",7519:"4b44411c",7663:"c97239fe",7808:"bef2dc07",7817:"35007573",7828:"1e9c0247",7833:"baab9911",7846:"59a5dab3",7898:"e34cad0d",7934:"ddb44f8c",7958:"39e54aba",7997:"626c9493",8006:"f66c3211",8056:"6757c7b9",8155:"9092ed72",8175:"60af6722",8178:"63eebd02",8329:"59f5e1e5",8342:"fe4daad8",8360:"fb17c8f9",8367:"715b6fd8",8418:"e5506eb4",8423:"57954414",8467:"17187818",8481:"97d0db97",8573:"c4524247",8694:"6522968d",8736:"1b6d2920",8853:"2f85dcec",8880:"5e1f4afc",8897:"41e07c46",8907:"9be0d5b2",8965:"b1eb52f6",9220:"c83f87c4",9303:"ae6e71ea",9366:"dfac513d",9412:"53da2fcd",9460:"5b5a9baa",9497:"9112cffc",9501:"15c6bf07",9502:"891fe76e",9511:"56d8fcf4",9514:"eaaec495",9600:"cf8c77f2",9647:"9410688b",9726:"6359a11c",9762:"757ce62d",9797:"0a830937",9903:"8988e374",9905:"0705465d"}[n]+".chunk.js"}}(),function(){a.miniCssF=function(n){}}(),function(){a.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}()}(),function(){a.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)}}(),function(){var n={},i="@strapi/admin:";a.l=function(t,o,r,s){if(n[t]){n[t].push(o);return}var e,c;if(r!==void 0)for(var l=document.getElementsByTagName("script"),f=0;f<l.length;f++){var d=l[f];if(d.getAttribute("src")==t||d.getAttribute("data-webpack")==i+r){e=d;break}}e||(c=!0,e=document.createElement("script"),e.charset="utf-8",e.timeout=120,a.nc&&e.setAttribute("nonce",a.nc),e.setAttribute("data-webpack",i+r),e.src=t),n[t]=[o];var u=function(g,b){e.onerror=e.onload=null,clearTimeout(p);var h=n[t];if(delete n[t],e.parentNode&&e.parentNode.removeChild(e),h&&h.forEach(function(y){return y(b)}),g)return g(b)},p=setTimeout(u.bind(null,void 0,{type:"timeout",target:e}),12e4);e.onerror=u.bind(null,e.onerror),e.onload=u.bind(null,e.onload),c&&document.head.appendChild(e)}}(),function(){a.r=function(n){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})}}(),function(){a.nmd=function(n){return n.paths=[],n.children||(n.children=[]),n}}(),function(){a.p="/admin/"}(),function(){a.b=document.baseURI||self.location.href;var n={1303:0};a.f.j=function(o,r){var s=a.o(n,o)?n[o]:void 0;if(s!==0)if(s)r.push(s[2]);else if(o!=1303){var e=new Promise(function(d,u){s=n[o]=[d,u]});r.push(s[2]=e);var c=a.p+a.u(o),l=new Error,f=function(d){if(a.o(n,o)&&(s=n[o],s!==0&&(n[o]=void 0),s)){var u=d&&(d.type==="load"?"missing":d.type),p=d&&d.target&&d.target.src;l.message="Loading chunk "+o+` failed.
2
2
  (`+u+": "+p+")",l.name="ChunkLoadError",l.type=u,l.request=p,s[1](l)}};a.l(c,f,"chunk-"+o,o)}else n[o]=0},a.O.j=function(o){return n[o]===0};var i=function(o,r){var s=r[0],e=r[1],c=r[2],l,f,d=0;if(s.some(function(p){return n[p]!==0})){for(l in e)a.o(e,l)&&(a.m[l]=e[l]);if(c)var u=c(a)}for(o&&o(r);d<s.length;d++)f=s[d],a.o(n,f)&&n[f]&&n[f][0](),n[f]=0;return a.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(){a.nc=void 0}()})();
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { Typography } from '@strapi/design-system';
4
+
5
+ export function ReviewWorkflowsStageEE({ name }) {
6
+ return (
7
+ <Typography fontWeight="regular" textColor="neutral700">
8
+ {name}
9
+ </Typography>
10
+ );
11
+ }
12
+
13
+ ReviewWorkflowsStageEE.propTypes = {
14
+ name: PropTypes.string.isRequired,
15
+ };
@@ -0,0 +1,45 @@
1
+ import React from 'react';
2
+ import { useIntl } from 'react-intl';
3
+ import { Typography } from '@strapi/design-system';
4
+
5
+ import ReviewWorkflowsStage from '.';
6
+ import getTrad from '../../../../../../../admin/src/content-manager/utils/getTrad';
7
+
8
+ export default (layout) => {
9
+ const { formatMessage } = useIntl();
10
+
11
+ // TODO: As soon as the feature was enabled in EE mode, the BE currently does not have a way to send
12
+ // `false` once a user is in CE mode again. We shouldn't have to perform the window.strapi.isEE check here
13
+ // and it is meant to be in interim solution until we find a better one.
14
+ const hasReviewWorkflows =
15
+ (window.strapi.isEE && layout.contentType.options?.reviewWorkflows) ?? false;
16
+
17
+ if (!hasReviewWorkflows) {
18
+ return null;
19
+ }
20
+
21
+ return {
22
+ key: '__strapi_reviewWorkflows_stage_temp_key__',
23
+ name: 'strapi_reviewWorkflows_stage',
24
+ fieldSchema: {
25
+ type: 'custom',
26
+ },
27
+ metadatas: {
28
+ label: formatMessage({
29
+ id: getTrad(`containers.ListPage.table-headers.reviewWorkflows.stage`),
30
+ defaultMessage: 'Review stage',
31
+ }),
32
+ searchable: false,
33
+ sortable: false,
34
+ },
35
+ cellFormatter({ strapi_reviewWorkflows_stage }) {
36
+ // if entities are created e.g. through lifecycle methods
37
+ // they may not have a stage assigned
38
+ if (!strapi_reviewWorkflows_stage) {
39
+ return <Typography textColor="neutral800">-</Typography>;
40
+ }
41
+
42
+ return <ReviewWorkflowsStage name={strapi_reviewWorkflows_stage.name} />;
43
+ },
44
+ };
45
+ };
@@ -0,0 +1,3 @@
1
+ import { ReviewWorkflowsStageEE } from './ReviewWorkflowsStageEE';
2
+
3
+ export default ReviewWorkflowsStageEE;
@@ -0,0 +1,135 @@
1
+ import React from 'react';
2
+ import {
3
+ ReactSelect,
4
+ useCMEditViewDataManager,
5
+ useAPIErrorHandler,
6
+ useFetchClient,
7
+ useNotification,
8
+ } from '@strapi/helper-plugin';
9
+ import { Field, FieldLabel, FieldError, Flex, Loader } from '@strapi/design-system';
10
+ import { useIntl } from 'react-intl';
11
+ import { useMutation } from 'react-query';
12
+ import { useDispatch } from 'react-redux';
13
+
14
+ import { useReviewWorkflows } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows';
15
+ import Information from '../../../../../../admin/src/content-manager/pages/EditView/Information';
16
+ import { updatePartialData } from '../../../../../../admin/src/content-manager/sharedReducers/crudReducer/actions';
17
+
18
+ const ATTRIBUTE_NAME = 'strapi_reviewWorkflows_stage';
19
+
20
+ export function InformationBoxEE() {
21
+ const {
22
+ initialData,
23
+ isCreatingEntry,
24
+ layout: { uid },
25
+ isSingleType,
26
+ } = useCMEditViewDataManager();
27
+ const dispatch = useDispatch();
28
+ const { put } = useFetchClient();
29
+ const activeWorkflowStage = initialData?.[ATTRIBUTE_NAME] ?? null;
30
+ const hasReviewWorkflowsEnabled = Object.prototype.hasOwnProperty.call(
31
+ initialData,
32
+ ATTRIBUTE_NAME
33
+ );
34
+ const { formatMessage } = useIntl();
35
+ const { formatAPIError } = useAPIErrorHandler();
36
+ const toggleNotification = useNotification();
37
+
38
+ const { workflows: { data: workflows, isLoading: workflowIsLoading } = {} } =
39
+ useReviewWorkflows();
40
+ // TODO: this works only as long as we support one workflow
41
+ const workflow = workflows?.[0] ?? null;
42
+
43
+ const { error, isLoading, mutateAsync } = useMutation(
44
+ async ({ entityId, stageId, uid }) => {
45
+ const typeSlug = isSingleType ? 'single-types' : 'collection-types';
46
+
47
+ const {
48
+ data: { data: createdEntity },
49
+ } = await put(`/admin/content-manager/${typeSlug}/${uid}/${entityId}/stage`, {
50
+ data: { id: stageId },
51
+ });
52
+
53
+ dispatch(updatePartialData({ [ATTRIBUTE_NAME]: createdEntity[ATTRIBUTE_NAME] }));
54
+
55
+ return createdEntity;
56
+ },
57
+ {
58
+ onSuccess() {
59
+ toggleNotification({
60
+ type: 'success',
61
+ message: { id: 'notification.success.saved', defaultMessage: 'Saved' },
62
+ });
63
+ },
64
+ }
65
+ );
66
+
67
+ // if entities are created e.g. through lifecycle methods
68
+ // they may not have a stage assigned. Updating the entity won't
69
+ // set the default stage either which may lead to entities that
70
+ // do not have a stage assigned for a while. By displaying an
71
+ // error by default we are trying to nudge users into assigning a stage.
72
+ const initialStageNullError =
73
+ activeWorkflowStage === null &&
74
+ !workflowIsLoading &&
75
+ !isCreatingEntry &&
76
+ formatMessage({
77
+ id: 'content-manager.reviewWorkflows.stage.select.placeholder',
78
+ defaultMessage: 'Select a stage',
79
+ });
80
+ const formattedMutationError = error && formatAPIError(error);
81
+ const formattedError = formattedMutationError || initialStageNullError || null;
82
+
83
+ const handleStageChange = async ({ value: stageId }) => {
84
+ try {
85
+ await mutateAsync({
86
+ entityId: initialData.id,
87
+ stageId,
88
+ uid,
89
+ });
90
+ } catch (error) {
91
+ // react-query@v3: the error doesn't have to be handled here
92
+ // see: https://github.com/TanStack/query/issues/121
93
+ }
94
+ };
95
+
96
+ return (
97
+ <Information.Root>
98
+ <Information.Title />
99
+
100
+ {hasReviewWorkflowsEnabled && !isCreatingEntry && (
101
+ <Field error={formattedError} name={ATTRIBUTE_NAME} id={ATTRIBUTE_NAME}>
102
+ <Flex direction="column" gap={2} alignItems="stretch">
103
+ <FieldLabel>
104
+ {formatMessage({
105
+ id: 'content-manager.reviewWorkflows.stage.label',
106
+ defaultMessage: 'Review stage',
107
+ })}
108
+ </FieldLabel>
109
+
110
+ <ReactSelect
111
+ components={{
112
+ LoadingIndicator: () => <Loader small />,
113
+ }}
114
+ error={formattedError}
115
+ inputId={ATTRIBUTE_NAME}
116
+ isLoading={isLoading}
117
+ isSearchable={false}
118
+ isClearable={false}
119
+ name={ATTRIBUTE_NAME}
120
+ onChange={handleStageChange}
121
+ options={
122
+ workflow ? workflow.stages.map(({ id, name }) => ({ value: id, label: name })) : []
123
+ }
124
+ value={{ value: activeWorkflowStage?.id, label: activeWorkflowStage?.name }}
125
+ />
126
+
127
+ <FieldError />
128
+ </Flex>
129
+ </Field>
130
+ )}
131
+
132
+ <Information.Body />
133
+ </Information.Root>
134
+ );
135
+ }
@@ -0,0 +1,3 @@
1
+ import { InformationBoxEE } from './InformationBoxEE';
2
+
3
+ export default InformationBoxEE;
@@ -1,17 +1,17 @@
1
1
  import adminPermissions from '../../../../../admin/src/permissions';
2
2
 
3
- const auditLogsRoutes = strapi.features.isEnabled(strapi.features.AUDIT_LOGS)
4
- ? [
5
- {
6
- intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },
7
- to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',
8
- id: 'auditLogs',
9
- isDisplayed: false,
10
- permissions: adminPermissions.settings.auditLogs.main,
11
- },
12
- ]
13
- : [];
3
+ const items = [];
14
4
 
15
- const customAdminLinks = [...auditLogsRoutes];
5
+ if (window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)) {
6
+ items.push({
7
+ intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },
8
+ to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',
9
+ id: 'auditLogs',
10
+ isDisplayed: false,
11
+ permissions: adminPermissions.settings.auditLogs.main,
12
+ });
13
+ }
14
+
15
+ const customAdminLinks = items;
16
16
 
17
17
  export default customAdminLinks;
@@ -1,17 +1,25 @@
1
1
  import adminPermissions from '../../../../../admin/src/permissions';
2
2
 
3
- const ssoGlobalRoutes = strapi.features.isEnabled(strapi.features.SSO)
4
- ? [
5
- {
6
- intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },
7
- to: '/settings/single-sign-on',
8
- id: 'sso',
9
- isDisplayed: false,
10
- permissions: adminPermissions.settings.sso.main,
11
- },
12
- ]
13
- : [];
3
+ const items = [];
14
4
 
15
- const customGlobalLinks = [...ssoGlobalRoutes];
5
+ if (window.strapi.features.isEnabled(window.strapi.features.SSO)) {
6
+ items.push({
7
+ intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },
8
+ to: '/settings/single-sign-on',
9
+ id: 'sso',
10
+ isDisplayed: false,
11
+ permissions: adminPermissions.settings.sso.main,
12
+ });
13
+ }
16
14
 
17
- export default customGlobalLinks;
15
+ if (window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS)) {
16
+ items.push({
17
+ intlLabel: { id: 'Settings.review-workflows.page.title', defaultMessage: 'Review Workflows' },
18
+ to: '/settings/review-workflows',
19
+ id: 'review-workflows',
20
+ isDisplayed: false,
21
+ permissions: adminPermissions.settings['review-workflows'].main,
22
+ });
23
+ }
24
+
25
+ export default items;