@strapi/admin 4.9.0-exp.90df253ba90fd6879eb56a720a1f80d04ff745b8 → 4.10.0-beta.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 (167) 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/ReviewWorkflowsStage.js +15 -0
  4. package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/index.js +1 -0
  5. package/admin/src/content-manager/components/DynamicTable/index.js +43 -49
  6. package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +2 -0
  7. package/admin/src/content-manager/components/DynamicZone/utils/select.js +1 -1
  8. package/admin/src/content-manager/components/FieldComponent/utils/select.js +2 -1
  9. package/admin/src/content-manager/components/Inputs/utils/getInputType.js +1 -1
  10. package/admin/src/content-manager/components/Inputs/utils/select.js +1 -1
  11. package/admin/src/content-manager/hooks/useContentTypeLayout/index.js +1 -2
  12. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/utils/formatLayouts.js +4 -1
  13. package/admin/src/content-manager/pages/CollectionTypeRecursivePath/index.js +1 -2
  14. package/admin/src/content-manager/pages/EditSettingsView/init.js +3 -1
  15. package/admin/src/content-manager/pages/EditSettingsView/utils/createPossibleMainFieldsForModelsAndComponents.js +2 -4
  16. package/admin/src/content-manager/pages/EditView/DeleteLink/utils/select.js +1 -1
  17. package/admin/src/content-manager/pages/EditView/Information/index.js +77 -53
  18. package/admin/src/content-manager/pages/EditView/InformationBox/InformationBoxCE.js +13 -0
  19. package/admin/src/content-manager/pages/EditView/InformationBox/index.js +3 -0
  20. package/admin/src/content-manager/pages/EditView/index.js +3 -4
  21. package/admin/src/content-manager/pages/EditView/utils/createAttributesLayout.js +2 -1
  22. package/admin/src/content-manager/pages/EditView/utils/getFieldsActionMatchingPermissions.js +2 -1
  23. package/admin/src/content-manager/pages/ListView/index.js +6 -9
  24. package/admin/src/content-manager/utils/checkIfAttributeIsDisplayable.js +1 -1
  25. package/admin/src/content-manager/utils/createDefaultForm.js +2 -2
  26. package/admin/src/content-manager/utils/formatLayoutToApi.js +2 -1
  27. package/admin/src/content-manager/utils/getFieldName.js +1 -1
  28. package/admin/src/content-manager/utils/mergeMetasWithSchema.js +1 -1
  29. package/admin/src/content-manager/utils/paths.js +1 -1
  30. package/admin/src/content-manager/utils/removePasswordFieldsFromData.js +1 -1
  31. package/admin/src/hooks/useRegenerate/index.js +1 -1
  32. package/admin/src/hooks/useSettingsForm/index.js +3 -3
  33. package/admin/src/hooks/useSettingsForm/reducer.js +3 -1
  34. package/admin/src/hooks/useSettingsMenu/reducer.js +1 -1
  35. package/admin/src/index.js +1 -0
  36. package/admin/src/pages/AuthPage/reducer.js +1 -1
  37. package/admin/src/pages/SettingsPage/components/Tokens/TokenTypeSelect/index.js +5 -7
  38. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +1 -1
  39. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/reducer.js +1 -1
  40. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/utils/transformPermissionsData.js +6 -8
  41. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/utils/createDefaultConditionsForm.js +1 -1
  42. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/utils/generateCheckboxesActions.js +2 -1
  43. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/utils/getRowLabelCheckboxeState.js +2 -1
  44. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/utils/getRowLabelCheckboxesState.js +1 -1
  45. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/reducer.js +6 -1
  46. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultCTFormFromLayout.js +5 -1
  47. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/createDefaultPluginsFormFromLayout.js +1 -2
  48. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/formatContentTypesPermissionToAPI.js +2 -2
  49. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateConditionsToFalse.js +4 -1
  50. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/Permissions/utils/updateValues.js +1 -1
  51. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/utils/formatActions.js +1 -1
  52. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/utils/createArrayOfValues.js +2 -1
  53. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +1 -1
  54. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +0 -41
  55. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +4 -6
  56. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js +0 -1
  57. package/admin/src/pages/SettingsPage/pages/Users/ProtectedEditPage/index.js +2 -2
  58. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/utils/formatData.js +1 -7
  59. package/admin/src/permissions/index.js +1 -1
  60. package/admin/src/translations/en.json +6 -0
  61. package/admin/src/utils/getAttributesToDisplay.js +2 -4
  62. package/admin/src/utils/getExistingActions.js +1 -3
  63. package/admin/src/utils/sortLinks.js +1 -1
  64. package/build/{8580.b0dcf37c.chunk.js → 2263.4c5916f9.chunk.js} +61 -61
  65. package/build/4649.213b8a3b.chunk.js +30 -0
  66. package/build/6985.66cca29c.chunk.js +1 -0
  67. package/build/7259.aefb51e8.chunk.js +1 -0
  68. package/build/{7112.2bf13da3.chunk.js → 9505.dbe702ab.chunk.js} +6 -6
  69. package/build/{Admin-authenticatedApp.5aa08bf5.chunk.js → Admin-authenticatedApp.f50ad423.chunk.js} +3 -3
  70. package/build/{Admin_marketplace.0f6c8ee2.chunk.js → Admin_marketplace.02608d56.chunk.js} +1 -1
  71. package/build/{Admin_profilePage.d2a8f9ab.chunk.js → Admin_profilePage.76afeca0.chunk.js} +1 -1
  72. package/build/Admin_settingsPage.147755cd.chunk.js +9 -0
  73. package/build/admin-app.55dd7921.chunk.js +112 -0
  74. package/build/admin-edit-roles-page.cf543488.chunk.js +216 -0
  75. package/build/admin-edit-users.31c20712.chunk.js +10 -0
  76. package/build/admin-roles-list.489c501f.chunk.js +2 -0
  77. package/build/{admin-users.af8c3123.chunk.js → admin-users.3e111a7d.chunk.js} +1 -1
  78. package/build/{api-tokens-create-page.2a6e22bd.chunk.js → api-tokens-create-page.4328b852.chunk.js} +1 -1
  79. package/build/{api-tokens-edit-page.fa38cd63.chunk.js → api-tokens-edit-page.bce5050f.chunk.js} +1 -1
  80. package/build/content-manager.4480ae88.chunk.js +1137 -0
  81. package/build/content-type-builder-translation-en-json.7961593e.chunk.js +1 -0
  82. package/build/content-type-builder.af9abf1e.chunk.js +126 -0
  83. package/build/en-json.697b4bcf.chunk.js +1 -0
  84. package/build/index.html +1 -1
  85. package/build/main.af8c0f31.js +3790 -0
  86. package/build/review-workflows-settings.7a7dc773.chunk.js +57 -0
  87. package/build/runtime~main.5a95bee6.js +2 -0
  88. package/build/sso-settings-page.272b87c8.chunk.js +1 -0
  89. package/build/{upload-settings.0200561d.chunk.js → upload-settings.0875e973.chunk.js} +1 -1
  90. package/build/upload-translation-fr-json.baab9911.chunk.js +1 -0
  91. package/build/users-advanced-settings-page.1d3c14c7.chunk.js +1 -0
  92. package/build/{users-email-settings-page.a3c80419.chunk.js → users-email-settings-page.e8db68c4.chunk.js} +1 -1
  93. package/build/users-providers-settings-page.14cac425.chunk.js +1 -0
  94. package/build/users-roles-settings-page.2ea4de84.chunk.js +30 -0
  95. package/build/{webhook-edit-page.a2a2b7bb.chunk.js → webhook-edit-page.329141a5.chunk.js} +3 -3
  96. package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +92 -0
  97. package/ee/admin/content-manager/pages/EditView/InformationBox/index.js +3 -0
  98. package/ee/admin/hooks/useSettingsMenu/utils/customAdminLinks.js +12 -12
  99. package/ee/admin/hooks/useSettingsMenu/utils/customGlobalLinks.js +21 -13
  100. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +195 -0
  101. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +42 -0
  102. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/AddStage.js +87 -0
  103. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/index.js +1 -0
  104. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +90 -0
  105. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/index.js +1 -0
  106. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stages.js +92 -0
  107. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/index.js +1 -0
  108. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +6 -0
  109. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +35 -0
  110. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/index.js +3 -0
  111. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +121 -0
  112. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/getWorkflowValidationSchema.js +25 -0
  113. package/ee/admin/pages/SettingsPage/utils/customRoutes.js +16 -2
  114. package/ee/admin/permissions/customPermissions.js +3 -0
  115. package/ee/server/bootstrap.js +16 -0
  116. package/ee/server/config/admin-actions.js +10 -0
  117. package/ee/server/constants/default-stages.json +14 -0
  118. package/ee/server/constants/default-workflow.json +1 -0
  119. package/ee/server/constants/workflows.js +8 -0
  120. package/ee/server/content-types/index.js +9 -0
  121. package/ee/server/content-types/workflow/index.js +34 -0
  122. package/ee/server/content-types/workflow-stage/index.js +41 -0
  123. package/ee/server/controllers/index.js +2 -0
  124. package/ee/server/controllers/workflows/index.js +36 -0
  125. package/ee/server/controllers/workflows/stages/index.js +95 -0
  126. package/ee/server/index.js +1 -0
  127. package/ee/server/middlewares/review-workflows.js +40 -0
  128. package/ee/server/migrations/review-workflows.js +39 -0
  129. package/ee/server/register.js +7 -0
  130. package/ee/server/routes/index.js +104 -0
  131. package/ee/server/services/index.js +4 -0
  132. package/ee/server/services/review-workflows/entity-service-decorator.js +42 -0
  133. package/ee/server/services/review-workflows/review-workflows.js +175 -0
  134. package/ee/server/services/review-workflows/stages.js +148 -0
  135. package/ee/server/services/review-workflows/workflows.js +25 -0
  136. package/ee/server/utils/index.js +8 -0
  137. package/ee/server/utils/persisted-tables.js +49 -0
  138. package/ee/server/utils/review-workflows.js +25 -0
  139. package/ee/server/utils/test.js +11 -0
  140. package/ee/server/validation/review-workflows.js +24 -0
  141. package/package.json +13 -13
  142. package/server/controllers/transfer/runner.js +2 -4
  143. package/server/routes/transfer.js +4 -13
  144. package/server/services/constants.js +0 -4
  145. package/server/services/permission/permissions-manager/sanitize.js +2 -0
  146. package/server/services/transfer/permission.js +1 -1
  147. package/server/services/transfer/token.js +31 -33
  148. package/server/validation/transfer/token.js +2 -10
  149. package/build/2637.679b590b.chunk.js +0 -1
  150. package/build/5563.451e91ee.chunk.js +0 -30
  151. package/build/7259.7744297b.chunk.js +0 -1
  152. package/build/Admin_settingsPage.489ec4eb.chunk.js +0 -9
  153. package/build/admin-app.4b313104.chunk.js +0 -112
  154. package/build/admin-edit-roles-page.3b196317.chunk.js +0 -216
  155. package/build/admin-edit-users.af3b0f15.chunk.js +0 -10
  156. package/build/admin-roles-list.0ad504a7.chunk.js +0 -2
  157. package/build/content-manager.f530e141.chunk.js +0 -1139
  158. package/build/content-type-builder-translation-en-json.e577d595.chunk.js +0 -1
  159. package/build/content-type-builder.6ecd201d.chunk.js +0 -126
  160. package/build/en-json.01a88a30.chunk.js +0 -1
  161. package/build/main.43b93ff3.js +0 -3843
  162. package/build/runtime~main.a40b1b57.js +0 -2
  163. package/build/sso-settings-page.5a8588ef.chunk.js +0 -1
  164. package/build/upload-translation-fr-json.84429734.chunk.js +0 -1
  165. package/build/users-advanced-settings-page.c0cae03a.chunk.js +0 -1
  166. package/build/users-providers-settings-page.5f86e45c.chunk.js +0 -1
  167. package/build/users-roles-settings-page.b02986df.chunk.js +0 -30
@@ -0,0 +1,57 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8155],{67350:function(z,h,o){o.d(h,{n:function(){return a}});var t=o(84968),E=o.n(t),p=o(13478),S=o.n(p);const O="review-workflows",u="/admin/review-workflows";function a(k){const{get:I}=(0,p.useFetchClient)(),c=(0,t.useQueryClient)(),m=[O,k??"default"];async function W({params:T={populate:"stages"}}){try{const{data:{data:y}}=await I(`${u}/workflows/${k??""}`,{params:T});return y}catch{return null}}function D(){c.refetchQueries(m)}return{workflows:(0,t.useQuery)(m,W),refetchWorkflow:D}}},16633:function(z,h,o){o.r(h),o.d(h,{default:function(){return le}});var t=o(32735),E=o(83281),p=o(5636),S=o(4409),O=o(84968),u=o(13478),a=o(39161),k=o(57269),I=o(60216),c=o.n(I),m=o(83292);const W="settings_review-workflows",D="Settings/Review_Workflows/SET_WORKFLOWS",M="Settings/Review_Workflows/WORKFLOW_DELETE_STAGE",T="Settings/Review_Workflows/WORKFLOW_ADD_STAGE",y="Settings/Review_Workflows/WORKFLOW_UPDATE_STAGE";function Q({status:e,data:n}){return{type:D,payload:{status:e,workflows:n}}}function H(e){return{type:M,payload:{stageId:e}}}function V(e={}){return{type:T,payload:e}}function X(e,n){return{type:y,payload:{stageId:e,...n}}}const b=(0,m.default)(k.PlusCircle)`
2
+ > circle {
3
+ fill: ${({theme:e})=>e.colors.neutral150};
4
+ }
5
+ > path {
6
+ fill: ${({theme:e})=>e.colors.neutral600};
7
+ }
8
+ `,j=(0,m.default)(a.Box)`
9
+ border-radius: 26px;
10
+
11
+ svg {
12
+ height: ${({theme:e})=>e.spaces[6]};
13
+ width: ${({theme:e})=>e.spaces[6]};
14
+
15
+ > path {
16
+ fill: ${({theme:e})=>e.colors.neutral600};
17
+ }
18
+ }
19
+
20
+ &:hover {
21
+ color: ${({theme:e})=>e.colors.primary600} !important;
22
+ ${a.Typography} {
23
+ color: ${({theme:e})=>e.colors.primary600} !important;
24
+ }
25
+
26
+ ${b} {
27
+ > circle {
28
+ fill: ${({theme:e})=>e.colors.primary600};
29
+ }
30
+ > path {
31
+ fill: ${({theme:e})=>e.colors.neutral100};
32
+ }
33
+ }
34
+ }
35
+
36
+ &:active {
37
+ ${a.Typography} {
38
+ color: ${({theme:e})=>e.colors.primary600};
39
+ }
40
+
41
+ ${b} {
42
+ > circle {
43
+ fill: ${({theme:e})=>e.colors.primary600};
44
+ }
45
+ > path {
46
+ fill: ${({theme:e})=>e.colors.neutral100};
47
+ }
48
+ }
49
+ }
50
+ `;function K({children:e,...n}){return t.createElement(j,{as:"button",background:"neutral0",border:"neutral150",paddingBottom:3,paddingLeft:4,paddingRight:4,paddingTop:3,shadow:"filterShadow",...n},t.createElement(a.Flex,{gap:2},t.createElement(b,{"aria-hidden":!0}),t.createElement(a.Typography,{variant:"pi",fontWeight:"bold",textColor:"neutral500"},e)))}K.propTypes={children:c().node.isRequired};function U({id:e,name:n,index:r,canDelete:d,isOpen:i=!1}){const{formatMessage:s}=(0,p.useIntl)(),{trackUsage:l}=(0,u.useTracking)(),[f,$]=(0,t.useState)(i),w=`stages.${r}.name`,[C,L]=(0,E.useField)(w),R=(0,S.useDispatch)();return t.createElement(a.Accordion,{size:"S",variant:"primary",onToggle:()=>{$(!f),f||l("willEditStage")},expanded:f,shadow:"tableShadow"},t.createElement(a.AccordionToggle,{title:n,togglePosition:"left",action:d?t.createElement(a.IconButton,{backgroundColor:"transparent",noBorder:!0,onClick:()=>R(H(e)),label:s({id:"Settings.review-workflows.stage.delete",defaultMessage:"Delete stage"}),icon:t.createElement(k.Trash,null)}):null}),t.createElement(a.AccordionContent,{padding:6,background:"neutral0"},t.createElement(a.Grid,{gap:4},t.createElement(a.GridItem,{col:6},t.createElement(a.TextInput,{...C,id:w,value:n,label:s({id:"Settings.review-workflows.stage.name.label",defaultMessage:"Stage name"}),error:L.error??!1,onChange:v=>{C.onChange(v),R(X(e,{name:v.target.value}))}})))))}U.propTypes=c().shape({id:c().number.isRequired,name:c().string.isRequired,canDelete:c().bool.isRequired}).isRequired;const Y=(0,m.default)(a.Box)`
51
+ position: relative;
52
+ `,Z=(0,m.default)(a.Box)`
53
+ left: 50%;
54
+ position: absolute;
55
+ top: 0;
56
+ transform: translateX(-50%);
57
+ `;function P({stages:e}){const{formatMessage:n}=(0,p.useIntl)(),r=(0,S.useDispatch)(),{trackUsage:d}=(0,u.useTracking)();return t.createElement(a.Flex,{direction:"column",gap:6,width:"100%"},t.createElement(Y,{spacing:4,width:"100%"},t.createElement(Z,{background:"neutral200",height:"100%",width:2,zIndex:1}),t.createElement(a.Flex,{direction:"column",alignItems:"stretch",gap:6,zIndex:2,position:"relative",as:"ol"},e.map((i,s)=>{const l=i?.id??i.__temp_key__;return t.createElement(a.Box,{key:`stage-${l}`,as:"li"},t.createElement(U,{...i,id:l,index:s,canDelete:e.length>1,isOpen:!i.id}))}))),t.createElement(a.Flex,{direction:"column",gap:6},t.createElement(K,{type:"button",onClick:()=>{r(V({name:""})),d("willCreateStage")}},n({id:"Settings.review-workflows.stage.add",defaultMessage:"Add new stage"}))))}P.defaultProps={stages:[]},P.propTypes={stages:c().arrayOf(c().shape({id:c().number,__temp_key__:c().number,name:c().string.isRequired}))};var N=o(97889),J=o(89793),q=o.n(J);const G={status:"loading",serverState:{currentWorkflow:null,workflows:[]},clientState:{currentWorkflow:{data:null,isDirty:!1,hasDeletedServerStages:!1}}};function ee(e=G,n){return(0,N.produce)(e,r=>{const{payload:d}=n;switch(n.type){case D:{const{status:i,workflows:s}=d;if(r.status=i,s){const l=s[0];r.serverState.workflows=s,r.serverState.currentWorkflow=l,r.clientState.currentWorkflow.data=l}break}case M:{const{stageId:i}=d,{currentWorkflow:s}=e.clientState;r.clientState.currentWorkflow.data.stages=s.data.stages.filter(l=>(l?.id??l.__temp_key__)!==i),s.hasDeletedServerStages||(r.clientState.currentWorkflow.hasDeletedServerStages=!!e.serverState.currentWorkflow.stages.find(l=>l.id===i));break}case T:{const{currentWorkflow:i}=e.clientState;i.data||(r.clientState.currentWorkflow.data={stages:[]});const s=te(r.clientState.currentWorkflow.data.stages);r.clientState.currentWorkflow.data.stages.push({...d,__temp_key__:s});break}case y:{const{currentWorkflow:i}=e.clientState,{stageId:s,...l}=d;r.clientState.currentWorkflow.data.stages=i.data.stages.map(f=>(f.id??f.__temp_key__)===s?{...f,...l}:f);break}default:break}e.clientState.currentWorkflow.data&&(r.clientState.currentWorkflow.isDirty=!q()((0,N.current)(r.clientState.currentWorkflow).data,e.serverState.currentWorkflow))})}const te=(e=[])=>{const n=e.map(r=>r.id??r.__temp_key__);return Math.max(...n,-1)+1};function ae(e,n){const r=(0,S.useStore)();(0,t.useEffect)(()=>{r.injectReducer(e,n)},[r,e,n])}var oe=o(67350),A=o(5173);function ne({formatMessage:e}){return A.Ry({stages:A.IX().of(A.Ry().shape({name:A.Z_().required(e({id:"Settings.review-workflows.validation.stage.name",defaultMessage:"Name is required"})).max(255,e({id:"Settings.review-workflows.validation.stage.max-length",defaultMessage:"Name can not be longer than 255 characters"}))}))})}var re=o(72041);function se(){const{trackUsage:e}=(0,u.useTracking)(),{formatMessage:n}=(0,p.useIntl)(),r=(0,S.useDispatch)(),{put:d}=(0,u.useFetchClient)(),{formatAPIError:i}=(0,u.useAPIErrorHandler)(),s=(0,u.useNotification)(),{workflows:l,refetchWorkflow:f}=(0,oe.n)(),{status:$,clientState:{currentWorkflow:{data:w,isDirty:C,hasDeletedServerStages:L}}}=(0,S.useSelector)(g=>g?.[W]??G),[R,v]=(0,t.useState)(!1),{mutateAsync:ie,isLoading:ce}=(0,O.useMutation)(async({workflowId:g,stages:B})=>{try{const{data:{data:F}}=await d(`/admin/review-workflows/workflows/${g}/stages`,{data:B});return F}catch(F){s({type:"warning",message:i(F)})}return null},{onError(g){s({type:"warning",message:i(g)})},onSuccess(){s({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}})}}),ue=(g,B)=>ie({workflowId:g,stages:B}),_=async()=>{v(!1),await ue(w.id,w.stages),f()},de=async()=>{await _()},fe=()=>{v(g=>!g)},x=(0,E.useFormik)({enableReinitialize:!0,initialValues:w,async onSubmit(){L?v(!0):_()},validationSchema:ne({formatMessage:n}),validateOnChange:!1});return ae(W,ee),(0,t.useEffect)(()=>{r(Q({status:l.status,data:l.data}))},[l.status,l.data,r]),(0,t.useEffect)(()=>{e("didViewWorkflow")},[e]),t.createElement(u.CheckPagePermissions,{permissions:re.Z.settings["review-workflows"].main},t.createElement(a.Layout,null,t.createElement(u.SettingsPageTitle,{name:n({id:"Settings.review-workflows.page.title",defaultMessage:"Review Workflows"})}),t.createElement(a.Main,{tabIndex:-1},t.createElement(E.FormikProvider,{value:x},t.createElement(E.Form,{onSubmit:x.handleSubmit},t.createElement(a.HeaderLayout,{primaryAction:t.createElement(a.Button,{startIcon:t.createElement(k.Check,null),type:"submit",size:"M",disabled:!C},n({id:"global.save",defaultMessage:"Save"})),title:n({id:"Settings.review-workflows.page.title",defaultMessage:"Review Workflows"}),subtitle:n({id:"Settings.review-workflows.page.subtitle",defaultMessage:"{count, plural, one {# stage} other {# stages}}"},{count:w?.stages?.length??0})}),t.createElement(a.ContentLayout,null,$==="loading"&&t.createElement(a.Loader,null,n({id:"Settings.review-workflows.page.isLoading",defaultMessage:"Workflow is loading"})),t.createElement(P,{stages:x.values?.stages})))),t.createElement(u.ConfirmDialog,{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:R,onToggleDialog:fe,onConfirm:de}))))}var le=se}}]);
@@ -0,0 +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],c=!0,l=0;l<t.length;l++)(r&!1||a>=r)&&Object.keys(e.O).every(function(b){return e.O[b](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",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:"bce5050f",96:"1b334230",123:"6a01cea6",129:"87b494d1",302:"272b87c8",320:"697b4bcf",395:"bac5dbd3",435:"a2ed8c78",562:"19a2dbfa",585:"6b937fdf",606:"2374f129",615:"9950466a",695:"0875e973",742:"6fe3ed55",744:"6eaeec6a",749:"5f659396",801:"f50ad423",830:"3cf0b48a",931:"7961593e",994:"4480ae88",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",1442:"7e23424a",1495:"4bdbef9a",1674:"20e177db",1930:"a7eda429",2137:"57ddc77e",2151:"ee3b36bb",2246:"e05583e9",2248:"4d667d0c",2263:"4c5916f9",2282:"14cac425",2380:"2bd7ff98",2411:"e6c0f8fc",2464:"a6fb670f",2489:"a52eab64",2492:"00ee1c74",2544:"cf543488",2553:"4cfef87d",2567:"8a274be5",2603:"4211d4d0",2648:"88304564",2657:"a5b299ca",2671:"98345913",2742:"6ab714ee",2812:"7be97e82",3025:"0eddffd9",3038:"483a18f6",3043:"c6841563",3095:"7f37180f",3098:"7e55bbbb",3166:"2a2a0643",3206:"377bdd9f",3278:"ee4c5537",3304:"cea4d226",3340:"ee554a41",3455:"489c501f",3516:"43e14418",3530:"6722a8a2",3552:"2bb5be96",3650:"c7da1611",3677:"15e3b0fd",3702:"0a7287d1",3825:"85402492",3948:"24a34349",3964:"2d29c1e0",3981:"1411fb7c",4021:"420c943b",4049:"64715f20",4121:"029957a4",4179:"a5a0fb59",4263:"31c20712",4299:"4328b852",4302:"faedd610",4587:"660fa9a8",4649:"213b8a3b",4693:"78be2787",4804:"675f6b93",4816:"a1f14bb1",4987:"426f31c9",5053:"e1dd6eb2",5162:"329141a5",5199:"3e111a7d",5222:"e87d7966",5296:"89401417",5388:"6bce37dd",5396:"7978eaa6",5516:"02608d56",5538:"55dd7921",5751:"0b6b1006",5880:"44b88e7a",5894:"fe71e6c8",5895:"147755cd",5905:"cf38fe2f",5906:"97f71a9d",6232:"3847dae0",6280:"ef4f9471",6332:"323be97d",6377:"60e50f48",6434:"8b7573ce",6460:"4b302272",6745:"bd1fb6bf",6784:"7390477e",6817:"bfe27ed8",6831:"db163b6b",6836:"6a0a1572",6848:"7a2232ea",6901:"fcac7381",6985:"66cca29c",7048:"c9f92a3c",7094:"7d87d54d",7155:"0979cccb",7186:"54d11230",7259:"aefb51e8",7327:"9fb7e6d7",7347:"26ef649f",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:"93f24348",8155:"7a7dc773",8175:"60af6722",8178:"63eebd02",8329:"59f5e1e5",8342:"fe4daad8",8360:"fb17c8f9",8367:"715b6fd8",8418:"e8db68c4",8423:"57954414",8467:"17187818",8469:"853c822b",8481:"97d0db97",8573:"c4524247",8736:"1b6d2920",8853:"2ea4de84",8880:"af9abf1e",8897:"41e07c46",8907:"9be0d5b2",8965:"b1eb52f6",9220:"c83f87c4",9303:"ae6e71ea",9366:"dfac513d",9412:"53da2fcd",9460:"1d3c14c7",9497:"76afeca0",9501:"4ad8b0df",9502:"891fe76e",9505:"dbe702ab",9511:"56d8fcf4",9514:"34dde278",9600:"ce37354b",9647:"9410688b",9726:"6359a11c",9762:"757ce62d",9797:"0a830937",9816:"01ee964f",9903:"8988e374",9905:"0705465d"}[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,b){a.onerror=a.onload=null,clearTimeout(p);var h=n[t];if(delete n[t],a.parentNode&&a.parentNode.removeChild(a),h&&h.forEach(function(y){return y(b)}),g)return g(b)},p=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),p=f&&f.target&&f.target.src;l.message="Loading chunk "+o+` failed.
2
+ (`+u+": "+p+")",l.name="ChunkLoadError",l.type=u,l.request=p,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(p){return n[p]!==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],{26930:function(A,u,a){a.r(u),a.d(u,{SingleSignOn:function(){return f},default:function(){return L}});var e=a(32735),l=a(13478),R=a(57269),s=a(39161),E=a(5636),v=a(89793),b=a.n(v),C=a(8997),g=a(8888),c=a(72041),r=a(5173),M=r.Ry().shape({autoRegister:r.Xg().required(l.translatedErrors.required),defaultRole:r.nK().when("autoRegister",(t,i)=>t?i.required(l.translatedErrors.required):i.nullable())});const m={...c.Z.settings.sso,readRoles:c.Z.settings.roles.read},f=()=>{const{formatMessage:t}=(0,E.useIntl)(),{isLoading:i,allowedActions:{canUpdate:h,canReadRoles:O}}=(0,l.useRBAC)(m),[{formErrors:o,initialData:y,isLoading:I,modifiedData:d,showHeaderButtonLoader:P},H,{handleChange:S,handleSubmit:D}]=(0,g.G4)((0,C.IF)("providers/options"),M,()=>{},["autoRegister","defaultRole"]),{roles:F}=(0,g.bF)(O);(0,l.useFocusWhenNavigate)();const T=i||I;(0,e.useEffect)(()=>{if(o.defaultRole){const n='[name="defaultRole"]';document.querySelector(n).focus()}},[o]);const p=b()(y,d);return e.createElement(s.Layout,null,e.createElement(l.SettingsPageTitle,{name:"SSO"}),e.createElement(s.Main,{tabIndex:-1},e.createElement("form",{onSubmit:n=>{if(p){n.preventDefault();return}D(n)}},e.createElement(s.HeaderLayout,{primaryAction:e.createElement(s.Button,{"data-testid":"save-button",disabled:p,loading:P,startIcon:e.createElement(R.Check,null),type:"submit",size:"L"},t({id:"global.save",defaultMessage:"Save"})),title:t({id:"Settings.sso.title",defaultMessage:"Single Sign-On"}),subtitle:t({id:"Settings.sso.description",defaultMessage:"Configure the settings for the Single Sign-On feature."})}),e.createElement(s.ContentLayout,null,T?e.createElement(l.LoadingIndicatorPage,null):e.createElement(s.Flex,{direction:"column",alignItems:"stretch",gap:4,background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(s.Typography,{variant:"delta",as:"h2"},t({id:"global.settings",defaultMessage:"Settings"})),e.createElement(s.Grid,{gap:4},e.createElement(s.GridItem,{col:6,m:6,s:12},e.createElement(s.ToggleInput,{"aria-label":"autoRegister","data-testid":"autoRegister",disabled:!h,checked:d.autoRegister,hint:t({id:"Settings.sso.form.registration.description",defaultMessage:"Create new user on SSO login if no account exists"}),label:t({id:"Settings.sso.form.registration.label",defaultMessage:"Auto-registration"}),name:"autoRegister",offLabel:t({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:t({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:n=>{S({target:{name:"autoRegister",value:n.target.checked}})}})),e.createElement(s.GridItem,{col:6,m:6,s:12},e.createElement(s.Select,{disabled:!h,hint:t({id:"Settings.sso.form.defaultRole.description",defaultMessage:"It will attach the new authenticated user to the selected role"}),error:o.defaultRole?t({id:o.defaultRole.id,defaultMessage:o.defaultRole.id}):"",label:t({id:"Settings.sso.form.defaultRole.label",defaultMessage:"Default role"}),name:"defaultRole",onChange:n=>{S({target:{name:"defaultRole",value:n}})},placeholder:t({id:"components.InputSelect.option.placeholder",defaultMessage:"Choose here"}),value:d.defaultRole},F.map(({id:n,name:x})=>e.createElement(s.Option,{key:n,value:n.toString()},x))))))))))};var L=()=>e.createElement(l.CheckPagePermissions,{permissions:m.main},e.createElement(f,null))}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[695],{67963:function(H,f,i){i.r(f),i.d(f,{SettingsPage:function(){return p},default:function(){return L}});var e=i(32735),b=i(99357),O=i(5636),r=i(13478),v=i(57269),a=i(39161),C=i(55721),D=i(89793),y=i.n(D),n=i(15503),M=t=>t,T=i(97889),S=i(3040),z=i.n(S);const k={isLoading:!0,isSubmiting:!1,initialData:{responsiveDimensions:!0,sizeOptimization:!0,autoOrientation:!1,videoPreview:!1},modifiedData:{responsiveDimensions:!0,sizeOptimization:!0,autoOrientation:!1,videoPreview:!1}};var I=(t,l)=>(0,T.default)(t,s=>{switch(l.type){case"CANCEL_CHANGES":{s.modifiedData=t.initialData;break}case"GET_DATA_SUCCEEDED":{s.isLoading=!1,s.initialData=l.data,s.modifiedData=l.data;break}case"ON_CHANGE":{z()(s,["modifiedData",...l.keys.split(".")],l.value);break}case"ON_SUBMIT":{s.isSubmiting=!0;break}case"SUBMIT_SUCCEEDED":{s.initialData=t.modifiedData,s.isSubmiting=!1;break}case"ON_SUBMIT_ERROR":{s.isSubmiting=!1;break}default:return t}}),B=i(93826);const p=()=>{const{formatMessage:t}=(0,O.useIntl)(),{lockApp:l,unlockApp:s}=(0,r.useOverlayBlocker)(),P=(0,r.useNotification)(),{get:A,put:N}=(0,r.useFetchClient)();(0,r.useFocusWhenNavigate)();const[{initialData:x,isLoading:R,isSubmiting:U,modifiedData:d},g]=(0,e.useReducer)(I,k,M),h=(0,e.useRef)(!0);(0,e.useEffect)(()=>{const c=C.Z.CancelToken.source(),F=async()=>{try{const{data:{data:m}}=await A((0,n.IF)("settings"),{cancelToken:c.token});g({type:"GET_DATA_SUCCEEDED",data:m})}catch(m){console.error(m)}};return h.current&&F(),()=>{c.cancel("Operation canceled by the user."),h.current=!1}},[]);const E=y()(x,d),G=async o=>{if(o.preventDefault(),!E){l(),g({type:"ON_SUBMIT"});try{await N((0,n.IF)("settings"),d),g({type:"SUBMIT_SUCCEEDED"}),P({type:"success",message:{id:"notification.form.success.fields"}})}catch(c){console.error(c),g({type:"ON_SUBMIT_ERROR"})}s()}},u=({target:{name:o,value:c}})=>{g({type:"ON_CHANGE",keys:o,value:c})};return e.createElement(a.Main,{tabIndex:-1},e.createElement(b.Helmet,{title:t({id:(0,n.OB)("page.title"),defaultMessage:"Settings - Media Libray"})}),e.createElement("form",{onSubmit:G},e.createElement(a.HeaderLayout,{title:t({id:(0,n.OB)("settings.header.label"),defaultMessage:"Media Library"}),primaryAction:e.createElement(a.Button,{disabled:E,"data-testid":"save-button",loading:U,type:"submit",startIcon:e.createElement(v.Check,null),size:"S"},t({id:"global.save",defaultMessage:"Save"})),subtitle:t({id:(0,n.OB)("settings.sub-header.label"),defaultMessage:"Configure the settings for the Media Library"})}),e.createElement(a.ContentLayout,null,R?e.createElement(r.LoadingIndicatorPage,null):e.createElement(a.Layout,null,e.createElement(a.Flex,{direction:"column",alignItems:"stretch",gap:12},e.createElement(a.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(a.Flex,{direction:"column",alignItems:"stretch",gap:4},e.createElement(a.Flex,null,e.createElement(a.Typography,{variant:"delta",as:"h2"},t({id:(0,n.OB)("settings.blockTitle"),defaultMessage:"Asset management"}))),e.createElement(a.Grid,{gap:6},e.createElement(a.GridItem,{col:6,s:12},e.createElement(a.ToggleInput,{"aria-label":"responsiveDimensions","data-testid":"responsiveDimensions",checked:d.responsiveDimensions,hint:t({id:(0,n.OB)("settings.form.responsiveDimensions.description"),defaultMessage:"Enabling this option will generate multiple formats (small, medium and large) of the uploaded asset."}),label:t({id:(0,n.OB)("settings.form.responsiveDimensions.label"),defaultMessage:"Responsive friendly upload"}),name:"responsiveDimensions",offLabel:t({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:t({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:o=>{u({target:{name:"responsiveDimensions",value:o.target.checked}})}})),e.createElement(a.GridItem,{col:6,s:12},e.createElement(a.ToggleInput,{"aria-label":"sizeOptimization","data-testid":"sizeOptimization",checked:d.sizeOptimization,hint:t({id:(0,n.OB)("settings.form.sizeOptimization.description"),defaultMessage:"Enabling this option will reduce the image size and slightly reduce its quality."}),label:t({id:(0,n.OB)("settings.form.sizeOptimization.label"),defaultMessage:"Size optimization"}),name:"sizeOptimization",offLabel:t({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:t({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:o=>{u({target:{name:"sizeOptimization",value:o.target.checked}})}})),e.createElement(a.GridItem,{col:6,s:12},e.createElement(a.ToggleInput,{"aria-label":"autoOrientation","data-testid":"autoOrientation",checked:d.autoOrientation,hint:t({id:(0,n.OB)("settings.form.autoOrientation.description"),defaultMessage:"Enabling this option will automatically rotate the image according to EXIF orientation tag."}),label:t({id:(0,n.OB)("settings.form.autoOrientation.label"),defaultMessage:"Auto orientation"}),name:"autoOrientation",offLabel:t({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:t({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:o=>{u({target:{name:"autoOrientation",value:o.target.checked}})}}))))))))))};var L=()=>e.createElement(r.CheckPagePermissions,{permissions:B.Z.settings},e.createElement(p,null))}}]);
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[695],{67963:function(H,f,i){i.r(f),i.d(f,{SettingsPage:function(){return p},default:function(){return L}});var e=i(32735),b=i(99357),O=i(5636),r=i(13478),v=i(57269),a=i(39161),C=i(84306),D=i(89793),y=i.n(D),n=i(15503),M=t=>t,T=i(97889),S=i(3040),z=i.n(S);const k={isLoading:!0,isSubmiting:!1,initialData:{responsiveDimensions:!0,sizeOptimization:!0,autoOrientation:!1,videoPreview:!1},modifiedData:{responsiveDimensions:!0,sizeOptimization:!0,autoOrientation:!1,videoPreview:!1}};var I=(t,l)=>(0,T.default)(t,s=>{switch(l.type){case"CANCEL_CHANGES":{s.modifiedData=t.initialData;break}case"GET_DATA_SUCCEEDED":{s.isLoading=!1,s.initialData=l.data,s.modifiedData=l.data;break}case"ON_CHANGE":{z()(s,["modifiedData",...l.keys.split(".")],l.value);break}case"ON_SUBMIT":{s.isSubmiting=!0;break}case"SUBMIT_SUCCEEDED":{s.initialData=t.modifiedData,s.isSubmiting=!1;break}case"ON_SUBMIT_ERROR":{s.isSubmiting=!1;break}default:return t}}),B=i(93826);const p=()=>{const{formatMessage:t}=(0,O.useIntl)(),{lockApp:l,unlockApp:s}=(0,r.useOverlayBlocker)(),P=(0,r.useNotification)(),{get:A,put:N}=(0,r.useFetchClient)();(0,r.useFocusWhenNavigate)();const[{initialData:x,isLoading:R,isSubmiting:U,modifiedData:d},g]=(0,e.useReducer)(I,k,M),h=(0,e.useRef)(!0);(0,e.useEffect)(()=>{const c=C.Z.CancelToken.source(),F=async()=>{try{const{data:{data:m}}=await A((0,n.IF)("settings"),{cancelToken:c.token});g({type:"GET_DATA_SUCCEEDED",data:m})}catch(m){console.error(m)}};return h.current&&F(),()=>{c.cancel("Operation canceled by the user."),h.current=!1}},[]);const E=y()(x,d),G=async o=>{if(o.preventDefault(),!E){l(),g({type:"ON_SUBMIT"});try{await N((0,n.IF)("settings"),d),g({type:"SUBMIT_SUCCEEDED"}),P({type:"success",message:{id:"notification.form.success.fields"}})}catch(c){console.error(c),g({type:"ON_SUBMIT_ERROR"})}s()}},u=({target:{name:o,value:c}})=>{g({type:"ON_CHANGE",keys:o,value:c})};return e.createElement(a.Main,{tabIndex:-1},e.createElement(b.Helmet,{title:t({id:(0,n.OB)("page.title"),defaultMessage:"Settings - Media Libray"})}),e.createElement("form",{onSubmit:G},e.createElement(a.HeaderLayout,{title:t({id:(0,n.OB)("settings.header.label"),defaultMessage:"Media Library"}),primaryAction:e.createElement(a.Button,{disabled:E,"data-testid":"save-button",loading:U,type:"submit",startIcon:e.createElement(v.Check,null),size:"S"},t({id:"global.save",defaultMessage:"Save"})),subtitle:t({id:(0,n.OB)("settings.sub-header.label"),defaultMessage:"Configure the settings for the Media Library"})}),e.createElement(a.ContentLayout,null,R?e.createElement(r.LoadingIndicatorPage,null):e.createElement(a.Layout,null,e.createElement(a.Flex,{direction:"column",alignItems:"stretch",gap:12},e.createElement(a.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(a.Flex,{direction:"column",alignItems:"stretch",gap:4},e.createElement(a.Flex,null,e.createElement(a.Typography,{variant:"delta",as:"h2"},t({id:(0,n.OB)("settings.blockTitle"),defaultMessage:"Asset management"}))),e.createElement(a.Grid,{gap:6},e.createElement(a.GridItem,{col:6,s:12},e.createElement(a.ToggleInput,{"aria-label":"responsiveDimensions","data-testid":"responsiveDimensions",checked:d.responsiveDimensions,hint:t({id:(0,n.OB)("settings.form.responsiveDimensions.description"),defaultMessage:"Enabling this option will generate multiple formats (small, medium and large) of the uploaded asset."}),label:t({id:(0,n.OB)("settings.form.responsiveDimensions.label"),defaultMessage:"Responsive friendly upload"}),name:"responsiveDimensions",offLabel:t({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:t({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:o=>{u({target:{name:"responsiveDimensions",value:o.target.checked}})}})),e.createElement(a.GridItem,{col:6,s:12},e.createElement(a.ToggleInput,{"aria-label":"sizeOptimization","data-testid":"sizeOptimization",checked:d.sizeOptimization,hint:t({id:(0,n.OB)("settings.form.sizeOptimization.description"),defaultMessage:"Enabling this option will reduce the image size and slightly reduce its quality."}),label:t({id:(0,n.OB)("settings.form.sizeOptimization.label"),defaultMessage:"Size optimization"}),name:"sizeOptimization",offLabel:t({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:t({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:o=>{u({target:{name:"sizeOptimization",value:o.target.checked}})}})),e.createElement(a.GridItem,{col:6,s:12},e.createElement(a.ToggleInput,{"aria-label":"autoOrientation","data-testid":"autoOrientation",checked:d.autoOrientation,hint:t({id:(0,n.OB)("settings.form.autoOrientation.description"),defaultMessage:"Enabling this option will automatically rotate the image according to EXIF orientation tag."}),label:t({id:(0,n.OB)("settings.form.autoOrientation.label"),defaultMessage:"Auto orientation"}),name:"autoOrientation",offLabel:t({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:t({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:o=>{u({target:{name:"autoOrientation",value:o.target.checked}})}}))))))))))};var L=()=>e.createElement(r.CheckPagePermissions,{permissions:B.Z.settings},e.createElement(p,null))}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[7833],{49713:function(e){e.exports=JSON.parse(`{"apiError.FileTooBig":"Le fichier import\xE9 d\xE9passe la taille maximale autoris\xE9e pour les m\xE9dias.","upload.generic-error":"Un erreur est survenu durant l'importation du fichier.","bulk.select.label":"Selectionner tous les m\xE9dias","button.next":"Suivant","checkControl.crop-duplicate":"Dupliquer & recadrer le m\xE9dia","checkControl.crop-original":"Recadrer le m\xE9dia d'origine","content.isLoading":"Chargement du contenu en cours.","control-card.add":"Ajouter","control-card.cancel":"Annuler","control-card.copy-link":"Copier le lien","control-card.crop":"Recadrer","control-card.download":"T\xE9l\xE9charger","control-card.edit":"\xC9diter","control-card.replace-media":"Remplacer le m\xE9dia","control-card.save":"Sauvegarder","control-card.stop-crop":"Arr\xEAter le recadrage","filter.add":"Ajouter un filtre","form.button.replace-media":"Remplacer le m\xE9dia","form.input.decription.file-alt":"Ce texte sera affich\xE9 si le m\xE9dia ne peut pas \xEAtre affich\xE9.","form.input.label.file-alt":"Texte alternatif","form.input.label.file-caption":"L\xE9gende","form.input.label.file-name":"Nom du fichier","form.upload-url.error.url.invalid":"Une URL n'est pas valide","form.upload-url.error.url.invalids":"{number} URLs ne sont pas valides","header.actions.add-assets":"Ajouter des m\xE9dias","header.actions.add-folder":"Ajouter un dossier","header.actions.add-assets.folder":"dossier","header.actions.upload-assets":"Importer des m\xE9dias","header.actions.upload-new-asset":"Importer un m\xE9dia","header.content.assets-empty":"Aucun m\xE9dia","header.content.assets":"{numberFolders, plural, one {1 dossier} other {# dossiers}} - {numberAssets, plural, one {1 m\xE9dia} other {# m\xE9dias}}","input.button.label":"Parcourir les fichiers","input.label":"Glisser & d\xE9poser ici ou","input.label-bold":"Glissez & d\xE9posez","input.label-normal":"pour importer ou","input.placeholder":"Cliquez pour s\xE9lectionner un m\xE9dia ou glissez & d\xE9posez un fichier dans cette zone","input.placeholder.icon":"Lacher le fichier dans cette zone","input.url.description":"S\xE9parez vos URLs par un retour \xE0 la ligne.","input.url.label":"URL","input.notification.not-supported":"Vous ne pouvez pas importer ce type de fichier, seuls ces types de fichiers sont accept\xE9s \u2013 {fileTypes}","list.assets.title":"M\xE9dias ({count})","list.asset.at.finished":"Les m\xE9dias sont charg\xE9s.","list.assets-empty.search":"No result found","list.assets-empty.subtitle":"Ajoutez-en un \xE0 la liste.","list.assets-empty.title":"Il n'y a pas encore de m\xE9dia","list.assets-empty.title-withSearch":"Il n'y a aucun m\xE9dia avec les filtres appliqu\xE9s","list.assets.empty":"La m\xE9diath\xE8que est vide","list.assets.empty-upload":"Importez vos premiers m\xE9dias...","list.assets.empty.no-permissions":"Aucune permissions \xE0 voir","list.assets.loading-asset":"Chargement du contenu pour le media {path}","list.assets.not-supported-content":"Aper\xE7u non disponible","list.assets.preview-asset":"Aper\xE7u de la vid\xE9o {path}","list.assets.selected":"{numberFolders, plural, one {1 dossier} other {# dossiers}} - {numberAssets, plural, one {1 m\xE9dia} other {# m\xE9dias}}","list-assets-select":"Selectionner le m\xE9dia {name}","list.assets.type-not-allowed":"Ce type de fichier n'est pas autoris\xE9.","list.assets.to-upload":"{number, plural, =0 {Aucun m\xE9dia} one {1 m\xE9dia} other {# m\xE9dias}} \xE0 importer","list.folder.edit":"\xC9diter le dossier","list.folder.select":"Selectionner le dossier {name}","list.folder.subtitle":"{folderCount, plural, =0 {aucun dossier} one {1 dossier} other {# dossiers}}, {filesCount, plural, =0 {aucun m\xE9dia} one {1 m\xE9dia} other {# m\xE9dias}}","list.folders.title":"Dossiers ({count})","list.folders.link-label":"Acc\xE9der au dossier","mediaLibraryInput.actions.nextSlide":"Diapo suivante","mediaLibraryInput.actions.previousSlide":"Diapo pr\xE9c\xE9dente","mediaLibraryInput.placeholder":"Cliquer pour ajouter un m\xE9dia ou glisser-d\xE9poser dans cette zone","mediaLibraryInput.slideCount":"{n} de {m} diapo","modal.file-details.date":"Date","modal.file-details.dimensions":"Dimensions","modal.file-details.extension":"Extension","modal.file-details.size":"Taille","modal.file-details.id":"ID du m\xE9dia","modal.folder.elements.count":"{folderCount} dossiers, {assetCount} m\xE9dias","modal.header.browse":"Importer des m\xE9dias","modal.header.file-detail":"D\xE9tails","modal.header.pending-assets":"M\xE9dias en attente","modal.header.select-files":"Fichiers s\xE9lectionn\xE9s","modal.header.go-back":"Revenir","modal.folder.move.title":"D\xE9placer l'\xE9l\xE9ment vers","modal.nav.browse":"parcourir","modal.nav.computer":"depuis l'ordinateur","modal.nav.selected":"s\xE9lectionn\xE9(s)","modal.nav.url":"depuis une url","modal.remove.success-label":"Les \xE9l\xE9ments s\xE9lectionn\xE9s ont bien \xE9t\xE9 supprim\xE9s.","modal.move.success-label":"Les \xE9l\xE9ments s\xE9lectionn\xE9s ont bien \xE9t\xE9 d\xE9plac\xE9s.","modal.selected-list.sub-header-subtitle":"Glissez-d\xE9posez pour r\xE9organiser les m\xE9dias dans le champ","modal.upload-list.footer.button":"Importer {number, plural, one {1 m\xE9dia} other {# m\xE9dias}} dans la m\xE9diath\xE8que","modal.upload-list.sub-header-subtitle":"G\xE9rez les m\xE9dias avant de les ajouter \xE0 la m\xE9diath\xE8que","modal.upload-list.sub-header.button":"Ajouter plus de m\xE9dias","modal.upload.cancelled":"Importation interrompue manuellement.","page.title":"Param\xE8tres - M\xE9diath\xE8que","permissions.not-allowed.update":"Vous n'\xEAtes pas autoris\xE9 \xE0 \xE9diter ce fichier.","plugin.description.long":"Gestion des fichiers multim\xE9dias.","plugin.description.short":"Gestion des fichiers multim\xE9dias.","plugin.name":"M\xE9diath\xE8que","search.clear.label":"Effacer","search.label":"Rechercher un m\xE9dia","search.placeholder":"Rechercher un m\xE9dia...","settings.blockTitle":"Gestion des fichiers","settings.form.autoOrientation.description":"Faire pivoter automatiquement l'image selon les EXIF d'orientation","settings.form.autoOrientation.label":"Activer l'orientation automatique","settings.form.responsiveDimensions.description":"G\xE9n\xE8re automatiquement plusieurs formats (grand, moyen, petit) du m\xE9dia import\xE9","settings.form.responsiveDimensions.label":"Activer le t\xE9l\xE9chargement \\"responsive friendly\\"","settings.form.sizeOptimization.description":"Activer cette option r\xE9duira la taille des images en baissant l\xE9g\xE8rement leur qualit\xE9","settings.form.sizeOptimization.label":"Optimisation de la taille","settings.form.videoPreview.description":"G\xE9n\xE8re un aper\xE7u de six secondes de la vid\xE9o (GIF)","settings.form.videoPreview.label":"Aper\xE7u","settings.header.label":"M\xE9diath\xE8que - R\xE9glages","settings.section.doc.label":"DOC","settings.section.image.label":"IMAGE","settings.section.video.label":"VID\xC9O","settings.sub-header.label":"Configurer les param\xE8tres de la m\xE9diath\xE8que","sort.created_at_asc":"Importations les plus anciennes","sort.created_at_desc":"Importations les plus r\xE9centes","sort.label":"Trier par","sort.name_asc":"Ordre alphab\xE9tique (A \xE0 Z)","sort.name_desc":"Ordre alphab\xE9tique invers\xE9 (Z \xE0 A)","sort.updated_at_asc":"Modifications les plus anciennes","sort.updated_at_desc":"Modifications les plus r\xE9centes","list.table.header.actions":"actions","list.table.header.preview":"aper\xE7u","list.table.header.name":"nom","list.table.header.ext":"extension","list.table.header.size":"taille","list.table.header.createdAt":"cr\xE9\xE9 le","list.table.header.updatedAt":"modif\xE9 le","list.table.header.sort":"Trier par {label}","list.table.content.empty-label":"Ce champ est vide","tabs.title":"Comment souhaitez-vous importer vos m\xE9dias ?","window.confirm.close-modal.file":"\xCAtes-vous s\xFBr ? Vos modifications seront perdues.","window.confirm.close-modal.files":"\xCAtes-vous s\xFBr ? Certains fichiers n'ont pas encore \xE9t\xE9 t\xE9l\xE9charg\xE9s.","config.back":"Retour","config.subtitle":"D\xE9finissez les param\xE8tres d'affichage de la m\xE9diath\xE8que.","config.entries.title":"Entr\xE9es par page","config.sort.title":"Tri par d\xE9faut","config.entries.note":"Nombre de m\xE9dias affich\xE9s par d\xE9faut dans la m\xE9diath\xE8que","config.note":"Remarque : Vous pouvez red\xE9finir cette valeur dans la m\xE9diath\xE8que.","config.popUpWarning.warning.updateAllSettings":"Ceci changera tous vos param\xE8tres","view-switch.list":"Vue en liste","view-switch.grid":"Vue en grille"}`)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[9460],{84764:function(L,f,a){a.r(f),a.d(f,{default:function(){return P}});var t=a(32735),c=a(84968),b=a(5636),y=a(83281),i=a(13478),n=a(39161),S=a(57269),p=a(88369),e=a(59677),h=[{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.email"),defaultMessage:"One account per email address"},description:{id:(0,e.OB)("EditForm.inputToggle.description.email"),defaultMessage:"Disallow the user to create multiple accounts using the same email address with different authentication providers."},name:"unique_email",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.sign-up"),defaultMessage:"Enable sign-ups"},description:{id:(0,e.OB)("EditForm.inputToggle.description.sign-up"),defaultMessage:"When disabled (OFF), the registration process is forbidden. No one can subscribe anymore no matter the used provider."},name:"allow_register",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.email-reset-password"),defaultMessage:"Reset password page"},description:{id:(0,e.OB)("EditForm.inputToggle.description.email-reset-password"),defaultMessage:"URL of your application's reset password page."},placeholder:{id:(0,e.OB)("EditForm.inputToggle.placeholder.email-reset-password"),defaultMessage:"ex: https://youtfrontend.com/reset-password"},name:"email_reset_password",type:"text",size:{col:6,xs:12}},{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.email-confirmation"),defaultMessage:"Enable email confirmation"},description:{id:(0,e.OB)("EditForm.inputToggle.description.email-confirmation"),defaultMessage:"When enabled (ON), new registered users receive a confirmation email."},name:"email_confirmation",type:"bool",size:{col:12,xs:12}},{intlLabel:{id:(0,e.OB)("EditForm.inputToggle.label.email-confirmation-redirection"),defaultMessage:"Redirection url"},description:{id:(0,e.OB)("EditForm.inputToggle.description.email-confirmation-redirection"),defaultMessage:"After you confirmed your email, choose where you will be redirected."},placeholder:{id:(0,e.OB)("EditForm.inputToggle.placeholder.email-confirmation-redirection"),defaultMessage:"ex: https://youtfrontend.com/email-confirmation"},name:"email_confirmation_redirection",type:"text",size:{col:6,xs:12}}],r=a(5173);const u=new RegExp("(^$)|((.+:\\/\\/.*)(d*)\\/?(.*))");var m=r.Ry().shape({email_confirmation_redirection:r.nK().when("email_confirmation",{is:!0,then:r.Z_().matches(u).required(),otherwise:r.Z_().nullable()}),email_reset_password:r.Z_(i.translatedErrors.string).matches(u,i.translatedErrors.regex).nullable()});const T=async()=>{const{get:s}=(0,i.getFetchClient)(),{data:l}=await s((0,e.Gc)("advanced"));return l},R=s=>{const{put:l}=(0,i.getFetchClient)();return l((0,e.Gc)("advanced"),s)},w=()=>t.createElement(i.CheckPagePermissions,{permissions:p.Z.readAdvancedSettings},t.createElement(C,null)),C=()=>{const{formatMessage:s}=(0,b.useIntl)(),l=(0,i.useNotification)(),{lockApp:x,unlockApp:M}=(0,i.useOverlayBlocker)(),{notifyStatus:N}=(0,n.useNotifyAT)(),I=(0,c.useQueryClient)();(0,i.useFocusWhenNavigate)();const z=(0,t.useMemo)(()=>({update:p.Z.updateAdvancedSettings}),[]),{isLoading:G,allowedActions:{canUpdate:Z}}=(0,i.useRBAC)(z),{status:H,data:B}=(0,c.useQuery)("advanced",()=>T(),{onSuccess(){N(s({id:(0,e.OB)("Form.advancedSettings.data.loaded"),defaultMessage:"Advanced settings data has been loaded"}))},onError(){l({type:"warning",message:{id:(0,e.OB)("notification.error"),defaultMessage:"An error occured"}})}}),U=G||H!=="success",F=(0,c.useMutation)(d=>R(d),{async onSuccess(){await I.invalidateQueries("advanced"),l({type:"success",message:{id:(0,e.OB)("notification.success.saved"),defaultMessage:"Saved"}}),M()},onError(){l({type:"warning",message:{id:(0,e.OB)("notification.error"),defaultMessage:"An error occured"}}),M()},refetchActive:!0}),{isLoading:k}=F,D=async d=>{x();const g=d.email_confirmation?d.email_confirmation_redirection:"";await F.mutateAsync({...d,email_confirmation_redirection:g})};return U?t.createElement(n.Main,{"aria-busy":"true"},t.createElement(i.SettingsPageTitle,{name:s({id:(0,e.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),t.createElement(n.HeaderLayout,{title:s({id:(0,e.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),t.createElement(n.ContentLayout,null,t.createElement(i.LoadingIndicatorPage,null))):t.createElement(n.Main,{"aria-busy":k},t.createElement(i.SettingsPageTitle,{name:s({id:(0,e.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),t.createElement(y.Formik,{onSubmit:D,initialValues:B.settings,validateOnChange:!1,validationSchema:m,enableReinitialize:!0},({errors:d,values:g,handleChange:A,isSubmitting:Q})=>t.createElement(i.Form,null,t.createElement(n.HeaderLayout,{title:s({id:(0,e.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"}),primaryAction:t.createElement(n.Button,{loading:Q,type:"submit",disabled:!Z,startIcon:t.createElement(S.Check,null),size:"S"},s({id:"global.save",defaultMessage:"Save"}))}),t.createElement(n.ContentLayout,null,t.createElement(n.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:4},t.createElement(n.Typography,{variant:"delta",as:"h2"},s({id:"global.settings",defaultMessage:"Settings"})),t.createElement(n.Grid,{gap:6},t.createElement(n.GridItem,{col:6,s:12},t.createElement(n.Select,{label:s({id:(0,e.OB)("EditForm.inputSelect.label.role"),defaultMessage:"Default role for authenticated users"}),value:g.default_role,hint:s({id:(0,e.OB)("EditForm.inputSelect.description.role"),defaultMessage:"It will attach the new authenticated user to the selected role."}),onChange:o=>A({target:{name:"default_role",value:o}})},B.roles.map(o=>t.createElement(n.Option,{key:o.type,value:o.type},o.name)))),h.map(o=>{let O=g[o.name];return O||(O=o.type==="bool"?!1:""),t.createElement(n.GridItem,{key:o.name,...o.size},t.createElement(i.GenericInput,{...o,value:O,error:d[o.name],disabled:o.name==="email_confirmation_redirection"&&g.email_confirmation===!1,onChange:A}))}))))))))};var P=w},59677:function(L,f,a){a.d(f,{YX:function(){return y},Gc:function(){return S},OB:function(){return p.Z}});var t=a(86834),c=a.n(t),y=e=>Object.keys(e).reduce((v,h)=>{const r=e[h].controllers,u=Object.keys(r).reduce((E,m)=>(c()(r[m])||(E[m]=r[m]),E),{});return c()(u)||(v[h]={controllers:u}),v},{}),i=a(90201),S=e=>`/${i.Z}/${e}`,p=a(82069)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8418],{218:function(S,h,s){s.r(h),s.d(h,{default:function(){return H}});var e=s(32735),v=s(84968),T=s(5636),a=s(13478),t=s(39161),B=s(88369),l=s(59677);const f=async()=>{const{get:n}=(0,a.getFetchClient)(),{data:o}=await n((0,l.Gc)("email-templates"));return o},M=n=>{const{put:o}=(0,a.getFetchClient)();return o((0,l.Gc)("email-templates"),n)};var O=s(60216),i=s.n(O),E=s(57269);const y=({canUpdate:n,onEditClick:o})=>{const{formatMessage:r}=(0,T.useIntl)();return e.createElement(t.Table,{colCount:3,rowCount:3},e.createElement(t.Thead,null,e.createElement(t.Tr,null,e.createElement(t.Th,{width:"1%"},e.createElement(t.VisuallyHidden,null,r({id:(0,l.OB)("Email.template.table.icon.label"),defaultMessage:"icon"}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},r({id:(0,l.OB)("Email.template.table.name.label"),defaultMessage:"name"}))),e.createElement(t.Th,{width:"1%"},e.createElement(t.VisuallyHidden,null,r({id:(0,l.OB)("Email.template.table.action.label"),defaultMessage:"action"}))))),e.createElement(t.Tbody,null,e.createElement(t.Tr,{...(0,a.onRowClick)({fn:()=>o("reset_password")})},e.createElement(t.Td,null,e.createElement(t.Icon,null,e.createElement(E.Refresh,{"aria-label":r({id:"global.reset-password",defaultMessage:"Reset password"})}))),e.createElement(t.Td,null,e.createElement(t.Typography,null,r({id:"global.reset-password",defaultMessage:"Reset password"}))),e.createElement(t.Td,{...a.stopPropagation},e.createElement(t.IconButton,{onClick:()=>o("reset_password"),label:r({id:(0,l.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:n&&e.createElement(E.Pencil,null)}))),e.createElement(t.Tr,{...(0,a.onRowClick)({fn:()=>o("email_confirmation")})},e.createElement(t.Td,null,e.createElement(t.Icon,null,e.createElement(E.Check,{"aria-label":r({id:(0,l.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"})}))),e.createElement(t.Td,null,e.createElement(t.Typography,null,r({id:(0,l.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"}))),e.createElement(t.Td,{...a.stopPropagation},e.createElement(t.IconButton,{onClick:()=>o("email_confirmation"),label:r({id:(0,l.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:n&&e.createElement(E.Pencil,null)})))))};y.propTypes={canUpdate:i().bool.isRequired,onEditClick:i().func.isRequired};var b=y,U=s(83281),c=s(5173),G=c.Ry().shape({options:c.Ry().shape({from:c.Ry().shape({name:c.Z_().required(a.translatedErrors.required),email:c.Z_().email(a.translatedErrors.email).required(a.translatedErrors.required)}).required(),response_email:c.Z_().email(a.translatedErrors.email),object:c.Z_().required(a.translatedErrors.required),message:c.Z_().required(a.translatedErrors.required)}).required(a.translatedErrors.required)});const R=({template:n,onToggle:o,onSubmit:r})=>{const{formatMessage:m}=(0,T.useIntl)();return e.createElement(t.ModalLayout,{onClose:o,labelledBy:`${m({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${m({id:(0,l.OB)(n.display),defaultMessage:n.display})}`},e.createElement(t.ModalHeader,null,e.createElement(t.Breadcrumbs,{label:`${m({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${m({id:(0,l.OB)(n.display),defaultMessage:n.display})}`},e.createElement(t.Crumb,null,m({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})),e.createElement(t.Crumb,null,m({id:(0,l.OB)(n.display),defaultMessage:n.display})))),e.createElement(U.Formik,{onSubmit:r,initialValues:n,validateOnChange:!1,validationSchema:G,enableReinitialize:!0},({errors:d,values:u,handleChange:p,isSubmitting:C})=>e.createElement(a.Form,null,e.createElement(t.ModalBody,null,e.createElement(t.Grid,{gap:5},e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.from.name.label"),defaultMessage:"Shipper name"},name:"options.from.name",onChange:p,value:u.options.from.name,error:d?.options?.from?.name,type:"text"})),e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.from.email.label"),defaultMessage:"Shipper email"},name:"options.from.email",onChange:p,value:u.options.from.email,error:d?.options?.from?.email,type:"text"})),e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.response_email.label"),defaultMessage:"Response email"},name:"options.response_email",onChange:p,value:u.options.response_email,error:d?.options?.response_email,type:"text"})),e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.object.label"),defaultMessage:"Subject"},name:"options.object",onChange:p,value:u.options.object,error:d?.options?.object,type:"text"})),e.createElement(t.GridItem,{col:12,s:12},e.createElement(t.Textarea,{label:m({id:(0,l.OB)("PopUpForm.Email.options.message.label"),defaultMessage:"Message"}),name:"options.message",onChange:p,value:u.options.message,error:d?.options?.message&&m({id:d.options.message,defaultMessage:d.options.message})})))),e.createElement(t.ModalFooter,{startActions:e.createElement(t.Button,{onClick:o,variant:"tertiary"},"Cancel"),endActions:e.createElement(t.Button,{loading:C,type:"submit"},"Finish")}))))};R.propTypes={template:i().shape({display:i().string,icon:i().string,options:i().shape({from:i().shape({name:i().string,email:i().string}),message:i().string,object:i().string,response_email:i().string})}).isRequired,onSubmit:i().func.isRequired,onToggle:i().func.isRequired};var k=R;const A=()=>e.createElement(a.CheckPagePermissions,{permissions:B.Z.readEmailTemplates},e.createElement(j,null)),j=()=>{const{formatMessage:n}=(0,T.useIntl)(),{trackUsage:o}=(0,a.useTracking)(),{notifyStatus:r}=(0,t.useNotifyAT)(),m=(0,a.useNotification)(),{lockApp:d,unlockApp:u}=(0,a.useOverlayBlocker)(),p=(0,e.useRef)(o),C=(0,v.useQueryClient)();(0,a.useFocusWhenNavigate)();const[Z,N]=(0,e.useState)(!1),[F,$]=(0,e.useState)(null),x=(0,e.useMemo)(()=>({update:B.Z.updateEmailTemplates}),[]),{isLoading:q,allowedActions:{canUpdate:w}}=(0,a.useRBAC)(x),{status:Q,data:I}=(0,v.useQuery)("email-templates",()=>f(),{onSuccess(){r(n({id:(0,l.OB)("Email.template.data.loaded"),defaultMessage:"Email templates has been loaded"}))},onError(){m({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),V=q||Q!=="success",P=()=>{N(g=>!g)},D=g=>{$(g),P()},L=(0,v.useMutation)(g=>M({"email-templates":g}),{async onSuccess(){await C.invalidateQueries("email-templates"),m({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}}),p.current("didEditEmailTemplates"),u(),P()},onError(){m({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),u()},refetchActive:!0}),{isLoading:z}=L,W=g=>{d(),p.current("willEditEmailTemplates");const X={...I,[F]:g};L.mutate(X)};return V?e.createElement(t.Main,{"aria-busy":"true"},e.createElement(a.SettingsPageTitle,{name:n({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.HeaderLayout,{title:n({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.ContentLayout,null,e.createElement(a.LoadingIndicatorPage,null))):e.createElement(t.Main,{"aria-busy":z},e.createElement(a.SettingsPageTitle,{name:n({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.HeaderLayout,{title:n({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.ContentLayout,null,e.createElement(b,{onEditClick:D,canUpdate:w}),Z&&e.createElement(k,{template:I[F],onToggle:P,onSubmit:W})))};var H=A},59677:function(S,h,s){s.d(h,{YX:function(){return T},Gc:function(){return B},OB:function(){return l.Z}});var e=s(92891),T=f=>Object.keys(f).reduce((M,O)=>{const i=f[O].controllers,E=Object.keys(i).reduce((y,b)=>((0,e.isEmpty)(i[b])||(y[b]=i[b]),y),{});return(0,e.isEmpty)(E)||(M[O]={controllers:E}),M},{}),a=s(90201),B=f=>`/${a.Z}/${f}`,l=s(82069)}}]);
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8418],{218:function(U,v,n){n.r(v),n.d(v,{default:function(){return H}});var e=n(32735),f=n(84968),B=n(5636),a=n(13478),t=n(39161),O=n(88369),l=n(59677);const C=async()=>{const{get:s}=(0,a.getFetchClient)(),{data:o}=await s((0,l.Gc)("email-templates"));return o},y=s=>{const{put:o}=(0,a.getFetchClient)();return o((0,l.Gc)("email-templates"),s)};var T=n(60216),i=n.n(T),c=n(57269);const M=({canUpdate:s,onEditClick:o})=>{const{formatMessage:r}=(0,B.useIntl)();return e.createElement(t.Table,{colCount:3,rowCount:3},e.createElement(t.Thead,null,e.createElement(t.Tr,null,e.createElement(t.Th,{width:"1%"},e.createElement(t.VisuallyHidden,null,r({id:(0,l.OB)("Email.template.table.icon.label"),defaultMessage:"icon"}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},r({id:(0,l.OB)("Email.template.table.name.label"),defaultMessage:"name"}))),e.createElement(t.Th,{width:"1%"},e.createElement(t.VisuallyHidden,null,r({id:(0,l.OB)("Email.template.table.action.label"),defaultMessage:"action"}))))),e.createElement(t.Tbody,null,e.createElement(t.Tr,{...(0,a.onRowClick)({fn:()=>o("reset_password")})},e.createElement(t.Td,null,e.createElement(t.Icon,null,e.createElement(c.Refresh,{"aria-label":r({id:"global.reset-password",defaultMessage:"Reset password"})}))),e.createElement(t.Td,null,e.createElement(t.Typography,null,r({id:"global.reset-password",defaultMessage:"Reset password"}))),e.createElement(t.Td,{...a.stopPropagation},e.createElement(t.IconButton,{onClick:()=>o("reset_password"),label:r({id:(0,l.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:s&&e.createElement(c.Pencil,null)}))),e.createElement(t.Tr,{...(0,a.onRowClick)({fn:()=>o("email_confirmation")})},e.createElement(t.Td,null,e.createElement(t.Icon,null,e.createElement(c.Check,{"aria-label":r({id:(0,l.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"})}))),e.createElement(t.Td,null,e.createElement(t.Typography,null,r({id:(0,l.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"}))),e.createElement(t.Td,{...a.stopPropagation},e.createElement(t.IconButton,{onClick:()=>o("email_confirmation"),label:r({id:(0,l.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:s&&e.createElement(c.Pencil,null)})))))};M.propTypes={canUpdate:i().bool.isRequired,onEditClick:i().func.isRequired};var b=M,h=n(83281),u=n(5173),G=u.Ry().shape({options:u.Ry().shape({from:u.Ry().shape({name:u.Z_().required(a.translatedErrors.required),email:u.Z_().email(a.translatedErrors.email).required(a.translatedErrors.required)}).required(),response_email:u.Z_().email(a.translatedErrors.email),object:u.Z_().required(a.translatedErrors.required),message:u.Z_().required(a.translatedErrors.required)}).required(a.translatedErrors.required)});const F=({template:s,onToggle:o,onSubmit:r})=>{const{formatMessage:m}=(0,B.useIntl)();return e.createElement(t.ModalLayout,{onClose:o,labelledBy:`${m({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${m({id:(0,l.OB)(s.display),defaultMessage:s.display})}`},e.createElement(t.ModalHeader,null,e.createElement(t.Breadcrumbs,{label:`${m({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${m({id:(0,l.OB)(s.display),defaultMessage:s.display})}`},e.createElement(t.Crumb,null,m({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})),e.createElement(t.Crumb,null,m({id:(0,l.OB)(s.display),defaultMessage:s.display})))),e.createElement(h.Formik,{onSubmit:r,initialValues:s,validateOnChange:!1,validationSchema:G,enableReinitialize:!0},({errors:d,values:p,handleChange:E,isSubmitting:P})=>e.createElement(a.Form,null,e.createElement(t.ModalBody,null,e.createElement(t.Grid,{gap:5},e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.from.name.label"),defaultMessage:"Shipper name"},name:"options.from.name",onChange:E,value:p.options.from.name,error:d?.options?.from?.name,type:"text"})),e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.from.email.label"),defaultMessage:"Shipper email"},name:"options.from.email",onChange:E,value:p.options.from.email,error:d?.options?.from?.email,type:"text"})),e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.response_email.label"),defaultMessage:"Response email"},name:"options.response_email",onChange:E,value:p.options.response_email,error:d?.options?.response_email,type:"text"})),e.createElement(t.GridItem,{col:6,s:12},e.createElement(a.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.object.label"),defaultMessage:"Subject"},name:"options.object",onChange:E,value:p.options.object,error:d?.options?.object,type:"text"})),e.createElement(t.GridItem,{col:12,s:12},e.createElement(t.Textarea,{label:m({id:(0,l.OB)("PopUpForm.Email.options.message.label"),defaultMessage:"Message"}),name:"options.message",onChange:E,value:p.options.message,error:d?.options?.message&&m({id:d.options.message,defaultMessage:d.options.message})})))),e.createElement(t.ModalFooter,{startActions:e.createElement(t.Button,{onClick:o,variant:"tertiary"},"Cancel"),endActions:e.createElement(t.Button,{loading:P,type:"submit"},"Finish")}))))};F.propTypes={template:i().shape({display:i().string,icon:i().string,options:i().shape({from:i().shape({name:i().string,email:i().string}),message:i().string,object:i().string,response_email:i().string})}).isRequired,onSubmit:i().func.isRequired,onToggle:i().func.isRequired};var A=F;const j=()=>e.createElement(a.CheckPagePermissions,{permissions:O.Z.readEmailTemplates},e.createElement(k,null)),k=()=>{const{formatMessage:s}=(0,B.useIntl)(),{trackUsage:o}=(0,a.useTracking)(),{notifyStatus:r}=(0,t.useNotifyAT)(),m=(0,a.useNotification)(),{lockApp:d,unlockApp:p}=(0,a.useOverlayBlocker)(),E=(0,e.useRef)(o),P=(0,f.useQueryClient)();(0,a.useFocusWhenNavigate)();const[Z,N]=(0,e.useState)(!1),[I,$]=(0,e.useState)(null),x=(0,e.useMemo)(()=>({update:O.Z.updateEmailTemplates}),[]),{isLoading:q,allowedActions:{canUpdate:w}}=(0,a.useRBAC)(x),{status:Q,data:L}=(0,f.useQuery)("email-templates",()=>C(),{onSuccess(){r(s({id:(0,l.OB)("Email.template.data.loaded"),defaultMessage:"Email templates has been loaded"}))},onError(){m({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),V=q||Q!=="success",R=()=>{N(g=>!g)},D=g=>{$(g),R()},S=(0,f.useMutation)(g=>y({"email-templates":g}),{async onSuccess(){await P.invalidateQueries("email-templates"),m({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}}),E.current("didEditEmailTemplates"),p(),R()},onError(){m({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),p()},refetchActive:!0}),{isLoading:z}=S,W=g=>{d(),E.current("willEditEmailTemplates");const X={...L,[I]:g};S.mutate(X)};return V?e.createElement(t.Main,{"aria-busy":"true"},e.createElement(a.SettingsPageTitle,{name:s({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.HeaderLayout,{title:s({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.ContentLayout,null,e.createElement(a.LoadingIndicatorPage,null))):e.createElement(t.Main,{"aria-busy":z},e.createElement(a.SettingsPageTitle,{name:s({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.HeaderLayout,{title:s({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(t.ContentLayout,null,e.createElement(b,{onEditClick:D,canUpdate:w}),Z&&e.createElement(A,{template:L[I],onToggle:R,onSubmit:W})))};var H=j},59677:function(U,v,n){n.d(v,{YX:function(){return a},Gc:function(){return l},OB:function(){return C.Z}});var e=n(86834),f=n.n(e),a=y=>Object.keys(y).reduce((T,i)=>{const c=y[i].controllers,M=Object.keys(c).reduce((b,h)=>(f()(c[h])||(b[h]=c[h]),b),{});return f()(M)||(T[i]={controllers:M}),T},{}),t=n(90201),l=y=>`/${t.Z}/${y}`,C=n(82069)}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2282],{51509:function(f,P,t){"use strict";t.r(P),t.d(P,{ProvidersPage:function(){return K},default:function(){return le}});var e=t(32735),d=t(5636),a=t(13478),l=t(23973),u=t.n(l),m=t(23940),o=t.n(m),r=t(39161),p=t(57269),b=t(84968),n=t(5173),s=t(59677);const U={id:(0,s.OB)("PopUpForm.Providers.redirectURL.front-end.label"),defaultMessage:"The redirect URL to your front-end app"},F={id:"http://www.client-app.com",defaultMessage:"http://www.client-app.com"},C={id:(0,s.OB)("PopUpForm.Providers.enabled.description"),defaultMessage:"If disabled, users won't be able to use this provider."},y={id:(0,s.OB)("PopUpForm.Providers.enabled.label"),defaultMessage:"Enable"},Z={id:(0,s.OB)("PopUpForm.Providers.key.label"),defaultMessage:"Client ID"},D={id:(0,s.OB)("PopUpForm.Providers.redirectURL.label"),defaultMessage:"The redirect URL to add in your {provider} application configurations"},k={id:(0,s.OB)("PopUpForm.Providers.key.placeholder"),defaultMessage:"TEXT"},z={id:(0,s.OB)("PopUpForm.Providers.secret.label"),defaultMessage:"Client Secret"};var G={email:{form:[[{intlLabel:y,name:"enabled",type:"bool",description:C,size:6}]],schema:n.Ry().shape({enabled:n.Xg().required(a.translatedErrors.required)})},providers:{form:[[{intlLabel:y,name:"enabled",type:"bool",description:C,size:6,validations:{required:!0}}],[{intlLabel:Z,name:"key",type:"text",placeholder:k,size:12,validations:{required:!0}}],[{intlLabel:z,name:"secret",type:"text",placeholder:k,size:12,validations:{required:!0}}],[{intlLabel:U,placeholder:F,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:D,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:n.Ry().shape({enabled:n.Xg().required(a.translatedErrors.required),key:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),secret:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),callback:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()})})},providersWithSubdomain:{form:[[{intlLabel:y,name:"enabled",type:"bool",description:C,size:6,validations:{required:!0}}],[{intlLabel:Z,name:"key",type:"text",placeholder:k,size:12,validations:{required:!0}}],[{intlLabel:z,name:"secret",type:"text",placeholder:k,size:12,validations:{required:!0}}],[{intlLabel:{id:(0,s.OB)({id:"PopUpForm.Providers.jwksurl.label"}),defaultMessage:"JWKS URL"},name:"jwksurl",type:"text",placeholder:k,size:12,validations:{required:!1}}],[{intlLabel:{id:(0,s.OB)("PopUpForm.Providers.subdomain.label"),defaultMessage:"Host URI (Subdomain)"},name:"subdomain",type:"text",placeholder:{id:(0,s.OB)("PopUpForm.Providers.subdomain.placeholder"),defaultMessage:"my.subdomain.com"},size:12,validations:{required:!0}}],[{intlLabel:U,placeholder:F,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:D,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:n.Ry().shape({enabled:n.Xg().required(a.translatedErrors.required),key:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),secret:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),subdomain:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()}),callback:n.Z_().when("enabled",{is:!0,then:n.Z_().required(a.translatedErrors.required),otherwise:n.Z_()})})}};const _=async c=>{try{const{get:v}=(0,a.getFetchClient)(),{data:M}=await v((0,s.Gc)("providers"));return M}catch{throw c({type:"warning",message:{id:"notification.error"}}),new Error("error")}},ee=c=>{const{put:v}=(0,a.getFetchClient)();return v((0,s.Gc)("providers"),c)};var te=t(98978),re=t.n(te),ae=c=>re()(Object.keys(c).reduce((v,M)=>{const{icon:T,enabled:E,subdomain:O}=c[M],L=T==="envelope"?["fas","envelope"]:["fab",T];return O!==void 0?v.push({name:M,icon:L,enabled:E,subdomain:O}):v.push({name:M,icon:L,enabled:E}),v},[]),"name"),J=t(88369),ne=t(60216),i=t.n(ne),se=t(83281);const H=({description:c,disabled:v,intlLabel:M,error:T,name:E,onChange:O,placeholder:L,providerToEditName:S,type:R,value:g})=>{const{formatMessage:B}=(0,d.useIntl)(),A=E==="noName"?`${strapi.backendURL}/api/connect/${S}/callback`:g,q=B({id:M.id,defaultMessage:M.defaultMessage},{provider:S,...M.values}),x=c?B({id:c.id,defaultMessage:c.defaultMessage},{provider:S,...c.values}):"";if(R==="bool")return e.createElement(r.ToggleInput,{"aria-label":E,checked:g,disabled:v,hint:x,label:q,name:E,offLabel:B({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:B({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:w=>{O({target:{name:E,value:w.target.checked}})}});const X=L?B({id:L.id,defaultMessage:L.defaultMessage},{...L.values}):"",$=T?B({id:T,defaultMessage:T}):"";return e.createElement(r.TextInput,{"aria-label":E,disabled:v,error:$,label:q,name:E,onChange:O,placeholder:X,type:R,value:A})};H.defaultProps={description:null,disabled:!1,error:"",placeholder:null,value:""},H.propTypes={description:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired,values:i().object}),disabled:i().bool,error:i().string,intlLabel:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired,values:i().object}).isRequired,name:i().string.isRequired,onChange:i().func.isRequired,placeholder:i().shape({id:i().string.isRequired,defaultMessage:i().string.isRequired,values:i().object}),providerToEditName:i().string.isRequired,type:i().string.isRequired,value:i().oneOfType([i().bool,i().string])};var ie=H;const W=({headerBreadcrumbs:c,initialData:v,isSubmiting:M,layout:T,isOpen:E,onSubmit:O,onToggle:L,providerToEditName:S})=>{const{formatMessage:R}=(0,d.useIntl)();return E?e.createElement(r.ModalLayout,{onClose:L,labelledBy:"title"},e.createElement(r.ModalHeader,null,e.createElement(r.Breadcrumbs,{label:c.join(", ")},c.map(g=>e.createElement(r.Crumb,{key:g},g)))),e.createElement(se.Formik,{onSubmit:g=>O(g),initialValues:v,validationSchema:T.schema,validateOnChange:!1},({errors:g,handleChange:B,values:A})=>e.createElement(a.Form,null,e.createElement(r.ModalBody,null,e.createElement(r.Flex,{direction:"column",alignItems:"stretch",gap:1},e.createElement(r.Grid,{gap:5},T.form.map(q=>q.map(x=>e.createElement(r.GridItem,{key:x.name,col:x.size,xs:12},e.createElement(ie,{...x,error:g[x.name],onChange:B,value:A[x.name],providerToEditName:S}))))))),e.createElement(r.ModalFooter,{startActions:e.createElement(r.Button,{variant:"tertiary",onClick:L,type:"button"},R({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(r.Button,{type:"submit",loading:M},R({id:"global.save",defaultMessage:"Save"}))})))):null};W.defaultProps={initialData:null,providerToEditName:null},W.propTypes={headerBreadcrumbs:i().arrayOf(i().string).isRequired,initialData:i().object,layout:i().shape({form:i().arrayOf(i().array),schema:i().object}).isRequired,isOpen:i().bool.isRequired,isSubmiting:i().bool.isRequired,onSubmit:i().func.isRequired,onToggle:i().func.isRequired,providerToEditName:i().string};var oe=W;const K=()=>{const{formatMessage:c}=(0,d.useIntl)();(0,a.useFocusWhenNavigate)();const{notifyStatus:v}=(0,r.useNotifyAT)(),M=(0,b.useQueryClient)(),{trackUsage:T}=(0,a.useTracking)(),E=(0,e.useRef)(T),[O,L]=(0,e.useState)(!1),[S,R]=(0,e.useState)(!1),[g,B]=(0,e.useState)(null),A=(0,a.useNotification)(),{lockApp:q,unlockApp:x}=(0,a.useOverlayBlocker)(),X=(0,e.useMemo)(()=>({update:J.Z.updateProviders}),[]),{isLoading:$,allowedActions:{canUpdate:w}}=(0,a.useRBAC)(X),{isLoading:de,data:j,isFetching:ue}=(0,b.useQuery)("get-providers",()=>_(A),{onSuccess(){v(c({id:(0,s.OB)("Providers.data.loaded"),defaultMessage:"Providers have been loaded"}))},initialData:{}}),ce=de||ue,me=(0,b.useMutation)(ee,{async onSuccess(){await M.invalidateQueries("get-providers"),A({type:"info",message:{id:(0,s.OB)("notification.success.submit")}}),E.current("didEditAuthenticationProvider"),R(!1),Q(),x()},onError(){A({type:"warning",message:{id:"notification.error"}}),x(),R(!1)},refetchActive:!1}),N=(0,e.useMemo)(()=>ae(j),[j]),pe=N.length,Y=(0,e.useMemo)(()=>{if(!g)return!1;const h=N.find(V=>V.name===g);return u()(h,"subdomain")},[N,g]),ge=c({id:(0,s.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"}),fe=(0,e.useMemo)(()=>g==="email"?G.email:Y?G.providersWithSubdomain:G.providers,[g,Y]),Q=()=>{L(h=>!h)},I=h=>{w&&(B(h.name),Q())},be=async h=>{R(!0),q(),E.current("willEditAuthenticationProvider");const V={...j,[g]:h};me.mutate({providers:V})};return e.createElement(r.Layout,null,e.createElement(a.SettingsPageTitle,{name:ge}),e.createElement(r.Main,null,e.createElement(r.HeaderLayout,{title:c({id:(0,s.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),ce||$?e.createElement(a.LoadingIndicatorPage,null):e.createElement(r.ContentLayout,null,e.createElement(r.Table,{colCount:3,rowCount:pe+1},e.createElement(r.Thead,null,e.createElement(r.Tr,null,e.createElement(r.Th,null,e.createElement(r.Typography,{variant:"sigma",textColor:"neutral600"},c({id:"global.name",defaultMessage:"Name"}))),e.createElement(r.Th,null,e.createElement(r.Typography,{variant:"sigma",textColor:"neutral600"},c({id:(0,s.OB)("Providers.status"),defaultMessage:"Status"}))),e.createElement(r.Th,null,e.createElement(r.Typography,{variant:"sigma"},e.createElement(r.VisuallyHidden,null,c({id:"global.settings",defaultMessage:"Settings"})))))),e.createElement(r.Tbody,null,N.map(h=>e.createElement(r.Tr,{key:h.name,...(0,a.onRowClick)({fn:()=>I(h),condition:w})},e.createElement(r.Td,{width:"45%"},e.createElement(r.Typography,{fontWeight:"semiBold",textColor:"neutral800"},h.name)),e.createElement(r.Td,{width:"65%"},e.createElement(r.Typography,{textColor:h.enabled?"success600":"danger600","data-testid":`enable-${h.name}`},h.enabled?c({id:"global.enabled",defaultMessage:"Enabled"}):c({id:"global.disabled",defaultMessage:"Disabled"}))),e.createElement(r.Td,{...a.stopPropagation},w&&e.createElement(r.IconButton,{onClick:()=>I(h),noBorder:!0,icon:e.createElement(p.Pencil,null),label:"Edit"})))))))),e.createElement(oe,{initialData:j[g],isOpen:O,isSubmiting:S,layout:fe,headerBreadcrumbs:[c({id:(0,s.OB)("PopUpForm.header.edit.providers"),defaultMessage:"Edit Provider"}),o()(g)],onToggle:Q,onSubmit:be,providerToEditName:g}))};var le=()=>e.createElement(a.CheckPagePermissions,{permissions:J.Z.readProviders},e.createElement(K,null))},59677:function(f,P,t){"use strict";t.d(P,{YX:function(){return l},Gc:function(){return o},OB:function(){return r.Z}});var e=t(86834),d=t.n(e),l=p=>Object.keys(p).reduce((b,n)=>{const s=p[n].controllers,U=Object.keys(s).reduce((F,C)=>(d()(s[C])||(F[C]=s[C]),F),{});return d()(U)||(b[n]={controllers:U}),b},{}),u=t(90201),o=p=>`/${u.Z}/${p}`,r=t(82069)},56671:function(f,P,t){var e=t(35897),d=t(74741),a=d(e);f.exports=a},52920:function(f,P,t){var e=t(56671),d=t(81580);function a(l,u){var m=-1,o=d(l)?Array(l.length):[];return e(l,function(r,p,b){o[++m]=u(r,p,b)}),o}f.exports=a},50690:function(f,P,t){var e=t(26460),d=t(80166),a=t(88904),l=t(52920),u=t(36024),m=t(76535),o=t(1397),r=t(15362),p=t(77236);function b(n,s,U){s.length?s=e(s,function(y){return p(y)?function(Z){return d(Z,y.length===1?y[0]:y)}:y}):s=[r];var F=-1;s=e(s,m(a));var C=l(n,function(y,Z,D){var k=e(s,function(z){return z(y)});return{criteria:k,index:++F,value:y}});return u(C,function(y,Z){return o(y,Z,U)})}f.exports=b},36024:function(f){function P(t,e){var d=t.length;for(t.sort(e);d--;)t[d]=t[d].value;return t}f.exports=P},40709:function(f,P,t){var e=t(22945);function d(a,l){if(a!==l){var u=a!==void 0,m=a===null,o=a===a,r=e(a),p=l!==void 0,b=l===null,n=l===l,s=e(l);if(!b&&!s&&!r&&a>l||r&&p&&n&&!b&&!s||m&&p&&n||!u&&n||!o)return 1;if(!m&&!r&&!s&&a<l||s&&u&&o&&!m&&!r||b&&u&&o||!p&&o||!n)return-1}return 0}f.exports=d},1397:function(f,P,t){var e=t(40709);function d(a,l,u){for(var m=-1,o=a.criteria,r=l.criteria,p=o.length,b=u.length;++m<p;){var n=e(o[m],r[m]);if(n){if(m>=b)return n;var s=u[m];return n*(s=="desc"?-1:1)}}return a.index-l.index}f.exports=d},74741:function(f,P,t){var e=t(81580);function d(a,l){return function(u,m){if(u==null)return u;if(!e(u))return a(u,m);for(var o=u.length,r=l?o:-1,p=Object(u);(l?r--:++r<o)&&m(p[r],r,p)!==!1;);return u}}f.exports=d},98978:function(f,P,t){var e=t(40314),d=t(50690),a=t(94569),l=t(63108),u=a(function(m,o){if(m==null)return[];var r=o.length;return r>1&&l(m,o[0],o[1])?o=[]:r>2&&l(o[0],o[1],o[2])&&(o=[o[0]]),d(m,e(o,1),[])});f.exports=u}}]);
@@ -0,0 +1,30 @@
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{77495:function(f,b,n){"use strict";n.r(b),n.d(b,{default:function(){return et}});var e=n(32735),d=n(5141),r=n(13478),i=n(90201),l=n(88369),t=n(39161),m=n(57269),R=n(5636),P=n(84968),x=n(58469),T=n(59677);const D=async(s,o)=>{try{const{get:a}=(0,r.getFetchClient)(),{data:c}=await a((0,T.Gc)("roles"));return o("The roles have loaded successfully"),c}catch{throw s({type:"warning",message:{id:"notification.error"}}),new Error("error")}},F=async(s,o)=>{try{const{del:a}=(0,r.getFetchClient)();await a(`${(0,T.Gc)("roles")}/${s}`)}catch{o({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}};var B=n(60216),v=n.n(B);const M=({sortedRoles:s,canDelete:o,permissions:a,setRoleToDelete:c,onDelete:p})=>{const{formatMessage:u}=(0,R.useIntl)(),{push:E}=(0,d.useHistory)(),[y,C]=p,h=g=>o&&!["public","authenticated"].includes(g.type),A=g=>{c(g),C(!y)},L=g=>{E(`/settings/${i.Z}/roles/${g}`)};return e.createElement(t.Tbody,null,s?.map(g=>e.createElement(t.Tr,{key:g.name,...(0,r.onRowClick)({fn:()=>L(g.id)})},e.createElement(t.Td,{width:"20%"},e.createElement(t.Typography,null,g.name)),e.createElement(t.Td,{width:"50%"},e.createElement(t.Typography,null,g.description)),e.createElement(t.Td,{width:"30%"},e.createElement(t.Typography,null,`${g.nb_users} ${u({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),e.createElement(t.Td,null,e.createElement(t.Flex,{justifyContent:"end",...r.stopPropagation},e.createElement(r.CheckPermissions,{permissions:a.updateRole},e.createElement(t.IconButton,{onClick:()=>L(g.id),noBorder:!0,icon:e.createElement(m.Pencil,null),label:u({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${g.name}`})})),h(g)&&e.createElement(r.CheckPermissions,{permissions:a.deleteRole},e.createElement(t.IconButton,{onClick:()=>A(g.id),noBorder:!0,icon:e.createElement(m.Trash,null),label:u({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${g.name}`})})))))))};var I=M;M.defaultProps={canDelete:!1},M.propTypes={onDelete:v().array.isRequired,permissions:v().object.isRequired,setRoleToDelete:v().func.isRequired,sortedRoles:v().array.isRequired,canDelete:v().bool};var G=()=>{const{trackUsage:s}=(0,r.useTracking)(),{formatMessage:o}=(0,R.useIntl)(),{push:a}=(0,d.useHistory)(),c=(0,r.useNotification)(),{notifyStatus:p}=(0,t.useNotifyAT)(),[{query:u}]=(0,r.useQueryParams)(),E=u?._q||"",[y,C]=(0,e.useState)(!1),[h,A]=(0,e.useState)(!1),[L,g]=(0,e.useState)();(0,r.useFocusWhenNavigate)();const k=(0,P.useQueryClient)(),U=(0,e.useMemo)(()=>({create:l.Z.createRole,read:l.Z.readRoles,update:l.Z.updateRole,delete:l.Z.deleteRole}),[]),{isLoading:S,allowedActions:{canRead:O,canDelete:N}}=(0,r.useRBAC)(U),{isLoading:j,data:{roles:ce},isFetching:tt}=(0,P.useQuery)("get-roles",()=>D(c,p),{initialData:{},enabled:O}),ue=j||tt,nt=()=>{s("willCreateRole"),a(`/settings/${i.Z}/roles/new`)},st=()=>{C(!y)},rt={roles:{id:(0,T.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,T.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},at=o({id:"global.roles",defaultMessage:"Roles"}),ot=(0,P.useMutation)(dt=>F(dt,c),{async onSuccess(){await k.invalidateQueries("get-roles")}}),it=async()=>{A(!0),await ot.mutateAsync(L),C(!y),A(!1)},Y=(0,x.ZP)(ce||[],E,{keys:["name","description"]}),lt=E&&!Y.length?"search":"roles",ct=4,ut=(ce?.length||0)+1;return e.createElement(t.Layout,null,e.createElement(r.SettingsPageTitle,{name:at}),e.createElement(t.Main,{"aria-busy":ue},e.createElement(t.HeaderLayout,{title:o({id:"global.roles",defaultMessage:"Roles"}),subtitle:o({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:e.createElement(r.CheckPermissions,{permissions:l.Z.createRole},e.createElement(t.Button,{onClick:nt,startIcon:e.createElement(m.Plus,null),size:"S"},o({id:(0,T.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),e.createElement(t.ActionLayout,{startActions:e.createElement(r.SearchURLQuery,{label:o({id:"app.component.search.label",defaultMessage:"Search"})})}),e.createElement(t.ContentLayout,null,!O&&e.createElement(r.NoPermissions,null),(ue||S)&&e.createElement(r.LoadingIndicatorPage,null),O&&Y&&Y?.length?e.createElement(t.Table,{colCount:ct,rowCount:ut},e.createElement(t.Thead,null,e.createElement(t.Tr,null,e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},o({id:"global.name",defaultMessage:"Name"}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},o({id:"global.description",defaultMessage:"Description"}))),e.createElement(t.Th,null,e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},o({id:"global.users",defaultMessage:"Users"}))),e.createElement(t.Th,null,e.createElement(t.VisuallyHidden,null,o({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(I,{sortedRoles:Y,canDelete:N,permissions:l.Z,setRoleToDelete:g,onDelete:[y,C]})):e.createElement(r.EmptyStateLayout,{content:rt[lt]})),e.createElement(r.ConfirmDialog,{isConfirmButtonLoading:h,onConfirm:it,onToggleDialog:st,isOpen:y})))},V=()=>e.createElement(r.CheckPagePermissions,{permissions:l.Z.accessRoles},e.createElement(G,null)),K=n(83281),Z=n(82069),de=n(33795),H=n.n(de),me=n(86834),ge=n.n(me),pe=n(86205),Ee=n.n(pe);const q=(0,e.createContext)({}),_=({children:s,value:o})=>e.createElement(q.Provider,{value:o},s),X=()=>(0,e.useContext)(q);_.propTypes={children:v().node.isRequired,value:v().object.isRequired};var W=n(83292),he=n(37213),fe=n.n(he),ye=n(15738),Ce=n.n(ye),Re=s=>{switch(s){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}};const be=(0,W.default)(t.Box)`
2
+ margin: -1px;
3
+ border-radius: ${({theme:s})=>s.spaces[1]} 0 0 ${({theme:s})=>s.spaces[1]};
4
+ `;function J({route:s}){const{formatMessage:o}=(0,R.useIntl)(),{method:a,handler:c,path:p}=s,u=p?Ce()(p.split("/")):[],[E="",y=""]=c?c.split("."):[],C=Re(s.method);return e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:2},e.createElement(t.Typography,{variant:"delta",as:"h3"},o({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",e.createElement("span",null,E),e.createElement(t.Typography,{variant:"delta",textColor:"primary600"},".",y)),e.createElement(t.Flex,{hasRadius:!0,background:"neutral0",borderColor:"neutral200",gap:0},e.createElement(be,{background:C.background,borderColor:C.border,padding:2},e.createElement(t.Typography,{fontWeight:"bold",textColor:C.text},a)),e.createElement(t.Box,{paddingLeft:2,paddingRight:2},fe()(u,h=>e.createElement(t.Typography,{key:h,textColor:h.includes(":")?"neutral600":"neutral900"},"/",h)))))}J.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},J.propTypes={route:v().shape({handler:v().string,method:v().string,path:v().string})};var ve=J,Te=()=>{const{formatMessage:s}=(0,R.useIntl)(),{selectedAction:o,routes:a}=X(),c=Ee()(o.split("."),"controllers"),p=H()(a,c[0]),u=c.slice(1).join("."),E=ge()(p)?[]:p.filter(y=>y.handler.endsWith(u));return e.createElement(t.GridItem,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},o?e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:2},E.map((y,C)=>e.createElement(ve,{key:C,route:y}))):e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:2},e.createElement(t.Typography,{variant:"delta",as:"h3"},s({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),e.createElement(t.Typography,{as:"p",textColor:"neutral600"},s({id:"users-permissions.Policies.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))},Ae=n(23940),Pe=n.n(Ae);function xe(s){switch(s){case"application":return"Application";case"plugin::content-manager":return"Content manager";case"plugin::content-type-builder":return"Content types builder";case"plugin::documentation":return"Documentation";case"plugin::email":return"Email";case"plugin::i18n":return"i18n";case"plugin::upload":return"Upload";case"plugin::users-permissions":return"Users-permissions";default:return Pe()(s.replace("api::","").replace("plugin::",""))}}var De=xe,Le=n(98978),ee=n.n(Le);const te=W.css`
5
+ background: ${s=>s.theme.colors.primary100};
6
+ svg {
7
+ opacity: 1;
8
+ }
9
+ `;var Me=(0,W.default)(t.Box)`
10
+ display: flex;
11
+ justify-content: space-between;
12
+ align-items: center;
13
+
14
+ svg {
15
+ opacity: 0;
16
+ path {
17
+ fill: ${s=>s.theme.colors.primary600};
18
+ }
19
+ }
20
+
21
+ /* Show active style both on hover and when the action is selected */
22
+ ${s=>s.isActive&&te}
23
+ &:hover {
24
+ ${te}
25
+ }
26
+ `;const Se=W.default.div`
27
+ flex: 1;
28
+ align-self: center;
29
+ border-top: 1px solid ${({theme:s})=>s.colors.neutral150};
30
+ `,ne=({subCategory:s})=>{const{formatMessage:o}=(0,R.useIntl)(),{onChange:a,onChangeSelectAll:c,onSelectedAction:p,selectedAction:u,modifiedData:E}=X(),y=(0,e.useMemo)(()=>H()(E,s.name,{}),[E,s]),C=(0,e.useMemo)(()=>Object.values(y).every(g=>g.enabled===!0),[y]),h=(0,e.useMemo)(()=>Object.values(y).some(g=>g.enabled===!0)&&!C,[y,C]),A=(0,e.useCallback)(({target:{name:g}})=>{c({target:{name:g,value:!C}})},[C,c]),L=(0,e.useCallback)(g=>u===g,[u]);return e.createElement(t.Box,null,e.createElement(t.Flex,{justifyContent:"space-between",alignItems:"center"},e.createElement(t.Box,{paddingRight:4},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},s.label)),e.createElement(Se,null),e.createElement(t.Box,{paddingLeft:4},e.createElement(t.Checkbox,{name:s.name,value:C,onValueChange:g=>A({target:{name:s.name,value:g}}),indeterminate:h},o({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(t.Flex,{paddingTop:6,paddingBottom:6},e.createElement(t.Grid,{gap:2,style:{flex:1}},s.actions.map(g=>{const k=`${g.name}.enabled`;return e.createElement(t.GridItem,{col:6,key:g.name},e.createElement(Me,{isActive:L(g.name),padding:2,hasRadius:!0},e.createElement(t.Checkbox,{value:H()(E,k,!1),name:k,onValueChange:U=>a({target:{name:k,value:U}})},g.label),e.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>p(g.name),style:{display:"inline-flex",alignItems:"center"}},e.createElement(m.Cog,null))))}))))};ne.propTypes={subCategory:v().object.isRequired};var ke=ne;const se=({name:s,permissions:o})=>{const a=(0,e.useMemo)(()=>ee()(Object.values(o.controllers).reduce((c,p,u)=>{const E=`${s}.controllers.${Object.keys(o.controllers)[u]}`,y=ee()(Object.keys(p).reduce((C,h)=>[...C,{...p[h],label:h,name:`${E}.${h}`}],[]),"label");return[...c,{actions:y,label:Object.keys(o.controllers)[u],name:E}]},[]),"label"),[s,o]);return e.createElement(t.Box,{padding:6},a.map(c=>e.createElement(ke,{key:c.name,subCategory:c})))};se.propTypes={name:v().string.isRequired,permissions:v().object.isRequired};var Oe=se,Be=(s,o)=>{const a=Object.keys(o).sort().map(c=>({name:c,isOpen:!1}));return{...s,collapses:a}},Q=n(97889);const Ie={collapses:[]},Ge=(s,o)=>(0,Q.default)(s,a=>{switch(o.type){case"TOGGLE_COLLAPSE":{a.collapses=s.collapses.map((c,p)=>p===o.index?{...c,isOpen:!c.isOpen}:{...c,isOpen:!1});break}default:return a}});var Fe=()=>{const{modifiedData:s}=X(),{formatMessage:o}=(0,R.useIntl)(),[{collapses:a},c]=(0,e.useReducer)(Ge,Ie,u=>Be(u,s)),p=u=>c({type:"TOGGLE_COLLAPSE",index:u});return e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:1},a.map((u,E)=>e.createElement(t.Accordion,{expanded:u.isOpen,onToggle:()=>p(E),key:u.name,variant:E%2===0?"secondary":void 0},e.createElement(t.AccordionToggle,{title:De(u.name),description:o({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:u.name}),variant:E%2?"primary":"secondary"}),e.createElement(t.AccordionContent,null,e.createElement(t.Box,null,e.createElement(Oe,{permissions:s[u.name],name:u.name}))))))},Ue=n(3040),re=n.n(Ue),Ne=n(88708),we=n.n(Ne);const Ze={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]};var $e=(s,o)=>(0,Q.default)(s,a=>{switch(o.type){case"ON_CHANGE":{const c=o.keys.length,p=o.keys[c-1]==="enabled";if(o.value&&p){const u=we()(o.keys,c-1).join(".");a.selectedAction=u}re()(a,["modifiedData",...o.keys],o.value);break}case"ON_CHANGE_SELECT_ALL":{const c=["modifiedData",...o.keys],p=H()(s,c,{}),u=Object.keys(p).reduce((E,y)=>(E[y]={...p[y],enabled:o.value},E),{});re()(a,c,u);break}case"ON_RESET":{a.modifiedData=s.initialData;break}case"ON_SUBMIT_SUCCEEDED":{a.initialData=s.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:c}=o;a.selectedAction=c===s.selectedAction?"":c;break}default:return a}}),je=(s,o,a)=>({...s,initialData:o,modifiedData:o,routes:a});const ae=(0,e.forwardRef)(({permissions:s,routes:o},a)=>{const{formatMessage:c}=(0,R.useIntl)(),[p,u]=(0,e.useReducer)($e,Ze,A=>je(A,s,o));(0,e.useImperativeHandle)(a,()=>({getPermissions(){return{permissions:p.modifiedData}},resetForm(){u({type:"ON_RESET"})},setFormAfterSubmit(){u({type:"ON_SUBMIT_SUCCEEDED"})}}));const h={...p,onChange:({target:{name:A,value:L}})=>u({type:"ON_CHANGE",keys:A.split("."),value:L==="empty__string_value"?"":L}),onChangeSelectAll:({target:{name:A,value:L}})=>u({type:"ON_CHANGE_SELECT_ALL",keys:A.split("."),value:L}),onSelectedAction:A=>u({type:"SELECT_ACTION",actionToSelect:A})};return e.createElement(_,{value:h},e.createElement(t.Grid,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},e.createElement(t.GridItem,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:6},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:2},e.createElement(t.Typography,{variant:"delta",as:"h2"},c({id:(0,Z.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),e.createElement(t.Typography,{as:"p",textColor:"neutral600"},c({id:(0,Z.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),e.createElement(Fe,null))),e.createElement(Te,null)))});ae.propTypes={permissions:v().object.isRequired,routes:v().object.isRequired};var oe=(0,e.memo)(ae);const Ct={isLoading:!0,modifiedData:{}},Rt=(s,o)=>produce(s,a=>{switch(o.type){case"GET_DATA":{a.isLoading=!0,a.modifiedData={};break}case"GET_DATA_SUCCEEDED":{a.isLoading=!1,a.modifiedData=o.data;break}case"GET_DATA_ERROR":{a.isLoading=!0;break}case"ON_SUBMIT_SUCCEEDED":{a.modifiedData=o.data;break}default:return a}});var bt=null;const vt=(s,o)=>{const{isLoading:a,allowedActions:c}=useRBAC(o),[{isLoading:p,modifiedData:u},E]=useReducer(reducer,initialState),y=useNotification(),C=useRef(!0),h=new AbortController,{signal:A}=h;useEffect(()=>(a||(async()=>{try{E({type:"GET_DATA"});const k=await request(getRequestURL(s),{method:"GET",signal:A});E({type:"GET_DATA_SUCCEEDED",data:k})}catch(k){C.current&&(E({type:"GET_DATA_ERROR"}),console.error(k),y({type:"warning",message:{id:"notification.error"}}))}})(),()=>{h.abort(),C.current=!1}),[a,s]);const L=useCallback(g=>{E({type:"ON_SUBMIT_SUCCEEDED",data:g})},[]);return{allowedActions:c,dispatchSubmitSucceeded:L,isLoading:p,isLoadingForPermissions:a,modifiedData:u}};var Tt=null;const At={roles:[],isLoading:!0},Pt=(s,o)=>produce(s,a=>{switch(o.type){case"GET_DATA":{a.isLoading=!0,a.roles=[];break}case"GET_DATA_SUCCEEDED":{a.roles=o.data,a.isLoading=!1;break}case"GET_DATA_ERROR":{a.isLoading=!1;break}default:return a}});var xt=null;const Dt=(s=!0)=>{const[{roles:o,isLoading:a},c]=useReducer(reducer,initialState,()=>init(initialState,s)),p=useNotification(),u=useRef(!0),E=new AbortController,{signal:y}=E;useEffect(()=>(s&&C(),()=>{E.abort(),u.current=!1}),[s]);const C=async()=>{try{c({type:"GET_DATA"});const{roles:h}=await request(`/${pluginId}/roles`,{method:"GET",signal:y});c({type:"GET_DATA_SUCCEEDED",data:h})}catch(h){const A=get(h,["response","payload","message"],"An error occured");u.current&&(c({type:"GET_DATA_ERROR"}),A!=="Forbidden"&&p({type:"warning",message:A}))}};return{roles:o,isLoading:a,getData:C}};var Lt=null,He=(s,o)=>({...s,isLoading:o});const ie={permissions:{},routes:{},isLoading:!0};var Ve=(s,o)=>(0,Q.default)(s,a=>{switch(o.type){case"GET_DATA":{a.isLoading=!0,a.permissions={},a.routes={};break}case"GET_DATA_SUCCEEDED":{a.permissions=o.permissions,a.routes=o.routes,a.isLoading=!1;break}case"GET_DATA_ERROR":{a.isLoading=!1;break}default:return a}}),le=(s=!0)=>{const o=(0,r.useNotification)(),[{permissions:a,routes:c,isLoading:p},u]=(0,e.useReducer)(Ve,ie,()=>He(ie,s)),E=(0,r.useFetchClient)(),y=(0,e.useCallback)(async()=>{try{u({type:"GET_DATA"});const[{permissions:C},{routes:h}]=await Promise.all([`/${i.Z}/permissions`,`/${i.Z}/routes`].map(async A=>(await E.get(A)).data));u({type:"GET_DATA_SUCCEEDED",permissions:(0,T.YX)(C),routes:h})}catch(C){const h=H()(C,["response","payload","message"],"An error occured");u({type:"GET_DATA_ERROR"}),h!=="Forbidden"&&o({type:"warning",message:h})}},[o]);return(0,e.useEffect)(()=>{s&&y()},[y,s]),{permissions:a,routes:c,getData:y,isLoading:p}};const We={role:{},isLoading:!0};var Qe=(s,o)=>(0,Q.default)(s,a=>{switch(o.type){case"GET_DATA_SUCCEEDED":{a.role=o.role,a.isLoading=!1;break}case"GET_DATA_ERROR":{a.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{a.role.name=o.name,a.role.description=o.description;break}default:return a}}),Ye=s=>{const[o,a]=(0,e.useReducer)(Qe,We),c=(0,r.useNotification)(),p=(0,e.useRef)(null),{get:u}=(0,r.useFetchClient)();(0,e.useEffect)(()=>(p.current=!0,s?E(s):a({type:"GET_DATA_SUCCEEDED",role:{}}),()=>p.current=!1),[s]);const E=async C=>{try{const{data:{role:h}}=await u(`/${i.Z}/roles/${C}`);p.current&&a({type:"GET_DATA_SUCCEEDED",role:h})}catch(h){console.error(h),a({type:"GET_DATA_ERROR"}),c({type:"warning",message:{id:"notification.error"}})}},y=(0,e.useCallback)(C=>{a({type:"ON_SUBMIT_SUCCEEDED",...C})},[]);return{...o,onSubmitSucceeded:y}},$=n(5173),ze=$.Ry().shape({name:$.Z_().required(r.translatedErrors.required),description:$.Z_().required(r.translatedErrors.required)}),Xe=()=>{const{formatMessage:s}=(0,R.useIntl)(),[o,a]=(0,e.useState)(!1),c=(0,r.useNotification)(),{lockApp:p,unlockApp:u}=(0,r.useOverlayBlocker)(),{params:{id:E}}=(0,d.useRouteMatch)(`/settings/${i.Z}/roles/:id`),{isLoading:y,routes:C}=le(),{role:h,onSubmitSucceeded:A,isLoading:L}=Ye(E),g=(0,e.useRef)(),{put:k}=(0,r.useFetchClient)(),U=async S=>{p(),a(!0);try{const O=g.current.getPermissions();await k(`/${i.Z}/roles/${E}`,{...S,...O,users:[]}),A({name:S.name,description:S.description}),c({type:"success",message:{id:(0,Z.Z)("Settings.roles.edited"),defaultMessage:"Role edited"}})}catch(O){console.error(O),c({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}a(!1),u()};return L?e.createElement(r.LoadingIndicatorPage,null):e.createElement(t.Main,null,e.createElement(r.SettingsPageTitle,{name:"Roles"}),e.createElement(K.Formik,{enableReinitialize:!0,initialValues:{name:h.name,description:h.description},onSubmit:U,validationSchema:ze},({handleSubmit:S,values:O,handleChange:N,errors:j})=>e.createElement(r.Form,{noValidate:!0,onSubmit:S},e.createElement(t.HeaderLayout,{primaryAction:!y&&e.createElement(t.Button,{disabled:h.code==="strapi-super-admin",type:"submit",loading:o,startIcon:e.createElement(m.Check,null)},s({id:"global.save",defaultMessage:"Save"})),title:h.name,subtitle:h.description,navigationAction:e.createElement(r.Link,{startIcon:e.createElement(m.ArrowLeft,null),to:"/settings/users-permissions/roles"},s({id:"global.back",defaultMessage:"Back"}))}),e.createElement(t.ContentLayout,null,e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:7},e.createElement(t.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:4},e.createElement(t.Typography,{variant:"delta",as:"h2"},s({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(t.Grid,{gap:4},e.createElement(t.GridItem,{col:6},e.createElement(t.TextInput,{name:"name",value:O.name||"",onChange:N,label:s({id:"global.name",defaultMessage:"Name"}),error:j.name?s({id:j.name,defaultMessage:"Invalid value"}):null})),e.createElement(t.GridItem,{col:6},e.createElement(t.Textarea,{name:"description",value:O.description||"",onChange:N,label:s({id:"global.description",defaultMessage:"Description"}),error:j.description?s({id:j.description,defaultMessage:"Invalid value"}):null}))))),!y&&e.createElement(oe,{ref:g,permissions:h.permissions,routes:C}))))))},Je=()=>e.createElement(r.CheckPagePermissions,{permissions:l.Z.updateRole},e.createElement(Xe,null)),Ke=$.Ry().shape({name:$.Z_().required(r.translatedErrors.required),description:$.Z_().required(r.translatedErrors.required)}),qe=()=>{const{formatMessage:s}=(0,R.useIntl)(),[o,a]=(0,e.useState)(!1),c=(0,r.useNotification)(),{goBack:p}=(0,d.useHistory)(),{lockApp:u,unlockApp:E}=(0,r.useOverlayBlocker)(),{isLoading:y,permissions:C,routes:h}=le(),{trackUsage:A}=(0,r.useTracking)(),L=(0,e.useRef)(),{post:g}=(0,r.useFetchClient)(),k=async U=>{u(),a(!0);try{const S=L.current.getPermissions();await g(`/${i.Z}/roles`,{...U,...S,users:[]}),A("didCreateRole"),c({type:"success",message:{id:(0,Z.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),p()}catch(S){console.error(S),c({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}a(!1),E()};return e.createElement(t.Main,null,e.createElement(r.SettingsPageTitle,{name:"Roles"}),e.createElement(K.Formik,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:k,validationSchema:Ke},({handleSubmit:U,values:S,handleChange:O,errors:N})=>e.createElement(r.Form,{noValidate:!0,onSubmit:U},e.createElement(t.HeaderLayout,{primaryAction:!y&&e.createElement(t.Button,{type:"submit",loading:o,startIcon:e.createElement(m.Check,null)},s({id:"global.save",defaultMessage:"Save"})),title:s({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:s({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),e.createElement(t.ContentLayout,null,e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:7},e.createElement(t.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:4},e.createElement(t.Typography,{variant:"delta",as:"h2"},s({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(t.Grid,{gap:4},e.createElement(t.GridItem,{col:6},e.createElement(t.TextInput,{name:"name",value:S.name||"",onChange:O,label:s({id:"global.name",defaultMessage:"Name"}),error:N.name?s({id:N.name,defaultMessage:"Invalid value"}):null})),e.createElement(t.GridItem,{col:6},e.createElement(t.Textarea,{name:"description",value:S.description||"",onChange:O,label:s({id:"global.description",defaultMessage:"Description"}),error:N.description?s({id:N.description,defaultMessage:"Invalid value"}):null}))))),!y&&e.createElement(oe,{ref:L,permissions:C,routes:h}))))))},_e=()=>e.createElement(r.CheckPagePermissions,{permissions:l.Z.createRole},e.createElement(qe,null)),et=()=>e.createElement(r.CheckPagePermissions,{permissions:l.Z.accessRoles},e.createElement(d.Switch,null,e.createElement(d.Route,{path:`/settings/${i.Z}/roles/new`,component:_e,exact:!0}),e.createElement(d.Route,{path:`/settings/${i.Z}/roles/:id`,component:Je,exact:!0}),e.createElement(d.Route,{path:`/settings/${i.Z}/roles`,component:V,exact:!0}),e.createElement(d.Route,{path:"",component:r.NotFound})))},59677:function(f,b,n){"use strict";n.d(b,{YX:function(){return i},Gc:function(){return m},OB:function(){return R.Z}});var e=n(86834),d=n.n(e),i=P=>Object.keys(P).reduce((x,T)=>{const D=P[T].controllers,F=Object.keys(D).reduce((B,v)=>(d()(D[v])||(B[v]=D[v]),B),{});return d()(F)||(x[T]={controllers:F}),x},{}),l=n(90201),m=P=>`/${l.Z}/${P}`,R=n(82069)},88058:function(f,b,n){var e=n(87650);function d(r,i){var l=r==null?0:r.length;return!!l&&e(r,i,0)>-1}f.exports=d},37431:function(f){function b(n,e,d){for(var r=-1,i=n==null?0:n.length;++r<i;)if(d(e,n[r]))return!0;return!1}f.exports=b},91096:function(f,b,n){var e=n(61124),d=n(88058),r=n(37431),i=n(26460),l=n(76535),t=n(30555),m=200;function R(P,x,T,D){var F=-1,B=d,v=!0,M=P.length,I=[],z=x.length;if(!M)return I;T&&(x=i(x,l(T))),D?(B=r,v=!1):x.length>=m&&(B=t,v=!1,x=new e(x));e:for(;++F<M;){var G=P[F],w=T==null?G:T(G);if(G=D||G!==0?G:0,v&&w===w){for(var V=z;V--;)if(x[V]===w)continue e;I.push(G)}else B(x,w,D)||I.push(G)}return I}f.exports=R},56671:function(f,b,n){var e=n(35897),d=n(74741),r=d(e);f.exports=r},60528:function(f){function b(n,e,d,r){for(var i=n.length,l=d+(r?1:-1);r?l--:++l<i;)if(e(n[l],l,n))return l;return-1}f.exports=b},87650:function(f,b,n){var e=n(60528),d=n(25556),r=n(54256);function i(l,t,m){return t===t?r(l,t,m):e(l,d,m)}f.exports=i},25556:function(f){function b(n){return n!==n}f.exports=b},52920:function(f,b,n){var e=n(56671),d=n(81580);function r(i,l){var t=-1,m=d(i)?Array(i.length):[];return e(i,function(R,P,x){m[++t]=l(R,P,x)}),m}f.exports=r},50690:function(f,b,n){var e=n(26460),d=n(80166),r=n(88904),i=n(52920),l=n(36024),t=n(76535),m=n(1397),R=n(15362),P=n(77236);function x(T,D,F){D.length?D=e(D,function(M){return P(M)?function(I){return d(I,M.length===1?M[0]:M)}:M}):D=[R];var B=-1;D=e(D,t(r));var v=i(T,function(M,I,z){var G=e(D,function(w){return w(M)});return{criteria:G,index:++B,value:M}});return l(v,function(M,I){return m(M,I,F)})}f.exports=x},36024:function(f){function b(n,e){var d=n.length;for(n.sort(e);d--;)n[d]=n[d].value;return n}f.exports=b},40709:function(f,b,n){var e=n(22945);function d(r,i){if(r!==i){var l=r!==void 0,t=r===null,m=r===r,R=e(r),P=i!==void 0,x=i===null,T=i===i,D=e(i);if(!x&&!D&&!R&&r>i||R&&P&&T&&!x&&!D||t&&P&&T||!l&&T||!m)return 1;if(!t&&!R&&!D&&r<i||D&&l&&m&&!t&&!R||x&&l&&m||!P&&m||!T)return-1}return 0}f.exports=d},1397:function(f,b,n){var e=n(40709);function d(r,i,l){for(var t=-1,m=r.criteria,R=i.criteria,P=m.length,x=l.length;++t<P;){var T=e(m[t],R[t]);if(T){if(t>=x)return T;var D=l[t];return T*(D=="desc"?-1:1)}}return r.index-i.index}f.exports=d},74741:function(f,b,n){var e=n(81580);function d(r,i){return function(l,t){if(l==null)return l;if(!e(l))return r(l,t);for(var m=l.length,R=i?m:-1,P=Object(l);(i?R--:++R<m)&&t(P[R],R,P)!==!1;);return l}}f.exports=d},54256:function(f){function b(n,e,d){for(var r=d-1,i=n.length;++r<i;)if(n[r]===e)return r;return-1}f.exports=b},37213:function(f,b,n){var e=n(26460),d=n(88904),r=n(52920),i=n(77236);function l(t,m){var R=i(t)?e:r;return R(t,d(m,3))}f.exports=l},98978:function(f,b,n){var e=n(40314),d=n(50690),r=n(94569),i=n(63108),l=r(function(t,m){if(t==null)return[];var R=m.length;return R>1&&i(t,m[0],m[1])?m=[]:R>2&&i(m[0],m[1],m[2])&&(m=[m[0]]),d(t,e(m,1),[])});f.exports=l},15738:function(f,b,n){var e=n(4293);function d(r){var i=r==null?0:r.length;return i?e(r,1,i):[]}f.exports=d},88708:function(f,b,n){var e=n(4293),d=n(25225);function r(i,l,t){return i&&i.length?(l=t||l===void 0?1:d(l),e(i,0,l<0?0:l)):[]}f.exports=r},86205:function(f,b,n){var e=n(91096),d=n(94569),r=n(99747),i=d(function(l,t){return r(l)?e(l,t):[]});f.exports=i}}]);
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{47272:function(V,P,l){l.d(P,{Z:function(){return ie}});var e=l(32735),o=l(13478),t=l(39161),y=l(84968),x=l(5141),R=l(8888),j=l(60216),i=l.n(j),k=l(57269),I=l(83281),T=l(5636),$=l(83292),N=l(23940),z=l.n(N);const O=({disabledEvents:a,name:n,events:r,inputValue:s,handleChange:u,handleChangeAll:p})=>{const d=r.filter(g=>!a.includes(g)),c=s.length===d.length,h=s.length>0,f=({target:{name:g}})=>{p({target:{name:g,value:!c}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(t.Checkbox,{indeterminate:h&&!c,"aria-label":"Select all entries",name:n,onChange:f,value:c},z()(n))),r.map(g=>e.createElement("td",{key:g},e.createElement(t.BaseCheckbox,{disabled:a.includes(g),"aria-label":g,name:g,value:s.includes(g),onValueChange:E=>u({target:{name:g,value:E}})}))))};O.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange(){},handleChangeAll(){}},O.propTypes={disabledEvents:i().array,events:i().array,inputValue:i().array,handleChange:i().func,handleChangeAll:i().func,name:i().string.isRequired};var X=O,Q=a=>a.reduce((n,r)=>{const s=r.split(".")[0];return n[s]||(n[s]=[]),n[s].push(r),n},{});const q=$.default.table`
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{47272:function(V,P,l){l.d(P,{Z:function(){return oe}});var e=l(32735),o=l(13478),t=l(39161),y=l(84968),x=l(5141),R=l(8888),j=l(60216),i=l.n(j),k=l(57269),I=l(83281),T=l(5636),$=l(83292),N=l(23940),z=l.n(N);const O=({disabledEvents:a,name:n,events:r,inputValue:s,handleChange:u,handleChangeAll:p})=>{const d=r.filter(g=>!a.includes(g)),c=s.length===d.length,h=s.length>0,f=({target:{name:g}})=>{p({target:{name:g,value:!c}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(t.Checkbox,{indeterminate:h&&!c,"aria-label":"Select all entries",name:n,onChange:f,value:c},z()(n))),r.map(g=>e.createElement("td",{key:g},e.createElement(t.BaseCheckbox,{disabled:a.includes(g),"aria-label":g,name:g,value:s.includes(g),onValueChange:E=>u({target:{name:g,value:E}})}))))};O.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange(){},handleChangeAll(){}},O.propTypes={disabledEvents:i().array,events:i().array,inputValue:i().array,handleChange:i().func,handleChangeAll:i().func,name:i().string.isRequired};var X=O,Q=a=>a.reduce((n,r)=>{const s=r.split(".")[0];return n[s]||(n[s]=[]),n[s].push(r),n},{});const q=$.default.table`
2
2
  td {
3
3
  height: ${52/16}rem;
4
4
  width: 10%;
@@ -13,11 +13,11 @@
13
13
  tbody tr td:first-child {
14
14
  padding-left: ${({theme:a})=>a.spaces[7]};
15
15
  }
16
- `,w={headers:{default:[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"}],draftAndPublish:[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"},{id:"app.utils.publish",defaultMessage:"Publish"},{id:"app.utils.unpublish",defaultMessage:"Unpublish"}]},events:{default:{entry:["entry.create","entry.update","entry.delete"],media:["media.create","media.update","media.delete"]},draftAndPublish:{entry:["entry.create","entry.update","entry.delete","entry.publish","entry.unpublish"],media:["media.create","media.update","media.delete"]}}},G=({isDraftAndPublish:a})=>{const n=a?w.headers.draftAndPublish:w.headers.default,r=a?w.events.draftAndPublish:w.events.default,{formatMessage:s}=(0,T.useIntl)(),{values:u,handleChange:p}=(0,I.useFormikContext)(),d="events",c=u.events,h=[],f=Q(c),g=({target:{name:m,value:A}})=>{let C=new Set(c);A?C.add(m):C.delete(m),p({target:{name:d,value:Array.from(C)}})},E=({target:{name:m,value:A}})=>{let C=new Set(c);A?r[m].forEach(S=>{h.includes(S)||C.add(S)}):r[m].forEach(S=>C.delete(S)),p({target:{name:d,value:Array.from(C)}})};return e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:1},e.createElement(t.FieldLabel,null,s({id:"Settings.webhooks.form.events",defaultMessage:"Events"})),e.createElement(q,null,e.createElement("thead",null,e.createElement("tr",null,e.createElement("td",null),n.map(m=>m==="app.utils.publish"||m==="app.utils.unpublish"?e.createElement("td",{key:m.id,title:s({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for content with draft & publish enabled"})},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},s(m))):e.createElement("td",{key:m.id},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},s(m)))))),e.createElement("tbody",null,Object.keys(r).map(m=>e.createElement(X,{disabledEvents:h,key:m,name:m,events:r[m],inputValue:f[m],handleChange:g,handleChangeAll:E})))))};G.propTypes={isDraftAndPublish:i().bool.isRequired};var J=G,H=["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"];const D=({name:a,onChange:n,value:r,...s})=>{const[u,p]=(0,e.useState)(r?[...H,r]:H),d=h=>{n({target:{name:a,value:h}})},c=h=>{p(f=>[...f,h]),n({target:{name:a,value:h}})};return e.createElement(t.CreatableCombobox,{...s,onChange:d,onCreateOption:c,placeholder:"",value:r},u.map(h=>e.createElement(t.ComboboxOption,{value:h,key:h},h)))};D.defaultProps={value:void 0},D.propTypes={name:i().string.isRequired,onChange:i().func.isRequired,value:i().string};var Y=D,_=()=>{const{formatMessage:a}=(0,T.useIntl)(),{values:n,errors:r}=(0,I.useFormikContext)();return e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:1},e.createElement(t.FieldLabel,null,a({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(t.Box,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(I.FieldArray,{validateOnChange:!1,name:"headers",render:({push:s,remove:u})=>e.createElement(t.Grid,{gap:4},n.headers?.map((p,d)=>e.createElement(e.Fragment,{key:d},e.createElement(t.GridItem,{col:6},e.createElement(I.Field,{as:Y,name:`headers.${d}.key`,"aria-label":`row ${d+1} key`,label:a({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:r.headers?.[d]?.key&&a({id:r.headers[d]?.key,defaultMessage:r.headers[d]?.key})})),e.createElement(t.GridItem,{col:6},e.createElement(t.Flex,{alignItems:"flex-end"},e.createElement(t.Box,{style:{flex:1}},e.createElement(I.Field,{as:t.TextInput,"aria-label":`row ${d+1} value`,label:a({id:"Settings.webhooks.value",defaultMessage:"Value"}),name:`headers.${d}.value`,error:r.headers?.[d]?.value&&a({id:r.headers[d]?.value,defaultMessage:r.headers[d]?.value})})),e.createElement(t.Flex,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:r.headers?.[d]?.value?0:5},e.createElement(o.RemoveRoundedButton,{onClick:()=>n.headers.length!==1&&u(d),label:a({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:d+1})})))))),e.createElement(t.GridItem,{col:12},e.createElement(t.TextButton,{type:"button",onClick:()=>{s({key:"",value:""})},startIcon:e.createElement(k.Plus,null)},a({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))})))};const F=$.default.svg(({theme:a,color:n})=>`
16
+ `,w={headers:{default:[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"}],draftAndPublish:[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"},{id:"app.utils.publish",defaultMessage:"Publish"},{id:"app.utils.unpublish",defaultMessage:"Unpublish"}]},events:{default:{entry:["entry.create","entry.update","entry.delete"],media:["media.create","media.update","media.delete"]},draftAndPublish:{entry:["entry.create","entry.update","entry.delete","entry.publish","entry.unpublish"],media:["media.create","media.update","media.delete"]}}},G=({isDraftAndPublish:a})=>{const n=a?w.headers.draftAndPublish:w.headers.default,r=a?w.events.draftAndPublish:w.events.default,{formatMessage:s}=(0,T.useIntl)(),{values:u,handleChange:p}=(0,I.useFormikContext)(),d="events",c=u.events,h=[],f=Q(c),g=({target:{name:m,value:A}})=>{let C=new Set(c);A?C.add(m):C.delete(m),p({target:{name:d,value:Array.from(C)}})},E=({target:{name:m,value:A}})=>{let C=new Set(c);A?r[m].forEach(S=>{h.includes(S)||C.add(S)}):r[m].forEach(S=>C.delete(S)),p({target:{name:d,value:Array.from(C)}})};return e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:1},e.createElement(t.FieldLabel,null,s({id:"Settings.webhooks.form.events",defaultMessage:"Events"})),e.createElement(q,null,e.createElement("thead",null,e.createElement("tr",null,e.createElement("td",null),n.map(m=>m==="app.utils.publish"||m==="app.utils.unpublish"?e.createElement("td",{key:m.id,title:s({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for content with draft & publish enabled"})},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},s(m))):e.createElement("td",{key:m.id},e.createElement(t.Typography,{variant:"sigma",textColor:"neutral600"},s(m)))))),e.createElement("tbody",null,Object.keys(r).map(m=>e.createElement(X,{disabledEvents:h,key:m,name:m,events:r[m],inputValue:f[m],handleChange:g,handleChangeAll:E})))))};G.propTypes={isDraftAndPublish:i().bool.isRequired};var _=G,H=["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"];const D=({name:a,onChange:n,value:r,...s})=>{const[u,p]=(0,e.useState)(r?[...H,r]:H),d=h=>{n({target:{name:a,value:h}})},c=h=>{p(f=>[...f,h]),n({target:{name:a,value:h}})};return e.createElement(t.CreatableCombobox,{...s,onChange:d,onCreateOption:c,placeholder:"",value:r},u.map(h=>e.createElement(t.ComboboxOption,{value:h,key:h},h)))};D.defaultProps={value:void 0},D.propTypes={name:i().string.isRequired,onChange:i().func.isRequired,value:i().string};var J=D,Y=()=>{const{formatMessage:a}=(0,T.useIntl)(),{values:n,errors:r}=(0,I.useFormikContext)();return e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:1},e.createElement(t.FieldLabel,null,a({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(t.Box,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(I.FieldArray,{validateOnChange:!1,name:"headers",render:({push:s,remove:u})=>e.createElement(t.Grid,{gap:4},n.headers?.map((p,d)=>e.createElement(e.Fragment,{key:d},e.createElement(t.GridItem,{col:6},e.createElement(I.Field,{as:J,name:`headers.${d}.key`,"aria-label":`row ${d+1} key`,label:a({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:r.headers?.[d]?.key&&a({id:r.headers[d]?.key,defaultMessage:r.headers[d]?.key})})),e.createElement(t.GridItem,{col:6},e.createElement(t.Flex,{alignItems:"flex-end"},e.createElement(t.Box,{style:{flex:1}},e.createElement(I.Field,{as:t.TextInput,"aria-label":`row ${d+1} value`,label:a({id:"Settings.webhooks.value",defaultMessage:"Value"}),name:`headers.${d}.value`,error:r.headers?.[d]?.value&&a({id:r.headers[d]?.value,defaultMessage:r.headers[d]?.value})})),e.createElement(t.Flex,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:r.headers?.[d]?.value?0:5},e.createElement(o.RemoveRoundedButton,{onClick:()=>n.headers.length!==1&&u(d),label:a({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:d+1})})))))),e.createElement(t.GridItem,{col:12},e.createElement(t.TextButton,{type:"button",onClick:()=>{s({key:"",value:""})},startIcon:e.createElement(k.Plus,null)},a({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))})))};const F=$.default.svg(({theme:a,color:n})=>`
17
17
  width: ${12/16}rem;
18
18
  height: ${12/16}rem;
19
19
 
20
20
  path {
21
21
  fill: ${a.colors[n]};
22
22
  }
23
- `),L=({isPending:a,statusCode:n})=>{const{formatMessage:r}=(0,T.useIntl)();return a?e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(F,{as:k.Loader}),e.createElement(t.Typography,null,r({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):n>=200&&n<300?e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(F,{as:k.Check,color:"success700"}),e.createElement(t.Typography,null,r({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):n>=300?e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(F,{as:k.Cross,color:"danger700"}),e.createElement(t.Typography,null,r({id:"Settings.error",defaultMessage:"error"})," ",n)):null};L.propTypes={isPending:i().bool.isRequired,statusCode:i().number},L.defaultProps={statusCode:void 0};const B=({statusCode:a,message:n})=>{const{formatMessage:r}=(0,T.useIntl)();return a>=200&&a<300?e.createElement(t.Flex,{justifyContent:"flex-end"},e.createElement(t.Typography,{textColor:"neutral600",ellipsis:!0},r({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):a>=300?e.createElement(t.Flex,{justifyContent:"flex-end"},e.createElement(t.Flex,{maxWidth:(0,o.pxToRem)(250),justifyContent:"flex-end",title:n},e.createElement(t.Typography,{ellipsis:!0,textColor:"neutral600"},n))):null};B.propTypes={statusCode:i().number,message:i().string},B.defaultProps={statusCode:void 0,message:void 0};const K=({onCancel:a})=>{const{formatMessage:n}=(0,T.useIntl)();return e.createElement(t.Flex,{justifyContent:"flex-end"},e.createElement("button",{onClick:a,type:"button"},e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(t.Typography,{textColor:"neutral400"},n({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement(F,{as:k.Cross,color:"neutral400"}))))};K.propTypes={onCancel:i().func.isRequired};const W=({isPending:a,onCancel:n,response:r})=>{const{statusCode:s,message:u}=r,{formatMessage:p}=(0,T.useIntl)();return e.createElement(t.Box,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(t.Grid,{gap:4,style:{alignItems:"center"}},e.createElement(t.GridItem,{col:3},e.createElement(t.Typography,null,p({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(t.GridItem,{col:3},e.createElement(L,{isPending:a,statusCode:s})),e.createElement(t.GridItem,{col:6},a?e.createElement(K,{onCancel:n}):e.createElement(B,{statusCode:s,message:u}))))};W.defaultProps={isPending:!1,onCancel(){},response:{}},W.propTypes={isPending:i().bool,onCancel:i().func,response:i().object};var ee=W,v=l(5173);const te=/(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/,ae=/(^$)|((https?:\/\/.*)(d*)\/?(.*))/;var ne=v.Ry().shape({name:v.Z_(o.translatedErrors.string).required(o.translatedErrors.required).matches(te,o.translatedErrors.regex),url:v.Z_(o.translatedErrors.string).required(o.translatedErrors.required).matches(ae,o.translatedErrors.regex),headers:v.Vo(a=>{let n=v.IX();if(a.length===1){const{key:r,value:s}=a[0];if(!r&&!s)return n}return n.of(v.Ry().shape({key:v.Z_().required(o.translatedErrors.required),value:v.Z_().required(o.translatedErrors.required)}))}),events:v.IX()});const U=({handleSubmit:a,data:n,triggerWebhook:r,isCreating:s,isTriggering:u,triggerResponse:p,isDraftAndPublishEvents:d})=>{const{formatMessage:c}=(0,T.useIntl)(),[h,f]=(0,e.useState)(!1);return e.createElement(I.Formik,{onSubmit:a,initialValues:{name:n?.name||"",url:n?.url||"",headers:Object.keys(n?.headers||[]).length?Object.entries(n.headers).map(([g,E])=>({key:g,value:E})):[{key:"",value:""}],events:n?.events||[]},validationSchema:ne,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:g,errors:E})=>e.createElement(o.Form,{noValidate:!0},e.createElement(t.HeaderLayout,{primaryAction:e.createElement(t.Flex,{gap:2},e.createElement(t.Button,{onClick:()=>{r(),f(!0)},variant:"tertiary",startIcon:e.createElement(k.Play,null),disabled:s||u,size:"L"},c({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(t.Button,{startIcon:e.createElement(k.Check,null),onClick:g,type:"submit",size:"L"},c({id:"global.save",defaultMessage:"Save"}))),title:s?c({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):n?.name,navigationAction:e.createElement(o.Link,{startIcon:e.createElement(k.ArrowLeft,null),to:"/settings/webhooks"},c({id:"global.back",defaultMessage:"Back"}))}),e.createElement(t.ContentLayout,null,e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:4},h&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(ee,{isPending:u,response:p,onCancel:()=>f(!1)})),e.createElement(t.Box,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:6},e.createElement(t.Grid,{gap:6},e.createElement(t.GridItem,{col:6},e.createElement(I.Field,{as:t.TextInput,name:"name",error:E.name&&c({id:E.name}),label:c({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(t.GridItem,{col:12},e.createElement(I.Field,{as:t.TextInput,name:"url",error:E.url&&c({id:E.url}),label:c({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(_,null),e.createElement(J,{isDraftAndPublish:d})))))))};U.propTypes={data:i().object,handleSubmit:i().func.isRequired,triggerWebhook:i().func.isRequired,isCreating:i().bool.isRequired,isDraftAndPublishEvents:i().bool.isRequired,isTriggering:i().bool.isRequired,triggerResponse:i().object},U.defaultProps={data:void 0,triggerResponse:void 0};var re=U,se=l(92891);const le=a=>{const n={...a};return(0,se.set)(n,"headers",oe(a.headers)),n},oe=a=>a.reduce((n,r)=>{const{key:s,value:u}=r;return s!==""?{...n,[s]:u}:n},{});var Z=le,ie=()=>{const{params:{id:a}}=(0,x.useRouteMatch)("/settings/webhooks/:id"),{replace:n}=(0,x.useHistory)(),{lockApp:r,unlockApp:s}=(0,o.useOverlayBlocker)(),u=(0,o.useNotification)(),p=(0,y.useQueryClient)(),{isLoading:d,collectionTypes:c}=(0,R.bP)(),{post:h}=(0,o.useFetchClient)(),f=a==="create",g=(0,e.useCallback)(async b=>{const[M,{data:pe}]=await(0,o.to)((0,o.request)(`/admin/webhooks/${b}`,{method:"GET"}));return M?(u({type:"warning",message:{id:"notification.error"}}),null):pe},[u]),{isLoading:E,data:m}=(0,y.useQuery)(["get-webhook",a],()=>g(a),{enabled:!f}),{isLoading:A,data:C,isIdle:S,mutate:de}=(0,y.useMutation)(()=>h(`/admin/webhooks/${a}/trigger`)),ue=()=>de(null,{onError(){u({type:"warning",message:{id:"notification.error"}})}}),ce=(0,y.useMutation)(b=>(0,o.request)("/admin/webhooks",{method:"POST",body:b})),me=(0,y.useMutation)(({id:b,body:M})=>(0,o.request)(`/admin/webhooks/${b}`,{method:"PUT",body:M})),ge=async b=>{f?(r(),ce.mutate(Z(b),{onSuccess(M){u({type:"success",message:{id:"Settings.webhooks.created"}}),n(`/settings/webhooks/${M.data.id}`),s()},onError(M){u({type:"warning",message:{id:"notification.error"}}),console.log(M),s()}})):(r(),me.mutate({id:a,body:Z(b)},{onSuccess(){p.invalidateQueries(["get-webhook",a]),u({type:"success",message:{id:"notification.form.success.fields"}}),s()},onError(M){u({type:"warning",message:{id:"notification.error"}}),console.log(M),s()}}))},he=(0,e.useMemo)(()=>c.some(b=>b.options.draftAndPublish===!0),[c]);return E||d?e.createElement(o.LoadingIndicatorPage,null):e.createElement(t.Main,null,e.createElement(o.SettingsPageTitle,{name:"Webhooks"}),e.createElement(re,{handleSubmit:ge,data:m,triggerWebhook:ue,isCreating:f,isTriggering:A,isTriggerIdle:S,triggerResponse:C?.data.data,isDraftAndPublishEvents:he}))}},33238:function(V,P,l){l.r(P);var e=l(32735),o=l(13478),t=l.n(o),y=l(72041),x=l(47272);const R=()=>e.createElement(o.CheckPagePermissions,{permissions:y.Z.settings.webhooks.create},e.createElement(x.Z,null));P.default=R},59021:function(V,P,l){l.r(P);var e=l(32735),o=l(13478),t=l.n(o),y=l(72041),x=l(47272);const R=()=>e.createElement(o.CheckPagePermissions,{permissions:y.Z.settings.webhooks.update},e.createElement(x.Z,null));P.default=R}}]);
23
+ `),L=({isPending:a,statusCode:n})=>{const{formatMessage:r}=(0,T.useIntl)();return a?e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(F,{as:k.Loader}),e.createElement(t.Typography,null,r({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):n>=200&&n<300?e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(F,{as:k.Check,color:"success700"}),e.createElement(t.Typography,null,r({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):n>=300?e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(F,{as:k.Cross,color:"danger700"}),e.createElement(t.Typography,null,r({id:"Settings.error",defaultMessage:"error"})," ",n)):null};L.propTypes={isPending:i().bool.isRequired,statusCode:i().number},L.defaultProps={statusCode:void 0};const B=({statusCode:a,message:n})=>{const{formatMessage:r}=(0,T.useIntl)();return a>=200&&a<300?e.createElement(t.Flex,{justifyContent:"flex-end"},e.createElement(t.Typography,{textColor:"neutral600",ellipsis:!0},r({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):a>=300?e.createElement(t.Flex,{justifyContent:"flex-end"},e.createElement(t.Flex,{maxWidth:(0,o.pxToRem)(250),justifyContent:"flex-end",title:n},e.createElement(t.Typography,{ellipsis:!0,textColor:"neutral600"},n))):null};B.propTypes={statusCode:i().number,message:i().string},B.defaultProps={statusCode:void 0,message:void 0};const K=({onCancel:a})=>{const{formatMessage:n}=(0,T.useIntl)();return e.createElement(t.Flex,{justifyContent:"flex-end"},e.createElement("button",{onClick:a,type:"button"},e.createElement(t.Flex,{gap:2,alignItems:"center"},e.createElement(t.Typography,{textColor:"neutral400"},n({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement(F,{as:k.Cross,color:"neutral400"}))))};K.propTypes={onCancel:i().func.isRequired};const W=({isPending:a,onCancel:n,response:r})=>{const{statusCode:s,message:u}=r,{formatMessage:p}=(0,T.useIntl)();return e.createElement(t.Box,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(t.Grid,{gap:4,style:{alignItems:"center"}},e.createElement(t.GridItem,{col:3},e.createElement(t.Typography,null,p({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(t.GridItem,{col:3},e.createElement(L,{isPending:a,statusCode:s})),e.createElement(t.GridItem,{col:6},a?e.createElement(K,{onCancel:n}):e.createElement(B,{statusCode:s,message:u}))))};W.defaultProps={isPending:!1,onCancel(){},response:{}},W.propTypes={isPending:i().bool,onCancel:i().func,response:i().object};var ee=W,v=l(5173);const te=/(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/,ae=/(^$)|((https?:\/\/.*)(d*)\/?(.*))/;var ne=v.Ry().shape({name:v.Z_(o.translatedErrors.string).required(o.translatedErrors.required).matches(te,o.translatedErrors.regex),url:v.Z_(o.translatedErrors.string).required(o.translatedErrors.required).matches(ae,o.translatedErrors.regex),headers:v.Vo(a=>{let n=v.IX();if(a.length===1){const{key:r,value:s}=a[0];if(!r&&!s)return n}return n.of(v.Ry().shape({key:v.Z_().required(o.translatedErrors.required),value:v.Z_().required(o.translatedErrors.required)}))}),events:v.IX()});const U=({handleSubmit:a,data:n,triggerWebhook:r,isCreating:s,isTriggering:u,triggerResponse:p,isDraftAndPublishEvents:d})=>{const{formatMessage:c}=(0,T.useIntl)(),[h,f]=(0,e.useState)(!1);return e.createElement(I.Formik,{onSubmit:a,initialValues:{name:n?.name||"",url:n?.url||"",headers:Object.keys(n?.headers||[]).length?Object.entries(n.headers).map(([g,E])=>({key:g,value:E})):[{key:"",value:""}],events:n?.events||[]},validationSchema:ne,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:g,errors:E})=>e.createElement(o.Form,{noValidate:!0},e.createElement(t.HeaderLayout,{primaryAction:e.createElement(t.Flex,{gap:2},e.createElement(t.Button,{onClick:()=>{r(),f(!0)},variant:"tertiary",startIcon:e.createElement(k.Play,null),disabled:s||u,size:"L"},c({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(t.Button,{startIcon:e.createElement(k.Check,null),onClick:g,type:"submit",size:"L"},c({id:"global.save",defaultMessage:"Save"}))),title:s?c({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):n?.name,navigationAction:e.createElement(o.Link,{startIcon:e.createElement(k.ArrowLeft,null),to:"/settings/webhooks"},c({id:"global.back",defaultMessage:"Back"}))}),e.createElement(t.ContentLayout,null,e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:4},h&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(ee,{isPending:u,response:p,onCancel:()=>f(!1)})),e.createElement(t.Box,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(t.Flex,{direction:"column",alignItems:"stretch",gap:6},e.createElement(t.Grid,{gap:6},e.createElement(t.GridItem,{col:6},e.createElement(I.Field,{as:t.TextInput,name:"name",error:E.name&&c({id:E.name}),label:c({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(t.GridItem,{col:12},e.createElement(I.Field,{as:t.TextInput,name:"url",error:E.url&&c({id:E.url}),label:c({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(Y,null),e.createElement(_,{isDraftAndPublish:d})))))))};U.propTypes={data:i().object,handleSubmit:i().func.isRequired,triggerWebhook:i().func.isRequired,isCreating:i().bool.isRequired,isDraftAndPublishEvents:i().bool.isRequired,isTriggering:i().bool.isRequired,triggerResponse:i().object},U.defaultProps={data:void 0,triggerResponse:void 0};var re=U;const se=a=>({...a,headers:le(a.headers)}),le=a=>a.reduce((n,r)=>{const{key:s,value:u}=r;return s!==""?{...n,[s]:u}:n},{});var Z=se,oe=()=>{const{params:{id:a}}=(0,x.useRouteMatch)("/settings/webhooks/:id"),{replace:n}=(0,x.useHistory)(),{lockApp:r,unlockApp:s}=(0,o.useOverlayBlocker)(),u=(0,o.useNotification)(),p=(0,y.useQueryClient)(),{isLoading:d,collectionTypes:c}=(0,R.bP)(),{post:h}=(0,o.useFetchClient)(),f=a==="create",g=(0,e.useCallback)(async b=>{const[M,{data:he}]=await(0,o.to)((0,o.request)(`/admin/webhooks/${b}`,{method:"GET"}));return M?(u({type:"warning",message:{id:"notification.error"}}),null):he},[u]),{isLoading:E,data:m}=(0,y.useQuery)(["get-webhook",a],()=>g(a),{enabled:!f}),{isLoading:A,data:C,isIdle:S,mutate:ie}=(0,y.useMutation)(()=>h(`/admin/webhooks/${a}/trigger`)),de=()=>ie(null,{onError(){u({type:"warning",message:{id:"notification.error"}})}}),ue=(0,y.useMutation)(b=>(0,o.request)("/admin/webhooks",{method:"POST",body:b})),ce=(0,y.useMutation)(({id:b,body:M})=>(0,o.request)(`/admin/webhooks/${b}`,{method:"PUT",body:M})),me=async b=>{f?(r(),ue.mutate(Z(b),{onSuccess(M){u({type:"success",message:{id:"Settings.webhooks.created"}}),n(`/settings/webhooks/${M.data.id}`),s()},onError(M){u({type:"warning",message:{id:"notification.error"}}),console.log(M),s()}})):(r(),ce.mutate({id:a,body:Z(b)},{onSuccess(){p.invalidateQueries(["get-webhook",a]),u({type:"success",message:{id:"notification.form.success.fields"}}),s()},onError(M){u({type:"warning",message:{id:"notification.error"}}),console.log(M),s()}}))},ge=(0,e.useMemo)(()=>c.some(b=>b.options.draftAndPublish===!0),[c]);return E||d?e.createElement(o.LoadingIndicatorPage,null):e.createElement(t.Main,null,e.createElement(o.SettingsPageTitle,{name:"Webhooks"}),e.createElement(re,{handleSubmit:me,data:m,triggerWebhook:de,isCreating:f,isTriggering:A,isTriggerIdle:S,triggerResponse:C?.data.data,isDraftAndPublishEvents:ge}))}},33238:function(V,P,l){l.r(P);var e=l(32735),o=l(13478),t=l.n(o),y=l(72041),x=l(47272);const R=()=>e.createElement(o.CheckPagePermissions,{permissions:y.Z.settings.webhooks.create},e.createElement(x.Z,null));P.default=R},59021:function(V,P,l){l.r(P);var e=l(32735),o=l(13478),t=l.n(o),y=l(72041),x=l(47272);const R=()=>e.createElement(o.CheckPagePermissions,{permissions:y.Z.settings.webhooks.update},e.createElement(x.Z,null));P.default=R}}]);
@@ -0,0 +1,92 @@
1
+ import React from 'react';
2
+ import {
3
+ ReactSelect,
4
+ useCMEditViewDataManager,
5
+ useAPIErrorHandler,
6
+ useFetchClient,
7
+ } from '@strapi/helper-plugin';
8
+ import { Field, FieldLabel, FieldError, Flex } from '@strapi/design-system';
9
+ import { useIntl } from 'react-intl';
10
+ import { useMutation } from 'react-query';
11
+
12
+ import { useReviewWorkflows } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows';
13
+ import Information from '../../../../../../admin/src/content-manager/pages/EditView/Information';
14
+
15
+ const ATTRIBUTE_NAME = 'strapi_reviewWorkflows_stage';
16
+
17
+ export function InformationBoxEE() {
18
+ const {
19
+ initialData,
20
+ isCreatingEntry,
21
+ layout: { uid },
22
+ } = useCMEditViewDataManager();
23
+ const { put } = useFetchClient();
24
+ const activeWorkflowStage = initialData?.[ATTRIBUTE_NAME] ?? null;
25
+ const { formatMessage } = useIntl();
26
+ const { formatAPIError } = useAPIErrorHandler();
27
+
28
+ const { workflows: { data: [workflow] = [] } = {} } = useReviewWorkflows();
29
+
30
+ const { error, isLoading, mutateAsync } = useMutation(async ({ entityId, stageId, uid }) => {
31
+ const {
32
+ data: { data },
33
+ } = await put(`/admin/content-manager/collection-types/${uid}/${entityId}/stage`, {
34
+ data: { id: stageId },
35
+ });
36
+
37
+ return data;
38
+ });
39
+
40
+ // stages are empty while the workflow is loading
41
+ const options = (workflow?.stages ?? []).map(({ id, name }) => ({ value: id, label: name }));
42
+ const formattedError = error ? formatAPIError(error) : null;
43
+
44
+ const handleStageChange = async ({ value: stageId }) => {
45
+ try {
46
+ await mutateAsync({
47
+ entityId: initialData.id,
48
+ stageId,
49
+ uid,
50
+ });
51
+ } catch (error) {
52
+ // react-query@v3: the error doesn't have to be handled here
53
+ // see: https://github.com/TanStack/query/issues/121
54
+ }
55
+ };
56
+
57
+ return (
58
+ <Information.Root>
59
+ <Information.Title />
60
+
61
+ {activeWorkflowStage && (
62
+ <Field error={formattedError} name={ATTRIBUTE_NAME} id={ATTRIBUTE_NAME}>
63
+ <Flex direction="column" gap={2} alignItems="stretch">
64
+ <FieldLabel>
65
+ {formatMessage({
66
+ id: 'content-manager.reviewWorkflows.stage.label',
67
+ defaultMessage: 'Review stage',
68
+ })}
69
+ </FieldLabel>
70
+
71
+ <ReactSelect
72
+ error={formattedError}
73
+ inputId={ATTRIBUTE_NAME}
74
+ isDisabled={isCreatingEntry}
75
+ options={options}
76
+ name={ATTRIBUTE_NAME}
77
+ defaultValue={{ value: activeWorkflowStage?.id, label: activeWorkflowStage?.name }}
78
+ isLoading={isLoading}
79
+ isSearchable={false}
80
+ isClearable={false}
81
+ onChange={handleStageChange}
82
+ />
83
+
84
+ <FieldError />
85
+ </Flex>
86
+ </Field>
87
+ )}
88
+
89
+ <Information.Body />
90
+ </Information.Root>
91
+ );
92
+ }
@@ -0,0 +1,3 @@
1
+ import { InformationBoxEE } from './InformationBoxEE';
2
+
3
+ export default InformationBoxEE;