@strapi/admin 4.6.1 → 4.9.0-alpha.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 (196) hide show
  1. package/admin/src/assets/images/onboarding-preview.png +0 -0
  2. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +4 -14
  3. package/admin/src/content-manager/components/DynamicTable/CellContent/RelationMultiple/index.js +1 -1
  4. package/admin/src/content-manager/components/DynamicZone/components/DynamicComponent.js +2 -0
  5. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +39 -9
  6. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +9 -15
  7. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +4 -12
  8. package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +6 -8
  9. package/admin/src/content-manager/pages/ListView/index.js +6 -11
  10. package/admin/src/index.js +1 -0
  11. package/admin/src/pages/Admin/Onboarding/constants.js +46 -0
  12. package/admin/src/pages/Admin/Onboarding/index.js +161 -89
  13. package/admin/src/pages/Admin/index.js +5 -2
  14. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +15 -2
  15. package/admin/src/pages/SettingsPage/pages/Users/components/MagicLink/MagicLinkWrapper.js +3 -20
  16. package/admin/src/permissions/defaultPermissions.js +2 -15
  17. package/admin/src/translations/ar.json +4 -4
  18. package/admin/src/translations/ca.json +4 -4
  19. package/admin/src/translations/cs.json +4 -4
  20. package/admin/src/translations/de.json +4 -4
  21. package/admin/src/translations/dk.json +4 -4
  22. package/admin/src/translations/en.json +14 -5
  23. package/admin/src/translations/es.json +4 -4
  24. package/admin/src/translations/eu.json +4 -4
  25. package/admin/src/translations/fr.json +4 -4
  26. package/admin/src/translations/gu.json +4 -4
  27. package/admin/src/translations/he.json +4 -4
  28. package/admin/src/translations/hi.json +4 -4
  29. package/admin/src/translations/hu.json +4 -4
  30. package/admin/src/translations/id.json +4 -4
  31. package/admin/src/translations/it.json +4 -4
  32. package/admin/src/translations/ja.json +4 -4
  33. package/admin/src/translations/ko.json +4 -4
  34. package/admin/src/translations/ml.json +4 -4
  35. package/admin/src/translations/ms.json +4 -4
  36. package/admin/src/translations/nl.json +4 -4
  37. package/admin/src/translations/no.json +4 -4
  38. package/admin/src/translations/pl.json +4 -4
  39. package/admin/src/translations/pt-BR.json +4 -4
  40. package/admin/src/translations/pt.json +4 -4
  41. package/admin/src/translations/ru.json +785 -789
  42. package/admin/src/translations/sa.json +4 -4
  43. package/admin/src/translations/sk.json +4 -4
  44. package/admin/src/translations/sv.json +4 -4
  45. package/admin/src/translations/th.json +4 -4
  46. package/admin/src/translations/tr.json +4 -4
  47. package/admin/src/translations/uk.json +4 -4
  48. package/admin/src/translations/vi.json +4 -4
  49. package/admin/src/translations/zh-Hans.json +4 -4
  50. package/admin/src/translations/zh.json +4 -4
  51. package/build/1683.d59d0f23.chunk.js +268 -0
  52. package/build/19eb2dfcf2603eb55733.png +0 -0
  53. package/build/{4855.bd092921.chunk.js → 2223.1bfea951.chunk.js} +88 -88
  54. package/build/2743.646a1015.chunk.js +45 -0
  55. package/build/3075.3ee481f1.chunk.js +108 -0
  56. package/build/3632.2e378cf8.chunk.js +138 -0
  57. package/build/{4318.f96a9d4d.chunk.js → 4318.cd55ce02.chunk.js} +1 -1
  58. package/build/9707.b36ed71e.chunk.js +96 -0
  59. package/build/Admin-authenticatedApp.a73577e1.chunk.js +79 -0
  60. package/build/{Admin_InternalErrorPage.157152a8.chunk.js → Admin_InternalErrorPage.178ddb90.chunk.js} +1 -1
  61. package/build/{Admin_homePage.b1730882.chunk.js → Admin_homePage.c2f5f27d.chunk.js} +2 -2
  62. package/build/{Admin_marketplace.ea0316c2.chunk.js → Admin_marketplace.1df49c42.chunk.js} +1 -1
  63. package/build/{Admin_pluginsPage.5c24f963.chunk.js → Admin_pluginsPage.8d824408.chunk.js} +2 -2
  64. package/build/{Admin_profilePage.59af1978.chunk.js → Admin_profilePage.cb667bc5.chunk.js} +2 -2
  65. package/build/Admin_settingsPage.f90615fb.chunk.js +178 -0
  66. package/build/{Upload_ConfigureTheView.3f2b6e6a.chunk.js → Upload_ConfigureTheView.d306009d.chunk.js} +1 -1
  67. package/build/admin-app.06f07029.chunk.js +112 -0
  68. package/build/admin-edit-roles-page.35199b9d.chunk.js +1 -0
  69. package/build/admin-edit-users.9e48b00d.chunk.js +10 -0
  70. package/build/admin-users.cf7b4151.chunk.js +11 -0
  71. package/build/{api-tokens-create-page.d248362d.chunk.js → api-tokens-create-page.a31c7fba.chunk.js} +1 -1
  72. package/build/{api-tokens-edit-page.8516fa20.chunk.js → api-tokens-edit-page.64fef287.chunk.js} +1 -1
  73. package/build/{api-tokens-list-page.44a79fda.chunk.js → api-tokens-list-page.e600ad3e.chunk.js} +2 -2
  74. package/build/ar-json.39e54aba.chunk.js +1 -0
  75. package/build/{audit-logs-settings-page.c3dce30d.chunk.js → audit-logs-settings-page.d4da4579.chunk.js} +1 -1
  76. package/build/{ca-json.f6a0f472.chunk.js → ca-json.4d999055.chunk.js} +1 -1
  77. package/build/content-manager.255c3a59.chunk.js +1139 -0
  78. package/build/{content-type-builder-list-view.79e84b36.chunk.js → content-type-builder-list-view.8d7a3d68.chunk.js} +5 -5
  79. package/build/content-type-builder.3c8558a5.chunk.js +126 -0
  80. package/build/cs-json.4b44411c.chunk.js +1 -0
  81. package/build/{de-json.30e1f35b.chunk.js → de-json.866f8a28.chunk.js} +1 -1
  82. package/build/{dk-json.e6d9ffa4.chunk.js → dk-json.10f7b1d1.chunk.js} +1 -1
  83. package/build/email-settings-page.b19f2eb2.chunk.js +10 -0
  84. package/build/en-json.1997583c.chunk.js +1 -0
  85. package/build/es-json.ea15c957.chunk.js +1 -0
  86. package/build/{eu-json.fceecd8b.chunk.js → eu-json.3bc24d60.chunk.js} +1 -1
  87. package/build/{fr-json.78545ef8.chunk.js → fr-json.e88fbdfd.chunk.js} +1 -1
  88. package/build/{gu-json.676518f2.chunk.js → gu-json.94f0d242.chunk.js} +1 -1
  89. package/build/{he-json.ad22e8cc.chunk.js → he-json.f0de8cdb.chunk.js} +1 -1
  90. package/build/{hi-json.19b51c09.chunk.js → hi-json.df3a7be2.chunk.js} +1 -1
  91. package/build/{hu-json.f947088f.chunk.js → hu-json.680e6eef.chunk.js} +1 -1
  92. package/build/{i18n-settings-page.b8d8753e.chunk.js → i18n-settings-page.a6b49eac.chunk.js} +1 -1
  93. package/build/{id-json.504daa84.chunk.js → id-json.e0d83d41.chunk.js} +1 -1
  94. package/build/index.html +1 -1
  95. package/build/{it-json.2fd90f4d.chunk.js → it-json.8be59205.chunk.js} +1 -1
  96. package/build/{ja-json.c9f12d0b.chunk.js → ja-json.97ee41ba.chunk.js} +1 -1
  97. package/build/{ko-json.ef463065.chunk.js → ko-json.4cbbf4f2.chunk.js} +1 -1
  98. package/build/main.7f308c20.js +4322 -0
  99. package/build/{ml-json.490f666c.chunk.js → ml-json.e3747091.chunk.js} +1 -1
  100. package/build/ms-json.0eddffd9.chunk.js +1 -0
  101. package/build/{nl-json.c416295a.chunk.js → nl-json.371a15ee.chunk.js} +1 -1
  102. package/build/{no-json.1a2258ba.chunk.js → no-json.9b3cd181.chunk.js} +1 -1
  103. package/build/{pl-json.8cf0c871.chunk.js → pl-json.e535cbce.chunk.js} +1 -1
  104. package/build/{pt-BR-json.51fab8d0.chunk.js → pt-BR-json.e5fafa46.chunk.js} +1 -1
  105. package/build/pt-json.ee554a41.chunk.js +1 -0
  106. package/build/review-workflows-settings.7b4be1b0.chunk.js +63 -0
  107. package/build/{ru-json.aa5cd123.chunk.js → ru-json.866f0ff1.chunk.js} +1 -1
  108. package/build/runtime~main.bf374148.js +2 -0
  109. package/build/{sa-json.f3fa5407.chunk.js → sa-json.7efeb257.chunk.js} +1 -1
  110. package/build/{sk-json.9ec60d9f.chunk.js → sk-json.7bbeb0af.chunk.js} +1 -1
  111. package/build/{sso-settings-page.b85ad080.chunk.js → sso-settings-page.ad2143dd.chunk.js} +1 -1
  112. package/build/{sv-json.c6b0c237.chunk.js → sv-json.dc40951f.chunk.js} +1 -1
  113. package/build/{th-json.6e68155c.chunk.js → th-json.f664b96d.chunk.js} +1 -1
  114. package/build/{tr-json.9f41dc08.chunk.js → tr-json.b79eae31.chunk.js} +1 -1
  115. package/build/uk-json.b7e38370.chunk.js +1 -0
  116. package/build/upload-settings.eb1a7908.chunk.js +84 -0
  117. package/build/upload.700e2c84.chunk.js +33 -0
  118. package/build/{users-advanced-settings-page.fce9908e.chunk.js → users-advanced-settings-page.aae212f2.chunk.js} +1 -1
  119. package/build/{users-email-settings-page.343d0ad2.chunk.js → users-email-settings-page.8a9b0da1.chunk.js} +1 -1
  120. package/build/{users-providers-settings-page.e5a9a3f1.chunk.js → users-providers-settings-page.e6be909d.chunk.js} +10 -10
  121. package/build/{users-roles-settings-page.66312f31.chunk.js → users-roles-settings-page.97d06a80.chunk.js} +3 -3
  122. package/build/vi-json.ee4c5537.chunk.js +1 -0
  123. package/build/webhook-edit-page.9eb0f789.chunk.js +75 -0
  124. package/build/webhook-list-page.66082323.chunk.js +42 -0
  125. package/build/{zh-Hans-json.9c0eac99.chunk.js → zh-Hans-json.30a18940.chunk.js} +1 -1
  126. package/build/{zh-json.f88f563d.chunk.js → zh-json.49d84433.chunk.js} +1 -1
  127. package/ee/admin/hooks/useSettingsMenu/utils/customAdminLinks.js +12 -12
  128. package/ee/admin/hooks/useSettingsMenu/utils/customGlobalLinks.js +21 -13
  129. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +137 -0
  130. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/actions/index.js +42 -0
  131. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/AddStage.js +87 -0
  132. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/AddStage/index.js +1 -0
  133. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +90 -0
  134. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/index.js +1 -0
  135. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stages.js +77 -0
  136. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/index.js +1 -0
  137. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/constants.js +6 -0
  138. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +63 -0
  139. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/index.js +3 -0
  140. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +102 -0
  141. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/utils/getWorkflowValidationSchema.js +25 -0
  142. package/ee/admin/pages/SettingsPage/utils/customRoutes.js +16 -2
  143. package/ee/admin/permissions/customPermissions.js +7 -0
  144. package/ee/server/bootstrap.js +7 -1
  145. package/ee/server/config/admin-actions.js +10 -0
  146. package/ee/server/constants/default-stages.json +14 -0
  147. package/ee/server/constants/default-workflow.json +1 -0
  148. package/ee/server/constants/workflows.js +7 -0
  149. package/ee/server/content-types/index.js +9 -0
  150. package/ee/server/content-types/workflow/index.js +34 -0
  151. package/ee/server/content-types/workflow-stage/index.js +36 -0
  152. package/ee/server/controllers/index.js +2 -0
  153. package/ee/server/controllers/workflows/index.js +36 -0
  154. package/ee/server/controllers/workflows/stages/index.js +57 -0
  155. package/ee/server/index.js +1 -0
  156. package/ee/server/routes/index.js +87 -0
  157. package/ee/server/services/index.js +3 -0
  158. package/ee/server/services/review-workflows/review-workflows.js +54 -0
  159. package/ee/server/services/review-workflows/stages.js +133 -0
  160. package/ee/server/services/review-workflows/workflows.js +25 -0
  161. package/ee/server/utils/index.js +8 -0
  162. package/ee/server/utils/test.js +11 -0
  163. package/ee/server/validation/review-workflows.js +17 -0
  164. package/package.json +15 -15
  165. package/server/config/admin-actions.js +0 -16
  166. package/server/controllers/admin.js +0 -55
  167. package/server/routes/admin.js +0 -28
  168. package/webpack.config.js +0 -3
  169. package/build/1683.c8aa7b7c.chunk.js +0 -268
  170. package/build/2743.6d1632f9.chunk.js +0 -45
  171. package/build/3075.dc3894fe.chunk.js +0 -108
  172. package/build/3632.0317b618.chunk.js +0 -138
  173. package/build/9707.7290fd92.chunk.js +0 -96
  174. package/build/Admin-authenticatedApp.ce646f66.chunk.js +0 -75
  175. package/build/Admin_settingsPage.d1493824.chunk.js +0 -178
  176. package/build/admin-app.25934eaa.chunk.js +0 -112
  177. package/build/admin-edit-roles-page.446b69dc.chunk.js +0 -1
  178. package/build/admin-edit-users.2ed69bfd.chunk.js +0 -10
  179. package/build/admin-users.fc003b10.chunk.js +0 -11
  180. package/build/ar-json.932794f7.chunk.js +0 -1
  181. package/build/content-manager.35ff9726.chunk.js +0 -1139
  182. package/build/content-type-builder.855db321.chunk.js +0 -126
  183. package/build/cs-json.79879fb6.chunk.js +0 -1
  184. package/build/email-settings-page.d1fcc7a3.chunk.js +0 -10
  185. package/build/en-json.1f137a90.chunk.js +0 -1
  186. package/build/es-json.e275481d.chunk.js +0 -1
  187. package/build/main.7b151630.js +0 -4377
  188. package/build/ms-json.db87d8d3.chunk.js +0 -1
  189. package/build/pt-json.62927d1e.chunk.js +0 -1
  190. package/build/runtime~main.a20d633b.js +0 -2
  191. package/build/uk-json.b2fcd567.chunk.js +0 -1
  192. package/build/upload-settings.ef64bbf9.chunk.js +0 -84
  193. package/build/upload.c5730dfa.chunk.js +0 -33
  194. package/build/vi-json.f08d7d03.chunk.js +0 -1
  195. package/build/webhook-edit-page.73e51e64.chunk.js +0 -75
  196. package/build/webhook-list-page.1134f130.chunk.js +0 -42
@@ -0,0 +1,33 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3650],{84837:function($,L,t){t.r(L),t.d(L,{default:function(){return xt}});var e=t(32735),E=t(5141),o=t(5636),C=t(99357),n=t(13478),B=t(27649),D=t(83292),R=t(33348),O=t(96709),V=t(99223),N=t(17e3),G=t(72850),H=t(9026),c=t(44426),A=t(3685),h=t(50563),v=t(49372),x=t(5803),b=t(87933),J=t(68625),Y=t(45112),ae=t(62864),k=t(85370),ze=t(86588),We=t(61405),Ke=t(96852),Qe=t(35468),je=t(65790),$e=t(25005),Ve=t(89581),He=t(60216),p=t.n(He);const oe=({pagination:s})=>e.createElement(G.x,{paddingTop:6},e.createElement(b.k,{alignItems:"flex-end",justifyContent:"space-between"},e.createElement(n.PageSizeURLQuery,null),e.createElement(n.PaginationURLQuery,{pagination:s})));oe.defaultProps={pagination:{pageCount:0,pageSize:10,total:0}},oe.propTypes={pagination:p().shape({page:p().number,pageCount:p().number,pageSize:p().number,total:p().number})};var se=t(27677),y=t(68781),Ne=t(20069),Q=t(41415),Ge=t(4038),Je=t(81094);const ve=({selected:s,onSuccess:r})=>{const{formatMessage:i}=(0,o.useIntl)(),[d,u]=(0,e.useState)(!1),{isLoading:m,remove:F}=(0,Je.K)(),M=async()=>{await F(s),r()};return e.createElement(e.Fragment,null,e.createElement(Q.z,{variant:"danger-light",size:"S",startIcon:e.createElement(Ge.default,null),onClick:()=>u(!0)},i({id:"global.delete",defaultMessage:"Delete"})),e.createElement(n.ConfirmDialog,{isConfirmButtonLoading:m,isOpen:d,onToggleDialog:()=>u(!1),onConfirm:M}))};ve.propTypes={selected:p().arrayOf(y.pw,y.nx).isRequired,onSuccess:p().func.isRequired};var Xe=t(78150),Ye=t(83281),ke=t(86834),we=t.n(ke),qe=t(15335),_e=t(97405),pe=t(85025),he=t(31600),et=t(55225),tt=t(11406),nt=t(76437),ye=t(84968),X=t(74951),g=t(15503);const at=()=>{const s=(0,n.useNotification)(),r=(0,ye.useQueryClient)(),i=(0,g.IF)("actions/bulk-move"),{post:d}=(0,n.useFetchClient)(),u=({destinationFolderId:M,filesAndFolders:f})=>{const S=f.reduce((P,l)=>{const{id:W,type:U}=l,j=U==="asset"?"fileIds":"folderIds";return P[j]||(P[j]=[]),P[j].push(W),P},{});return d(i,{...S,destinationFolderId:M})},m=(0,ye.useMutation)(u,{onSuccess(M){const{data:{data:f}}=M;f?.files?.length>0&&(r.refetchQueries([X.Z,"assets"],{active:!0}),r.refetchQueries([X.Z,"asset-count"],{active:!0})),r.refetchQueries([X.Z,"folders"],{active:!0}),s({type:"success",message:{id:(0,g.OB)("modal.move.success-label"),defaultMessage:"Elements have been moved successfully."}})}});return{...m,move:(M,f)=>m.mutateAsync({destinationFolderId:M,filesAndFolders:f})}};var ot=t(21375),st=t(72236);const le=({onClose:s,selected:r,currentFolder:i})=>{const{formatMessage:d}=(0,o.useIntl)(),{data:u,isLoading:m}=(0,st.v)(),{move:F}=at();if(!u)return null;const M=async(P,{setErrors:l})=>{try{await F(P.destination.value,r),s()}catch(W){const j=(0,n.normalizeAPIError)(W).errors.reduce((q,Z)=>(q[Z.values?.path?.length||"destination"]=Z.defaultMessage,q),{});we()(j)||l(j)}},f=()=>{s()};if(m)return e.createElement(pe.P,{onClose:f,labelledBy:"title"},e.createElement(he.f,null,e.createElement(b.k,{justifyContent:"center",paddingTop:4,paddingBottom:4},e.createElement(_e.a,null,d({id:(0,g.OB)("content.isLoading"),defaultMessage:"Content is loading."})))));const S={destination:{value:i?.id||"",label:i?.name||u[0].label}};return e.createElement(pe.P,{onClose:f,labelledBy:"title"},e.createElement(Ye.Formik,{validateOnChange:!1,onSubmit:M,initialValues:S},({values:P,errors:l,setFieldValue:W})=>e.createElement(n.Form,{noValidate:!0},e.createElement(et.x,null,e.createElement(v.Z,{fontWeight:"bold",textColor:"neutral800",as:"h2",id:"title"},d({id:(0,g.OB)("modal.folder.move.title"),defaultMessage:"Move elements to"}))),e.createElement(he.f,null,e.createElement(qe.r,{gap:4},e.createElement(x.P,{xs:12,col:12},e.createElement(se.K,{spacing:1},e.createElement(nt.Q,{htmlFor:"folder-destination"},d({id:(0,g.OB)("form.input.label.folder-location"),defaultMessage:"Location"})),e.createElement(ot.Z,{options:u,onChange:U=>{W("destination",U)},defaultValue:P.destination,name:"destination",menuPortalTarget:document.querySelector("body"),inputId:"folder-destination",error:l?.destination,ariaErrorMessage:"destination-error"}),l.destination&&e.createElement(v.Z,{variant:"pi",as:"p",id:"folder-destination-error",textColor:"danger600"},l.destination))))),e.createElement(tt.m,{startActions:e.createElement(Q.z,{onClick:f,variant:"tertiary",name:"cancel"},d({id:"cancel",defaultMessage:"Cancel"})),endActions:e.createElement(Q.z,{type:"submit",loading:m},d({id:"modal.folder.move.submit",defaultMessage:"Move"}))}))))};le.defaultProps={currentFolder:void 0},le.propTypes={onClose:p().func.isRequired,currentFolder:y.nx,selected:p().arrayOf(y.nx,y.pw).isRequired};const re=({selected:s,onSuccess:r,currentFolder:i})=>{const{formatMessage:d}=(0,o.useIntl)(),[u,m]=(0,e.useState)(!1),F=()=>{m(!1),r()};return e.createElement(e.Fragment,null,e.createElement(Q.z,{variant:"secondary",size:"S",startIcon:e.createElement(Xe.Z,null),onClick:()=>m(!0)},d({id:"global.move",defaultMessage:"Move"})),u&&e.createElement(le,{currentFolder:i,onClose:F,selected:s}))};re.defaultProps={currentFolder:void 0},re.propTypes={onSuccess:p().func.isRequired,currentFolder:y.nx,selected:p().arrayOf(y.pw,y.nx).isRequired};const ie=({selected:s,onSuccess:r,currentFolder:i})=>{const{formatMessage:d}=(0,o.useIntl)();return e.createElement(se.K,{horizontal:!0,spacing:2,paddingBottom:5},e.createElement(v.Z,{variant:"epsilon",textColor:"neutral600"},d({id:(0,Ne.Z)("list.assets.selected"),defaultMessage:"{numberFolders, plural, one {1 folder} other {# folders}} - {numberAssets, plural, one {1 asset} other {# assets}} selected"},{numberFolders:s.filter(({type:u})=>u==="folder").length,numberAssets:s.filter(({type:u})=>u==="asset").length})),e.createElement(ve,{selected:s,onSuccess:r}),e.createElement(re,{currentFolder:i,selected:s,onSuccess:r}))};ie.defaultProps={currentFolder:void 0},ie.propTypes={onSuccess:p().func.isRequired,currentFolder:y.nx,selected:p().arrayOf(y.pw,y.nx).isRequired};var lt=t(72295),de=t(19406),rt=t(1920);const it=({isFiltering:s,canCreate:r,canRead:i})=>s?{id:"list.assets-empty.title-withSearch",defaultMessage:"There are no elements with the applied filters"}:i?r?{id:"list.assets.empty-upload",defaultMessage:"Upload your first assets..."}:{id:"list.assets.empty",defaultMessage:"Media Library is empty"}:{id:"header.actions.no-permissions",defaultMessage:"No permissions to view"},Me=({canCreate:s,isFiltering:r,canRead:i,onActionClick:d})=>{const{formatMessage:u}=(0,o.useIntl)(),m=it({isFiltering:r,canCreate:s,canRead:i});return e.createElement(rt.i,{icon:i?null:lt.default,action:s&&!r&&e.createElement(Q.z,{variant:"secondary",startIcon:e.createElement(de.default,null),onClick:d},u({id:(0,g.OB)("header.actions.add-assets"),defaultMessage:"Add new assets"})),content:u({...m,id:(0,g.OB)(m.id)})})};Me.propTypes={canCreate:p().bool.isRequired,canRead:p().bool.isRequired,isFiltering:p().bool.isRequired,onActionClick:p().func.isRequired};var w=t(47359),dt=t(5644),ct=t(79996),ut=t(90768),Ce=t(90142);const mt=()=>{const s=(0,e.useRef)(null),[r,i]=(0,e.useState)(!1),{formatMessage:d}=(0,o.useIntl)(),{trackUsage:u}=(0,n.useTracking)(),[{query:m},F]=(0,n.useQueryParams)(),M=m?.filters?.$and||[],f=()=>i(l=>!l),S=l=>{F({filters:{$and:l},page:1})},P=l=>{u("didFilterMediaLibraryElements",{location:"content-manager",filter:Object.keys(l[l.length-1])[0]}),F({filters:{$and:l},page:1})};return e.createElement(e.Fragment,null,e.createElement(Q.z,{variant:"tertiary",ref:s,startIcon:e.createElement(dt.Z,null),onClick:f,size:"S"},d({id:"app.utils.filters",defaultMessage:"Filters"})),r&&e.createElement(ut.Z,{displayedFilters:Ce.Z,filters:M,onSubmit:P,onToggle:f,source:s}),e.createElement(ct.Z,{appliedFilters:M,filtersSchema:Ce.Z,onRemoveFilter:S}))};var gt=t(28356),ft=t(50428),Et=t(29439),vt=t(32353);const ce=({breadcrumbs:s,canCreate:r,folder:i,onToggleEditFolderDialog:d,onToggleUploadAssetDialog:u})=>{const{formatMessage:m}=(0,o.useIntl)(),{pathname:F}=(0,E.useLocation)(),[{query:M}]=(0,n.useQueryParams)(),f={...M,folder:i?.parent?.id??void 0};return e.createElement(gt.T,{title:m({id:(0,g.OB)("plugin.name"),defaultMessage:"Media Library"}),subtitle:s&&i&&e.createElement(vt.O,{as:"nav",label:m({id:(0,g.OB)("header.breadcrumbs.nav.label"),defaultMessage:"Folders navigation"}),breadcrumbs:s,currentFolderId:i?.id}),navigationAction:i&&e.createElement(ft.r,{startIcon:e.createElement(Et.Z,null),to:`${F}?${(0,R.stringify)(f,{encode:!1})}`},m({id:(0,g.OB)("header.actions.folder-level-up"),defaultMessage:"Back"})),primaryAction:r&&e.createElement(se.K,{horizontal:!0,spacing:2},e.createElement(Q.z,{startIcon:e.createElement(de.default,null),variant:"secondary",onClick:d},m({id:(0,g.OB)("header.actions.add-folder"),defaultMessage:"Add new folder"})),e.createElement(Q.z,{startIcon:e.createElement(de.default,null),onClick:u},m({id:(0,g.OB)("header.actions.add-assets"),defaultMessage:"Add new assets"})))})};ce.defaultProps={breadcrumbs:!1,folder:null},ce.propTypes={breadcrumbs:p().oneOfType([y.Fv,p().bool]),canCreate:p().bool.isRequired,folder:y.nx,onToggleEditFolderDialog:p().func.isRequired,onToggleUploadAssetDialog:p().func.isRequired};var pt=t(37293),ht=t(77935),yt=t(46891),Mt=t(36156),Ct=t(93826);const Lt=(0,D.default)(G.x)`
2
+ height: ${32/16}rem;
3
+ display: flex;
4
+ align-items: center;
5
+ `,Le=(0,D.default)(v.Z)`
6
+ max-width: 100%;
7
+ `,Ae=(0,D.default)(G.x)`
8
+ svg {
9
+ path {
10
+ fill: ${({theme:s})=>s.colors.neutral500};
11
+ }
12
+ }
13
+ `,At=()=>{const{push:s}=(0,E.useHistory)(),{canRead:r,canCreate:i,canUpdate:d,canCopyLink:u,canDownload:m,isLoading:F}=(0,yt.y)(),M=(0,e.useRef)(),{formatMessage:f}=(0,o.useIntl)(),{pathname:S}=(0,E.useLocation)(),{trackUsage:P}=(0,n.useTracking)(),[{query:l},W]=(0,n.useQueryParams)(),U=Boolean(l._q||l.filters),[j,q]=(0,n.usePersistentState)(y.uf.view,y.Uk.GRID),Z=j===y.Uk.GRID,{data:z,isLoading:Ft,errors:Dt}=(0,pt.L)({skipWhen:!r,query:l}),{data:Ot,isLoading:Pt,errors:St}=(0,ht.j)({enabled:r&&z?.pagination?.page===1&&!(0,g.rV)(l),query:l}),{data:ue,isLoading:Be,error:Tt}=(0,Mt.W)(l?.folder,{enabled:r&&!!l?.folder});Tt?.response?.status===404&&s(S);const _=Ot?.map(a=>({...a,type:"folder",folderURL:(0,g.Km)(S,l,a.id),isSelectable:d}))??[],T=_?.length||0,ee=z?.results?.map(a=>({...a,type:"asset",isSelectable:d}))||[],I=ee?.length??0,It=z?.pagination?.total,Re=Be||Pt||F||Ft,[bt,Ut]=(0,e.useState)(!1),[Zt,xe]=(0,e.useState)(!1),[Fe,me]=(0,e.useState)(void 0),[ge,De]=(0,e.useState)(void 0),[K,{selectOne:te,selectAll:Oe}]=(0,n.useSelectionState)(["type","id"],[]),Pe=K?.length>0&&K?.length!==I+T,fe=()=>Ut(a=>!a),Se=({created:a=!1}={})=>{a&&l?.page!=="1"&&W({...l,page:1}),xe(ne=>!ne)},Te=(a,ne)=>{a.target.checked&&P("didSelectAllMediaLibraryElements"),Oe(ne)},Ie=a=>{P("didSortMediaLibraryElements",{location:"upload",sort:a}),W({sort:a})},be=a=>{De(a),xe(!0)},zt=a=>{De(null),Se(a),M.current&&M.current.focus()},Ue=a=>{a===I&&z.pagination.page===z.pagination.pageCount&&z.pagination.page>1&&W({...l,page:z.pagination.page-1})},Wt=()=>{Oe(),Ue(K.length)};return(0,n.useFocusWhenNavigate)(),e.createElement(O.A,null,e.createElement(B.o,{"aria-busy":Re},e.createElement(ce,{breadcrumbs:!Be&&(0,g.M4)(ue,{pathname:S,query:l}),canCreate:i,onToggleEditFolderDialog:Se,onToggleUploadAssetDialog:fe,folder:ue}),e.createElement(V.Z,{startActions:e.createElement(e.Fragment,null,d&&Z&&(I>0||T>0)&&e.createElement(Lt,{paddingLeft:2,paddingRight:2,background:"neutral0",hasRadius:!0,borderColor:"neutral200"},e.createElement(c.C,{"aria-label":f({id:(0,g.OB)("bulk.select.label"),defaultMessage:"Select all folders & assets"}),indeterminate:Pe,value:(I>0||T>0)&&K.length===I+T,onChange:a=>Te(a,[...ee,..._])})),r&&Z&&e.createElement(Ve.Z,{onChangeSort:Ie}),r&&e.createElement(mt,null)),endActions:e.createElement(e.Fragment,null,e.createElement(n.CheckPermissions,{permissions:Ct.Z.configureView},e.createElement(Ae,{paddingTop:1,paddingBottom:1},e.createElement(h.h,{forwardedAs:E.Link,to:{pathname:`${S}/configuration`,search:(0,R.stringify)(l,{encode:!1})},icon:e.createElement(Y.Z,null),label:f({id:"app.links.configure-view",defaultMessage:"Configure the view"})}))),e.createElement(Ae,{paddingTop:1,paddingBottom:1},e.createElement(h.h,{icon:Z?e.createElement(k.Z,null):e.createElement(ae.Z,null),label:f(Z?{id:"view-switch.list",defaultMessage:"List View"}:{id:"view-switch.grid",defaultMessage:"Grid View"}),onClick:()=>q(Z?y.Uk.LIST:y.Uk.GRID)})),e.createElement(n.SearchURLQuery,{label:f({id:(0,g.OB)("search.label"),defaultMessage:"Search for an asset"}),trackedEvent:"didSearchMediaLibraryElements",trackedEventDetails:{location:"upload"}}))}),e.createElement(N.D,null,K.length>0&&e.createElement(ie,{currentFolder:ue,selected:K,onSuccess:Wt}),Re&&e.createElement(n.LoadingIndicatorPage,null),(Dt||St)&&e.createElement(n.AnErrorOccurred,null),T===0&&I===0&&e.createElement(Me,{canCreate:i,canRead:r,isFiltering:U,onActionClick:fe}),r&&!Z&&(I>0||T>0)&&e.createElement($e.b,{assetCount:I,folderCount:T,indeterminate:Pe,onChangeSort:Ie,onChangeFolder:a=>s((0,g.Km)(S,l,a)),onEditAsset:me,onEditFolder:be,onSelectOne:te,onSelectAll:Te,rows:[..._,...ee],selected:K,shouldDisableBulkSelect:!d,sortQuery:l?.sort??""}),r&&Z&&e.createElement(e.Fragment,null,T>0&&e.createElement(je.a,{title:(U&&I>0||!U)&&f({id:(0,g.OB)("list.folders.title"),defaultMessage:"Folders ({count})"},{count:T})||""},_.map(a=>{const Kt=!!K.filter(({type:Ee})=>Ee==="folder").find(Ee=>Ee.id===a.id),Ze=(0,g.Km)(S,l,a?.id);return e.createElement(x.P,{col:3,key:`folder-${a.id}`},e.createElement(w.Ac,{ref:ge&&a.id===ge.id?M:void 0,ariaLabel:a.name,id:`folder-${a.id}`,to:Ze,startAction:te&&a.isSelectable?e.createElement(w.MM,{"data-testid":`folder-checkbox-${a.id}`,value:Kt,onChange:()=>te(a)}):null,cardActions:e.createElement(h.h,{icon:e.createElement(J.Z,null),"aria-label":f({id:(0,g.OB)("list.folder.edit"),defaultMessage:"Edit folder"}),onClick:()=>be(a)})},e.createElement(w.Bu,null,e.createElement(w.u6,{to:Ze},e.createElement(b.k,{as:"h2",direction:"column",alignItems:"start",maxWidth:"100%"},e.createElement(Le,{fontWeight:"semiBold",ellipsis:!0},a.name,e.createElement(A.T,null,":")),e.createElement(Le,{as:"span",textColor:"neutral600",variant:"pi",ellipsis:!0},f({id:(0,g.OB)("list.folder.subtitle"),defaultMessage:"{folderCount, plural, =0 {# folder} one {# folder} other {# folders}}, {filesCount, plural, =0 {# asset} one {# asset} other {# assets}}"},{folderCount:a.children.count,filesCount:a.files.count})))))))})),I>0&&T>0&&e.createElement(G.x,{paddingTop:6,paddingBottom:4},e.createElement(H.i,null)),I>0&&e.createElement(Qe.r,{assets:ee,onEditAsset:me,onSelectAsset:te,selectedAssets:K.filter(({type:a})=>a==="asset"),title:(!U||U&&T>0)&&z?.pagination?.page===1&&f({id:(0,g.OB)("list.assets.title"),defaultMessage:"Assets ({count})"},{count:It})||""})),z?.pagination&&e.createElement(oe,{pagination:z.pagination}))),bt&&e.createElement(ze.x,{onClose:fe,trackedLocation:"upload",folderId:l?.folder}),Zt&&e.createElement(We.f,{onClose:zt,folder:ge,parentFolderId:l?.folder,location:"upload"}),Fe&&e.createElement(Ke.s,{onClose:a=>{a===null&&Ue(1),me(void 0)},asset:Fe,canUpdate:d,canCopyLink:u,canDownload:m,trackedLocation:"upload"}))};var Bt=t(68715);const Rt=(0,e.lazy)(()=>t.e(9514).then(t.bind(t,1372)));var xt=()=>{const{config:{isLoading:s,isError:r,data:i}}=(0,Bt.Z)(),[{rawQuery:d},u]=(0,n.useQueryParams)(),{formatMessage:m}=(0,o.useIntl)(),F=m({id:(0,g.OB)("plugin.name"),defaultMessage:"Media Library"});return(0,e.useEffect)(()=>{s||r||d||u({sort:i.sort,page:1,pageSize:i.pageSize})},[s,r,i,d,u]),(0,n.useFocusWhenNavigate)(),e.createElement(B.o,{"aria-busy":s},e.createElement(C.Helmet,{title:F}),s&&e.createElement(n.LoadingIndicatorPage,null),d?e.createElement(e.Suspense,{fallback:e.createElement(n.LoadingIndicatorPage,null)},e.createElement(E.Switch,null,e.createElement(E.Route,{exact:!0,path:`/plugins/${X.Z}`,component:At}),e.createElement(E.Route,{exact:!0,path:`/plugins/${X.Z}/configuration`,render:()=>e.createElement(Rt,{config:i})}))):null)}},99223:function($,L,t){t.d(L,{Z:function(){return R}});var e=t(32735),E=t(60216),o=t(83292),C=t(72850),n=t(87933);const B=(0,o.default)(n.k)`
14
+ & > * + * {
15
+ margin-left: ${({theme:O})=>O.spaces[2]};
16
+ }
17
+
18
+ margin-left: ${({pullRight:O})=>O?"auto":void 0};
19
+ `,D=(0,o.default)(B)`
20
+ flex-shrink: 0;
21
+ `,R=({startActions:O,endActions:V})=>O||V?e.createElement(C.x,{paddingLeft:10,paddingRight:10},e.createElement(C.x,{paddingBottom:4},e.createElement(n.k,{justifyContent:"space-between",alignItems:"flex-start"},O&&e.createElement(B,{wrap:"wrap"},O),V&&e.createElement(D,{pullRight:!0},V)))):null;R.defaultProps={endActions:void 0,startActions:void 0},R.propTypes={endActions:E.node,startActions:E.node}},17e3:function($,L,t){t.d(L,{D:function(){return C}});var e=t(32735),E=t(60216),o=t(72850);const C=({children:n})=>e.createElement(o.x,{paddingLeft:10,paddingRight:10},n);C.propTypes={children:E.node.isRequired}},28356:function($,L,t){t.d(L,{T:function(){return N}});var e=t(32735),E=t(83292),o=t(60216),C=t(49372),n=t(72850),B=t(87933);const D=c=>{const A=(0,e.useRef)(null),[h,v]=(0,e.useState)(!0),x=([b])=>{v(b.isIntersecting)};return(0,e.useEffect)(()=>{const b=A.current,J=new IntersectionObserver(x,c);return b&&J.observe(A.current),()=>{b&&J.disconnect()}},[A,c]),[A,h]};var R=t(81002);const O=(c,A)=>{const h=(0,R.useCallbackRef)(A);(0,e.useLayoutEffect)(()=>{const v=new ResizeObserver(h);return Array.isArray(c)?c.forEach(x=>{x.current&&v.observe(x.current)}):c.current&&v.observe(c.current),()=>{v.disconnect()}},[c,h])},V=()=>{const c=(0,e.useRef)(null),[A,h]=(0,e.useState)(null),[v,x]=D({root:null,rootMargin:"0px",threshold:0});return O(v,()=>{v.current&&h(v.current.getBoundingClientRect())}),(0,e.useEffect)(()=>{c.current&&h(c.current.getBoundingClientRect())},[c]),{containerRef:v,isVisible:x,baseHeaderLayoutRef:c,headerSize:A}},N=c=>{const{containerRef:A,isVisible:h,baseHeaderLayoutRef:v,headerSize:x}=V();return e.createElement(e.Fragment,null,e.createElement("div",{style:{height:x?.height},ref:A},h&&e.createElement(H,{ref:v,...c})),!h&&e.createElement(H,{...c,sticky:!0,width:x?.width}))};N.displayName="HeaderLayout";const G=(0,E.default)(n.x)`
22
+ width: ${c=>c.width}px;
23
+ `,H=e.forwardRef(({navigationAction:c,primaryAction:A,secondaryAction:h,subtitle:v,title:x,sticky:b,width:J,...Y},ae)=>{const k=typeof v=="string";return b?e.createElement(G,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:J,zIndex:4,"data-strapi-header-sticky":!0},e.createElement(B.k,{justifyContent:"space-between"},e.createElement(B.k,null,c&&e.createElement(n.x,{paddingRight:3},c),e.createElement(n.x,null,e.createElement(C.Z,{variant:"beta",as:"h1",...Y},x),k?e.createElement(C.Z,{variant:"pi",textColor:"neutral600"},v):v),h?e.createElement(n.x,{paddingLeft:4},h):null),e.createElement(B.k,null,A?e.createElement(n.x,{paddingLeft:2},A):void 0))):e.createElement(n.x,{ref:ae,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:c?6:8,background:"neutral100","data-strapi-header":!0},c?e.createElement(n.x,{paddingBottom:2},c):null,e.createElement(B.k,{justifyContent:"space-between"},e.createElement(B.k,null,e.createElement(C.Z,{as:"h1",variant:"alpha",...Y},x),h?e.createElement(n.x,{paddingLeft:4},h):null),A),k?e.createElement(C.Z,{variant:"epsilon",textColor:"neutral600",as:"p"},v):v)});H.displayName="BaseHeaderLayout",H.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0,sticky:!1,width:void 0},H.propTypes={navigationAction:o.node,primaryAction:o.node,secondaryAction:o.node,sticky:o.bool,subtitle:o.oneOfType([o.string,o.node]),title:o.string.isRequired,width:o.number},N.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0},N.propTypes={navigationAction:o.node,primaryAction:o.node,secondaryAction:o.node,subtitle:o.oneOfType([o.string,o.node]),title:o.string.isRequired}},96709:function($,L,t){t.d(L,{A:function(){return D}});var e=t(32735),E=t(60216),o=t(83292),C=t(72850);const n=(0,o.default)(C.x)`
24
+ display: grid;
25
+ grid-template-columns: ${({hasSideNav:R})=>R?"auto 1fr":"1fr"};
26
+ `,B=(0,o.default)(C.x)`
27
+ overflow-x: hidden;
28
+ `,D=({sideNav:R,children:O})=>e.createElement(n,{hasSideNav:Boolean(R)},R,e.createElement(B,{paddingBottom:10},O));D.defaultProps={sideNav:void 0},D.propTypes={children:E.node.isRequired,sideNav:E.node}},27649:function($,L,t){t.d(L,{o:function(){return n}});var e=t(32735),E=t(60216),o=t(83292);const C=o.default.main`
29
+ // To prevent global outline on focus visible to force an outline when Main is focused
30
+ &:focus-visible {
31
+ outline: none;
32
+ }
33
+ `,n=({labelledBy:B,...D})=>{const R=B||"main-content-title";return e.createElement(C,{"aria-labelledby":R,id:"main-content",tabIndex:-1,...D})};n.defaultProps={labelledBy:void 0},n.propTypes={labelledBy:E.string}},29439:function($,L,t){t.d(L,{Z:function(){return E}});var e=t(74512);function E(o){return(0,e.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...o,children:(0,e.jsx)("path",{d:"M24 13.3a.2.2 0 01-.2.2H5.74l8.239 8.239a.2.2 0 010 .282L12.14 23.86a.2.2 0 01-.282 0L.14 12.14a.2.2 0 010-.282L11.86.14a.2.2 0 01.282 0L13.98 1.98a.2.2 0 010 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6z",fill:"#212134"})})}},45112:function($,L,t){t.d(L,{Z:function(){return E}});var e=t(74512);function E(o){return(0,e.jsx)("svg",{width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...o,children:(0,e.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2.68 9.192c-.6.276-2.114 1.18-2.306 1.303a.792.792 0 00-.374.68v1.65a.797.797 0 00.384.687c.254.16 1.73 1.042 2.306 1.303l.744 1.8c-.24.634-.67 2.333-.72 2.554a.797.797 0 00.216.744l1.167 1.166a.801.801 0 00.744.216l.03-.008c.36-.092 1.946-.498 2.523-.712l1.8.744c.276.6 1.181 2.115 1.304 2.307a.805.805 0 00.679.374h1.649a.797.797 0 00.686-.384c.16-.254 1.042-1.73 1.303-2.306l1.8-.744c.634.24 2.333.67 2.554.72a.797.797 0 00.744-.216l1.166-1.167a.803.803 0 00.216-.744l-.008-.03c-.092-.36-.498-1.946-.712-2.523l.744-1.8c.6-.276 2.115-1.181 2.307-1.304a.804.804 0 00.374-.679v-1.649a.796.796 0 00-.382-.679c-.254-.16-1.73-1.041-2.306-1.303l-.744-1.8c.24-.634.67-2.333.72-2.554a.796.796 0 00-.216-.744l-1.166-1.173a.802.802 0 00-.744-.216l-.03.008c-.361.092-1.947.498-2.524.712l-1.8-.744c-.276-.6-1.18-2.115-1.303-2.307a.803.803 0 00-.68-.374h-1.65a.797.797 0 00-.68.382c-.16.254-1.041 1.73-1.303 2.306l-1.8.744c-.634-.24-2.333-.67-2.554-.72a.797.797 0 00-.744.216L2.921 4.094a.802.802 0 00-.216.744l.008.03c.092.361.498 1.947.712 2.524l-.744 1.8zM12 17a5 5 0 100-10 5 5 0 000 10z",fill:"#212134"})})}}}]);
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[9460],{84764:function(T,v,t){t.r(v),t.d(v,{default:function(){return G}});var e=t(32735),E=t(84968),o=t(5636),c=t(83281),n=t(88425),g=t(94638),b=t(27649),p=t(28356),O=t(17e3),R=t(41415),y=t(72850),S=t(27677),f=t(70218),a=t(84967),l=t(49372),r=t(15335),s=t(5803),d=t(66456),h=t(88369),i=t(59677),P=[{intlLabel:{id:(0,i.OB)("EditForm.inputToggle.label.email"),defaultMessage:"One account per email address"},description:{id:(0,i.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,i.OB)("EditForm.inputToggle.label.sign-up"),defaultMessage:"Enable sign-ups"},description:{id:(0,i.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,i.OB)("EditForm.inputToggle.label.email-reset-password"),defaultMessage:"Reset password page"},description:{id:(0,i.OB)("EditForm.inputToggle.description.email-reset-password"),defaultMessage:"URL of your application's reset password page."},placeholder:{id:(0,i.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,i.OB)("EditForm.inputToggle.label.email-confirmation"),defaultMessage:"Enable email confirmation"},description:{id:(0,i.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,i.OB)("EditForm.inputToggle.label.email-confirmation-redirection"),defaultMessage:"Redirection url"},description:{id:(0,i.OB)("EditForm.inputToggle.description.email-confirmation-redirection"),defaultMessage:"After you confirmed your email, choose where you will be redirected."},placeholder:{id:(0,i.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}}],B=t(5173);const F=new RegExp("(^$)|((.+:\\/\\/.*)(d*)\\/?(.*))");var Z=B.Ry().shape({email_confirmation_redirection:B.nK().when("email_confirmation",{is:!0,then:B.Z_().matches(F).required(),otherwise:B.Z_().nullable()}),email_reset_password:B.Z_(n.translatedErrors.string).matches(F,n.translatedErrors.regex).nullable()});const N=async()=>{const{get:u}=(0,n.getFetchClient)(),{data:A}=await u((0,i.Gc)("advanced"));return A},U=u=>{const{put:A}=(0,n.getFetchClient)();return A((0,i.Gc)("advanced"),u)},W=()=>e.createElement(n.CheckPagePermissions,{permissions:h.Z.readAdvancedSettings},e.createElement(H,null)),H=()=>{const{formatMessage:u}=(0,o.useIntl)(),A=(0,n.useNotification)(),{lockApp:K,unlockApp:D}=(0,n.useOverlayBlocker)(),{notifyStatus:j}=(0,g.G)(),$=(0,E.useQueryClient)();(0,n.useFocusWhenNavigate)();const Q=(0,e.useMemo)(()=>({update:h.Z.updateAdvancedSettings}),[]),{isLoading:V,allowedActions:{canUpdate:k}}=(0,n.useRBAC)(Q),{status:X,data:I}=(0,E.useQuery)("advanced",()=>N(),{onSuccess(){j(u({id:(0,i.OB)("Form.advancedSettings.data.loaded"),defaultMessage:"Advanced settings data has been loaded"}))},onError(){A({type:"warning",message:{id:(0,i.OB)("notification.error"),defaultMessage:"An error occured"}})}}),Y=V||X!=="success",w=(0,E.useMutation)(M=>U(M),{async onSuccess(){await $.invalidateQueries("advanced"),A({type:"success",message:{id:(0,i.OB)("notification.success.saved"),defaultMessage:"Saved"}}),D()},onError(){A({type:"warning",message:{id:(0,i.OB)("notification.error"),defaultMessage:"An error occured"}}),D()},refetchActive:!0}),{isLoading:J}=w,q=async M=>{K();const L=M.email_confirmation?M.email_confirmation_redirection:"";await w.mutateAsync({...M,email_confirmation_redirection:L})};return Y?e.createElement(b.o,{"aria-busy":"true"},e.createElement(n.SettingsPageTitle,{name:u({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),e.createElement(p.T,{title:u({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),e.createElement(O.D,null,e.createElement(n.LoadingIndicatorPage,null))):e.createElement(b.o,{"aria-busy":J},e.createElement(n.SettingsPageTitle,{name:u({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),e.createElement(c.Formik,{onSubmit:q,initialValues:I.settings,validateOnChange:!1,validationSchema:Z,enableReinitialize:!0},({errors:M,values:L,handleChange:z,isSubmitting:_})=>e.createElement(n.Form,null,e.createElement(p.T,{title:u({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"}),primaryAction:e.createElement(R.z,{loading:_,type:"submit",disabled:!k,startIcon:e.createElement(d.Z,null),size:"S"},u({id:"global.save",defaultMessage:"Save"}))}),e.createElement(O.D,null,e.createElement(y.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(S.K,{spacing:4},e.createElement(l.Z,{variant:"delta",as:"h2"},u({id:"global.settings",defaultMessage:"Settings"})),e.createElement(r.r,{gap:6},e.createElement(s.P,{col:6,s:12},e.createElement(f.P,{label:u({id:(0,i.OB)("EditForm.inputSelect.label.role"),defaultMessage:"Default role for authenticated users"}),value:L.default_role,hint:u({id:(0,i.OB)("EditForm.inputSelect.description.role"),defaultMessage:"It will attach the new authenticated user to the selected role."}),onChange:m=>z({target:{name:"default_role",value:m}})},I.roles.map(m=>e.createElement(a.W,{key:m.type,value:m.type},m.name)))),P.map(m=>{let C=L[m.name];return C||(C=m.type==="bool"?!1:""),e.createElement(s.P,{key:m.name,...m.size},e.createElement(n.GenericInput,{...m,value:C,error:M[m.name],disabled:m.name==="email_confirmation_redirection"&&L.email_confirmation===!1,onChange:z}))}))))))))};var G=W},59677:function(T,v,t){t.d(v,{YX:function(){return o},Gc:function(){return g},OB:function(){return b.Z}});var e=t(92891),o=p=>Object.keys(p).reduce((O,R)=>{const y=p[R].controllers,S=Object.keys(y).reduce((f,a)=>((0,e.isEmpty)(y[a])||(f[a]=y[a]),f),{});return(0,e.isEmpty)(S)||(O[R]={controllers:S}),O},{}),c=t(90201),g=p=>`/${c.Z}/${p}`,b=t(82069)},17e3:function(T,v,t){t.d(v,{D:function(){return c}});var e=t(32735),E=t(60216),o=t(72850);const c=({children:n})=>e.createElement(o.x,{paddingLeft:10,paddingRight:10},n);c.propTypes={children:E.node.isRequired}},28356:function(T,v,t){t.d(v,{T:function(){return y}});var e=t(32735),E=t(83292),o=t(60216),c=t(49372),n=t(72850),g=t(87933);const b=a=>{const l=(0,e.useRef)(null),[r,s]=(0,e.useState)(!0),d=([h])=>{s(h.isIntersecting)};return(0,e.useEffect)(()=>{const h=l.current,i=new IntersectionObserver(d,a);return h&&i.observe(l.current),()=>{h&&i.disconnect()}},[l,a]),[l,r]};var p=t(81002);const O=(a,l)=>{const r=(0,p.useCallbackRef)(l);(0,e.useLayoutEffect)(()=>{const s=new ResizeObserver(r);return Array.isArray(a)?a.forEach(d=>{d.current&&s.observe(d.current)}):a.current&&s.observe(a.current),()=>{s.disconnect()}},[a,r])},R=()=>{const a=(0,e.useRef)(null),[l,r]=(0,e.useState)(null),[s,d]=b({root:null,rootMargin:"0px",threshold:0});return O(s,()=>{s.current&&r(s.current.getBoundingClientRect())}),(0,e.useEffect)(()=>{a.current&&r(a.current.getBoundingClientRect())},[a]),{containerRef:s,isVisible:d,baseHeaderLayoutRef:a,headerSize:l}},y=a=>{const{containerRef:l,isVisible:r,baseHeaderLayoutRef:s,headerSize:d}=R();return e.createElement(e.Fragment,null,e.createElement("div",{style:{height:d?.height},ref:l},r&&e.createElement(f,{ref:s,...a})),!r&&e.createElement(f,{...a,sticky:!0,width:d?.width}))};y.displayName="HeaderLayout";const S=(0,E.default)(n.x)`
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[9460],{84764:function(T,v,t){t.r(v),t.d(v,{default:function(){return G}});var e=t(32735),E=t(84968),o=t(5636),c=t(83281),n=t(13478),g=t(94638),b=t(27649),p=t(28356),O=t(17e3),R=t(41415),y=t(72850),S=t(27677),f=t(70218),a=t(84967),l=t(49372),r=t(15335),s=t(5803),d=t(66456),h=t(88369),i=t(59677),P=[{intlLabel:{id:(0,i.OB)("EditForm.inputToggle.label.email"),defaultMessage:"One account per email address"},description:{id:(0,i.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,i.OB)("EditForm.inputToggle.label.sign-up"),defaultMessage:"Enable sign-ups"},description:{id:(0,i.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,i.OB)("EditForm.inputToggle.label.email-reset-password"),defaultMessage:"Reset password page"},description:{id:(0,i.OB)("EditForm.inputToggle.description.email-reset-password"),defaultMessage:"URL of your application's reset password page."},placeholder:{id:(0,i.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,i.OB)("EditForm.inputToggle.label.email-confirmation"),defaultMessage:"Enable email confirmation"},description:{id:(0,i.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,i.OB)("EditForm.inputToggle.label.email-confirmation-redirection"),defaultMessage:"Redirection url"},description:{id:(0,i.OB)("EditForm.inputToggle.description.email-confirmation-redirection"),defaultMessage:"After you confirmed your email, choose where you will be redirected."},placeholder:{id:(0,i.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}}],B=t(5173);const F=new RegExp("(^$)|((.+:\\/\\/.*)(d*)\\/?(.*))");var Z=B.Ry().shape({email_confirmation_redirection:B.nK().when("email_confirmation",{is:!0,then:B.Z_().matches(F).required(),otherwise:B.Z_().nullable()}),email_reset_password:B.Z_(n.translatedErrors.string).matches(F,n.translatedErrors.regex).nullable()});const N=async()=>{const{get:u}=(0,n.getFetchClient)(),{data:A}=await u((0,i.Gc)("advanced"));return A},U=u=>{const{put:A}=(0,n.getFetchClient)();return A((0,i.Gc)("advanced"),u)},W=()=>e.createElement(n.CheckPagePermissions,{permissions:h.Z.readAdvancedSettings},e.createElement(H,null)),H=()=>{const{formatMessage:u}=(0,o.useIntl)(),A=(0,n.useNotification)(),{lockApp:K,unlockApp:D}=(0,n.useOverlayBlocker)(),{notifyStatus:j}=(0,g.G)(),$=(0,E.useQueryClient)();(0,n.useFocusWhenNavigate)();const Q=(0,e.useMemo)(()=>({update:h.Z.updateAdvancedSettings}),[]),{isLoading:V,allowedActions:{canUpdate:k}}=(0,n.useRBAC)(Q),{status:X,data:I}=(0,E.useQuery)("advanced",()=>N(),{onSuccess(){j(u({id:(0,i.OB)("Form.advancedSettings.data.loaded"),defaultMessage:"Advanced settings data has been loaded"}))},onError(){A({type:"warning",message:{id:(0,i.OB)("notification.error"),defaultMessage:"An error occured"}})}}),Y=V||X!=="success",w=(0,E.useMutation)(M=>U(M),{async onSuccess(){await $.invalidateQueries("advanced"),A({type:"success",message:{id:(0,i.OB)("notification.success.saved"),defaultMessage:"Saved"}}),D()},onError(){A({type:"warning",message:{id:(0,i.OB)("notification.error"),defaultMessage:"An error occured"}}),D()},refetchActive:!0}),{isLoading:J}=w,q=async M=>{K();const L=M.email_confirmation?M.email_confirmation_redirection:"";await w.mutateAsync({...M,email_confirmation_redirection:L})};return Y?e.createElement(b.o,{"aria-busy":"true"},e.createElement(n.SettingsPageTitle,{name:u({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),e.createElement(p.T,{title:u({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),e.createElement(O.D,null,e.createElement(n.LoadingIndicatorPage,null))):e.createElement(b.o,{"aria-busy":J},e.createElement(n.SettingsPageTitle,{name:u({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"})}),e.createElement(c.Formik,{onSubmit:q,initialValues:I.settings,validateOnChange:!1,validationSchema:Z,enableReinitialize:!0},({errors:M,values:L,handleChange:z,isSubmitting:_})=>e.createElement(n.Form,null,e.createElement(p.T,{title:u({id:(0,i.OB)("HeaderNav.link.advancedSettings"),defaultMessage:"Advanced Settings"}),primaryAction:e.createElement(R.z,{loading:_,type:"submit",disabled:!k,startIcon:e.createElement(d.Z,null),size:"S"},u({id:"global.save",defaultMessage:"Save"}))}),e.createElement(O.D,null,e.createElement(y.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(S.K,{spacing:4},e.createElement(l.Z,{variant:"delta",as:"h2"},u({id:"global.settings",defaultMessage:"Settings"})),e.createElement(r.r,{gap:6},e.createElement(s.P,{col:6,s:12},e.createElement(f.P,{label:u({id:(0,i.OB)("EditForm.inputSelect.label.role"),defaultMessage:"Default role for authenticated users"}),value:L.default_role,hint:u({id:(0,i.OB)("EditForm.inputSelect.description.role"),defaultMessage:"It will attach the new authenticated user to the selected role."}),onChange:m=>z({target:{name:"default_role",value:m}})},I.roles.map(m=>e.createElement(a.W,{key:m.type,value:m.type},m.name)))),P.map(m=>{let C=L[m.name];return C||(C=m.type==="bool"?!1:""),e.createElement(s.P,{key:m.name,...m.size},e.createElement(n.GenericInput,{...m,value:C,error:M[m.name],disabled:m.name==="email_confirmation_redirection"&&L.email_confirmation===!1,onChange:z}))}))))))))};var G=W},59677:function(T,v,t){t.d(v,{YX:function(){return o},Gc:function(){return g},OB:function(){return b.Z}});var e=t(92891),o=p=>Object.keys(p).reduce((O,R)=>{const y=p[R].controllers,S=Object.keys(y).reduce((f,a)=>((0,e.isEmpty)(y[a])||(f[a]=y[a]),f),{});return(0,e.isEmpty)(S)||(O[R]={controllers:S}),O},{}),c=t(90201),g=p=>`/${c.Z}/${p}`,b=t(82069)},17e3:function(T,v,t){t.d(v,{D:function(){return c}});var e=t(32735),E=t(60216),o=t(72850);const c=({children:n})=>e.createElement(o.x,{paddingLeft:10,paddingRight:10},n);c.propTypes={children:E.node.isRequired}},28356:function(T,v,t){t.d(v,{T:function(){return y}});var e=t(32735),E=t(83292),o=t(60216),c=t(49372),n=t(72850),g=t(87933);const b=a=>{const l=(0,e.useRef)(null),[r,s]=(0,e.useState)(!0),d=([h])=>{s(h.isIntersecting)};return(0,e.useEffect)(()=>{const h=l.current,i=new IntersectionObserver(d,a);return h&&i.observe(l.current),()=>{h&&i.disconnect()}},[l,a]),[l,r]};var p=t(81002);const O=(a,l)=>{const r=(0,p.useCallbackRef)(l);(0,e.useLayoutEffect)(()=>{const s=new ResizeObserver(r);return Array.isArray(a)?a.forEach(d=>{d.current&&s.observe(d.current)}):a.current&&s.observe(a.current),()=>{s.disconnect()}},[a,r])},R=()=>{const a=(0,e.useRef)(null),[l,r]=(0,e.useState)(null),[s,d]=b({root:null,rootMargin:"0px",threshold:0});return O(s,()=>{s.current&&r(s.current.getBoundingClientRect())}),(0,e.useEffect)(()=>{a.current&&r(a.current.getBoundingClientRect())},[a]),{containerRef:s,isVisible:d,baseHeaderLayoutRef:a,headerSize:l}},y=a=>{const{containerRef:l,isVisible:r,baseHeaderLayoutRef:s,headerSize:d}=R();return e.createElement(e.Fragment,null,e.createElement("div",{style:{height:d?.height},ref:l},r&&e.createElement(f,{ref:s,...a})),!r&&e.createElement(f,{...a,sticky:!0,width:d?.width}))};y.displayName="HeaderLayout";const S=(0,E.default)(n.x)`
2
2
  width: ${a=>a.width}px;
3
3
  `,f=e.forwardRef(({navigationAction:a,primaryAction:l,secondaryAction:r,subtitle:s,title:d,sticky:h,width:i,...x},P)=>{const B=typeof s=="string";return h?e.createElement(S,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:i,zIndex:4,"data-strapi-header-sticky":!0},e.createElement(g.k,{justifyContent:"space-between"},e.createElement(g.k,null,a&&e.createElement(n.x,{paddingRight:3},a),e.createElement(n.x,null,e.createElement(c.Z,{variant:"beta",as:"h1",...x},d),B?e.createElement(c.Z,{variant:"pi",textColor:"neutral600"},s):s),r?e.createElement(n.x,{paddingLeft:4},r):null),e.createElement(g.k,null,l?e.createElement(n.x,{paddingLeft:2},l):void 0))):e.createElement(n.x,{ref:P,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:a?6:8,background:"neutral100","data-strapi-header":!0},a?e.createElement(n.x,{paddingBottom:2},a):null,e.createElement(g.k,{justifyContent:"space-between"},e.createElement(g.k,null,e.createElement(c.Z,{as:"h1",variant:"alpha",...x},d),r?e.createElement(n.x,{paddingLeft:4},r):null),l),B?e.createElement(c.Z,{variant:"epsilon",textColor:"neutral600",as:"p"},s):s)});f.displayName="BaseHeaderLayout",f.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0,sticky:!1,width:void 0},f.propTypes={navigationAction:o.node,primaryAction:o.node,secondaryAction:o.node,sticky:o.bool,subtitle:o.oneOfType([o.string,o.node]),title:o.string.isRequired,width:o.number},y.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0},y.propTypes={navigationAction:o.node,primaryAction:o.node,secondaryAction:o.node,subtitle:o.oneOfType([o.string,o.node]),title:o.string.isRequired}},27649:function(T,v,t){t.d(v,{o:function(){return n}});var e=t(32735),E=t(60216),o=t(83292);const c=o.default.main`
4
4
  // To prevent global outline on focus visible to force an outline when Main is focused
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8418],{218:function(D,E,t){t.r(E),t.d(E,{default:function(){return ie}});var e=t(32735),g=t(84968),s=t(5636),n=t(88425),r=t(94638),p=t(27649),O=t(28356),f=t(17e3),M=t(88369),l=t(59677);const d=async()=>{const{get:m}=(0,n.getFetchClient)(),{data:h}=await m((0,l.Gc)("email-templates"));return h},P=m=>{const{put:h}=(0,n.getFetchClient)();return h((0,l.Gc)("email-templates"),m)};var v=t(60216),a=t.n(v),u=t(94745),c=t(76330),i=t(29005),o=t(66735),R=t(3594),L=t(3685),I=t(49372),F=t(50563),U=t(99140),W=t(68625),Q=t(44647),J=t(66456);const H=({canUpdate:m,onEditClick:h})=>{const{formatMessage:y}=(0,s.useIntl)();return e.createElement(u.i,{colCount:3,rowCount:3},e.createElement(c.h,null,e.createElement(i.Tr,null,e.createElement(o.Th,{width:"1%"},e.createElement(L.T,null,y({id:(0,l.OB)("Email.template.table.icon.label"),defaultMessage:"icon"}))),e.createElement(o.Th,null,e.createElement(I.Z,{variant:"sigma",textColor:"neutral600"},y({id:(0,l.OB)("Email.template.table.name.label"),defaultMessage:"name"}))),e.createElement(o.Th,{width:"1%"},e.createElement(L.T,null,y({id:(0,l.OB)("Email.template.table.action.label"),defaultMessage:"action"}))))),e.createElement(R.p,null,e.createElement(i.Tr,{...(0,n.onRowClick)({fn:()=>h("reset_password")})},e.createElement(o.Td,null,e.createElement(U.J,null,e.createElement(Q.Z,{"aria-label":y({id:"global.reset-password",defaultMessage:"Reset password"})}))),e.createElement(o.Td,null,e.createElement(I.Z,null,y({id:"global.reset-password",defaultMessage:"Reset password"}))),e.createElement(o.Td,{...n.stopPropagation},e.createElement(F.h,{onClick:()=>h("reset_password"),label:y({id:(0,l.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:m&&e.createElement(W.Z,null)}))),e.createElement(i.Tr,{...(0,n.onRowClick)({fn:()=>h("email_confirmation")})},e.createElement(o.Td,null,e.createElement(U.J,null,e.createElement(J.Z,{"aria-label":y({id:(0,l.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"})}))),e.createElement(o.Td,null,e.createElement(I.Z,null,y({id:(0,l.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"}))),e.createElement(o.Td,{...n.stopPropagation},e.createElement(F.h,{onClick:()=>h("email_confirmation"),label:y({id:(0,l.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:m&&e.createElement(W.Z,null)})))))};H.propTypes={canUpdate:a().bool.isRequired,onEditClick:a().func.isRequired};var X=H,Y=t(83281),w=t(85025),k=t(55225),q=t(31600),_=t(11406),ee=t(15335),j=t(5803),K=t(41415),Z=t(11299),te=t(10508),C=t(5173),ae=C.Ry().shape({options:C.Ry().shape({from:C.Ry().shape({name:C.Z_().required(n.translatedErrors.required),email:C.Z_().email(n.translatedErrors.email).required(n.translatedErrors.required)}).required(),response_email:C.Z_().email(n.translatedErrors.email),object:C.Z_().required(n.translatedErrors.required),message:C.Z_().required(n.translatedErrors.required)}).required(n.translatedErrors.required)});const N=({template:m,onToggle:h,onSubmit:y})=>{const{formatMessage:T}=(0,s.useIntl)();return e.createElement(w.P,{onClose:h,labelledBy:`${T({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${T({id:(0,l.OB)(m.display),defaultMessage:m.display})}`},e.createElement(k.x,null,e.createElement(Z.O,{label:`${T({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${T({id:(0,l.OB)(m.display),defaultMessage:m.display})}`},e.createElement(Z.$,null,T({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})),e.createElement(Z.$,null,T({id:(0,l.OB)(m.display),defaultMessage:m.display})))),e.createElement(Y.Formik,{onSubmit:y,initialValues:m,validateOnChange:!1,validationSchema:ae,enableReinitialize:!0},({errors:B,values:x,handleChange:b,isSubmitting:S})=>e.createElement(n.Form,null,e.createElement(q.f,null,e.createElement(ee.r,{gap:5},e.createElement(j.P,{col:6,s:12},e.createElement(n.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.from.name.label"),defaultMessage:"Shipper name"},name:"options.from.name",onChange:b,value:x.options.from.name,error:B?.options?.from?.name,type:"text"})),e.createElement(j.P,{col:6,s:12},e.createElement(n.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.from.email.label"),defaultMessage:"Shipper email"},name:"options.from.email",onChange:b,value:x.options.from.email,error:B?.options?.from?.email,type:"text"})),e.createElement(j.P,{col:6,s:12},e.createElement(n.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.response_email.label"),defaultMessage:"Response email"},name:"options.response_email",onChange:b,value:x.options.response_email,error:B?.options?.response_email,type:"text"})),e.createElement(j.P,{col:6,s:12},e.createElement(n.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.object.label"),defaultMessage:"Subject"},name:"options.object",onChange:b,value:x.options.object,error:B?.options?.object,type:"text"})),e.createElement(j.P,{col:12,s:12},e.createElement(te.g,{label:T({id:(0,l.OB)("PopUpForm.Email.options.message.label"),defaultMessage:"Message"}),name:"options.message",onChange:b,value:x.options.message,error:B?.options?.message&&T({id:B.options.message,defaultMessage:B.options.message})})))),e.createElement(_.m,{startActions:e.createElement(K.z,{onClick:h,variant:"tertiary"},"Cancel"),endActions:e.createElement(K.z,{loading:S,type:"submit"},"Finish")}))))};N.propTypes={template:a().shape({display:a().string,icon:a().string,options:a().shape({from:a().shape({name:a().string,email:a().string}),message:a().string,object:a().string,response_email:a().string})}).isRequired,onSubmit:a().func.isRequired,onToggle:a().func.isRequired};var ne=N;const le=()=>e.createElement(n.CheckPagePermissions,{permissions:M.Z.readEmailTemplates},e.createElement(se,null)),se=()=>{const{formatMessage:m}=(0,s.useIntl)(),{trackUsage:h}=(0,n.useTracking)(),{notifyStatus:y}=(0,r.G)(),T=(0,n.useNotification)(),{lockApp:B,unlockApp:x}=(0,n.useOverlayBlocker)(),b=(0,e.useRef)(h),S=(0,g.useQueryClient)();(0,n.useFocusWhenNavigate)();const[oe,re]=(0,e.useState)(!1),[z,de]=(0,e.useState)(null),me=(0,e.useMemo)(()=>({update:M.Z.updateEmailTemplates}),[]),{isLoading:ce,allowedActions:{canUpdate:ue}}=(0,n.useRBAC)(me),{status:pe,data:G}=(0,g.useQuery)("email-templates",()=>d(),{onSuccess(){y(m({id:(0,l.OB)("Email.template.data.loaded"),defaultMessage:"Email templates has been loaded"}))},onError(){T({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),Ee=ce||pe!=="success",$=()=>{re(A=>!A)},ge=A=>{de(A),$()},V=(0,g.useMutation)(A=>P({"email-templates":A}),{async onSuccess(){await S.invalidateQueries("email-templates"),T({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}}),b.current("didEditEmailTemplates"),x(),$()},onError(){T({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),x()},refetchActive:!0}),{isLoading:fe}=V,ve=A=>{B(),b.current("willEditEmailTemplates");const he={...G,[z]:A};V.mutate(he)};return Ee?e.createElement(p.o,{"aria-busy":"true"},e.createElement(n.SettingsPageTitle,{name:m({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(O.T,{title:m({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(f.D,null,e.createElement(n.LoadingIndicatorPage,null))):e.createElement(p.o,{"aria-busy":fe},e.createElement(n.SettingsPageTitle,{name:m({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(O.T,{title:m({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(f.D,null,e.createElement(X,{onEditClick:ge,canUpdate:ue}),oe&&e.createElement(ne,{template:G[z],onToggle:$,onSubmit:ve})))};var ie=le},59677:function(D,E,t){t.d(E,{YX:function(){return s},Gc:function(){return p},OB:function(){return O.Z}});var e=t(92891),s=f=>Object.keys(f).reduce((M,l)=>{const d=f[l].controllers,P=Object.keys(d).reduce((v,a)=>((0,e.isEmpty)(d[a])||(v[a]=d[a]),v),{});return(0,e.isEmpty)(P)||(M[l]={controllers:P}),M},{}),n=t(90201),p=f=>`/${n.Z}/${f}`,O=t(82069)},11299:function(D,E,t){t.d(E,{$:function(){return M},O:function(){return l}});var e=t(74512),g=t(83292),s=t(57269),n=t(49372),r=t(72850),p=t(87933),O=t(3685);const f=(0,g.default)(p.k)`
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8418],{218:function(D,E,t){t.r(E),t.d(E,{default:function(){return ie}});var e=t(32735),g=t(84968),s=t(5636),n=t(13478),r=t(94638),p=t(27649),O=t(28356),f=t(17e3),M=t(88369),l=t(59677);const d=async()=>{const{get:m}=(0,n.getFetchClient)(),{data:h}=await m((0,l.Gc)("email-templates"));return h},P=m=>{const{put:h}=(0,n.getFetchClient)();return h((0,l.Gc)("email-templates"),m)};var v=t(60216),a=t.n(v),u=t(94745),c=t(76330),i=t(29005),o=t(66735),R=t(3594),L=t(3685),I=t(49372),F=t(50563),U=t(99140),W=t(68625),Q=t(44647),J=t(66456);const H=({canUpdate:m,onEditClick:h})=>{const{formatMessage:y}=(0,s.useIntl)();return e.createElement(u.i,{colCount:3,rowCount:3},e.createElement(c.h,null,e.createElement(i.Tr,null,e.createElement(o.Th,{width:"1%"},e.createElement(L.T,null,y({id:(0,l.OB)("Email.template.table.icon.label"),defaultMessage:"icon"}))),e.createElement(o.Th,null,e.createElement(I.Z,{variant:"sigma",textColor:"neutral600"},y({id:(0,l.OB)("Email.template.table.name.label"),defaultMessage:"name"}))),e.createElement(o.Th,{width:"1%"},e.createElement(L.T,null,y({id:(0,l.OB)("Email.template.table.action.label"),defaultMessage:"action"}))))),e.createElement(R.p,null,e.createElement(i.Tr,{...(0,n.onRowClick)({fn:()=>h("reset_password")})},e.createElement(o.Td,null,e.createElement(U.J,null,e.createElement(Q.Z,{"aria-label":y({id:"global.reset-password",defaultMessage:"Reset password"})}))),e.createElement(o.Td,null,e.createElement(I.Z,null,y({id:"global.reset-password",defaultMessage:"Reset password"}))),e.createElement(o.Td,{...n.stopPropagation},e.createElement(F.h,{onClick:()=>h("reset_password"),label:y({id:(0,l.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:m&&e.createElement(W.Z,null)}))),e.createElement(i.Tr,{...(0,n.onRowClick)({fn:()=>h("email_confirmation")})},e.createElement(o.Td,null,e.createElement(U.J,null,e.createElement(J.Z,{"aria-label":y({id:(0,l.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"})}))),e.createElement(o.Td,null,e.createElement(I.Z,null,y({id:(0,l.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"}))),e.createElement(o.Td,{...n.stopPropagation},e.createElement(F.h,{onClick:()=>h("email_confirmation"),label:y({id:(0,l.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:m&&e.createElement(W.Z,null)})))))};H.propTypes={canUpdate:a().bool.isRequired,onEditClick:a().func.isRequired};var X=H,Y=t(83281),w=t(85025),k=t(55225),q=t(31600),_=t(11406),ee=t(15335),j=t(5803),K=t(41415),Z=t(11299),te=t(10508),C=t(5173),ae=C.Ry().shape({options:C.Ry().shape({from:C.Ry().shape({name:C.Z_().required(n.translatedErrors.required),email:C.Z_().email(n.translatedErrors.email).required(n.translatedErrors.required)}).required(),response_email:C.Z_().email(n.translatedErrors.email),object:C.Z_().required(n.translatedErrors.required),message:C.Z_().required(n.translatedErrors.required)}).required(n.translatedErrors.required)});const N=({template:m,onToggle:h,onSubmit:y})=>{const{formatMessage:T}=(0,s.useIntl)();return e.createElement(w.P,{onClose:h,labelledBy:`${T({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${T({id:(0,l.OB)(m.display),defaultMessage:m.display})}`},e.createElement(k.x,null,e.createElement(Z.O,{label:`${T({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${T({id:(0,l.OB)(m.display),defaultMessage:m.display})}`},e.createElement(Z.$,null,T({id:(0,l.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})),e.createElement(Z.$,null,T({id:(0,l.OB)(m.display),defaultMessage:m.display})))),e.createElement(Y.Formik,{onSubmit:y,initialValues:m,validateOnChange:!1,validationSchema:ae,enableReinitialize:!0},({errors:B,values:x,handleChange:b,isSubmitting:S})=>e.createElement(n.Form,null,e.createElement(q.f,null,e.createElement(ee.r,{gap:5},e.createElement(j.P,{col:6,s:12},e.createElement(n.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.from.name.label"),defaultMessage:"Shipper name"},name:"options.from.name",onChange:b,value:x.options.from.name,error:B?.options?.from?.name,type:"text"})),e.createElement(j.P,{col:6,s:12},e.createElement(n.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.from.email.label"),defaultMessage:"Shipper email"},name:"options.from.email",onChange:b,value:x.options.from.email,error:B?.options?.from?.email,type:"text"})),e.createElement(j.P,{col:6,s:12},e.createElement(n.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.response_email.label"),defaultMessage:"Response email"},name:"options.response_email",onChange:b,value:x.options.response_email,error:B?.options?.response_email,type:"text"})),e.createElement(j.P,{col:6,s:12},e.createElement(n.GenericInput,{intlLabel:{id:(0,l.OB)("PopUpForm.Email.options.object.label"),defaultMessage:"Subject"},name:"options.object",onChange:b,value:x.options.object,error:B?.options?.object,type:"text"})),e.createElement(j.P,{col:12,s:12},e.createElement(te.g,{label:T({id:(0,l.OB)("PopUpForm.Email.options.message.label"),defaultMessage:"Message"}),name:"options.message",onChange:b,value:x.options.message,error:B?.options?.message&&T({id:B.options.message,defaultMessage:B.options.message})})))),e.createElement(_.m,{startActions:e.createElement(K.z,{onClick:h,variant:"tertiary"},"Cancel"),endActions:e.createElement(K.z,{loading:S,type:"submit"},"Finish")}))))};N.propTypes={template:a().shape({display:a().string,icon:a().string,options:a().shape({from:a().shape({name:a().string,email:a().string}),message:a().string,object:a().string,response_email:a().string})}).isRequired,onSubmit:a().func.isRequired,onToggle:a().func.isRequired};var ne=N;const le=()=>e.createElement(n.CheckPagePermissions,{permissions:M.Z.readEmailTemplates},e.createElement(se,null)),se=()=>{const{formatMessage:m}=(0,s.useIntl)(),{trackUsage:h}=(0,n.useTracking)(),{notifyStatus:y}=(0,r.G)(),T=(0,n.useNotification)(),{lockApp:B,unlockApp:x}=(0,n.useOverlayBlocker)(),b=(0,e.useRef)(h),S=(0,g.useQueryClient)();(0,n.useFocusWhenNavigate)();const[oe,re]=(0,e.useState)(!1),[z,de]=(0,e.useState)(null),me=(0,e.useMemo)(()=>({update:M.Z.updateEmailTemplates}),[]),{isLoading:ce,allowedActions:{canUpdate:ue}}=(0,n.useRBAC)(me),{status:pe,data:G}=(0,g.useQuery)("email-templates",()=>d(),{onSuccess(){y(m({id:(0,l.OB)("Email.template.data.loaded"),defaultMessage:"Email templates has been loaded"}))},onError(){T({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),Ee=ce||pe!=="success",$=()=>{re(A=>!A)},ge=A=>{de(A),$()},V=(0,g.useMutation)(A=>P({"email-templates":A}),{async onSuccess(){await S.invalidateQueries("email-templates"),T({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}}),b.current("didEditEmailTemplates"),x(),$()},onError(){T({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),x()},refetchActive:!0}),{isLoading:fe}=V,ve=A=>{B(),b.current("willEditEmailTemplates");const he={...G,[z]:A};V.mutate(he)};return Ee?e.createElement(p.o,{"aria-busy":"true"},e.createElement(n.SettingsPageTitle,{name:m({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(O.T,{title:m({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(f.D,null,e.createElement(n.LoadingIndicatorPage,null))):e.createElement(p.o,{"aria-busy":fe},e.createElement(n.SettingsPageTitle,{name:m({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(O.T,{title:m({id:(0,l.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(f.D,null,e.createElement(X,{onEditClick:ge,canUpdate:ue}),oe&&e.createElement(ne,{template:G[z],onToggle:$,onSubmit:ve})))};var ie=le},59677:function(D,E,t){t.d(E,{YX:function(){return s},Gc:function(){return p},OB:function(){return O.Z}});var e=t(92891),s=f=>Object.keys(f).reduce((M,l)=>{const d=f[l].controllers,P=Object.keys(d).reduce((v,a)=>((0,e.isEmpty)(d[a])||(v[a]=d[a]),v),{});return(0,e.isEmpty)(P)||(M[l]={controllers:P}),M},{}),n=t(90201),p=f=>`/${n.Z}/${f}`,O=t(82069)},11299:function(D,E,t){t.d(E,{$:function(){return M},O:function(){return l}});var e=t(74512),g=t(83292),s=t(57269),n=t(49372),r=t(72850),p=t(87933),O=t(3685);const f=(0,g.default)(p.k)`
2
2
  svg {
3
3
  height: ${10/16}rem;
4
4
  width: ${10/16}rem;
@@ -1,4 +1,4 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2282],{51509:function(k,P,t){t.r(P),t.d(P,{ProvidersPage:function(){return ye},default:function(){return Ie}});var e=t(32735),c=t(5636),a=t(88425),u=t(23973),i=t.n(u),E=t(23940),M=t.n(E),f=t(96709),x=t(28356),B=t(17e3),s=t(27649),A=t(94638),h=t(94745),n=t(76330),v=t(29005),l=t(66735),d=t(3594),m=t(49372),U=t(3685),z=t(50563),H=t(68625),D=t(84968),o=t(5173),y=t(59677);const V={id:(0,y.OB)("PopUpForm.Providers.redirectURL.front-end.label"),defaultMessage:"The redirect URL to your front-end app"},g={id:"http://www.client-app.com",defaultMessage:"http://www.client-app.com"},j={id:(0,y.OB)("PopUpForm.Providers.enabled.description"),defaultMessage:"If disabled, users won't be able to use this provider."},Z={id:(0,y.OB)("PopUpForm.Providers.enabled.label"),defaultMessage:"Enable"},Y={id:(0,y.OB)("PopUpForm.Providers.key.label"),defaultMessage:"Client ID"},T={id:(0,y.OB)("PopUpForm.Providers.redirectURL.label"),defaultMessage:"The redirect URL to add in your {provider} application configurations"},R={id:(0,y.OB)("PopUpForm.Providers.key.placeholder"),defaultMessage:"TEXT"},w={id:(0,y.OB)("PopUpForm.Providers.secret.label"),defaultMessage:"Client Secret"};var G={email:{form:[[{intlLabel:Z,name:"enabled",type:"bool",description:j,size:6}]],schema:o.Ry().shape({enabled:o.Xg().required(a.translatedErrors.required)})},providers:{form:[[{intlLabel:Z,name:"enabled",type:"bool",description:j,size:6,validations:{required:!0}}],[{intlLabel:Y,name:"key",type:"text",placeholder:R,size:12,validations:{required:!0}}],[{intlLabel:w,name:"secret",type:"text",placeholder:R,size:12,validations:{required:!0}}],[{intlLabel:V,placeholder:g,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:T,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(a.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()})})},providersWithSubdomain:{form:[[{intlLabel:Z,name:"enabled",type:"bool",description:j,size:6,validations:{required:!0}}],[{intlLabel:Y,name:"key",type:"text",placeholder:R,size:12,validations:{required:!0}}],[{intlLabel:w,name:"secret",type:"text",placeholder:R,size:12,validations:{required:!0}}],[{intlLabel:{id:(0,y.OB)({id:"PopUpForm.Providers.jwksurl.label"}),defaultMessage:"JWKS URL"},name:"jwksurl",type:"text",placeholder:R,size:12,validations:{required:!1}}],[{intlLabel:{id:(0,y.OB)("PopUpForm.Providers.subdomain.label"),defaultMessage:"Host URI (Subdomain)"},name:"subdomain",type:"text",placeholder:{id:(0,y.OB)("PopUpForm.Providers.subdomain.placeholder"),defaultMessage:"my.subdomain.com"},size:12,validations:{required:!0}}],[{intlLabel:V,placeholder:g,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:T,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(a.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),subdomain:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()})})}};const q=async p=>{try{const{get:O}=(0,a.getFetchClient)(),{data:I}=await O((0,y.Gc)("providers"));return I}catch{throw p({type:"warning",message:{id:"notification.error"}}),new Error("error")}},_=p=>{const{put:O}=(0,a.getFetchClient)();return O((0,y.Gc)("providers"),p)};var X=t(92891),ee=p=>(0,X.sortBy)(Object.keys(p).reduce((O,I)=>{const{icon:S,enabled:C,subdomain:K}=p[I],F=S==="envelope"?["fas","envelope"]:["fab",S];return K!==void 0?O.push({name:I,icon:F,enabled:C,subdomain:K}):O.push({name:I,icon:F,enabled:C}),O},[]),"name"),ae=t(88369),se=t(41415),me=t(27677),de=t(11299),ne=t(15335),re=t(5803),Me=t(85025),xe=t(55225),Re=t(31600),Te=t(11406),Oe=t(60216),r=t.n(Oe),Le=t(83281),Ce=t(9139),Be=t(10369);const pe=({description:p,disabled:O,intlLabel:I,error:S,name:C,onChange:K,placeholder:F,providerToEditName:J,type:N,value:b})=>{const{formatMessage:W}=(0,c.useIntl)(),Q=C==="noName"?`${strapi.backendURL}/api/connect/${J}/callback`:b,te=W({id:I.id,defaultMessage:I.defaultMessage},{provider:J,...I.values}),$=p?W({id:p.id,defaultMessage:p.defaultMessage},{provider:J,...p.values}):"";if(N==="bool")return e.createElement(Ce.s,{"aria-label":C,checked:b,disabled:O,hint:$,label:te,name:C,offLabel:W({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:W({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:oe=>{K({target:{name:C,value:oe.target.checked}})}});const ge=F?W({id:F.id,defaultMessage:F.defaultMessage},{...F.values}):"",fe=S?W({id:S,defaultMessage:S}):"";return e.createElement(Be.o,{"aria-label":C,disabled:O,error:fe,label:te,name:C,onChange:K,placeholder:ge,type:N,value:Q})};pe.defaultProps={description:null,disabled:!1,error:"",placeholder:null,value:""},pe.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),disabled:r().bool,error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,placeholder:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),providerToEditName:r().string.isRequired,type:r().string.isRequired,value:r().oneOfType([r().bool,r().string])};var Ae=pe;const ve=({headerBreadcrumbs:p,initialData:O,isSubmiting:I,layout:S,isOpen:C,onSubmit:K,onToggle:F,providerToEditName:J})=>{const{formatMessage:N}=(0,c.useIntl)();return C?e.createElement(Me.P,{onClose:F,labelledBy:"title"},e.createElement(xe.x,null,e.createElement(de.O,{label:p.join(", ")},p.map(b=>e.createElement(de.$,{key:b},b)))),e.createElement(Le.Formik,{onSubmit:b=>K(b),initialValues:O,validationSchema:S.schema,validateOnChange:!1},({errors:b,handleChange:W,values:Q})=>e.createElement(a.Form,null,e.createElement(Re.f,null,e.createElement(me.K,{spacing:1},e.createElement(ne.r,{gap:5},S.form.map(te=>te.map($=>e.createElement(re.P,{key:$.name,col:$.size,xs:12},e.createElement(Ae,{...$,error:b[$.name],onChange:W,value:Q[$.name],providerToEditName:J}))))))),e.createElement(Te.m,{startActions:e.createElement(se.z,{variant:"tertiary",onClick:F,type:"button"},N({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(se.z,{type:"submit",loading:I},N({id:"global.save",defaultMessage:"Save"}))})))):null};ve.defaultProps={initialData:null,providerToEditName:null},ve.propTypes={headerBreadcrumbs:r().arrayOf(r().string).isRequired,initialData:r().object,layout:r().shape({form:r().arrayOf(r().array),schema:r().object}).isRequired,isOpen:r().bool.isRequired,isSubmiting:r().bool.isRequired,onSubmit:r().func.isRequired,onToggle:r().func.isRequired,providerToEditName:r().string};var De=ve;const ye=()=>{const{formatMessage:p}=(0,c.useIntl)();(0,a.useFocusWhenNavigate)();const{notifyStatus:O}=(0,A.G)(),I=(0,D.useQueryClient)(),{trackUsage:S}=(0,a.useTracking)(),C=(0,e.useRef)(S),[K,F]=(0,e.useState)(!1),[J,N]=(0,e.useState)(!1),[b,W]=(0,e.useState)(null),Q=(0,a.useNotification)(),{lockApp:te,unlockApp:$}=(0,a.useOverlayBlocker)(),ge=(0,e.useMemo)(()=>({update:ae.Z.updateProviders}),[]),{isLoading:fe,allowedActions:{canUpdate:oe}}=(0,a.useRBAC)(ge),{isLoading:Ue,data:ce,isFetching:je}=(0,D.useQuery)("get-providers",()=>q(Q),{onSuccess(){O(p({id:(0,y.OB)("Providers.data.loaded"),defaultMessage:"Providers have been loaded"}))},initialData:{}}),Ze=Ue||je,Fe=(0,D.useMutation)(_,{async onSuccess(){await I.invalidateQueries("get-providers"),Q({type:"info",message:{id:(0,y.OB)("notification.success.submit")}}),C.current("didEditAuthenticationProvider"),N(!1),he(),$()},onError(){Q({type:"warning",message:{id:"notification.error"}}),$(),N(!1)},refetchActive:!1}),ue=(0,e.useMemo)(()=>ee(ce),[ce]),ze=ue.length,be=(0,e.useMemo)(()=>{if(!b)return!1;const L=ue.find(Ee=>Ee.name===b);return i()(L,"subdomain")},[ue,b]),Se=p({id:(0,y.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"}),We=(0,e.useMemo)(()=>b==="email"?G.email:be?G.providersWithSubdomain:G.providers,[b,be]),he=()=>{F(L=>!L)},Pe=L=>{oe&&(W(L.name),he())},$e=async L=>{N(!0),te(),C.current("willEditAuthenticationProvider");const Ee={...ce,[b]:L};Fe.mutate({providers:Ee})};return e.createElement(f.A,null,e.createElement(a.SettingsPageTitle,{name:Se}),e.createElement(s.o,null,e.createElement(x.T,{title:p({id:(0,y.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),Ze||fe?e.createElement(a.LoadingIndicatorPage,null):e.createElement(B.D,null,e.createElement(h.i,{colCount:3,rowCount:ze+1},e.createElement(n.h,null,e.createElement(v.Tr,null,e.createElement(l.Th,null,e.createElement(m.Z,{variant:"sigma",textColor:"neutral600"},p({id:"global.name",defaultMessage:"Name"}))),e.createElement(l.Th,null,e.createElement(m.Z,{variant:"sigma",textColor:"neutral600"},p({id:(0,y.OB)("Providers.status"),defaultMessage:"Status"}))),e.createElement(l.Th,null,e.createElement(m.Z,{variant:"sigma"},e.createElement(U.T,null,p({id:"global.settings",defaultMessage:"Settings"})))))),e.createElement(d.p,null,ue.map(L=>e.createElement(v.Tr,{key:L.name,...(0,a.onRowClick)({fn:()=>Pe(L),condition:oe})},e.createElement(l.Td,{width:"45%"},e.createElement(m.Z,{fontWeight:"semiBold",textColor:"neutral800"},L.name)),e.createElement(l.Td,{width:"65%"},e.createElement(m.Z,{textColor:L.enabled?"success600":"danger600","data-testid":`enable-${L.name}`},L.enabled?p({id:"global.enabled",defaultMessage:"Enabled"}):p({id:"global.disabled",defaultMessage:"Disabled"}))),e.createElement(l.Td,{...a.stopPropagation},oe&&e.createElement(z.h,{onClick:()=>Pe(L),noBorder:!0,icon:e.createElement(H.Z,null),label:"Edit"})))))))),e.createElement(De,{initialData:ce[b],isOpen:K,isSubmiting:J,layout:We,headerBreadcrumbs:[p({id:(0,y.OB)("PopUpForm.header.edit.providers"),defaultMessage:"Edit Provider"}),M()(b)],onToggle:he,onSubmit:$e,providerToEditName:b}))};var Ie=()=>e.createElement(a.CheckPagePermissions,{permissions:ae.Z.readProviders},e.createElement(ye,null))},59677:function(k,P,t){t.d(P,{YX:function(){return a},Gc:function(){return E},OB:function(){return M.Z}});var e=t(92891),a=f=>Object.keys(f).reduce((x,B)=>{const s=f[B].controllers,A=Object.keys(s).reduce((h,n)=>((0,e.isEmpty)(s[n])||(h[n]=s[n]),h),{});return(0,e.isEmpty)(A)||(x[B]={controllers:A}),x},{}),u=t(90201),E=f=>`/${u.Z}/${f}`,M=t(82069)},11299:function(k,P,t){t.d(P,{$:function(){return x},O:function(){return B}});var e=t(74512),c=t(83292),a=t(57269),u=t(49372),i=t(72850),E=t(87933),M=t(3685);const f=(0,c.default)(E.k)`
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2282],{51509:function(k,P,t){t.r(P),t.d(P,{ProvidersPage:function(){return ye},default:function(){return Ie}});var e=t(32735),c=t(5636),a=t(13478),u=t(23973),l=t.n(u),E=t(23940),M=t.n(E),f=t(96709),x=t(28356),B=t(17e3),s=t(27649),A=t(94638),h=t(94745),n=t(76330),v=t(29005),i=t(66735),d=t(3594),m=t(49372),U=t(3685),z=t(50563),H=t(68625),D=t(84968),o=t(5173),y=t(59677);const V={id:(0,y.OB)("PopUpForm.Providers.redirectURL.front-end.label"),defaultMessage:"The redirect URL to your front-end app"},g={id:"http://www.client-app.com",defaultMessage:"http://www.client-app.com"},j={id:(0,y.OB)("PopUpForm.Providers.enabled.description"),defaultMessage:"If disabled, users won't be able to use this provider."},Z={id:(0,y.OB)("PopUpForm.Providers.enabled.label"),defaultMessage:"Enable"},Y={id:(0,y.OB)("PopUpForm.Providers.key.label"),defaultMessage:"Client ID"},T={id:(0,y.OB)("PopUpForm.Providers.redirectURL.label"),defaultMessage:"The redirect URL to add in your {provider} application configurations"},R={id:(0,y.OB)("PopUpForm.Providers.key.placeholder"),defaultMessage:"TEXT"},w={id:(0,y.OB)("PopUpForm.Providers.secret.label"),defaultMessage:"Client Secret"};var G={email:{form:[[{intlLabel:Z,name:"enabled",type:"bool",description:j,size:6}]],schema:o.Ry().shape({enabled:o.Xg().required(a.translatedErrors.required)})},providers:{form:[[{intlLabel:Z,name:"enabled",type:"bool",description:j,size:6,validations:{required:!0}}],[{intlLabel:Y,name:"key",type:"text",placeholder:R,size:12,validations:{required:!0}}],[{intlLabel:w,name:"secret",type:"text",placeholder:R,size:12,validations:{required:!0}}],[{intlLabel:V,placeholder:g,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:T,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(a.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()})})},providersWithSubdomain:{form:[[{intlLabel:Z,name:"enabled",type:"bool",description:j,size:6,validations:{required:!0}}],[{intlLabel:Y,name:"key",type:"text",placeholder:R,size:12,validations:{required:!0}}],[{intlLabel:w,name:"secret",type:"text",placeholder:R,size:12,validations:{required:!0}}],[{intlLabel:{id:(0,y.OB)({id:"PopUpForm.Providers.jwksurl.label"}),defaultMessage:"JWKS URL"},name:"jwksurl",type:"text",placeholder:R,size:12,validations:{required:!1}}],[{intlLabel:{id:(0,y.OB)("PopUpForm.Providers.subdomain.label"),defaultMessage:"Host URI (Subdomain)"},name:"subdomain",type:"text",placeholder:{id:(0,y.OB)("PopUpForm.Providers.subdomain.placeholder"),defaultMessage:"my.subdomain.com"},size:12,validations:{required:!0}}],[{intlLabel:V,placeholder:g,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:T,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(a.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),subdomain:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(a.translatedErrors.required),otherwise:o.Z_()})})}};const q=async p=>{try{const{get:O}=(0,a.getFetchClient)(),{data:I}=await O((0,y.Gc)("providers"));return I}catch{throw p({type:"warning",message:{id:"notification.error"}}),new Error("error")}},_=p=>{const{put:O}=(0,a.getFetchClient)();return O((0,y.Gc)("providers"),p)};var X=t(92891),ee=p=>(0,X.sortBy)(Object.keys(p).reduce((O,I)=>{const{icon:S,enabled:C,subdomain:K}=p[I],F=S==="envelope"?["fas","envelope"]:["fab",S];return K!==void 0?O.push({name:I,icon:F,enabled:C,subdomain:K}):O.push({name:I,icon:F,enabled:C}),O},[]),"name"),ae=t(88369),se=t(41415),me=t(27677),de=t(11299),ne=t(15335),re=t(5803),Me=t(85025),xe=t(55225),Re=t(31600),Te=t(11406),Oe=t(60216),r=t.n(Oe),Le=t(83281),Ce=t(9139),Be=t(10369);const pe=({description:p,disabled:O,intlLabel:I,error:S,name:C,onChange:K,placeholder:F,providerToEditName:J,type:N,value:b})=>{const{formatMessage:W}=(0,c.useIntl)(),Q=C==="noName"?`${strapi.backendURL}/api/connect/${J}/callback`:b,te=W({id:I.id,defaultMessage:I.defaultMessage},{provider:J,...I.values}),$=p?W({id:p.id,defaultMessage:p.defaultMessage},{provider:J,...p.values}):"";if(N==="bool")return e.createElement(Ce.s,{"aria-label":C,checked:b,disabled:O,hint:$,label:te,name:C,offLabel:W({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:W({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:oe=>{K({target:{name:C,value:oe.target.checked}})}});const ge=F?W({id:F.id,defaultMessage:F.defaultMessage},{...F.values}):"",fe=S?W({id:S,defaultMessage:S}):"";return e.createElement(Be.o,{"aria-label":C,disabled:O,error:fe,label:te,name:C,onChange:K,placeholder:ge,type:N,value:Q})};pe.defaultProps={description:null,disabled:!1,error:"",placeholder:null,value:""},pe.propTypes={description:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),disabled:r().bool,error:r().string,intlLabel:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}).isRequired,name:r().string.isRequired,onChange:r().func.isRequired,placeholder:r().shape({id:r().string.isRequired,defaultMessage:r().string.isRequired,values:r().object}),providerToEditName:r().string.isRequired,type:r().string.isRequired,value:r().oneOfType([r().bool,r().string])};var Ae=pe;const ve=({headerBreadcrumbs:p,initialData:O,isSubmiting:I,layout:S,isOpen:C,onSubmit:K,onToggle:F,providerToEditName:J})=>{const{formatMessage:N}=(0,c.useIntl)();return C?e.createElement(Me.P,{onClose:F,labelledBy:"title"},e.createElement(xe.x,null,e.createElement(de.O,{label:p.join(", ")},p.map(b=>e.createElement(de.$,{key:b},b)))),e.createElement(Le.Formik,{onSubmit:b=>K(b),initialValues:O,validationSchema:S.schema,validateOnChange:!1},({errors:b,handleChange:W,values:Q})=>e.createElement(a.Form,null,e.createElement(Re.f,null,e.createElement(me.K,{spacing:1},e.createElement(ne.r,{gap:5},S.form.map(te=>te.map($=>e.createElement(re.P,{key:$.name,col:$.size,xs:12},e.createElement(Ae,{...$,error:b[$.name],onChange:W,value:Q[$.name],providerToEditName:J}))))))),e.createElement(Te.m,{startActions:e.createElement(se.z,{variant:"tertiary",onClick:F,type:"button"},N({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(se.z,{type:"submit",loading:I},N({id:"global.save",defaultMessage:"Save"}))})))):null};ve.defaultProps={initialData:null,providerToEditName:null},ve.propTypes={headerBreadcrumbs:r().arrayOf(r().string).isRequired,initialData:r().object,layout:r().shape({form:r().arrayOf(r().array),schema:r().object}).isRequired,isOpen:r().bool.isRequired,isSubmiting:r().bool.isRequired,onSubmit:r().func.isRequired,onToggle:r().func.isRequired,providerToEditName:r().string};var De=ve;const ye=()=>{const{formatMessage:p}=(0,c.useIntl)();(0,a.useFocusWhenNavigate)();const{notifyStatus:O}=(0,A.G)(),I=(0,D.useQueryClient)(),{trackUsage:S}=(0,a.useTracking)(),C=(0,e.useRef)(S),[K,F]=(0,e.useState)(!1),[J,N]=(0,e.useState)(!1),[b,W]=(0,e.useState)(null),Q=(0,a.useNotification)(),{lockApp:te,unlockApp:$}=(0,a.useOverlayBlocker)(),ge=(0,e.useMemo)(()=>({update:ae.Z.updateProviders}),[]),{isLoading:fe,allowedActions:{canUpdate:oe}}=(0,a.useRBAC)(ge),{isLoading:Ue,data:ce,isFetching:je}=(0,D.useQuery)("get-providers",()=>q(Q),{onSuccess(){O(p({id:(0,y.OB)("Providers.data.loaded"),defaultMessage:"Providers have been loaded"}))},initialData:{}}),Ze=Ue||je,Fe=(0,D.useMutation)(_,{async onSuccess(){await I.invalidateQueries("get-providers"),Q({type:"info",message:{id:(0,y.OB)("notification.success.submit")}}),C.current("didEditAuthenticationProvider"),N(!1),he(),$()},onError(){Q({type:"warning",message:{id:"notification.error"}}),$(),N(!1)},refetchActive:!1}),ue=(0,e.useMemo)(()=>ee(ce),[ce]),ze=ue.length,be=(0,e.useMemo)(()=>{if(!b)return!1;const L=ue.find(Ee=>Ee.name===b);return l()(L,"subdomain")},[ue,b]),Se=p({id:(0,y.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"}),We=(0,e.useMemo)(()=>b==="email"?G.email:be?G.providersWithSubdomain:G.providers,[b,be]),he=()=>{F(L=>!L)},Pe=L=>{oe&&(W(L.name),he())},$e=async L=>{N(!0),te(),C.current("willEditAuthenticationProvider");const Ee={...ce,[b]:L};Fe.mutate({providers:Ee})};return e.createElement(f.A,null,e.createElement(a.SettingsPageTitle,{name:Se}),e.createElement(s.o,null,e.createElement(x.T,{title:p({id:(0,y.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),Ze||fe?e.createElement(a.LoadingIndicatorPage,null):e.createElement(B.D,null,e.createElement(h.i,{colCount:3,rowCount:ze+1},e.createElement(n.h,null,e.createElement(v.Tr,null,e.createElement(i.Th,null,e.createElement(m.Z,{variant:"sigma",textColor:"neutral600"},p({id:"global.name",defaultMessage:"Name"}))),e.createElement(i.Th,null,e.createElement(m.Z,{variant:"sigma",textColor:"neutral600"},p({id:(0,y.OB)("Providers.status"),defaultMessage:"Status"}))),e.createElement(i.Th,null,e.createElement(m.Z,{variant:"sigma"},e.createElement(U.T,null,p({id:"global.settings",defaultMessage:"Settings"})))))),e.createElement(d.p,null,ue.map(L=>e.createElement(v.Tr,{key:L.name,...(0,a.onRowClick)({fn:()=>Pe(L),condition:oe})},e.createElement(i.Td,{width:"45%"},e.createElement(m.Z,{fontWeight:"semiBold",textColor:"neutral800"},L.name)),e.createElement(i.Td,{width:"65%"},e.createElement(m.Z,{textColor:L.enabled?"success600":"danger600","data-testid":`enable-${L.name}`},L.enabled?p({id:"global.enabled",defaultMessage:"Enabled"}):p({id:"global.disabled",defaultMessage:"Disabled"}))),e.createElement(i.Td,{...a.stopPropagation},oe&&e.createElement(z.h,{onClick:()=>Pe(L),noBorder:!0,icon:e.createElement(H.Z,null),label:"Edit"})))))))),e.createElement(De,{initialData:ce[b],isOpen:K,isSubmiting:J,layout:We,headerBreadcrumbs:[p({id:(0,y.OB)("PopUpForm.header.edit.providers"),defaultMessage:"Edit Provider"}),M()(b)],onToggle:he,onSubmit:$e,providerToEditName:b}))};var Ie=()=>e.createElement(a.CheckPagePermissions,{permissions:ae.Z.readProviders},e.createElement(ye,null))},59677:function(k,P,t){t.d(P,{YX:function(){return a},Gc:function(){return E},OB:function(){return M.Z}});var e=t(92891),a=f=>Object.keys(f).reduce((x,B)=>{const s=f[B].controllers,A=Object.keys(s).reduce((h,n)=>((0,e.isEmpty)(s[n])||(h[n]=s[n]),h),{});return(0,e.isEmpty)(A)||(x[B]={controllers:A}),x},{}),u=t(90201),E=f=>`/${u.Z}/${f}`,M=t(82069)},11299:function(k,P,t){t.d(P,{$:function(){return x},O:function(){return B}});var e=t(74512),c=t(83292),a=t(57269),u=t(49372),l=t(72850),E=t(87933),M=t(3685);const f=(0,c.default)(E.k)`
2
2
  svg {
3
3
  height: ${10/16}rem;
4
4
  width: ${10/16}rem;
@@ -6,26 +6,26 @@
6
6
  fill: ${({theme:s})=>s.colors.neutral500};
7
7
  }
8
8
  }
9
- :last-of-type ${i.x} {
9
+ :last-of-type ${l.x} {
10
10
  display: none;
11
11
  }
12
12
  :last-of-type ${u.Z} {
13
13
  color: ${({theme:s})=>s.colors.neutral800};
14
14
  font-weight: ${({theme:s})=>s.fontWeights.bold};
15
15
  }
16
- `,x=({children:s})=>(0,e.jsxs)(f,{inline:!0,as:"li",children:[(0,e.jsx)(u.Z,{variant:"pi",textColor:"neutral600",children:s}),(0,e.jsx)(i.x,{"aria-hidden":!0,paddingLeft:3,paddingRight:3,children:(0,e.jsx)(a.ChevronRight,{})})]});x.displayName="Crumb";const B=({children:s,label:A,...h})=>(0,e.jsxs)(E.k,{...h,children:[(0,e.jsx)(M.T,{children:A}),(0,e.jsx)("ol",{"aria-hidden":!0,children:s})]});B.displayName="Breadcrumbs"},17e3:function(k,P,t){t.d(P,{D:function(){return u}});var e=t(32735),c=t(60216),a=t(72850);const u=({children:i})=>e.createElement(a.x,{paddingLeft:10,paddingRight:10},i);u.propTypes={children:c.node.isRequired}},28356:function(k,P,t){t.d(P,{T:function(){return s}});var e=t(32735),c=t(83292),a=t(60216),u=t(49372),i=t(72850),E=t(87933);const M=n=>{const v=(0,e.useRef)(null),[l,d]=(0,e.useState)(!0),m=([U])=>{d(U.isIntersecting)};return(0,e.useEffect)(()=>{const U=v.current,z=new IntersectionObserver(m,n);return U&&z.observe(v.current),()=>{U&&z.disconnect()}},[v,n]),[v,l]};var f=t(81002);const x=(n,v)=>{const l=(0,f.useCallbackRef)(v);(0,e.useLayoutEffect)(()=>{const d=new ResizeObserver(l);return Array.isArray(n)?n.forEach(m=>{m.current&&d.observe(m.current)}):n.current&&d.observe(n.current),()=>{d.disconnect()}},[n,l])},B=()=>{const n=(0,e.useRef)(null),[v,l]=(0,e.useState)(null),[d,m]=M({root:null,rootMargin:"0px",threshold:0});return x(d,()=>{d.current&&l(d.current.getBoundingClientRect())}),(0,e.useEffect)(()=>{n.current&&l(n.current.getBoundingClientRect())},[n]),{containerRef:d,isVisible:m,baseHeaderLayoutRef:n,headerSize:v}},s=n=>{const{containerRef:v,isVisible:l,baseHeaderLayoutRef:d,headerSize:m}=B();return e.createElement(e.Fragment,null,e.createElement("div",{style:{height:m?.height},ref:v},l&&e.createElement(h,{ref:d,...n})),!l&&e.createElement(h,{...n,sticky:!0,width:m?.width}))};s.displayName="HeaderLayout";const A=(0,c.default)(i.x)`
16
+ `,x=({children:s})=>(0,e.jsxs)(f,{inline:!0,as:"li",children:[(0,e.jsx)(u.Z,{variant:"pi",textColor:"neutral600",children:s}),(0,e.jsx)(l.x,{"aria-hidden":!0,paddingLeft:3,paddingRight:3,children:(0,e.jsx)(a.ChevronRight,{})})]});x.displayName="Crumb";const B=({children:s,label:A,...h})=>(0,e.jsxs)(E.k,{...h,children:[(0,e.jsx)(M.T,{children:A}),(0,e.jsx)("ol",{"aria-hidden":!0,children:s})]});B.displayName="Breadcrumbs"},17e3:function(k,P,t){t.d(P,{D:function(){return u}});var e=t(32735),c=t(60216),a=t(72850);const u=({children:l})=>e.createElement(a.x,{paddingLeft:10,paddingRight:10},l);u.propTypes={children:c.node.isRequired}},28356:function(k,P,t){t.d(P,{T:function(){return s}});var e=t(32735),c=t(83292),a=t(60216),u=t(49372),l=t(72850),E=t(87933);const M=n=>{const v=(0,e.useRef)(null),[i,d]=(0,e.useState)(!0),m=([U])=>{d(U.isIntersecting)};return(0,e.useEffect)(()=>{const U=v.current,z=new IntersectionObserver(m,n);return U&&z.observe(v.current),()=>{U&&z.disconnect()}},[v,n]),[v,i]};var f=t(81002);const x=(n,v)=>{const i=(0,f.useCallbackRef)(v);(0,e.useLayoutEffect)(()=>{const d=new ResizeObserver(i);return Array.isArray(n)?n.forEach(m=>{m.current&&d.observe(m.current)}):n.current&&d.observe(n.current),()=>{d.disconnect()}},[n,i])},B=()=>{const n=(0,e.useRef)(null),[v,i]=(0,e.useState)(null),[d,m]=M({root:null,rootMargin:"0px",threshold:0});return x(d,()=>{d.current&&i(d.current.getBoundingClientRect())}),(0,e.useEffect)(()=>{n.current&&i(n.current.getBoundingClientRect())},[n]),{containerRef:d,isVisible:m,baseHeaderLayoutRef:n,headerSize:v}},s=n=>{const{containerRef:v,isVisible:i,baseHeaderLayoutRef:d,headerSize:m}=B();return e.createElement(e.Fragment,null,e.createElement("div",{style:{height:m?.height},ref:v},i&&e.createElement(h,{ref:d,...n})),!i&&e.createElement(h,{...n,sticky:!0,width:m?.width}))};s.displayName="HeaderLayout";const A=(0,c.default)(l.x)`
17
17
  width: ${n=>n.width}px;
18
- `,h=e.forwardRef(({navigationAction:n,primaryAction:v,secondaryAction:l,subtitle:d,title:m,sticky:U,width:z,...H},D)=>{const o=typeof d=="string";return U?e.createElement(A,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:z,zIndex:4,"data-strapi-header-sticky":!0},e.createElement(E.k,{justifyContent:"space-between"},e.createElement(E.k,null,n&&e.createElement(i.x,{paddingRight:3},n),e.createElement(i.x,null,e.createElement(u.Z,{variant:"beta",as:"h1",...H},m),o?e.createElement(u.Z,{variant:"pi",textColor:"neutral600"},d):d),l?e.createElement(i.x,{paddingLeft:4},l):null),e.createElement(E.k,null,v?e.createElement(i.x,{paddingLeft:2},v):void 0))):e.createElement(i.x,{ref:D,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:n?6:8,background:"neutral100","data-strapi-header":!0},n?e.createElement(i.x,{paddingBottom:2},n):null,e.createElement(E.k,{justifyContent:"space-between"},e.createElement(E.k,null,e.createElement(u.Z,{as:"h1",variant:"alpha",...H},m),l?e.createElement(i.x,{paddingLeft:4},l):null),v),o?e.createElement(u.Z,{variant:"epsilon",textColor:"neutral600",as:"p"},d):d)});h.displayName="BaseHeaderLayout",h.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0,sticky:!1,width:void 0},h.propTypes={navigationAction:a.node,primaryAction:a.node,secondaryAction:a.node,sticky:a.bool,subtitle:a.oneOfType([a.string,a.node]),title:a.string.isRequired,width:a.number},s.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0},s.propTypes={navigationAction:a.node,primaryAction:a.node,secondaryAction:a.node,subtitle:a.oneOfType([a.string,a.node]),title:a.string.isRequired}},96709:function(k,P,t){t.d(P,{A:function(){return M}});var e=t(32735),c=t(60216),a=t(83292),u=t(72850);const i=(0,a.default)(u.x)`
18
+ `,h=e.forwardRef(({navigationAction:n,primaryAction:v,secondaryAction:i,subtitle:d,title:m,sticky:U,width:z,...H},D)=>{const o=typeof d=="string";return U?e.createElement(A,{paddingLeft:6,paddingRight:6,paddingTop:3,paddingBottom:3,position:"fixed",top:0,right:0,background:"neutral0",shadow:"tableShadow",width:z,zIndex:4,"data-strapi-header-sticky":!0},e.createElement(E.k,{justifyContent:"space-between"},e.createElement(E.k,null,n&&e.createElement(l.x,{paddingRight:3},n),e.createElement(l.x,null,e.createElement(u.Z,{variant:"beta",as:"h1",...H},m),o?e.createElement(u.Z,{variant:"pi",textColor:"neutral600"},d):d),i?e.createElement(l.x,{paddingLeft:4},i):null),e.createElement(E.k,null,v?e.createElement(l.x,{paddingLeft:2},v):void 0))):e.createElement(l.x,{ref:D,paddingLeft:10,paddingRight:10,paddingBottom:8,paddingTop:n?6:8,background:"neutral100","data-strapi-header":!0},n?e.createElement(l.x,{paddingBottom:2},n):null,e.createElement(E.k,{justifyContent:"space-between"},e.createElement(E.k,null,e.createElement(u.Z,{as:"h1",variant:"alpha",...H},m),i?e.createElement(l.x,{paddingLeft:4},i):null),v),o?e.createElement(u.Z,{variant:"epsilon",textColor:"neutral600",as:"p"},d):d)});h.displayName="BaseHeaderLayout",h.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0,sticky:!1,width:void 0},h.propTypes={navigationAction:a.node,primaryAction:a.node,secondaryAction:a.node,sticky:a.bool,subtitle:a.oneOfType([a.string,a.node]),title:a.string.isRequired,width:a.number},s.defaultProps={navigationAction:void 0,primaryAction:void 0,secondaryAction:void 0,subtitle:void 0},s.propTypes={navigationAction:a.node,primaryAction:a.node,secondaryAction:a.node,subtitle:a.oneOfType([a.string,a.node]),title:a.string.isRequired}},96709:function(k,P,t){t.d(P,{A:function(){return M}});var e=t(32735),c=t(60216),a=t(83292),u=t(72850);const l=(0,a.default)(u.x)`
19
19
  display: grid;
20
20
  grid-template-columns: ${({hasSideNav:f})=>f?"auto 1fr":"1fr"};
21
21
  `,E=(0,a.default)(u.x)`
22
22
  overflow-x: hidden;
23
- `,M=({sideNav:f,children:x})=>e.createElement(i,{hasSideNav:Boolean(f)},f,e.createElement(E,{paddingBottom:10},x));M.defaultProps={sideNav:void 0},M.propTypes={children:c.node.isRequired,sideNav:c.node}},27649:function(k,P,t){t.d(P,{o:function(){return i}});var e=t(32735),c=t(60216),a=t(83292);const u=a.default.main`
23
+ `,M=({sideNav:f,children:x})=>e.createElement(l,{hasSideNav:Boolean(f)},f,e.createElement(E,{paddingBottom:10},x));M.defaultProps={sideNav:void 0},M.propTypes={children:c.node.isRequired,sideNav:c.node}},27649:function(k,P,t){t.d(P,{o:function(){return l}});var e=t(32735),c=t(60216),a=t(83292);const u=a.default.main`
24
24
  // To prevent global outline on focus visible to force an outline when Main is focused
25
25
  &:focus-visible {
26
26
  outline: none;
27
27
  }
28
- `,i=({labelledBy:E,...M})=>{const f=E||"main-content-title";return e.createElement(u,{"aria-labelledby":f,id:"main-content",tabIndex:-1,...M})};i.defaultProps={labelledBy:void 0},i.propTypes={labelledBy:c.string}},7563:function(k,P,t){t.d(P,{A:function(){return A}});var e=t(74512),c=t(32735),a=t(83292),u=t(57269),i=t(72850),E=t(49372),M=t(87933),f=t(30350);const x=a.keyframes`
28
+ `,l=({labelledBy:E,...M})=>{const f=E||"main-content-title";return e.createElement(u,{"aria-labelledby":f,id:"main-content",tabIndex:-1,...M})};l.defaultProps={labelledBy:void 0},l.propTypes={labelledBy:c.string}},7563:function(k,P,t){t.d(P,{A:function(){return A}});var e=t(74512),c=t(32735),a=t(83292),u=t(57269),l=t(72850),E=t(49372),M=t(87933),f=t(30350);const x=a.keyframes`
29
29
  from {
30
30
  transform: rotate(0deg);
31
31
  }
@@ -56,12 +56,12 @@
56
56
  }
57
57
 
58
58
  ${f.BF}
59
- `,A=c.forwardRef(({children:h,startIcon:n,endIcon:v,onClick:l,disabled:d=!1,loading:m=!1,...U},z)=>{const H=l&&!d?l:void 0,D=d||m;return(0,e.jsxs)(s,{ref:z,"aria-disabled":D,onClick:H,as:"button",type:"button",...U,children:[(n||m)&&(0,e.jsx)(i.x,{as:"span",paddingRight:2,"aria-hidden":!0,children:m?(0,e.jsx)(B,{children:(0,e.jsx)(u.Loader,{})}):n}),(0,e.jsx)(E.Z,{variant:"pi",textColor:D?"neutral600":"primary600",children:h}),v&&(0,e.jsx)(i.x,{as:"span",paddingLeft:2,"aria-hidden":!0,children:v})]})});A.displayName="TextButton"},9139:function(k,P,t){t.d(P,{s:function(){return V}});var e=t(32735),c=t(83292),a=t(60216),u=t(78542),i=t(66436),E=t(87107),M=t(76437),f=t(67014),x=t(47851),B=t(27677),s=t(87933),A=t(7563),h=t(30350),n=t(49372),v=t(3685),l=t(72850),d=t(76144);const m=c.default.label`
59
+ `,A=c.forwardRef(({children:h,startIcon:n,endIcon:v,onClick:i,disabled:d=!1,loading:m=!1,...U},z)=>{const H=i&&!d?i:void 0,D=d||m;return(0,e.jsxs)(s,{ref:z,"aria-disabled":D,onClick:H,as:"button",type:"button",...U,children:[(n||m)&&(0,e.jsx)(l.x,{as:"span",paddingRight:2,"aria-hidden":!0,children:m?(0,e.jsx)(B,{children:(0,e.jsx)(u.Loader,{})}):n}),(0,e.jsx)(E.Z,{variant:"pi",textColor:D?"neutral600":"primary600",children:h}),v&&(0,e.jsx)(l.x,{as:"span",paddingLeft:2,"aria-hidden":!0,children:v})]})});A.displayName="TextButton"},9139:function(k,P,t){t.d(P,{s:function(){return V}});var e=t(32735),c=t(83292),a=t(60216),u=t(78542),l=t(66436),E=t(87107),M=t(76437),f=t(67014),x=t(47851),B=t(27677),s=t(87933),A=t(7563),h=t(30350),n=t(49372),v=t(3685),i=t(72850),d=t(76144);const m=c.default.label`
60
60
  position: relative;
61
61
  display: inline-block;
62
62
  z-index: 0;
63
63
  width: 100%;
64
- `,U=(0,c.default)(l.x)`
64
+ `,U=(0,c.default)(i.x)`
65
65
  cursor: ${({disabled:g})=>g?"not-allowed":void 0};
66
66
  // Masks the background of each value
67
67
  overflow: hidden;
@@ -91,9 +91,9 @@
91
91
  top: 0;
92
92
  z-index: 1;
93
93
  width: 100%;
94
- `,D=e.forwardRef(({size:g,onLabel:j,offLabel:Z,children:Y,checked:T,disabled:R,onChange:w,...ie},G)=>{const{error:q,hint:_,id:X,name:le,required:ee}=(0,d.U)(),ae="neutral600";let se=!T&&T!==null?"danger700":ae,me=T?"primary600":ae;const de=re=>{R||w(re)};let ne;return q?ne=`${X}-error`:_&&(ne=`${X}-hint`),e.createElement(m,null,e.createElement(v.T,null,Y),e.createElement(U,{hasRadius:!0,disabled:R,padding:1,display:"flex",background:R?"neutral150":"neutral100",borderStyle:"solid",borderWidth:"1px",borderColor:"neutral200"},e.createElement(z,{size:g,paddingLeft:3,paddingRight:3,justifyContent:"center",alignItems:"center","aria-hidden":!0,checked:T===null?!1:!T,disabled:R},e.createElement(n.Z,{variant:"pi",fontWeight:"bold",textTransform:"uppercase",textColor:R?"neutral700":se},Z)),e.createElement(z,{size:g,paddingLeft:3,paddingRight:3,justifyContent:"center",alignItems:"center","aria-hidden":!0,checked:T===null?!1:T,disabled:R},e.createElement(n.Z,{variant:"pi",fontWeight:"bold",textTransform:"uppercase",textColor:R?"neutral700":me},j)),e.createElement(H,{type:"checkbox","aria-disabled":R,"aria-describedby":ne,onChange:re=>de(re),name:le,ref:G,"aria-required":ee,...ie,checked:!(T===null||!T)})))});D.displayName="ToggleCheckbox",D.defaultProps={disabled:!1,checked:!1,onChange:void 0,size:"M"},D.propTypes={checked:a.bool,children:a.string.isRequired,disabled:a.bool,offLabel:a.string.isRequired,onChange:a.func,onLabel:a.string.isRequired,size:a.oneOf(Object.keys(u.J.input))};const o=(0,c.default)(E.g)`
94
+ `,D=e.forwardRef(({size:g,onLabel:j,offLabel:Z,children:Y,checked:T,disabled:R,onChange:w,...le},G)=>{const{error:q,hint:_,id:X,name:ie,required:ee}=(0,d.U)(),ae="neutral600";let se=!T&&T!==null?"danger700":ae,me=T?"primary600":ae;const de=re=>{R||w(re)};let ne;return q?ne=`${X}-error`:_&&(ne=`${X}-hint`),e.createElement(m,null,e.createElement(v.T,null,Y),e.createElement(U,{hasRadius:!0,disabled:R,padding:1,display:"flex",background:R?"neutral150":"neutral100",borderStyle:"solid",borderWidth:"1px",borderColor:"neutral200"},e.createElement(z,{size:g,paddingLeft:3,paddingRight:3,justifyContent:"center",alignItems:"center","aria-hidden":!0,checked:T===null?!1:!T,disabled:R},e.createElement(n.Z,{variant:"pi",fontWeight:"bold",textTransform:"uppercase",textColor:R?"neutral700":se},Z)),e.createElement(z,{size:g,paddingLeft:3,paddingRight:3,justifyContent:"center",alignItems:"center","aria-hidden":!0,checked:T===null?!1:T,disabled:R},e.createElement(n.Z,{variant:"pi",fontWeight:"bold",textTransform:"uppercase",textColor:R?"neutral700":me},j)),e.createElement(H,{type:"checkbox","aria-disabled":R,"aria-describedby":ne,onChange:re=>de(re),name:ie,ref:G,"aria-required":ee,...le,checked:!(T===null||!T)})))});D.displayName="ToggleCheckbox",D.defaultProps={disabled:!1,checked:!1,onChange:void 0,size:"M"},D.propTypes={checked:a.bool,children:a.string.isRequired,disabled:a.bool,offLabel:a.string.isRequired,onChange:a.func,onLabel:a.string.isRequired,size:a.oneOf(Object.keys(u.J.input))};const o=(0,c.default)(E.g)`
95
95
  max-width: 320px;
96
96
  `,y=(0,c.default)(A.A)`
97
97
  align-self: flex-end;
98
98
  margin-left: auto;
99
- `,V=({disabled:g,size:j,error:Z,hint:Y,label:T,name:R,labelAction:w,required:ie,id:G,onClear:q,clearLabel:_,checked:X,...le})=>{const ee=(0,i.M)(G);return e.createElement(o,{name:R,hint:Y,error:Z,id:ee,required:ie},e.createElement(B.K,{spacing:1},e.createElement(s.k,null,e.createElement(M.Q,{action:w},T),_&&q&&X!==null&&!g&&e.createElement(y,{onClick:q},_)),e.createElement(D,{id:ee,size:j,checked:X,disabled:g,...le},T),e.createElement(f.J,null),e.createElement(x.c,null)))};V.displayName="ToggleInput",V.defaultProps={checked:!1,clearLabel:void 0,disabled:!1,error:void 0,hint:void 0,id:void 0,label:"",labelAction:void 0,name:"",onClear:void 0,required:!1,size:"M"},V.propTypes={checked:a.bool,clearLabel:a.string,disabled:a.bool,error:a.string,hint:a.oneOfType([a.string,a.node,a.arrayOf(a.node)]),id:a.string,label:a.string,labelAction:a.node,name:a.string,onClear:a.func,required:a.bool,size:a.oneOf(Object.keys(u.J.input))}}}]);
99
+ `,V=({disabled:g,size:j,error:Z,hint:Y,label:T,name:R,labelAction:w,required:le,id:G,onClear:q,clearLabel:_,checked:X,...ie})=>{const ee=(0,l.M)(G);return e.createElement(o,{name:R,hint:Y,error:Z,id:ee,required:le},e.createElement(B.K,{spacing:1},e.createElement(s.k,null,e.createElement(M.Q,{action:w},T),_&&q&&X!==null&&!g&&e.createElement(y,{onClick:q},_)),e.createElement(D,{id:ee,size:j,checked:X,disabled:g,...ie},T),e.createElement(f.J,null),e.createElement(x.c,null)))};V.displayName="ToggleInput",V.defaultProps={checked:!1,clearLabel:void 0,disabled:!1,error:void 0,hint:void 0,id:void 0,label:"",labelAction:void 0,name:"",onClear:void 0,required:!1,size:"M"},V.propTypes={checked:a.bool,clearLabel:a.string,disabled:a.bool,error:a.string,hint:a.oneOfType([a.string,a.node,a.arrayOf(a.node)]),id:a.string,label:a.string,labelAction:a.node,name:a.string,onClear:a.func,required:a.bool,size:a.oneOf(Object.keys(u.J.input))}}}]);
@@ -1,7 +1,7 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{77495:function(ve,H,a){a.r(H),a.d(H,{default:function(){return Tt}});var e=a(32735),A=a(5141),i=a(88425),v=a(90201),P=a(88369),F=a(41415),X=a(96709),Z=a(28356),j=a(99223),x=a(17e3),U=a(27649),K=a(94745),w=a(76330),N=a(29005),O=a(66735),Re=a(3685),h=a(49372),Ce=a(94638),Pe=a(19406),L=a(5636),Y=a(84968),Te=a(58469),G=a(59677);const Ae=async(t,n)=>{try{const{get:s}=(0,i.getFetchClient)(),{data:r}=await s((0,G.Gc)("roles"));return n("The roles have loaded successfully"),r}catch{throw t({type:"warning",message:{id:"notification.error"}}),new Error("error")}},De=async(t,n)=>{try{const{del:s}=(0,i.getFetchClient)();await s(`${(0,G.Gc)("roles")}/${t}`)}catch{n({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}};var be=a(60216),f=a.n(be),te=a(50563),J=a(87933),Le=a(3594),Se=a(68625),Me=a(4038);const q=({sortedRoles:t,canDelete:n,permissions:s,setRoleToDelete:r,onDelete:c})=>{const{formatMessage:o}=(0,L.useIntl)(),{push:d}=(0,A.useHistory)(),[m,g]=c,u=l=>n&&!["public","authenticated"].includes(l.type),p=l=>{r(l),g(!m)},E=l=>{d(`/settings/${v.Z}/roles/${l}`)};return e.createElement(Le.p,null,t?.map(l=>e.createElement(N.Tr,{key:l.name,...(0,i.onRowClick)({fn:()=>E(l.id)})},e.createElement(O.Td,{width:"20%"},e.createElement(h.Z,null,l.name)),e.createElement(O.Td,{width:"50%"},e.createElement(h.Z,null,l.description)),e.createElement(O.Td,{width:"30%"},e.createElement(h.Z,null,`${l.nb_users} ${o({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),e.createElement(O.Td,null,e.createElement(J.k,{justifyContent:"end",...i.stopPropagation},e.createElement(i.CheckPermissions,{permissions:s.updateRole},e.createElement(te.h,{onClick:()=>E(l.id),noBorder:!0,icon:e.createElement(Se.Z,null),label:o({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${l.name}`})})),u(l)&&e.createElement(i.CheckPermissions,{permissions:s.deleteRole},e.createElement(te.h,{onClick:()=>p(l.id),noBorder:!0,icon:e.createElement(Me.default,null),label:o({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${l.name}`})})))))))};var Ze=q;q.defaultProps={canDelete:!1},q.propTypes={onDelete:f().array.isRequired,permissions:f().object.isRequired,setRoleToDelete:f().func.isRequired,sortedRoles:f().array.isRequired,canDelete:f().bool};var Oe=()=>{const{trackUsage:t}=(0,i.useTracking)(),{formatMessage:n}=(0,L.useIntl)(),{push:s}=(0,A.useHistory)(),r=(0,i.useNotification)(),{notifyStatus:c}=(0,Ce.G)(),[{query:o}]=(0,i.useQueryParams)(),d=o?._q||"",[m,g]=(0,e.useState)(!1),[u,p]=(0,e.useState)(!1),[E,l]=(0,e.useState)();(0,i.useFocusWhenNavigate)();const R=(0,Y.useQueryClient)(),S=(0,e.useMemo)(()=>({create:P.Z.createRole,read:P.Z.readRoles,update:P.Z.updateRole,delete:P.Z.deleteRole}),[]),{isLoading:y,allowedActions:{canRead:C,canDelete:M}}=(0,i.useRBAC)(S),{isLoading:$,data:{roles:fe},isFetching:At}=(0,Y.useQuery)("get-roles",()=>Ae(r,c),{initialData:{},enabled:C}),ye=$||At,Dt=()=>{t("willCreateRole"),s(`/settings/${v.Z}/roles/new`)},bt=()=>{g(!m)},Lt={roles:{id:(0,G.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,G.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},St=n({id:"global.roles",defaultMessage:"Roles"}),Mt=(0,Y.useMutation)(xt=>De(xt,r),{async onSuccess(){await R.invalidateQueries("get-roles")}}),Zt=async()=>{p(!0),await Mt.mutateAsync(E),g(!m),p(!1)},Q=(0,Te.ZP)(fe||[],d,{keys:["name","description"]}),Ot=d&&!Q.length?"search":"roles",Ut=4,kt=(fe?.length||0)+1;return e.createElement(X.A,null,e.createElement(i.SettingsPageTitle,{name:St}),e.createElement(U.o,{"aria-busy":ye},e.createElement(Z.T,{title:n({id:"global.roles",defaultMessage:"Roles"}),subtitle:n({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:e.createElement(i.CheckPermissions,{permissions:P.Z.createRole},e.createElement(F.z,{onClick:Dt,startIcon:e.createElement(Pe.default,null),size:"S"},n({id:(0,G.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),e.createElement(j.Z,{startActions:e.createElement(i.SearchURLQuery,{label:n({id:"app.component.search.label",defaultMessage:"Search"})})}),e.createElement(x.D,null,!C&&e.createElement(i.NoPermissions,null),(ye||y)&&e.createElement(i.LoadingIndicatorPage,null),C&&Q&&Q?.length?e.createElement(K.i,{colCount:Ut,rowCount:kt},e.createElement(w.h,null,e.createElement(N.Tr,null,e.createElement(O.Th,null,e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.name",defaultMessage:"Name"}))),e.createElement(O.Th,null,e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.description",defaultMessage:"Description"}))),e.createElement(O.Th,null,e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.users",defaultMessage:"Users"}))),e.createElement(O.Th,null,e.createElement(Re.T,null,n({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(Ze,{sortedRoles:Q,canDelete:M,permissions:P.Z,setRoleToDelete:l,onDelete:[m,g]})):e.createElement(i.EmptyStateLayout,{content:Lt[Ot]})),e.createElement(i.ConfirmDialog,{isConfirmButtonLoading:u,onConfirm:Zt,onToggleDialog:bt,isOpen:m})))},Ue=()=>e.createElement(i.CheckPagePermissions,{permissions:P.Z.accessRoles},e.createElement(Oe,null)),se=a(83281),T=a(27677),D=a(72850),ne=a(10369),ae=a(10508),ke=a(29439),re=a(66456),V=a(15335),k=a(5803),B=a(82069),b=a(92891);const oe=(0,e.createContext)({}),ie=({children:t,value:n})=>e.createElement(oe.Provider,{value:n},t),_=()=>(0,e.useContext)(oe);ie.propTypes={children:f().node.isRequired,value:f().object.isRequired};var z=a(83292),xe=a(37213),Ne=a.n(xe),Ge=a(15738),Be=a.n(Ge),Ie=t=>{switch(t){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 $e=(0,z.default)(D.x)`
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{77495:function(ve,H,a){a.r(H),a.d(H,{default:function(){return vt}});var e=a(32735),A=a(5141),i=a(13478),v=a(90201),P=a(88369),F=a(41415),X=a(96709),Z=a(28356),j=a(99223),x=a(17e3),O=a(27649),K=a(94745),w=a(76330),N=a(29005),k=a(66735),Re=a(3685),h=a(49372),Ce=a(94638),Pe=a(19406),L=a(5636),Y=a(84968),Te=a(58469),G=a(59677);const Ae=async(t,n)=>{try{const{get:s}=(0,i.getFetchClient)(),{data:r}=await s((0,G.Gc)("roles"));return n("The roles have loaded successfully"),r}catch{throw t({type:"warning",message:{id:"notification.error"}}),new Error("error")}},De=async(t,n)=>{try{const{del:s}=(0,i.getFetchClient)();await s(`${(0,G.Gc)("roles")}/${t}`)}catch{n({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}};var be=a(60216),f=a.n(be),te=a(50563),J=a(87933),Le=a(3594),Se=a(68625),Me=a(4038);const q=({sortedRoles:t,canDelete:n,permissions:s,setRoleToDelete:r,onDelete:c})=>{const{formatMessage:o}=(0,L.useIntl)(),{push:d}=(0,A.useHistory)(),[m,g]=c,u=l=>n&&!["public","authenticated"].includes(l.type),p=l=>{r(l),g(!m)},E=l=>{d(`/settings/${v.Z}/roles/${l}`)};return e.createElement(Le.p,null,t?.map(l=>e.createElement(N.Tr,{key:l.name,...(0,i.onRowClick)({fn:()=>E(l.id)})},e.createElement(k.Td,{width:"20%"},e.createElement(h.Z,null,l.name)),e.createElement(k.Td,{width:"50%"},e.createElement(h.Z,null,l.description)),e.createElement(k.Td,{width:"30%"},e.createElement(h.Z,null,`${l.nb_users} ${o({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),e.createElement(k.Td,null,e.createElement(J.k,{justifyContent:"end",...i.stopPropagation},e.createElement(i.CheckPermissions,{permissions:s.updateRole},e.createElement(te.h,{onClick:()=>E(l.id),noBorder:!0,icon:e.createElement(Se.Z,null),label:o({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${l.name}`})})),u(l)&&e.createElement(i.CheckPermissions,{permissions:s.deleteRole},e.createElement(te.h,{onClick:()=>p(l.id),noBorder:!0,icon:e.createElement(Me.default,null),label:o({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${l.name}`})})))))))};var Ze=q;q.defaultProps={canDelete:!1},q.propTypes={onDelete:f().array.isRequired,permissions:f().object.isRequired,setRoleToDelete:f().func.isRequired,sortedRoles:f().array.isRequired,canDelete:f().bool};var ke=()=>{const{trackUsage:t}=(0,i.useTracking)(),{formatMessage:n}=(0,L.useIntl)(),{push:s}=(0,A.useHistory)(),r=(0,i.useNotification)(),{notifyStatus:c}=(0,Ce.G)(),[{query:o}]=(0,i.useQueryParams)(),d=o?._q||"",[m,g]=(0,e.useState)(!1),[u,p]=(0,e.useState)(!1),[E,l]=(0,e.useState)();(0,i.useFocusWhenNavigate)();const R=(0,Y.useQueryClient)(),S=(0,e.useMemo)(()=>({create:P.Z.createRole,read:P.Z.readRoles,update:P.Z.updateRole,delete:P.Z.deleteRole}),[]),{isLoading:y,allowedActions:{canRead:C,canDelete:M}}=(0,i.useRBAC)(S),{isLoading:$,data:{roles:fe},isFetching:Rt}=(0,Y.useQuery)("get-roles",()=>Ae(r,c),{initialData:{},enabled:C}),ye=$||Rt,Ct=()=>{t("willCreateRole"),s(`/settings/${v.Z}/roles/new`)},Pt=()=>{g(!m)},Tt={roles:{id:(0,G.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,G.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},At=n({id:"global.roles",defaultMessage:"Roles"}),Dt=(0,Y.useMutation)(Zt=>De(Zt,r),{async onSuccess(){await R.invalidateQueries("get-roles")}}),bt=async()=>{p(!0),await Dt.mutateAsync(E),g(!m),p(!1)},Q=(0,Te.ZP)(fe||[],d,{keys:["name","description"]}),Lt=d&&!Q.length?"search":"roles",St=4,Mt=(fe?.length||0)+1;return e.createElement(X.A,null,e.createElement(i.SettingsPageTitle,{name:At}),e.createElement(O.o,{"aria-busy":ye},e.createElement(Z.T,{title:n({id:"global.roles",defaultMessage:"Roles"}),subtitle:n({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:e.createElement(i.CheckPermissions,{permissions:P.Z.createRole},e.createElement(F.z,{onClick:Ct,startIcon:e.createElement(Pe.default,null),size:"S"},n({id:(0,G.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),e.createElement(j.Z,{startActions:e.createElement(i.SearchURLQuery,{label:n({id:"app.component.search.label",defaultMessage:"Search"})})}),e.createElement(x.D,null,!C&&e.createElement(i.NoPermissions,null),(ye||y)&&e.createElement(i.LoadingIndicatorPage,null),C&&Q&&Q?.length?e.createElement(K.i,{colCount:St,rowCount:Mt},e.createElement(w.h,null,e.createElement(N.Tr,null,e.createElement(k.Th,null,e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.name",defaultMessage:"Name"}))),e.createElement(k.Th,null,e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.description",defaultMessage:"Description"}))),e.createElement(k.Th,null,e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.users",defaultMessage:"Users"}))),e.createElement(k.Th,null,e.createElement(Re.T,null,n({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(Ze,{sortedRoles:Q,canDelete:M,permissions:P.Z,setRoleToDelete:l,onDelete:[m,g]})):e.createElement(i.EmptyStateLayout,{content:Tt[Lt]})),e.createElement(i.ConfirmDialog,{isConfirmButtonLoading:u,onConfirm:bt,onToggleDialog:Pt,isOpen:m})))},Oe=()=>e.createElement(i.CheckPagePermissions,{permissions:P.Z.accessRoles},e.createElement(ke,null)),se=a(83281),T=a(27677),D=a(72850),ne=a(10369),ae=a(10508),Ue=a(29439),re=a(66456),V=a(15335),U=a(5803),B=a(82069),b=a(92891);const oe=(0,e.createContext)({}),ie=({children:t,value:n})=>e.createElement(oe.Provider,{value:n},t),_=()=>(0,e.useContext)(oe);ie.propTypes={children:f().node.isRequired,value:f().object.isRequired};var z=a(83292),xe=a(37213),Ne=a.n(xe),Ge=a(15738),Be=a.n(Ge),Ie=t=>{switch(t){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 $e=(0,z.default)(D.x)`
2
2
  margin: -1px;
3
3
  border-radius: ${({theme:t})=>t.spaces[1]} 0 0 ${({theme:t})=>t.spaces[1]};
4
- `;function ee({route:t}){const{formatMessage:n}=(0,L.useIntl)(),{method:s,handler:r,path:c}=t,o=c?Be()(c.split("/")):[],[d="",m=""]=r?r.split("."):[],g=Ie(t.method);return e.createElement(T.K,{spacing:2},e.createElement(h.Z,{variant:"delta",as:"h3"},n({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",e.createElement("span",null,d),e.createElement(h.Z,{variant:"delta",textColor:"primary600"},".",m)),e.createElement(T.K,{horizontal:!0,hasRadius:!0,background:"neutral0",borderColor:"neutral200",spacing:0},e.createElement($e,{background:g.background,borderColor:g.border,padding:2},e.createElement(h.Z,{fontWeight:"bold",textColor:g.text},s)),e.createElement(D.x,{paddingLeft:2,paddingRight:2},Ne()(o,u=>e.createElement(h.Z,{key:u,textColor:u.includes(":")?"neutral600":"neutral900"},"/",u)))))}ee.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},ee.propTypes={route:f().shape({handler:f().string,method:f().string,path:f().string})};var Fe=ee,je=()=>{const{formatMessage:t}=(0,L.useIntl)(),{selectedAction:n,routes:s}=_(),r=(0,b.without)(n.split("."),"controllers"),c=(0,b.get)(s,r[0]),o=r.slice(1).join("."),d=(0,b.isEmpty)(c)?[]:c.filter(m=>m.handler.endsWith(o));return e.createElement(k.P,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},n?e.createElement(T.K,{spacing:2},d.map((m,g)=>e.createElement(Fe,{key:g,route:m}))):e.createElement(T.K,{spacing:2},e.createElement(h.Z,{variant:"delta",as:"h3"},t({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),e.createElement(h.Z,{as:"p",textColor:"neutral600"},t({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"}))))},we=a(83828),He=a(61762),Ke=a(89966),Ve=a(23940),ze=a.n(Ve);function We(t){switch(t){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 ze()(t.replace("api::","").replace("plugin::",""))}}var Qe=We,Xe=a(98978),le=a.n(Xe),ce=a(8284),Ye=a(45112);const de=z.css`
4
+ `;function ee({route:t}){const{formatMessage:n}=(0,L.useIntl)(),{method:s,handler:r,path:c}=t,o=c?Be()(c.split("/")):[],[d="",m=""]=r?r.split("."):[],g=Ie(t.method);return e.createElement(T.K,{spacing:2},e.createElement(h.Z,{variant:"delta",as:"h3"},n({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",e.createElement("span",null,d),e.createElement(h.Z,{variant:"delta",textColor:"primary600"},".",m)),e.createElement(T.K,{horizontal:!0,hasRadius:!0,background:"neutral0",borderColor:"neutral200",spacing:0},e.createElement($e,{background:g.background,borderColor:g.border,padding:2},e.createElement(h.Z,{fontWeight:"bold",textColor:g.text},s)),e.createElement(D.x,{paddingLeft:2,paddingRight:2},Ne()(o,u=>e.createElement(h.Z,{key:u,textColor:u.includes(":")?"neutral600":"neutral900"},"/",u)))))}ee.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},ee.propTypes={route:f().shape({handler:f().string,method:f().string,path:f().string})};var Fe=ee,je=()=>{const{formatMessage:t}=(0,L.useIntl)(),{selectedAction:n,routes:s}=_(),r=(0,b.without)(n.split("."),"controllers"),c=(0,b.get)(s,r[0]),o=r.slice(1).join("."),d=(0,b.isEmpty)(c)?[]:c.filter(m=>m.handler.endsWith(o));return e.createElement(U.P,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},n?e.createElement(T.K,{spacing:2},d.map((m,g)=>e.createElement(Fe,{key:g,route:m}))):e.createElement(T.K,{spacing:2},e.createElement(h.Z,{variant:"delta",as:"h3"},t({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),e.createElement(h.Z,{as:"p",textColor:"neutral600"},t({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"}))))},we=a(83828),He=a(61762),Ke=a(89966),Ve=a(23940),ze=a.n(Ve);function We(t){switch(t){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 ze()(t.replace("api::","").replace("plugin::",""))}}var Qe=We,Xe=a(98978),le=a.n(Xe),ce=a(8284),Ye=a(45112);const de=z.css`
5
5
  background: ${t=>t.theme.colors.primary100};
6
6
  svg {
7
7
  opacity: 1;
@@ -27,4 +27,4 @@
27
27
  flex: 1;
28
28
  align-self: center;
29
29
  border-top: 1px solid ${({theme:t})=>t.colors.neutral150};
30
- `,ue=({subCategory:t})=>{const{formatMessage:n}=(0,L.useIntl)(),{onChange:s,onChangeSelectAll:r,onSelectedAction:c,selectedAction:o,modifiedData:d}=_(),m=(0,e.useMemo)(()=>(0,b.get)(d,t.name,{}),[d,t]),g=(0,e.useMemo)(()=>Object.values(m).every(l=>l.enabled===!0),[m]),u=(0,e.useMemo)(()=>Object.values(m).some(l=>l.enabled===!0)&&!g,[m,g]),p=(0,e.useCallback)(({target:{name:l}})=>{r({target:{name:l,value:!g}})},[g,r]),E=(0,e.useCallback)(l=>o===l,[o]);return e.createElement(D.x,null,e.createElement(J.k,{justifyContent:"space-between",alignItems:"center"},e.createElement(D.x,{paddingRight:4},e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},t.label)),e.createElement(qe,null),e.createElement(D.x,{paddingLeft:4},e.createElement(ce.X,{name:t.name,value:g,onValueChange:l=>p({target:{name:t.name,value:l}}),indeterminate:u},n({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(J.k,{paddingTop:6,paddingBottom:6},e.createElement(V.r,{gap:2,style:{flex:1}},t.actions.map(l=>{const R=`${l.name}.enabled`;return e.createElement(k.P,{col:6,key:l.name},e.createElement(Je,{isActive:E(l.name),padding:2,hasRadius:!0},e.createElement(ce.X,{value:(0,b.get)(d,R,!1),name:R,onValueChange:S=>s({target:{name:R,value:S}})},l.label),e.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>c(l.name),style:{display:"inline-flex",alignItems:"center"}},e.createElement(Ye.Z,null))))}))))};ue.propTypes={subCategory:f().object.isRequired};var _e=ue;const me=({name:t,permissions:n})=>{const s=(0,e.useMemo)(()=>le()(Object.values(n.controllers).reduce((r,c,o)=>{const d=`${t}.controllers.${Object.keys(n.controllers)[o]}`,m=le()(Object.keys(c).reduce((g,u)=>[...g,{...c[u],label:u,name:`${d}.${u}`}],[]),"label");return[...r,{actions:m,label:Object.keys(n.controllers)[o],name:d}]},[]),"label"),[t,n]);return e.createElement(D.x,{padding:6},s.map(r=>e.createElement(_e,{key:r.name,subCategory:r})))};me.propTypes={name:f().string.isRequired,permissions:f().object.isRequired};var et=me,tt=(t,n)=>{const s=Object.keys(n).sort().map(r=>({name:r,isOpen:!1}));return{...t,collapses:s}},W=a(97889);const st={collapses:[]},nt=(t,n)=>(0,W.default)(t,s=>{switch(n.type){case"TOGGLE_COLLAPSE":{s.collapses=t.collapses.map((r,c)=>c===n.index?{...r,isOpen:!r.isOpen}:{...r,isOpen:!1});break}default:return s}});var at=()=>{const{modifiedData:t}=_(),{formatMessage:n}=(0,L.useIntl)(),[{collapses:s},r]=(0,e.useReducer)(nt,st,o=>tt(o,t)),c=o=>r({type:"TOGGLE_COLLAPSE",index:o});return e.createElement(T.K,{spacing:1},s.map((o,d)=>e.createElement(we.U,{expanded:o.isOpen,onToggle:()=>c(d),key:o.name,variant:d%2===0?"secondary":void 0},e.createElement(He.B,{title:Qe(o.name),description:n({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:o.name}),variant:d%2?"primary":"secondary"}),e.createElement(Ke.v,null,e.createElement(D.x,null,e.createElement(et,{permissions:t[o.name],name:o.name}))))))};const rt={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]};var ot=(t,n)=>(0,W.default)(t,s=>{switch(n.type){case"ON_CHANGE":{const r=n.keys.length,c=n.keys[r-1]==="enabled";if(n.value&&c){const o=(0,b.take)(n.keys,r-1).join(".");s.selectedAction=o}(0,b.set)(s,["modifiedData",...n.keys],n.value);break}case"ON_CHANGE_SELECT_ALL":{const r=["modifiedData",...n.keys],c=(0,b.get)(t,r,{}),o=Object.keys(c).reduce((d,m)=>(d[m]={...c[m],enabled:n.value},d),{});(0,b.set)(s,r,o);break}case"ON_RESET":{s.modifiedData=t.initialData;break}case"ON_SUBMIT_SUCCEEDED":{s.initialData=t.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:r}=n;s.selectedAction=r===t.selectedAction?"":r;break}default:return s}}),it=(t,n,s)=>({...t,initialData:n,modifiedData:n,routes:s});const ge=(0,e.forwardRef)(({permissions:t,routes:n},s)=>{const{formatMessage:r}=(0,L.useIntl)(),[c,o]=(0,e.useReducer)(ot,rt,p=>it(p,t,n));(0,e.useImperativeHandle)(s,()=>({getPermissions(){return{permissions:c.modifiedData}},resetForm(){o({type:"ON_RESET"})},setFormAfterSubmit(){o({type:"ON_SUBMIT_SUCCEEDED"})}}));const u={...c,onChange:({target:{name:p,value:E}})=>o({type:"ON_CHANGE",keys:p.split("."),value:E==="empty__string_value"?"":E}),onChangeSelectAll:({target:{name:p,value:E}})=>o({type:"ON_CHANGE_SELECT_ALL",keys:p.split("."),value:E}),onSelectedAction:p=>o({type:"SELECT_ACTION",actionToSelect:p})};return e.createElement(ie,{value:u},e.createElement(V.r,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},e.createElement(k.P,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(T.K,{spacing:6},e.createElement(T.K,{spacing:2},e.createElement(h.Z,{variant:"delta",as:"h2"},r({id:(0,B.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),e.createElement(h.Z,{as:"p",textColor:"neutral600"},r({id:(0,B.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),e.createElement(at,null))),e.createElement(je,null)))});ge.propTypes={permissions:f().object.isRequired,routes:f().object.isRequired};var pe=(0,e.memo)(ge);const Kt={isLoading:!0,modifiedData:{}},Vt=(t,n)=>produce(t,s=>{switch(n.type){case"GET_DATA":{s.isLoading=!0,s.modifiedData={};break}case"GET_DATA_SUCCEEDED":{s.isLoading=!1,s.modifiedData=n.data;break}case"GET_DATA_ERROR":{s.isLoading=!0;break}case"ON_SUBMIT_SUCCEEDED":{s.modifiedData=n.data;break}default:return s}});var zt=null,lt=a(98399);const Wt=(t,n)=>{const{isLoading:s,allowedActions:r}=useRBAC(n),[{isLoading:c,modifiedData:o},d]=useReducer(reducer,initialState),m=useNotification(),g=useRef(!0),u=new AbortController,{signal:p}=u;useEffect(()=>(s||(async()=>{try{d({type:"GET_DATA"});const R=await request(getRequestURL(t),{method:"GET",signal:p});d({type:"GET_DATA_SUCCEEDED",data:R})}catch(R){g.current&&(d({type:"GET_DATA_ERROR"}),lt.error(R),m({type:"warning",message:{id:"notification.error"}}))}})(),()=>{u.abort(),g.current=!1}),[s,t]);const E=useCallback(l=>{d({type:"ON_SUBMIT_SUCCEEDED",data:l})},[]);return{allowedActions:r,dispatchSubmitSucceeded:E,isLoading:c,isLoadingForPermissions:s,modifiedData:o}};var Qt=null;const Xt={roles:[],isLoading:!0},Yt=(t,n)=>produce(t,s=>{switch(n.type){case"GET_DATA":{s.isLoading=!0,s.roles=[];break}case"GET_DATA_SUCCEEDED":{s.roles=n.data,s.isLoading=!1;break}case"GET_DATA_ERROR":{s.isLoading=!1;break}default:return s}});var Jt=null;const qt=(t=!0)=>{const[{roles:n,isLoading:s},r]=useReducer(reducer,initialState,()=>init(initialState,t)),c=useNotification(),o=useRef(!0),d=new AbortController,{signal:m}=d;useEffect(()=>(t&&g(),()=>{d.abort(),o.current=!1}),[t]);const g=async()=>{try{r({type:"GET_DATA"});const{roles:u}=await request(`/${pluginId}/roles`,{method:"GET",signal:m});r({type:"GET_DATA_SUCCEEDED",data:u})}catch(u){const p=get(u,["response","payload","message"],"An error occured");o.current&&(r({type:"GET_DATA_ERROR"}),p!=="Forbidden"&&c({type:"warning",message:p}))}};return{roles:n,isLoading:s,getData:g}};var _t=null,ct=(t,n)=>({...t,isLoading:n});const Ee={permissions:{},routes:{},isLoading:!0};var dt=(t,n)=>(0,W.default)(t,s=>{switch(n.type){case"GET_DATA":{s.isLoading=!0,s.permissions={},s.routes={};break}case"GET_DATA_SUCCEEDED":{s.permissions=n.permissions,s.routes=n.routes,s.isLoading=!1;break}case"GET_DATA_ERROR":{s.isLoading=!1;break}default:return s}}),he=(t=!0)=>{const n=(0,i.useNotification)(),[{permissions:s,routes:r,isLoading:c},o]=(0,e.useReducer)(dt,Ee,()=>ct(Ee,t)),d=(0,i.useFetchClient)(),m=(0,e.useCallback)(async()=>{try{o({type:"GET_DATA"});const[{permissions:g},{routes:u}]=await Promise.all([`/${v.Z}/permissions`,`/${v.Z}/routes`].map(async p=>(await d.get(p)).data));o({type:"GET_DATA_SUCCEEDED",permissions:(0,G.YX)(g),routes:u})}catch(g){const u=(0,b.get)(g,["response","payload","message"],"An error occured");o({type:"GET_DATA_ERROR"}),u!=="Forbidden"&&n({type:"warning",message:u})}},[n]);return(0,e.useEffect)(()=>{t&&m()},[m,t]),{permissions:s,routes:r,getData:m,isLoading:c}};const ut={role:{},isLoading:!0};var mt=(t,n)=>(0,W.default)(t,s=>{switch(n.type){case"GET_DATA_SUCCEEDED":{s.role=n.role,s.isLoading=!1;break}case"GET_DATA_ERROR":{s.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{s.role.name=n.name,s.role.description=n.description;break}default:return s}}),gt=a(98399),pt=t=>{const[n,s]=(0,e.useReducer)(mt,ut),r=(0,i.useNotification)(),c=(0,e.useRef)(null),{get:o}=(0,i.useFetchClient)();(0,e.useEffect)(()=>(c.current=!0,t?d(t):s({type:"GET_DATA_SUCCEEDED",role:{}}),()=>c.current=!1),[t]);const d=async g=>{try{const{data:{role:u}}=await o(`/${v.Z}/roles/${g}`);c.current&&s({type:"GET_DATA_SUCCEEDED",role:u})}catch(u){gt.error(u),s({type:"GET_DATA_ERROR"}),r({type:"warning",message:{id:"notification.error"}})}},m=(0,e.useCallback)(g=>{s({type:"ON_SUBMIT_SUCCEEDED",...g})},[]);return{...n,onSubmitSucceeded:m}},I=a(5173),Et=I.Ry().shape({name:I.Z_().required(i.translatedErrors.required),description:I.Z_().required(i.translatedErrors.required)}),ht=a(98399),ft=()=>{const{formatMessage:t}=(0,L.useIntl)(),[n,s]=(0,e.useState)(!1),r=(0,i.useNotification)(),{lockApp:c,unlockApp:o}=(0,i.useOverlayBlocker)(),{params:{id:d}}=(0,A.useRouteMatch)(`/settings/${v.Z}/roles/:id`),{isLoading:m,routes:g}=he(),{role:u,onSubmitSucceeded:p,isLoading:E}=pt(d),l=(0,e.useRef)(),{put:R}=(0,i.useFetchClient)(),S=async y=>{c(),s(!0);try{const C=l.current.getPermissions();await R(`/${v.Z}/roles/${d}`,{...y,...C,users:[]}),p({name:y.name,description:y.description}),r({type:"success",message:{id:(0,B.Z)("Settings.roles.edited"),defaultMessage:"Role edited"}})}catch(C){ht.error(C),r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}s(!1),o()};return E?e.createElement(i.LoadingIndicatorPage,null):e.createElement(U.o,null,e.createElement(i.SettingsPageTitle,{name:"Roles"}),e.createElement(se.Formik,{enableReinitialize:!0,initialValues:{name:u.name,description:u.description},onSubmit:S,validationSchema:Et},({handleSubmit:y,values:C,handleChange:M,errors:$})=>e.createElement(i.Form,{noValidate:!0,onSubmit:y},e.createElement(Z.T,{primaryAction:!m&&e.createElement(F.z,{disabled:u.code==="strapi-super-admin",type:"submit",loading:n,startIcon:e.createElement(re.Z,null)},t({id:"global.save",defaultMessage:"Save"})),title:u.name,subtitle:u.description,navigationAction:e.createElement(i.Link,{startIcon:e.createElement(ke.Z,null),to:"/settings/users-permissions/roles"},t({id:"global.back",defaultMessage:"Back"}))}),e.createElement(x.D,null,e.createElement(T.K,{spacing:7},e.createElement(D.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(T.K,{spacing:4},e.createElement(h.Z,{variant:"delta",as:"h2"},t({id:(0,B.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(V.r,{gap:4},e.createElement(k.P,{col:6},e.createElement(ne.o,{name:"name",value:C.name||"",onChange:M,label:t({id:"global.name",defaultMessage:"Name"}),error:$.name?t({id:$.name,defaultMessage:"Invalid value"}):null})),e.createElement(k.P,{col:6},e.createElement(ae.g,{name:"description",value:C.description||"",onChange:M,label:t({id:"global.description",defaultMessage:"Description"}),error:$.description?t({id:$.description,defaultMessage:"Invalid value"}):null}))))),!m&&e.createElement(pe,{ref:l,permissions:u.permissions,routes:g}))))))},yt=()=>e.createElement(i.CheckPagePermissions,{permissions:P.Z.updateRole},e.createElement(ft,null)),vt=I.Ry().shape({name:I.Z_().required(i.translatedErrors.required),description:I.Z_().required(i.translatedErrors.required)}),Rt=a(98399),Ct=()=>{const{formatMessage:t}=(0,L.useIntl)(),[n,s]=(0,e.useState)(!1),r=(0,i.useNotification)(),{goBack:c}=(0,A.useHistory)(),{lockApp:o,unlockApp:d}=(0,i.useOverlayBlocker)(),{isLoading:m,permissions:g,routes:u}=he(),{trackUsage:p}=(0,i.useTracking)(),E=(0,e.useRef)(),{post:l}=(0,i.useFetchClient)(),R=async S=>{o(),s(!0);try{const y=E.current.getPermissions();await l(`/${v.Z}/roles`,{...S,...y,users:[]}),p("didCreateRole"),r({type:"success",message:{id:(0,B.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),c()}catch(y){Rt.error(y),r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}s(!1),d()};return e.createElement(U.o,null,e.createElement(i.SettingsPageTitle,{name:"Roles"}),e.createElement(se.Formik,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:R,validationSchema:vt},({handleSubmit:S,values:y,handleChange:C,errors:M})=>e.createElement(i.Form,{noValidate:!0,onSubmit:S},e.createElement(Z.T,{primaryAction:!m&&e.createElement(F.z,{type:"submit",loading:n,startIcon:e.createElement(re.Z,null)},t({id:"global.save",defaultMessage:"Save"})),title:t({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:t({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),e.createElement(x.D,null,e.createElement(T.K,{spacing:7},e.createElement(D.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(T.K,{spacing:4},e.createElement(h.Z,{variant:"delta",as:"h2"},t({id:(0,B.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(V.r,{gap:4},e.createElement(k.P,{col:6},e.createElement(ne.o,{name:"name",value:y.name||"",onChange:C,label:t({id:"global.name",defaultMessage:"Name"}),error:M.name?t({id:M.name,defaultMessage:"Invalid value"}):null})),e.createElement(k.P,{col:6},e.createElement(ae.g,{name:"description",value:y.description||"",onChange:C,label:t({id:"global.description",defaultMessage:"Description"}),error:M.description?t({id:M.description,defaultMessage:"Invalid value"}):null}))))),!m&&e.createElement(pe,{ref:E,permissions:g,routes:u}))))))},Pt=()=>e.createElement(i.CheckPagePermissions,{permissions:P.Z.createRole},e.createElement(Ct,null)),Tt=()=>e.createElement(i.CheckPagePermissions,{permissions:P.Z.accessRoles},e.createElement(A.Switch,null,e.createElement(A.Route,{path:`/settings/${v.Z}/roles/new`,component:Pt,exact:!0}),e.createElement(A.Route,{path:`/settings/${v.Z}/roles/:id`,component:yt,exact:!0}),e.createElement(A.Route,{path:`/settings/${v.Z}/roles`,component:Ue,exact:!0}),e.createElement(A.Route,{path:"",component:i.NotFound})))},59677:function(ve,H,a){a.d(H,{YX:function(){return i},Gc:function(){return F},OB:function(){return X.Z}});var e=a(92891),i=Z=>Object.keys(Z).reduce((j,x)=>{const U=Z[x].controllers,K=Object.keys(U).reduce((w,N)=>((0,e.isEmpty)(U[N])||(w[N]=U[N]),w),{});return(0,e.isEmpty)(K)||(j[x]={controllers:K}),j},{}),v=a(90201),F=Z=>`/${v.Z}/${Z}`,X=a(82069)}}]);
30
+ `,ue=({subCategory:t})=>{const{formatMessage:n}=(0,L.useIntl)(),{onChange:s,onChangeSelectAll:r,onSelectedAction:c,selectedAction:o,modifiedData:d}=_(),m=(0,e.useMemo)(()=>(0,b.get)(d,t.name,{}),[d,t]),g=(0,e.useMemo)(()=>Object.values(m).every(l=>l.enabled===!0),[m]),u=(0,e.useMemo)(()=>Object.values(m).some(l=>l.enabled===!0)&&!g,[m,g]),p=(0,e.useCallback)(({target:{name:l}})=>{r({target:{name:l,value:!g}})},[g,r]),E=(0,e.useCallback)(l=>o===l,[o]);return e.createElement(D.x,null,e.createElement(J.k,{justifyContent:"space-between",alignItems:"center"},e.createElement(D.x,{paddingRight:4},e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},t.label)),e.createElement(qe,null),e.createElement(D.x,{paddingLeft:4},e.createElement(ce.X,{name:t.name,value:g,onValueChange:l=>p({target:{name:t.name,value:l}}),indeterminate:u},n({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(J.k,{paddingTop:6,paddingBottom:6},e.createElement(V.r,{gap:2,style:{flex:1}},t.actions.map(l=>{const R=`${l.name}.enabled`;return e.createElement(U.P,{col:6,key:l.name},e.createElement(Je,{isActive:E(l.name),padding:2,hasRadius:!0},e.createElement(ce.X,{value:(0,b.get)(d,R,!1),name:R,onValueChange:S=>s({target:{name:R,value:S}})},l.label),e.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>c(l.name),style:{display:"inline-flex",alignItems:"center"}},e.createElement(Ye.Z,null))))}))))};ue.propTypes={subCategory:f().object.isRequired};var _e=ue;const me=({name:t,permissions:n})=>{const s=(0,e.useMemo)(()=>le()(Object.values(n.controllers).reduce((r,c,o)=>{const d=`${t}.controllers.${Object.keys(n.controllers)[o]}`,m=le()(Object.keys(c).reduce((g,u)=>[...g,{...c[u],label:u,name:`${d}.${u}`}],[]),"label");return[...r,{actions:m,label:Object.keys(n.controllers)[o],name:d}]},[]),"label"),[t,n]);return e.createElement(D.x,{padding:6},s.map(r=>e.createElement(_e,{key:r.name,subCategory:r})))};me.propTypes={name:f().string.isRequired,permissions:f().object.isRequired};var et=me,tt=(t,n)=>{const s=Object.keys(n).sort().map(r=>({name:r,isOpen:!1}));return{...t,collapses:s}},W=a(97889);const st={collapses:[]},nt=(t,n)=>(0,W.default)(t,s=>{switch(n.type){case"TOGGLE_COLLAPSE":{s.collapses=t.collapses.map((r,c)=>c===n.index?{...r,isOpen:!r.isOpen}:{...r,isOpen:!1});break}default:return s}});var at=()=>{const{modifiedData:t}=_(),{formatMessage:n}=(0,L.useIntl)(),[{collapses:s},r]=(0,e.useReducer)(nt,st,o=>tt(o,t)),c=o=>r({type:"TOGGLE_COLLAPSE",index:o});return e.createElement(T.K,{spacing:1},s.map((o,d)=>e.createElement(we.U,{expanded:o.isOpen,onToggle:()=>c(d),key:o.name,variant:d%2===0?"secondary":void 0},e.createElement(He.B,{title:Qe(o.name),description:n({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:o.name}),variant:d%2?"primary":"secondary"}),e.createElement(Ke.v,null,e.createElement(D.x,null,e.createElement(et,{permissions:t[o.name],name:o.name}))))))};const rt={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]};var ot=(t,n)=>(0,W.default)(t,s=>{switch(n.type){case"ON_CHANGE":{const r=n.keys.length,c=n.keys[r-1]==="enabled";if(n.value&&c){const o=(0,b.take)(n.keys,r-1).join(".");s.selectedAction=o}(0,b.set)(s,["modifiedData",...n.keys],n.value);break}case"ON_CHANGE_SELECT_ALL":{const r=["modifiedData",...n.keys],c=(0,b.get)(t,r,{}),o=Object.keys(c).reduce((d,m)=>(d[m]={...c[m],enabled:n.value},d),{});(0,b.set)(s,r,o);break}case"ON_RESET":{s.modifiedData=t.initialData;break}case"ON_SUBMIT_SUCCEEDED":{s.initialData=t.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:r}=n;s.selectedAction=r===t.selectedAction?"":r;break}default:return s}}),it=(t,n,s)=>({...t,initialData:n,modifiedData:n,routes:s});const ge=(0,e.forwardRef)(({permissions:t,routes:n},s)=>{const{formatMessage:r}=(0,L.useIntl)(),[c,o]=(0,e.useReducer)(ot,rt,p=>it(p,t,n));(0,e.useImperativeHandle)(s,()=>({getPermissions(){return{permissions:c.modifiedData}},resetForm(){o({type:"ON_RESET"})},setFormAfterSubmit(){o({type:"ON_SUBMIT_SUCCEEDED"})}}));const u={...c,onChange:({target:{name:p,value:E}})=>o({type:"ON_CHANGE",keys:p.split("."),value:E==="empty__string_value"?"":E}),onChangeSelectAll:({target:{name:p,value:E}})=>o({type:"ON_CHANGE_SELECT_ALL",keys:p.split("."),value:E}),onSelectedAction:p=>o({type:"SELECT_ACTION",actionToSelect:p})};return e.createElement(ie,{value:u},e.createElement(V.r,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},e.createElement(U.P,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(T.K,{spacing:6},e.createElement(T.K,{spacing:2},e.createElement(h.Z,{variant:"delta",as:"h2"},r({id:(0,B.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),e.createElement(h.Z,{as:"p",textColor:"neutral600"},r({id:(0,B.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),e.createElement(at,null))),e.createElement(je,null)))});ge.propTypes={permissions:f().object.isRequired,routes:f().object.isRequired};var pe=(0,e.memo)(ge);const Ft={isLoading:!0,modifiedData:{}},jt=(t,n)=>produce(t,s=>{switch(n.type){case"GET_DATA":{s.isLoading=!0,s.modifiedData={};break}case"GET_DATA_SUCCEEDED":{s.isLoading=!1,s.modifiedData=n.data;break}case"GET_DATA_ERROR":{s.isLoading=!0;break}case"ON_SUBMIT_SUCCEEDED":{s.modifiedData=n.data;break}default:return s}});var wt=null;const Ht=(t,n)=>{const{isLoading:s,allowedActions:r}=useRBAC(n),[{isLoading:c,modifiedData:o},d]=useReducer(reducer,initialState),m=useNotification(),g=useRef(!0),u=new AbortController,{signal:p}=u;useEffect(()=>(s||(async()=>{try{d({type:"GET_DATA"});const R=await request(getRequestURL(t),{method:"GET",signal:p});d({type:"GET_DATA_SUCCEEDED",data:R})}catch(R){g.current&&(d({type:"GET_DATA_ERROR"}),console.error(R),m({type:"warning",message:{id:"notification.error"}}))}})(),()=>{u.abort(),g.current=!1}),[s,t]);const E=useCallback(l=>{d({type:"ON_SUBMIT_SUCCEEDED",data:l})},[]);return{allowedActions:r,dispatchSubmitSucceeded:E,isLoading:c,isLoadingForPermissions:s,modifiedData:o}};var Kt=null;const Vt={roles:[],isLoading:!0},zt=(t,n)=>produce(t,s=>{switch(n.type){case"GET_DATA":{s.isLoading=!0,s.roles=[];break}case"GET_DATA_SUCCEEDED":{s.roles=n.data,s.isLoading=!1;break}case"GET_DATA_ERROR":{s.isLoading=!1;break}default:return s}});var Wt=null;const Qt=(t=!0)=>{const[{roles:n,isLoading:s},r]=useReducer(reducer,initialState,()=>init(initialState,t)),c=useNotification(),o=useRef(!0),d=new AbortController,{signal:m}=d;useEffect(()=>(t&&g(),()=>{d.abort(),o.current=!1}),[t]);const g=async()=>{try{r({type:"GET_DATA"});const{roles:u}=await request(`/${pluginId}/roles`,{method:"GET",signal:m});r({type:"GET_DATA_SUCCEEDED",data:u})}catch(u){const p=get(u,["response","payload","message"],"An error occured");o.current&&(r({type:"GET_DATA_ERROR"}),p!=="Forbidden"&&c({type:"warning",message:p}))}};return{roles:n,isLoading:s,getData:g}};var Xt=null,lt=(t,n)=>({...t,isLoading:n});const Ee={permissions:{},routes:{},isLoading:!0};var ct=(t,n)=>(0,W.default)(t,s=>{switch(n.type){case"GET_DATA":{s.isLoading=!0,s.permissions={},s.routes={};break}case"GET_DATA_SUCCEEDED":{s.permissions=n.permissions,s.routes=n.routes,s.isLoading=!1;break}case"GET_DATA_ERROR":{s.isLoading=!1;break}default:return s}}),he=(t=!0)=>{const n=(0,i.useNotification)(),[{permissions:s,routes:r,isLoading:c},o]=(0,e.useReducer)(ct,Ee,()=>lt(Ee,t)),d=(0,i.useFetchClient)(),m=(0,e.useCallback)(async()=>{try{o({type:"GET_DATA"});const[{permissions:g},{routes:u}]=await Promise.all([`/${v.Z}/permissions`,`/${v.Z}/routes`].map(async p=>(await d.get(p)).data));o({type:"GET_DATA_SUCCEEDED",permissions:(0,G.YX)(g),routes:u})}catch(g){const u=(0,b.get)(g,["response","payload","message"],"An error occured");o({type:"GET_DATA_ERROR"}),u!=="Forbidden"&&n({type:"warning",message:u})}},[n]);return(0,e.useEffect)(()=>{t&&m()},[m,t]),{permissions:s,routes:r,getData:m,isLoading:c}};const dt={role:{},isLoading:!0};var ut=(t,n)=>(0,W.default)(t,s=>{switch(n.type){case"GET_DATA_SUCCEEDED":{s.role=n.role,s.isLoading=!1;break}case"GET_DATA_ERROR":{s.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{s.role.name=n.name,s.role.description=n.description;break}default:return s}}),mt=t=>{const[n,s]=(0,e.useReducer)(ut,dt),r=(0,i.useNotification)(),c=(0,e.useRef)(null),{get:o}=(0,i.useFetchClient)();(0,e.useEffect)(()=>(c.current=!0,t?d(t):s({type:"GET_DATA_SUCCEEDED",role:{}}),()=>c.current=!1),[t]);const d=async g=>{try{const{data:{role:u}}=await o(`/${v.Z}/roles/${g}`);c.current&&s({type:"GET_DATA_SUCCEEDED",role:u})}catch(u){console.error(u),s({type:"GET_DATA_ERROR"}),r({type:"warning",message:{id:"notification.error"}})}},m=(0,e.useCallback)(g=>{s({type:"ON_SUBMIT_SUCCEEDED",...g})},[]);return{...n,onSubmitSucceeded:m}},I=a(5173),gt=I.Ry().shape({name:I.Z_().required(i.translatedErrors.required),description:I.Z_().required(i.translatedErrors.required)}),pt=()=>{const{formatMessage:t}=(0,L.useIntl)(),[n,s]=(0,e.useState)(!1),r=(0,i.useNotification)(),{lockApp:c,unlockApp:o}=(0,i.useOverlayBlocker)(),{params:{id:d}}=(0,A.useRouteMatch)(`/settings/${v.Z}/roles/:id`),{isLoading:m,routes:g}=he(),{role:u,onSubmitSucceeded:p,isLoading:E}=mt(d),l=(0,e.useRef)(),{put:R}=(0,i.useFetchClient)(),S=async y=>{c(),s(!0);try{const C=l.current.getPermissions();await R(`/${v.Z}/roles/${d}`,{...y,...C,users:[]}),p({name:y.name,description:y.description}),r({type:"success",message:{id:(0,B.Z)("Settings.roles.edited"),defaultMessage:"Role edited"}})}catch(C){console.error(C),r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}s(!1),o()};return E?e.createElement(i.LoadingIndicatorPage,null):e.createElement(O.o,null,e.createElement(i.SettingsPageTitle,{name:"Roles"}),e.createElement(se.Formik,{enableReinitialize:!0,initialValues:{name:u.name,description:u.description},onSubmit:S,validationSchema:gt},({handleSubmit:y,values:C,handleChange:M,errors:$})=>e.createElement(i.Form,{noValidate:!0,onSubmit:y},e.createElement(Z.T,{primaryAction:!m&&e.createElement(F.z,{disabled:u.code==="strapi-super-admin",type:"submit",loading:n,startIcon:e.createElement(re.Z,null)},t({id:"global.save",defaultMessage:"Save"})),title:u.name,subtitle:u.description,navigationAction:e.createElement(i.Link,{startIcon:e.createElement(Ue.Z,null),to:"/settings/users-permissions/roles"},t({id:"global.back",defaultMessage:"Back"}))}),e.createElement(x.D,null,e.createElement(T.K,{spacing:7},e.createElement(D.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(T.K,{spacing:4},e.createElement(h.Z,{variant:"delta",as:"h2"},t({id:(0,B.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(V.r,{gap:4},e.createElement(U.P,{col:6},e.createElement(ne.o,{name:"name",value:C.name||"",onChange:M,label:t({id:"global.name",defaultMessage:"Name"}),error:$.name?t({id:$.name,defaultMessage:"Invalid value"}):null})),e.createElement(U.P,{col:6},e.createElement(ae.g,{name:"description",value:C.description||"",onChange:M,label:t({id:"global.description",defaultMessage:"Description"}),error:$.description?t({id:$.description,defaultMessage:"Invalid value"}):null}))))),!m&&e.createElement(pe,{ref:l,permissions:u.permissions,routes:g}))))))},Et=()=>e.createElement(i.CheckPagePermissions,{permissions:P.Z.updateRole},e.createElement(pt,null)),ht=I.Ry().shape({name:I.Z_().required(i.translatedErrors.required),description:I.Z_().required(i.translatedErrors.required)}),ft=()=>{const{formatMessage:t}=(0,L.useIntl)(),[n,s]=(0,e.useState)(!1),r=(0,i.useNotification)(),{goBack:c}=(0,A.useHistory)(),{lockApp:o,unlockApp:d}=(0,i.useOverlayBlocker)(),{isLoading:m,permissions:g,routes:u}=he(),{trackUsage:p}=(0,i.useTracking)(),E=(0,e.useRef)(),{post:l}=(0,i.useFetchClient)(),R=async S=>{o(),s(!0);try{const y=E.current.getPermissions();await l(`/${v.Z}/roles`,{...S,...y,users:[]}),p("didCreateRole"),r({type:"success",message:{id:(0,B.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),c()}catch(y){console.error(y),r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}s(!1),d()};return e.createElement(O.o,null,e.createElement(i.SettingsPageTitle,{name:"Roles"}),e.createElement(se.Formik,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:R,validationSchema:ht},({handleSubmit:S,values:y,handleChange:C,errors:M})=>e.createElement(i.Form,{noValidate:!0,onSubmit:S},e.createElement(Z.T,{primaryAction:!m&&e.createElement(F.z,{type:"submit",loading:n,startIcon:e.createElement(re.Z,null)},t({id:"global.save",defaultMessage:"Save"})),title:t({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:t({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),e.createElement(x.D,null,e.createElement(T.K,{spacing:7},e.createElement(D.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(T.K,{spacing:4},e.createElement(h.Z,{variant:"delta",as:"h2"},t({id:(0,B.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(V.r,{gap:4},e.createElement(U.P,{col:6},e.createElement(ne.o,{name:"name",value:y.name||"",onChange:C,label:t({id:"global.name",defaultMessage:"Name"}),error:M.name?t({id:M.name,defaultMessage:"Invalid value"}):null})),e.createElement(U.P,{col:6},e.createElement(ae.g,{name:"description",value:y.description||"",onChange:C,label:t({id:"global.description",defaultMessage:"Description"}),error:M.description?t({id:M.description,defaultMessage:"Invalid value"}):null}))))),!m&&e.createElement(pe,{ref:E,permissions:g,routes:u}))))))},yt=()=>e.createElement(i.CheckPagePermissions,{permissions:P.Z.createRole},e.createElement(ft,null)),vt=()=>e.createElement(i.CheckPagePermissions,{permissions:P.Z.accessRoles},e.createElement(A.Switch,null,e.createElement(A.Route,{path:`/settings/${v.Z}/roles/new`,component:yt,exact:!0}),e.createElement(A.Route,{path:`/settings/${v.Z}/roles/:id`,component:Et,exact:!0}),e.createElement(A.Route,{path:`/settings/${v.Z}/roles`,component:Oe,exact:!0}),e.createElement(A.Route,{path:"",component:i.NotFound})))},59677:function(ve,H,a){a.d(H,{YX:function(){return i},Gc:function(){return F},OB:function(){return X.Z}});var e=a(92891),i=Z=>Object.keys(Z).reduce((j,x)=>{const O=Z[x].controllers,K=Object.keys(O).reduce((w,N)=>((0,e.isEmpty)(O[N])||(w[N]=O[N]),w),{});return(0,e.isEmpty)(K)||(j[x]={controllers:K}),j},{}),v=a(90201),F=Z=>`/${v.Z}/${Z}`,X=a(82069)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3278],{50576:function(n){n.exports=JSON.parse('{"Analytics":"Ph\xE2n T\xEDch","Auth.components.Oops.text":"T\xE0i kho\u1EA3n c\u1EE7a b\u1EA1n \u0111\xE3 b\u1ECB kho\xE1","Auth.components.Oops.text.admin":"N\u1EBFu c\xF3 s\u1EF1 nh\u1EA7m l\u1EABn, h\xE3y li\xEAn h\u1EC7 ng\u01B0\u1EDDi qu\u1EA3n tr\u1ECB","Auth.form.button.forgot-password":"G\u1EEDi Email","Auth.form.button.go-home":"QUAY V\u1EC0 TRANG CH\u1EE6","Auth.form.button.login":"\u0110\u0103ng nh\u1EADp","Auth.form.button.login.providers.error":"Kh\xF4ng th\u1EC3 k\u1EBFt n\u1ED1i b\u1EA1n v\u1EDBi d\u1ECBch v\u1EE5 \u0111\xE3 ch\u1ECDn.","Auth.form.button.login.strapi":"\u0110\u0103ng nh\u1EADp v\u1EDBi Strapi","Auth.form.button.password-recovery":"Kh\xF4i ph\u1EE5c m\u1EADt kh\u1EA9u","Auth.form.button.register":"S\u1EB5n s\xE0ng \u0111\u1EC3 b\u1EAFt \u0111\u1EA7u","Auth.form.confirmPassword.label":"Nh\u1EADp l\u1EA1i m\u1EADt kh\u1EA9u","Auth.form.currentPassword.label":"M\u1EADt kh\u1EA9u hi\u1EC7n t\u1EA1i","Auth.form.email.label":"Email","Auth.form.email.placeholder":"kai@doe.com","Auth.form.error.blocked":"T\xE0i kho\u1EA3n c\u1EE7a b\u1EA1n b\u1ECB kh\xF3a b\u1EDFi ng\u01B0\u1EDDi qu\u1EA3n tr\u1ECB.","Auth.form.error.code.provide":"M\xE3 \u0111\u01B0\u1EE3c cung c\u1EA5p kh\xF4ng ch\xEDnh x\xE1c.","Auth.form.error.confirmed":"T\xE0i kho\u1EA3n Email c\u1EE7a b\u1EA1n ch\u01B0a \u0111\u01B0\u1EE3c x\xE1c nh\u1EADn.","Auth.form.error.email.invalid":"Email sai.","Auth.form.error.email.provide":"Vui l\xF2ng cung c\u1EA5p t\xEAn \u0111\u0103ng nh\u1EADp ho\u1EB7c email.","Auth.form.error.email.taken":"Email \u0111\xE3 t\u1ED3n t\u1EA1i.","Auth.form.error.invalid":"\u0110\u1ECBnh danh ho\u1EB7c m\u1EADt kh\u1EA9u sai.","Auth.form.error.params.provide":"Tham s\u1ED1 \u0111\u01B0\u1EE3c cung c\u1EA5p kh\xF4ng ch\xEDnh x\xE1c.","Auth.form.error.password.format":"M\u1EADt kh\u1EA9u c\u1EE7a b\u1EA1n kh\xF4ng th\u1EC3 ch\u1EE9a k\xFD t\u1EF1 `$` h\u01A1n ba l\u1EA7n","Auth.form.error.password.local":"Ng\u01B0\u1EDDi d\xF9ng n\xE0y ch\u01B0a t\u1EEBng \u0111\u1EB7t m\u1EADt kh\u1EA9u c\u1EE5c b\u1ED9, vui l\xF2ng \u0111\u0103ng nh\u1EADp th\xF4ng qua nh\xE0 cung c\u1EA5p \u0111\xE3 d\xF9ng trong l\xFAc t\u1EA1o t\xE0i kho\u1EA3n ban \u0111\u1EA7u","Auth.form.error.password.matching":"M\u1EADt kh\u1EA9u kh\xF4ng kh\u1EDBp.","Auth.form.error.password.provide":"Vui l\xF2ng cung c\u1EA5p m\u1EADt kh\u1EA9u c\u1EE7a b\u1EA1n.","Auth.form.error.ratelimit":"Th\u1EED qu\xE1 nhi\u1EC1u l\u1EA7n, vui l\xF2ng th\u1EED l\u1EA1i sau m\u1ED9t ph\xFAt","Auth.form.error.user.not-exist":"Email n\xE0y ch\u01B0a t\u1ED3n t\u1EA1i.","Auth.form.error.username.taken":"T\xEAn \u0111\u0103ng nh\u1EADp \u0111\xE3 t\u1ED3n t\u1EA1i.","Auth.form.firstname.label":"H\u1ECD","Auth.form.firstname.placeholder":"v.d. Kai","Auth.form.forgot-password.email.label":"Nh\u1EADp email c\u1EE7a b\u1EA1n","Auth.form.forgot-password.email.label.success":"Email \u0111\xE3 g\u1EEDi th\xE0nh c\xF4ng \u0111\u1EBFn","Auth.form.lastname.label":"T\xEAn","Auth.form.lastname.placeholder":"v.d. Doe","Auth.form.password.hide-password":"\u1EA8n m\u1EADt kh\u1EA9u","Auth.form.password.hint":"M\u1EADt kh\u1EA9u ph\u1EA3i ch\u1EE9a \xEDt nh\u1EA5t 8 k\xFD t\u1EF1, 1 vi\u1EBFt hoa, 1 vi\u1EBFt th\u01B0\u1EDDng v\xE0 1 s\u1ED1","Auth.form.password.show-password":"Hi\u1EC3n th\u1ECB password","Auth.form.register.news.label":"C\u1EADp nh\u1EADt cho t\xF4i v\u1EC1 ch\u1EE9c n\u0103ng m\u1EDBi v\xE0 nh\u1EEFng c\u1EA3i thi\u1EC7n s\u1EAFp t\u1EDBi (th\xF4ng qua vi\u1EC7c n\xE0y b\u1EA1n \u0111\xE3 ch\u1EA5p nh\u1EADn {terms} v\xE0 {policy}).","Auth.form.register.subtitle":"Th\xF4ng tin c\u1EE7a b\u1EA1n ch\u1EC9 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng \u0111\u1EC3 \u0111\u0103ng nh\u1EADp v\xE0o trang qu\u1EA3n tr\u1ECB. T\u1EA5t c\u1EA3 c\xE1c d\u1EEF li\u1EC7u \u0111\u01B0\u1EE3c l\u01B0u \u1EDF c\u01A1 s\u1EDF d\u1EEF li\u1EC7u c\u1EE7a b\u1EA1n.","Auth.form.rememberMe.label":"Nh\u1EDB t\xF4i","Auth.form.username.label":"T\xEAn \u0111\u0103ng nh\u1EADp","Auth.form.username.placeholder":"Kai Doe","Auth.form.welcome.subtitle":"\u0110\u0103ng nh\u1EADp v\xE0o t\xE0i kho\u1EA3n Strapi c\u1EE7a b\u1EA1n","Auth.form.welcome.title":"Ch\xE0o m\u1EEBng!","Auth.link.forgot-password":"Qu\xEAn m\u1EADt kh\u1EA9u?","Auth.link.ready":"S\u1EB5n s\xE0ng \u0111\u0103ng nh\u1EADp?","Auth.link.signin":"\u0110\u0103ng nh\u1EADp","Auth.link.signin.account":"\u0110\xE3 c\xF3 t\xE0i kho\u1EA3n?","Auth.login.sso.divider":"Ho\u1EB7c \u0111\u0103ng nh\u1EADp v\u1EDBi","Auth.login.sso.loading":"\u0110ang t\u1EA3i c\xE1c d\u1ECBch v\u1EE5 cung c\u1EA5p...","Auth.login.sso.subtitle":"\u0110\u0103ng nh\u1EADp qua SSO","Auth.privacy-policy-agreement.policy":"ch\xEDnh s\xE1ch b\u1EA3o m\u1EADt","Auth.privacy-policy-agreement.terms":"c\xE1c \u0111i\u1EC1u kho\u1EA3n","Auth.reset-password.title":"\u0110\u1EB7t l\u1EA1i m\u1EADt kh\u1EA9u","Content Manager":"Qu\u1EA3n L\xFD N\u1ED9i Dung","Documentation":"T\xE0i li\u1EC7u","Email":"Email","Files Upload":"T\u1EA3i T\xE2p Tin L\xEAn","HomePage.helmet.title":"Trang ch\u1EE7","HomePage.roadmap":"Xem l\u1ED9 tr\xECnh c\u1EE7a ch\xFAng t\xF4i","HomePage.welcome.congrats":"Ch\xFAc m\u1EEBng!","HomePage.welcome.congrats.content":"B\u1EA1n \u0111\xE3 \u0111\u0103ng nh\u1EADp nh\u01B0 l\xE0 ng\u01B0\u1EDDi qu\u1EA3n tr\u1ECB \u0111\u1EA7u ti\xEAn. \u0110\u1EC3 kh\xE1m ph\xE1 nh\u1EEFng t\xEDnh n\u0103ng m\u1EA1nh m\u1EBD \u0111\u01B0\u1EE3c cung c\u1EA5p b\u1EDFi Strapi.","New entry":"B\u1EA3n ghi m\u1EDBi","Password":"M\u1EADt Kh\u1EA9u","Provider":"Nh\xE0 Cung C\u1EA5p","ResetPasswordToken":"C\xE0i L\u1EA1i Chu\u1ED7i Kh\xF3a M\u1EADt Kh\u1EA9u","Role":"Vai tr\xF2","Username":"T\xEAn \u0111\u0103ng nh\u1EADp","Users":"Ng\u01B0\u1EDDi d\xF9ng","Users & Permissions":"Ng\u01B0\u1EDDi d\xF9ng v\xE0 Ph\xE2n quy\u1EC1n","app.components.BlockLink.code":"Code v\xED d\u1EE5","app.components.Button.cancel":"H\u1EE7y b\u1ECF","app.components.ComingSoonPage.comingSoon":"S\u1EAFp c\xF3","app.components.DownloadInfo.download":"\u0110ang t\u1EA3i v\u1EC1","app.components.DownloadInfo.text":"Vi\u1EC7c n\xE0y c\xF3 th\u1EC3 t\u1ED1n m\u1ED9t ph\xFAt. C\u1EA3m \u01A1n b\u1EA1n v\xEC s\u1EF1 ki\xEAn nh\u1EABn.","app.components.EmptyAttributes.title":"Ch\u01B0a c\xF3 tr\u01B0\u1EDDng nh\u1EADp li\u1EC7u n\xE0o","app.components.HomePage.button.blog":"XEM TH\xCAM TR\xCAN BLOG","app.components.HomePage.community":"T\xECm c\u1ED9ng \u0111\u1ED3ng tr\xEAn web","app.components.HomePage.community.content":"Th\u1EA3o lu\u1EADn v\u1EDBi th\xE0nh vi\xEAn, ng\u01B0\u1EDDi \u0111\xF3ng g\xF3p v\xE0 l\u1EADp tr\xECnh vi\xEAn tr\xEAn nh\u1EEFng k\xEAnh kh\xE1c nhau.","app.components.HomePage.welcome":"Ch\xE0o m\u1EEBng b\u1EA1n \u0111\xE3 tham gia \u{1F44B}","app.components.HomePage.welcome.again":"Ch\xE0o m\u1EEBng \u{1F44B}","app.components.HomePage.welcomeBlock.content":"Ch\xFAng t\xF4i h\u1EA1nh ph\xFAc khi c\xF3 b\u1EA1n l\xE0 m\u1ED9t ph\u1EA7n c\u1EE7a c\u1ED9ng \u0111\u1ED3ng. Ch\xFAng t\xF4i li\xEAn t\u1EE5c t\xECm ki\u1EBFm s\u1EF1 ph\u1EA3n h\u1ED3i, do \u0111\xF3 b\u1EA1n c\xF3 th\u1EC3 Li\xEAn h\u1EC7 tr\u1EF1c ti\u1EBFp v\u1EDBi ch\xFAng t\xF4i tr\xEAn ","app.components.HomePage.welcomeBlock.content.again":"Ch\xFAng t\xF4i hi v\u1ECDng b\u1EA1n c\xF3 ti\u1EBFn tri\u1EC3n tr\xEAn d\u1EF1 \xE1n c\u1EE7a b\u1EA1n... B\u1EA1n t\u1EF1 do \u0111\u1ECDc tin t\u1EE9c m\u1EDBi nh\u1EA5t v\u1EC1 Strapi. Ch\xFAng t\xF4i \u0111ang c\u1ED1 g\u1EAFng h\u1EBFt m\u1EE9c \u0111\u1EC3 c\u1EA3i thi\u1EC7n s\u1EA3n ph\u1EA9m d\u1EF1a tr\xEAn ph\u1EA3n h\u1ED3i c\u1EE7a b\u1EA1n.","app.components.HomePage.welcomeBlock.content.issues":"v\u1EA5n \u0111\u1EC1.","app.components.HomePage.welcomeBlock.content.raise":" ho\u1EB7c n\xEAu l\xEAn ","app.components.ImgPreview.hint":"K\xE9o v\xE0 th\u1EA3 t\u1EADp tin c\u1EE7a b\u1EA1n v\xE0o khu v\u1EF1c n\xE0y ho\u1EB7c {browse} \u0111\u1EC3 t\xECm t\u1EADp tin t\u1EA3i l\xEAn","app.components.ImgPreview.hint.browse":"duy\u1EC7t","app.components.InputFile.newFile":"Th\xEAm t\u1EADp tin m\u1EDBi","app.components.InputFileDetails.open":"M\u1EDF ra \u1EDF th\u1EBB m\u1EDBi","app.components.InputFileDetails.originalName":"T\xEAn g\u1ED1c:","app.components.InputFileDetails.remove":"Xo\xE1 t\u1EADp tin n\xE0y","app.components.InputFileDetails.size":"K\xEDch th\u01B0\u1EDBc:","app.components.InstallPluginPage.Download.description":"N\xF3 s\u1EBD t\u1ED1n m\u1ED9t v\xE0i gi\xE2y \u0111\u1EC3 t\u1EA3i v\u1EC1 v\xE0 c\xE0i \u0111\u1EB7t plugin.","app.components.InstallPluginPage.Download.title":"\u0110ang t\u1EA3i v\u1EC1...","app.components.InstallPluginPage.description":"M\u1EDF r\u1ED9ng \u1EE9ng d\u1EE5ng c\u1EE7a b\u1EA1n d\u1EC5 d\xE0ng","app.components.LeftMenuFooter.help":"Gi\xFAp \u0111\u1EE1","app.components.LeftMenuFooter.poweredBy":"Cung c\u1EA5p b\u1EDFi ","app.components.LeftMenuLinkContainer.configuration":"C\xE1c c\u1EA5u h\xECnh","app.components.LeftMenuLinkContainer.general":"Chung","app.components.LeftMenuLinkContainer.noPluginsInstalled":"Ch\u01B0a c\xF3 plugins n\xE0o \u0111\u01B0\u1EE3c c\xE0i \u0111\u1EB7t","app.components.LeftMenuLinkContainer.plugins":"Plugins","app.components.ListPluginsPage.description":"Danh s\xE1ch plugins \u0111\xE3 c\xE0i trong d\u1EF1 \xE1n.","app.components.ListPluginsPage.helmet.title":"Danh s\xE1ch plugins","app.components.Logout.logout":"\u0110\u0103ng xu\u1EA5t","app.components.Logout.profile":"H\u1ED3 s\u01A1","app.components.NotFoundPage.back":"Tr\u1EDF v\u1EC1 trang ch\u1EE7","app.components.NotFoundPage.description":"Kh\xF4ng T\xECm Th\u1EA5y","app.components.Official":"Ch\xEDnh Th\u1EE9c","app.components.Onboarding.label.completed":"% \u0111\xE3 ho\xE0n th\xE0nh","app.components.Onboarding.title":"Videos B\u1EAFt \u0110\u1EA7u","app.components.PluginCard.Button.label.download":"T\u1EA3i v\u1EC1","app.components.PluginCard.Button.label.install":"\u0110\xE3 \u0111\u01B0\u1EE3c c\xE0i \u0111\u1EB7t","app.components.PluginCard.PopUpWarning.install.impossible.autoReload.needed":"Ch\u1EE9c n\u0103ng autoReload kh\xF4ng ho\u1EA1t \u0111\u1ED9ng. Vui l\xF2ng ch\u1EA1y \u1EE9ng d\u1EE5ng c\u1EE7a b\u1EA1n v\u1EDBi `yarn develop`.","app.components.PluginCard.PopUpWarning.install.impossible.confirm":"T\xF4i hi\u1EC3u!","app.components.PluginCard.PopUpWarning.install.impossible.environment":"V\xEC nh\u1EEFng l\xFD do b\u1EA3o m\u1EADt, ch\u1EC9 m\u1ED9t plugin c\xF3 th\u1EC3 \u0111\u01B0\u1EE3c t\u1EA3i v\u1EC1 trong m\xF4i tr\u01B0\u1EDDng ph\xE1t tri\u1EC3n.","app.components.PluginCard.PopUpWarning.install.impossible.title":"T\u1EA3i v\u1EC1 kh\xF4ng kh\u1EA3 thi","app.components.PluginCard.compatible":"T\u01B0\u01A1ng th\xEDch v\u1EDBi \u1EE9ng d\u1EE5ng c\u1EE7a b\u1EA1n","app.components.PluginCard.compatibleCommunity":"T\u01B0\u01A1ng th\xEDch v\u1EDBi c\u1ED9ng \u0111\u1ED3ng","app.components.PluginCard.more-details":"Th\xEAm chi ti\u1EBFt","app.components.listPlugins.button":"Th\xEAm m\u1EDBi Plugin","app.components.listPlugins.title.none":"Ch\u01B0a c\xF3 plugins n\xE0o \u0111\u01B0\u1EE3c c\xE0i \u0111\u1EB7t","app.components.listPluginsPage.deletePlugin.error":"M\u1ED9t l\u1ED7i x\u1EA3y ra trong khi g\u1EE1 b\u1ECF plugin","app.containers.App.notification.error.init":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi g\u1EEDi y\xEAu c\u1EA7u \u0111\u1EBFn API","app.utils.SelectOption.defaultMessage":" ","app.utils.defaultMessage":" ","app.utils.placeholder.defaultMessage":" ","components.AutoReloadBlocker.description":"Ch\u1EA1y Strapi v\u1EDBi m\u1ED9t trong c\xE1c l\u1EC7nh sau:","components.AutoReloadBlocker.header":"T\xEDnh n\u0103ng T\u1EA3i l\u1EA1i b\u1ECB b\u1EAFt bu\u1ED9c cho plugin n\xE0y.","components.ErrorBoundary.title":"\u0110i\u1EC1u g\xEC \u0111\xF3 kh\xF4ng \u1ED5n...","components.Input.error.attribute.key.taken":"Gi\xE1 tr\u1ECB n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","components.Input.error.attribute.sameKeyAndName":"Kh\xF4ng th\u1EC3 b\u1EB1ng nhau","components.Input.error.attribute.taken":"Tr\u01B0\u1EDDng nh\u1EADp li\u1EC7u n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","components.Input.error.contentTypeName.taken":"T\xEAn n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","components.Input.error.custom-error":"{errorMessage} ","components.Input.error.password.noMatch":"M\u1EADt kh\u1EA9u kh\xF4ng kh\u1EDBp","components.Input.error.validation.email":"Email kh\xF4ng h\u1EE3p l\u1EC7","components.Input.error.validation.json":"\u0110\xE2y kh\xF4ng ph\u1EA3i l\xE0 \u0111\u1ECBnh d\u1EA1ng JSON","components.Input.error.validation.max":"Gi\xE1 tr\u1ECB qu\xE1 cao {max}.","components.Input.error.validation.maxLength":"Gi\xE1 tr\u1ECB qu\xE1 d\xE0i {max}.","components.Input.error.validation.min":"Gi\xE1 tr\u1ECB qu\xE1 th\u1EA5p {min}.","components.Input.error.validation.minLength":"Gi\xE1 tr\u1ECB qu\xE1 ng\u1EAFn {min}.","components.Input.error.validation.minSupMax":"Kh\xF4ng th\u1EC3 l\xE0 tr\xEAn m\u0169","components.Input.error.validation.regex":"Gi\xE1 tr\u1ECB kh\xF4ng kh\u1EDBi v\u1EDBi regex.","components.Input.error.validation.required":"Gi\xE1 tr\u1ECB n\xE0y b\u1EAFt bu\u1ED9c.","components.InputSelect.option.placeholder":"Ch\u1ECDn \u1EDF \u0111\xE2y","components.ListRow.empty":"Kh\xF4ng c\xF3 d\u1EEF li\u1EC7u \u0111\u1EC3 hi\u1EC3n th\u1ECB.","components.OverlayBlocker.description":"B\u1EA1n \u0111ang d\xF9ng m\u1ED9t t\xEDnh n\u0103ng m\xE0 n\xF3 c\u1EA7n ph\u1EA3i kh\u1EDFi \u0111\u1ED9ng l\u1EA1i m\xE1y ch\u1EE7. Vui l\xF2ng ch\u1EDD cho m\xE1y ch\u1EE7 kh\u1EDFi \u0111\u1ED9ng xong.","components.OverlayBlocker.description.serverError":"M\xE1y ch\u1EE7 n\xEAn \u0111\u01B0\u1EE3c kh\u1EDFi \u0111\u1ED9ng l\u1EA1i, vui l\xF2ng ki\u1EC3m tra nh\u1EADt k\xFD c\u1EE7a b\u1EA1n trong c\u1EEDa s\u1ED5 l\u1EC7nh","components.OverlayBlocker.title":"\u0110ang \u0111\u1EE3i kh\u1EDFi \u0111\u1ED9ng l\u1EA1i...","components.OverlayBlocker.title.serverError":"Vi\u1EC7c kh\u1EDFi \u0111\u1ED9ng l\u1EA1i t\u1ED1n nhi\u1EC1u th\u1EDDi gian h\u01A1n mong \u0111\u1EE3i","components.PageFooter.select":"b\u1EA3n ghi tr\xEAn trang","components.ProductionBlocker.description":"V\xEC l\xFD do an to\xE0n ch\xFAng t\xF4i ph\u1EA3i v\xF4 hi\u1EC7u ho\xE1 plugin trong c\xE1c m\xF4i tr\u01B0\u1EDDng kh\xE1c","components.ProductionBlocker.header":"Plugin n\xE0y ch\u1EC9 hi\u1EC7u l\u1EE9c trong m\xF4i tr\u01B0\u1EDDng ph\xE1t tri\u1EC3n","components.Wysiwyg.collapse":"Thu l\u1EA1i","components.Wysiwyg.selectOptions.H1":"Ti\xEAu \u0111\u1EC1 H1","components.Wysiwyg.selectOptions.H2":"Ti\xEAu \u0111\u1EC1 H2","components.Wysiwyg.selectOptions.H3":"Ti\xEAu \u0111\u1EC1 H3","components.Wysiwyg.selectOptions.H4":"Ti\xEAu \u0111\u1EC1 H4","components.Wysiwyg.selectOptions.H5":"Ti\xEAu \u0111\u1EC1 H5","components.Wysiwyg.selectOptions.H6":"Ti\xEAu \u0111\u1EC1 H6","components.Wysiwyg.selectOptions.title":"Th\xEAm m\u1ED9t ti\xEAu \u0111\u1EC1","components.WysiwygBottomControls.charactersIndicators":"k\xFD t\u1EF1","components.WysiwygBottomControls.fullscreen":"M\u1EDF r\u1ED9ng","components.WysiwygBottomControls.uploadFiles":"K\xE9o v\xE0 th\u1EA3 c\xE1c t\u1EADp tin, d\xE1n t\u1EEB b\u1ED9 nh\u1EDB t\u1EA1m hay {browse}.","components.WysiwygBottomControls.uploadFiles.browse":"ch\u1ECDn t\u1EC7p","components.popUpWarning.message":"B\u1EA1n c\xF3 ch\u1EAFc l\xE0 b\u1EA1n mu\u1ED1n xo\xE1 n\xF3?","components.popUpWarning.title":"Vui l\xF2ng x\xE1c nh\u1EADn","content-manager.EditRelations.title":"D\u1EEF Li\u1EC7u Quan H\u1EC7","content-manager.components.AddFilterCTA.add":"L\u1ECDc","content-manager.components.AddFilterCTA.hide":"L\u1ECDc","content-manager.components.DraggableAttr.edit":"Nh\u1EA5n \u0111\u1EC3 ch\u1EC9nh s\u1EEDa","content-manager.components.EmptyAttributesBlock.button":"\u0110\u1EBFn trang c\xE0i \u0111\u1EB7t","content-manager.components.EmptyAttributesBlock.description":"B\u1EA1n c\xF3 th\u1EC3 thay \u0111\u1ED5i c\xE0i \u0111\u1EB7t c\u1EE7a b\u1EA1n","content-manager.components.FilterOptions.button.apply":"\xC1p d\u1EE5ng","content-manager.components.FiltersPickWrapper.PluginHeader.actions.apply":"\xC1p d\u1EE5ng","content-manager.components.FiltersPickWrapper.PluginHeader.actions.clearAll":"X\xF3a t\u1EA5t c\u1EA3","content-manager.components.FiltersPickWrapper.PluginHeader.description":"C\xE0i \u0111\u1EB7t c\xE1c \u0111i\u1EC1u ki\u1EC7n \u0111\u1EC3 \xE1p d\u1EE5ng cho vi\u1EC7c l\u1ECDc c\xE1c b\u1EA3n ghi","content-manager.components.FiltersPickWrapper.PluginHeader.title.filter":"C\xE1c b\u1ED9 l\u1ECDc","content-manager.components.FiltersPickWrapper.hide":"\u1EA8n \u0111i","content-manager.components.LimitSelect.itemsPerPage":"S\u1ED1 l\u01B0\u1EE3ng b\u1EA3n ghi trong trang","content-manager.components.Search.placeholder":"T\xECm m\u1ED9t b\u1EA3n ghi...","content-manager.components.TableDelete.delete":"X\xF3a t\u1EA5t c\u1EA3","content-manager.components.TableDelete.deleteSelected":"X\xF3a \u0111\xE3 ch\u1ECDn","content-manager.components.TableEmpty.withFilters":"Kh\xF4ng c\xF3 {contentType} v\u1EDBi b\u1ED9 l\u1ECDc \u0111\u01B0\u1EE3c d\xF9ng","content-manager.components.TableEmpty.withSearch":"Kh\xF4ng c\xF3 {contentType} t\u01B0\u01A1ng \u1EE9ng v\u1EDBi t\xECm ki\u1EBFm ({search})...","content-manager.components.TableEmpty.withoutFilter":"Kh\xF4ng c\xF3 {contentType}...","content-manager.containers.Edit.Link.Layout":"C\u1EA5u h\xECnh b\u1ED1 c\u1EE5c","content-manager.containers.Edit.addAnItem":"Th\xEAm m\u1ED9t b\u1EA3n ghi...","content-manager.containers.Edit.clickToJump":"Nh\u1EA5n \u0111\u1EC3 nh\u1EA3y v\xE0o b\u1EA3n ghi","content-manager.containers.Edit.delete":"X\xF3a","content-manager.containers.Edit.editing":"\u0110\u0103ng s\u1EEDa...","content-manager.containers.Edit.pluginHeader.title.new":"T\u1EA1o m\u1ED9t B\u1EA3n ghi","content-manager.containers.Edit.reset":"L\xE0m l\u1EA1i","content-manager.containers.Edit.returnList":"Tr\u1EDF v\u1EC1 danh s\xE1ch","content-manager.containers.Edit.seeDetails":"Chi ti\u1EBFt","content-manager.containers.Edit.submit":"L\u01B0u","content-manager.containers.EditView.notification.errors":"B\u1EA3ng nh\u1EADp li\u1EC7u c\xF3 v\xE0i l\u1ED7i","content-manager.containers.Home.introduction":"\u0110\u1EC3 ch\u1EC9nh s\u1EEDa c\xE1c b\u1EA3n ghi c\u1EE7a b\u1EA1n, \u0111i \u0111\u1EBFn li\xEAn k\u1EBFt \u1EDF menu b\xEAn tr\xE1i. Plugin n\xE0y ch\u01B0a c\xF3 c\xE1ch th\xEDch h\u1EE3p \u0111\u1EC3 ch\u1EC9nh s\u1EEDa c\xE1c c\xE0i \u0111\u1EB7t v\xE0 n\xF3 v\u1EABn \u0111ang \u0111\u01B0\u1EE3c ph\xE1t tri\u1EC3n.","content-manager.containers.Home.pluginHeaderDescription":"Qu\u1EA3n l\xFD c\xE1c b\u1EA3n ghi th\xF4ng qua m\u1ED9t giao di\u1EC7n m\u1EA1nh v\xE0 \u0111\u1EB9p.","content-manager.containers.Home.pluginHeaderTitle":"Qu\u1EA3n L\xFD N\u1ED9i Dung","content-manager.containers.List.errorFetchRecords":"L\u1ED7i","content-manager.containers.ListPage.displayedFields":"C\xE1c tr\u01B0\u1EDDng \u0111\xE3 \u0111\u01B0\u1EE3c tr\xECnh b\xE0y","content-manager.containers.SettingPage.attributes":"C\xE1c tr\u01B0\u1EDDng thu\u1ED9c t\xEDnh","content-manager.containers.SettingPage.attributes.description":"\u0110\u1ECBnh ngh\u0129a th\u1EE9 t\u1EF1 c\xE1c thu\u1ED9c t\xEDnh","content-manager.containers.SettingPage.editSettings.description":"K\xE9o & th\u1EA3 c\xE1c tr\u01B0\u1EDDng \u0111\u1EC3 x\xE2y d\u1EF1ng b\u1ED1 c\u1EE5c","content-manager.containers.SettingPage.editSettings.entry.title":"T\xEAn b\u1EA3n ghi","content-manager.containers.SettingPage.editSettings.entry.title.description":"C\xE0i \u0111\u1EB7t tr\u01B0\u1EDDng \u0111\u01B0\u1EE3c tr\xECnh b\xE0y trong b\u1EA3n ghi c\u1EE7a b\u1EA1n","content-manager.containers.SettingPage.editSettings.title":"Ch\u1EC9nh s\u1EEDa hi\u1EC3n th\u1ECB (c\xE1c c\xE0i \u0111\u1EB7t)","content-manager.containers.SettingPage.layout":"B\u1ED1 c\u1EE5c","content-manager.containers.SettingPage.listSettings.title":"Hi\u1EC3n th\u1ECB danh s\xE1ch (c\xE1c c\xE0i \u0111\u1EB7t)","content-manager.containers.SettingPage.settings":"C\xE1c c\xE0i \u0111\u1EB7t","content-manager.containers.SettingViewModel.pluginHeader.title":"Qu\u1EA3n L\xFD N\u1ED9i Dung - {name}","content-manager.containers.SettingsPage.Block.contentType.description":"C\u1EA5u h\xECnh c\xE1c c\xE0i \u0111\u1EB7t ri\xEAng","content-manager.containers.SettingsPage.Block.generalSettings.title":"Chung","content-manager.containers.SettingsView.list.title":"C\xE1c c\u1EA5u h\xECnh v\u1EC1 Tr\xECnh b\xE0y","content-manager.emptyAttributes.title":"Ch\u01B0a c\xF3 tr\u01B0\u1EDDng n\xE0o h\u1EBFt","content-manager.error.attribute.key.taken":"Gi\xE1 tr\u1ECB n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","content-manager.error.attribute.sameKeyAndName":"Kh\xF4ng th\u1EC3 b\u1EB1ng nhau","content-manager.error.attribute.taken":"T\xEAn tr\u01B0\u1EDDng n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","content-manager.error.contentTypeName.taken":"T\xEAn n\xE0y \u0111\xE3 t\u1ED3n t\u1EA1i","content-manager.error.model.fetch":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 c\u1EA5u h\xECnh n\u1ED9i dung.","content-manager.error.record.create":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi t\u1EA1o b\u1EA3n ghi.","content-manager.error.record.delete":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi xo\xE1 b\u1EA3n ghi.","content-manager.error.record.fetch":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 b\u1EA3n ghi.","content-manager.error.record.update":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi c\u1EADp nh\u1EADt b\u1EA3n ghi.","content-manager.error.records.count":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 s\u1ED1 l\u01B0\u1EE3ng b\u1EA3n ghi.","content-manager.error.records.fetch":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 c\xE1c b\u1EA3n ghi.","content-manager.error.schema.generation":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi qu\xE1 tr\xECnh t\u1EA1o ra l\u01B0\u1EE3c \u0111\u1ED3.","content-manager.error.validation.json":"\u0110\xE2y kh\xF4ng ph\u1EA3i l\xE0 \u0111\u1ECBnh d\u1EA1ng JSON","content-manager.error.validation.max":"Gi\xE1 tr\u1ECB qu\xE1 cao.","content-manager.error.validation.maxLength":"Gi\xE1 tr\u1ECB qu\xE1 d\xE0i.","content-manager.error.validation.min":"Gi\xE1 tr\u1ECB qu\xE1 th\u1EA5p.","content-manager.error.validation.minLength":"Gi\xE1 tr\u1ECB qu\xE1 ng\u1EAFn.","content-manager.error.validation.minSupMax":"Kh\xF4ng th\u1EC3 l\xE0 tr\xEAn m\u0169","content-manager.error.validation.regex":"Gi\xE1 tr\u1ECB kh\xF4ng kh\u1EDBi v\u1EDBi regex.","content-manager.error.validation.required":"Gi\xE1 tr\u1ECB n\xE0y b\u1EAFt bu\u1ED9c.","content-manager.form.Input.bulkActions":"K\xEDch ho\u1EA1t ho\u1EA1t \u0111\u1ED9ng g\u1ED9p","content-manager.form.Input.defaultSort":"Thu\u1ED9c t\xEDnh s\u1EAFp x\u1EBFp m\u1EB7c \u0111\u1ECBnh","content-manager.form.Input.description":"M\xF4 t\u1EA3","content-manager.form.Input.description.placeholder":"T\xEAn hi\u1EC3n th\u1ECB trong h\u1ED3 s\u01A1","content-manager.form.Input.editable":"Tr\u01B0\u1EDDng ch\u1EC9nh s\u1EEDa \u0111\u01B0\u1EE3c","content-manager.form.Input.filters":"K\xEDch ho\u1EA1t c\xE1c b\u1ED9 l\u1ECDc","content-manager.form.Input.label":"Nh\xE3n","content-manager.form.Input.label.inputDescription":"Gi\xE1 tr\u1ECB n\xE0y ghi \u0111\xE8 l\xEAn nh\xE3n \u0111\u01B0\u1EE3c tr\xECnh b\xE0y trong ph\u1EA7n \u0111\u1EA7u c\u1EE7a b\u1EA3ng","content-manager.form.Input.pageEntries":"B\u1EA3n ghi trong trang","content-manager.form.Input.placeholder":"Ch\u1ED7 ch\u1EDD gi\xE1 tr\u1ECB","content-manager.form.Input.placeholder.placeholder":"Gi\xE1 tr\u1ECB tuy\u1EC7t v\u1EDDi c\u1EE7a t\xF4i","content-manager.form.Input.search":"K\xEDch ho\u1EA1t t\xECm ki\u1EBFm","content-manager.form.Input.search.field":"K\xEDch ho\u1EA1t t\xECm ki\u1EBFm cho tr\u01B0\u1EDDng n\xE0y","content-manager.form.Input.sort.field":"K\xEDch ho\u1EA1t s\u1EAFp x\u1EBFp tr\xEAn tr\u01B0\u1EDDng n\xE0y","content-manager.form.Input.wysiwyg":"Tr\xECnh b\xE0y nh\u01B0 l\xE0 WYSIWYG","content-manager.global.displayedFields":"C\xE1c Tr\u01B0\u1EDDng \u0110\xE3 \u0110\u01B0\u1EE3c Tr\xECnh B\xE0y","content-manager.groups":"Nh\xF3m","content-manager.groups.numbered":"Nh\xF3m ({number})","content-manager.notification.error.displayedFields":"B\u1EA1n c\u1EA7n tr\xECnh b\xE0y \xEDt nh\u1EA5t m\u1ED9t tr\u01B0\u1EDDng","content-manager.notification.error.relationship.fetch":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi l\u1EA5y v\u1EC1 m\u1ED1i quan h\u1EC7.","content-manager.notification.info.SettingPage.disableSort":"B\u1EA1n c\u1EA7n c\xF3 m\u1ED9t thu\u1ED9c t\xEDnh \u0111\u01B0\u1EE3c ph\xE9p s\u1EAFp x\u1EBFp","content-manager.notification.info.minimumFields":"B\u1EA1n c\u1EA7n hi\u1EC3n th\u1ECB \xEDt nh\u1EA5t m\u1ED9t tr\u01B0\u1EDDng","content-manager.notification.upload.error":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra trong khi t\u1EA3i l\xEAn c\xE1c t\u1EADp tin c\u1EE7a b\u1EA1n","content-manager.pageNotFound":"Kh\xF4ng T\xECm Th\u1EA5y Trang","content-manager.plugin.description.long":"C\xE1ch nhanh \u0111\u1EC3 xem, s\u1EEDa v\xE0 xo\xE1 d\u1EEF li\u1EC7u trong c\u01A1 s\u1EDF d\u1EEF li\u1EC7u c\u1EE7a b\u1EA1n.","content-manager.plugin.description.short":"C\xE1ch nhanh \u0111\u1EC3 xem, s\u1EEDa v\xE0 xo\xE1 d\u1EEF li\u1EC7u trong c\u01A1 s\u1EDF d\u1EEF li\u1EC7u c\u1EE7a b\u1EA1n.","content-manager.popUpWarning.bodyMessage.contentType.delete":"B\u1EA1n c\xF3 ch\u1EAFc l\xE0 mu\u1ED1n xo\xE1 b\u1EA3n ghi n\xE0y kh\xF4ng?","content-manager.popUpWarning.bodyMessage.contentType.delete.all":"B\u1EA1n c\xF3 ch\u1EAFc l\xE0 mu\u1ED1n xo\xE1 c\xE1c b\u1EA3n ghi n\xE0y kh\xF4ng?","content-manager.popUpWarning.warning.cancelAllSettings":"B\u1EA1n c\xF3 ch\u1EAFc l\xE0 mu\u1ED1n h\u1EE7y b\u1ECF c\xE1c thay \u0111\u1ED5i c\u1EE7a b\u1EA1n?","content-manager.popUpWarning.warning.updateAllSettings":"N\xF3 s\u1EBD thay \u0111\u1ED5i t\u1EA5t c\u1EA3 c\xE0i \u0111\u1EB7t c\u1EE7a b\u1EA1n","content-manager.success.record.delete":"\u0110\xE3 xo\xE1","content-manager.success.record.save":"\u0110\xE3 l\u01B0u","form.button.done":"Ho\xE0n th\xE0nh","notification.error":"M\u1ED9t l\u1ED7i \u0111\xE3 x\u1EA3y ra","notification.error.layout":"Kh\xF4ng th\u1EC3 kh\xF4i ph\u1EE5c","notification.form.error.fields":"B\u1EA3ng nh\u1EADp li\u1EC7u c\xF3 v\xE0i l\u1ED7i","request.error.model.unknown":"C\u1EA5u tr\xFAc n\xE0y kh\xF4ng t\u1ED3n t\u1EA1i"}')}}]);