@strapi/admin 4.10.0-beta.0 → 4.10.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 (229) hide show
  1. package/.eslintignore +4 -0
  2. package/.eslintrc.js +14 -0
  3. package/admin/src/components/LanguageProvider/index.js +1 -1
  4. package/admin/src/components/LocalesProvider/__mocks__/useLocalesProvider.js +7 -0
  5. package/admin/src/components/LocalesProvider/index.js +2 -3
  6. package/admin/src/content-manager/components/CollectionTypeFormWrapper/index.js +3 -6
  7. package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +2 -0
  8. package/admin/src/content-manager/components/DynamicTable/index.js +11 -29
  9. package/admin/src/content-manager/components/EditViewDataManagerProvider/reducer.js +12 -6
  10. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/findAllAndReplace.js +10 -3
  11. package/admin/src/content-manager/components/InputUID/endActionStyle.js +4 -13
  12. package/admin/src/content-manager/components/InputUID/index.js +95 -72
  13. package/admin/src/content-manager/components/RepeatableComponent/components/Component.js +8 -2
  14. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +4 -8
  15. package/admin/src/content-manager/pages/App/LeftMenu/index.js +56 -35
  16. package/admin/src/content-manager/pages/App/actions.js +19 -7
  17. package/admin/src/content-manager/pages/App/constants.js +3 -3
  18. package/admin/src/content-manager/pages/App/index.js +5 -4
  19. package/admin/src/content-manager/pages/App/reducer.js +7 -6
  20. package/admin/src/content-manager/pages/App/selectors.js +3 -0
  21. package/admin/src/content-manager/pages/App/{useModels.js → useContentManagerInitData.js} +29 -28
  22. package/admin/src/content-manager/pages/App/utils/generateModelsLinks.js +2 -2
  23. package/admin/src/content-manager/pages/App/utils/getContentTypeLinks.js +17 -15
  24. package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +6 -5
  25. package/admin/src/content-manager/pages/EditSettingsView/index.js +4 -0
  26. package/admin/src/content-manager/pages/EditSettingsView/reducer.js +12 -7
  27. package/admin/src/content-manager/pages/EditSettingsView/utils/layout.js +1 -30
  28. package/admin/src/content-manager/pages/EditView/DeleteLink/index.js +5 -11
  29. package/admin/src/content-manager/pages/EditView/index.js +2 -7
  30. package/admin/src/content-manager/pages/EditViewLayoutManager/reducer.js +4 -4
  31. package/admin/src/content-manager/pages/ListSettingsView/index.js +1 -0
  32. package/admin/src/hooks/useConfigurations/__mocks__/index.js +7 -0
  33. package/admin/src/hooks/useFetchMarketplacePlugins/utils/api.js +7 -8
  34. package/admin/src/hooks/useFetchMarketplaceProviders/utils/api.js +5 -0
  35. package/admin/src/hooks/useFetchPermissionsLayout/index.js +24 -15
  36. package/admin/src/hooks/useFetchRole/index.js +37 -30
  37. package/admin/src/hooks/useModels/index.js +22 -12
  38. package/admin/src/hooks/useRegenerate/index.js +12 -7
  39. package/admin/src/hooks/useSettingsForm/index.js +14 -6
  40. package/admin/src/pages/App/index.js +19 -24
  41. package/admin/src/pages/AuthPage/components/Register/index.js +46 -38
  42. package/admin/src/pages/HomePage/SocialLinks.js +1 -1
  43. package/admin/src/pages/MarketplacePage/components/EmptyNpmPackageSearch/index.js +3 -3
  44. package/admin/src/pages/MarketplacePage/components/NpmPackagesGrid/index.js +42 -9
  45. package/admin/src/pages/MarketplacePage/components/NpmPackagesPagination/index.js +26 -0
  46. package/admin/src/pages/MarketplacePage/components/OfflineLayout/index.js +45 -0
  47. package/admin/src/pages/MarketplacePage/index.js +80 -175
  48. package/admin/src/pages/MarketplacePage/utils/useMarketplaceData.js +85 -0
  49. package/admin/src/pages/SettingsPage/components/Tokens/FormHead/index.js +4 -0
  50. package/admin/src/pages/SettingsPage/components/Tokens/Regenerate/index.js +5 -3
  51. package/admin/src/pages/SettingsPage/components/Tokens/TokenTypeSelect/index.js +7 -5
  52. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +1 -3
  53. package/admin/src/pages/SettingsPage/pages/Roles/CreatePage/index.js +6 -12
  54. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +6 -10
  55. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/components/RoleRow/index.js +12 -4
  56. package/admin/src/pages/SettingsPage/pages/Roles/ListPage/index.js +21 -2
  57. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +41 -0
  58. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +53 -9
  59. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js +1 -0
  60. package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/index.js +27 -5
  61. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +18 -33
  62. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +41 -41
  63. package/admin/src/translations/en.json +52 -50
  64. package/admin/src/translations/fr.json +89 -1
  65. package/admin/src/translations/ru.json +51 -19
  66. package/build/1387.84b454d3.chunk.js +1 -0
  67. package/build/1657.45231968.chunk.js +168 -0
  68. package/build/3081.bcf9a12f.chunk.js +108 -0
  69. package/build/462.8fff7f3b.chunk.js +71 -0
  70. package/build/4628.20631dd1.chunk.js +1 -0
  71. package/build/5542.b8240e3f.chunk.js +70 -0
  72. package/build/5563.905daa13.chunk.js +79 -0
  73. package/build/6404.68405699.chunk.js +100 -0
  74. package/build/7259.b7d00cea.chunk.js +1 -0
  75. package/build/8694.6522968d.chunk.js +247 -0
  76. package/build/Admin-authenticatedApp.b036fe95.chunk.js +79 -0
  77. package/build/Admin_InternalErrorPage.15c6bf07.chunk.js +1 -0
  78. package/build/Admin_homePage.f9309c6d.chunk.js +73 -0
  79. package/build/Admin_marketplace.56bc1008.chunk.js +31 -0
  80. package/build/Admin_pluginsPage.f6b52ee9.chunk.js +6 -0
  81. package/build/Admin_profilePage.9112cffc.chunk.js +15 -0
  82. package/build/Admin_settingsPage.4604a16c.chunk.js +79 -0
  83. package/build/Upload_ConfigureTheView.eaaec495.chunk.js +1 -0
  84. package/build/admin-app.014adc27.chunk.js +110 -0
  85. package/build/admin-edit-roles-page.8a4063f7.chunk.js +280 -0
  86. package/build/admin-edit-users.7e14d85f.chunk.js +10 -0
  87. package/build/admin-roles-list.329c1f63.chunk.js +31 -0
  88. package/build/admin-users.d02de059.chunk.js +34 -0
  89. package/build/api-tokens-create-page.97595e12.chunk.js +1 -0
  90. package/build/api-tokens-edit-page.cd36e30e.chunk.js +1 -0
  91. package/build/api-tokens-list-page.6757c7b9.chunk.js +16 -0
  92. package/build/audit-logs-settings-page.19d90bda.chunk.js +76 -0
  93. package/build/content-manager.84f81966.chunk.js +1130 -0
  94. package/build/content-type-builder-list-view.9c2c020c.chunk.js +214 -0
  95. package/build/{content-type-builder-translation-de-json.0979cccb.chunk.js → content-type-builder-translation-de-json.393a76c0.chunk.js} +1 -1
  96. package/build/{content-type-builder-translation-dk-json.e05583e9.chunk.js → content-type-builder-translation-dk-json.fbd39bb7.chunk.js} +1 -1
  97. package/build/content-type-builder-translation-en-json.446b611d.chunk.js +1 -0
  98. package/build/{content-type-builder-translation-es-json.fe4daad8.chunk.js → content-type-builder-translation-es-json.9288474b.chunk.js} +1 -1
  99. package/build/{content-type-builder-translation-fr-json.b1eb52f6.chunk.js → content-type-builder-translation-fr-json.d35e269c.chunk.js} +1 -1
  100. package/build/{content-type-builder-translation-id-json.ee3b36bb.chunk.js → content-type-builder-translation-id-json.f0513929.chunk.js} +1 -1
  101. package/build/{content-type-builder-translation-it-json.13b3c26a.chunk.js → content-type-builder-translation-it-json.aaf16753.chunk.js} +1 -1
  102. package/build/{content-type-builder-translation-ko-json.8a274be5.chunk.js → content-type-builder-translation-ko-json.8fe21a7f.chunk.js} +1 -1
  103. package/build/{content-type-builder-translation-ms-json.2d29c1e0.chunk.js → content-type-builder-translation-ms-json.3b5d2d3e.chunk.js} +1 -1
  104. package/build/{content-type-builder-translation-nl-json.40bbc562.chunk.js → content-type-builder-translation-nl-json.225ef5d3.chunk.js} +1 -1
  105. package/build/{content-type-builder-translation-pl-json.24a34349.chunk.js → content-type-builder-translation-pl-json.92f36be2.chunk.js} +1 -1
  106. package/build/{content-type-builder-translation-pt-BR-json.97f71a9d.chunk.js → content-type-builder-translation-pt-BR-json.3bd10f89.chunk.js} +1 -1
  107. package/build/{content-type-builder-translation-ru-json.54d11230.chunk.js → content-type-builder-translation-ru-json.9bfe47ce.chunk.js} +1 -1
  108. package/build/{content-type-builder-translation-sk-json.626c9493.chunk.js → content-type-builder-translation-sk-json.d03cc18a.chunk.js} +1 -1
  109. package/build/{content-type-builder-translation-sv-json.59f5e1e5.chunk.js → content-type-builder-translation-sv-json.d23dcd32.chunk.js} +1 -1
  110. package/build/{content-type-builder-translation-th-json.6fe3ed55.chunk.js → content-type-builder-translation-th-json.7ad256e2.chunk.js} +1 -1
  111. package/build/{content-type-builder-translation-tr-json.cea4d226.chunk.js → content-type-builder-translation-tr-json.926f6191.chunk.js} +1 -1
  112. package/build/{content-type-builder-translation-uk-json.c4524247.chunk.js → content-type-builder-translation-uk-json.7bf19546.chunk.js} +1 -1
  113. package/build/{content-type-builder-translation-zh-json.faedd610.chunk.js → content-type-builder-translation-zh-json.ad24dbeb.chunk.js} +1 -1
  114. package/build/content-type-builder.68af11d2.chunk.js +126 -0
  115. package/build/email-settings-page.1095e1ab.chunk.js +10 -0
  116. package/build/en-json.c7fc79af.chunk.js +1 -0
  117. package/build/fr-json.5947cf63.chunk.js +1 -0
  118. package/build/{highlight.js.26ef649f.chunk.js → highlight.js.28a1547e.chunk.js} +2 -2
  119. package/build/i18n-settings-page.d95b32df.chunk.js +60 -0
  120. package/build/index.html +1 -1
  121. package/build/main.841e0dcb.js +2280 -0
  122. package/build/review-workflows-settings.f7890c40.chunk.js +106 -0
  123. package/build/ru-json.e0662702.chunk.js +1 -0
  124. package/build/{runtime~main.5a95bee6.js → runtime~main.965f8af8.js} +1 -1
  125. package/build/sso-settings-page.1dd4886e.chunk.js +1 -0
  126. package/build/transfer-tokens-create-page.ec2ca215.chunk.js +1 -0
  127. package/build/transfer-tokens-edit-page.22bf28e5.chunk.js +1 -0
  128. package/build/transfer-tokens-list-page.cf8c77f2.chunk.js +16 -0
  129. package/build/upload-settings.945fdcfa.chunk.js +13 -0
  130. package/build/{upload-translation-th-json.3847dae0.chunk.js → upload-translation-th-json.98d35574.chunk.js} +1 -1
  131. package/build/upload.a86b1054.chunk.js +33 -0
  132. package/build/users-advanced-settings-page.5b5a9baa.chunk.js +8 -0
  133. package/build/users-email-settings-page.e5506eb4.chunk.js +23 -0
  134. package/build/users-providers-settings-page.e32089c2.chunk.js +28 -0
  135. package/build/users-roles-settings-page.20656f92.chunk.js +30 -0
  136. package/build/webhook-edit-page.a3b62049.chunk.js +75 -0
  137. package/build/webhook-list-page.ca38eeef.chunk.js +71 -0
  138. package/{admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/ReviewWorkflowsStage.js → ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/ReviewWorkflowsStageEE.js} +2 -2
  139. package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +47 -0
  140. package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/index.js +3 -0
  141. package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +64 -18
  142. package/ee/admin/hooks/useAuthProviders/index.js +28 -29
  143. package/ee/admin/hooks/useLicenseLimitNotification/index.js +1 -1
  144. package/ee/admin/pages/AuthResponse/index.js +7 -3
  145. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/hooks/useAuditLogsData.js +6 -3
  146. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/index.js +15 -5
  147. package/ee/admin/pages/SettingsPage/pages/AuditLogs/ListView/utils/getDisplayedFilters.js +52 -45
  148. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +9 -5
  149. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/components/Stages/Stage/Stage.js +2 -2
  150. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows.js +2 -2
  151. package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/reducer/index.js +2 -1
  152. package/ee/server/content-types/workflow/index.js +0 -3
  153. package/ee/server/content-types/workflow-stage/index.js +0 -5
  154. package/ee/server/controllers/authentication/middlewares.js +2 -1
  155. package/ee/server/controllers/workflows/stages/index.js +8 -1
  156. package/ee/server/register.js +3 -1
  157. package/ee/server/services/audit-logs.js +75 -16
  158. package/ee/server/services/index.js +1 -0
  159. package/ee/server/services/review-workflows/entity-service-decorator.js +17 -5
  160. package/ee/server/services/review-workflows/metrics.js +24 -0
  161. package/ee/server/services/review-workflows/review-workflows.js +44 -94
  162. package/ee/server/services/review-workflows/stages.js +136 -17
  163. package/ee/server/utils/persisted-tables.js +116 -22
  164. package/ee/server/utils/review-workflows.js +9 -0
  165. package/jest.config.front.js +1 -6
  166. package/package.json +25 -23
  167. package/server/controllers/transfer/runner.js +4 -2
  168. package/server/middlewares/data-transfer.js +4 -1
  169. package/server/routes/transfer.js +13 -4
  170. package/server/services/constants.js +4 -0
  171. package/server/services/transfer/permission.js +1 -1
  172. package/server/services/transfer/token.js +33 -31
  173. package/server/strategies/api-token.js +8 -1
  174. package/server/validation/transfer/token.js +10 -2
  175. package/webpack.config.js +6 -2
  176. package/admin/src/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/index.js +0 -1
  177. package/admin/src/content-manager/pages/App/LeftMenu/utils/index.js +0 -1
  178. package/admin/src/content-manager/pages/App/LeftMenu/utils/matchByTitle.js +0 -24
  179. package/build/2263.4c5916f9.chunk.js +0 -98
  180. package/build/4049.64715f20.chunk.js +0 -1
  181. package/build/4649.213b8a3b.chunk.js +0 -30
  182. package/build/6985.66cca29c.chunk.js +0 -1
  183. package/build/7259.aefb51e8.chunk.js +0 -1
  184. package/build/8469.853c822b.chunk.js +0 -1
  185. package/build/9505.dbe702ab.chunk.js +0 -14
  186. package/build/9816.01ee964f.chunk.js +0 -2
  187. package/build/Admin-authenticatedApp.f50ad423.chunk.js +0 -79
  188. package/build/Admin_InternalErrorPage.4ad8b0df.chunk.js +0 -1
  189. package/build/Admin_homePage.1411fb7c.chunk.js +0 -68
  190. package/build/Admin_marketplace.02608d56.chunk.js +0 -22
  191. package/build/Admin_pluginsPage.15e3b0fd.chunk.js +0 -1
  192. package/build/Admin_profilePage.76afeca0.chunk.js +0 -15
  193. package/build/Admin_settingsPage.147755cd.chunk.js +0 -9
  194. package/build/Upload_ConfigureTheView.34dde278.chunk.js +0 -1
  195. package/build/admin-app.55dd7921.chunk.js +0 -112
  196. package/build/admin-edit-roles-page.cf543488.chunk.js +0 -216
  197. package/build/admin-edit-users.31c20712.chunk.js +0 -10
  198. package/build/admin-roles-list.489c501f.chunk.js +0 -2
  199. package/build/admin-users.3e111a7d.chunk.js +0 -11
  200. package/build/api-tokens-create-page.4328b852.chunk.js +0 -1
  201. package/build/api-tokens-edit-page.bce5050f.chunk.js +0 -1
  202. package/build/api-tokens-list-page.93f24348.chunk.js +0 -16
  203. package/build/audit-logs-settings-page.7be97e82.chunk.js +0 -1
  204. package/build/content-manager.4480ae88.chunk.js +0 -1137
  205. package/build/content-type-builder-list-view.cf38fe2f.chunk.js +0 -191
  206. package/build/content-type-builder-translation-en-json.7961593e.chunk.js +0 -1
  207. package/build/content-type-builder.af9abf1e.chunk.js +0 -126
  208. package/build/email-settings-page.4bdbef9a.chunk.js +0 -3
  209. package/build/en-json.697b4bcf.chunk.js +0 -1
  210. package/build/fr-json.f66c3211.chunk.js +0 -1
  211. package/build/i18n-settings-page.2bb5be96.chunk.js +0 -1
  212. package/build/main.af8c0f31.js +0 -3790
  213. package/build/review-workflows-settings.7a7dc773.chunk.js +0 -57
  214. package/build/ru-json.6a01cea6.chunk.js +0 -1
  215. package/build/sso-settings-page.272b87c8.chunk.js +0 -1
  216. package/build/transfer-tokens-create-page.a1f14bb1.chunk.js +0 -1
  217. package/build/transfer-tokens-edit-page.00ee1c74.chunk.js +0 -1
  218. package/build/transfer-tokens-list-page.ce37354b.chunk.js +0 -16
  219. package/build/upload-settings.0875e973.chunk.js +0 -1
  220. package/build/upload.c7da1611.chunk.js +0 -13
  221. package/build/users-advanced-settings-page.1d3c14c7.chunk.js +0 -1
  222. package/build/users-email-settings-page.e8db68c4.chunk.js +0 -1
  223. package/build/users-providers-settings-page.14cac425.chunk.js +0 -1
  224. package/build/users-roles-settings-page.2ea4de84.chunk.js +0 -30
  225. package/build/webhook-edit-page.329141a5.chunk.js +0 -23
  226. package/build/webhook-list-page.029957a4.chunk.js +0 -1
  227. package/ee/server/migrations/review-workflows.js +0 -39
  228. package/ee/server/utils/test.js +0 -11
  229. /package/admin/src/{content-manager/components/InputUID/useDebounce.js → hooks/useDebounce/index.js} +0 -0
@@ -0,0 +1,280 @@
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2544],{92034:function(w,F,a){"use strict";a.r(F),a.d(F,{CreatePage:function(){return Ce},default:function(){return Oe}});var e=a(32735),C=a(14723),r=a(43383),x=a(27649),k=a(82055),R=a(87933),v=a(41415),S=a(17e3),P=a(72850),M=a(49372),A=a(15335),I=a(5803),y=a(10369),u=a(10508),N=a(29439),Q=a(92802),z=a(33795),fe=a.n(z),T=a(86834),X=a.n(T),me=a(67879),f=a(53038),q=a(8471),Y=a(7247),ee=a(67927),ie=a(83983),le=a(24346),ye=le.Ry().shape({name:le.Z_().required(r.I0.required),description:le.Z_().required(r.I0.required)});const de=q.ZP.div`
2
+ border: 1px solid ${({theme:G})=>G.colors.primary200};
3
+ background: ${({theme:G})=>G.colors.primary100};
4
+ padding: ${({theme:G})=>`${G.spaces[2]} ${G.spaces[4]}`};
5
+ color: ${({theme:G})=>G.colors.primary600};
6
+ border-radius: ${({theme:G})=>G.borderRadius};
7
+ font-size: ${12/16}rem;
8
+ font-weight: bold;
9
+ `,Ce=()=>{const G=(0,r.lm)(),{lockApp:re,unlockApp:D}=(0,r.o1)(),{formatMessage:j}=(0,me.Z)(),[_,se]=(0,e.useState)(!1),{replace:ce}=(0,f.k6)(),te=(0,e.useRef)(),{trackUsage:ue}=(0,r.rS)(),Ie=(0,f.$B)("/settings/roles/duplicate/:id"),Re=fe()(Ie,"params.id",null),{isLoading:Ze,data:he}=(0,ee.U_)(),{permissions:$e,isLoading:Me}=(0,ee.Dq)(Re),{post:Be,put:De}=(0,r.kY)(),Ve=ae=>{re(),se(!0),ue(Re?"willDuplicateRole":"willCreateNewRole"),Promise.resolve(Be("/admin/roles",ae)).then(async({data:V})=>{const{permissionsToSend:K}=te.current.getPermissions();return ue(Re?"didDuplicateRole":"didCreateNewRole"),V.data.id&&!X()(K)&&await De(`/admin/roles/${V.data.id}/permissions`,{permissions:K}),V}).then(V=>{se(!1),G({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),ce(`/settings/roles/${V.data.id}`)}).catch(V=>{console.error(V),se(!1),G({type:"warning",message:{id:"notification.error"}})}).finally(()=>{D()})},je=`${j({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,C.Z)(new Date,"PPP")}`;return e.createElement(x.o,null,e.createElement(r.SL,{name:"Roles"}),e.createElement(Q.J9,{initialValues:{name:"",description:je},onSubmit:Ve,validationSchema:ye,validateOnChange:!1},({handleSubmit:ae,values:V,errors:K,handleReset:ve,handleChange:Ee})=>e.createElement(r.l0,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(k.T,{primaryAction:e.createElement(R.k,{gap:2},e.createElement(v.z,{variant:"secondary",onClick:()=>{ve(),te.current.resetForm()},size:"L"},j({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(v.z,{onClick:ae,loading:_,size:"L"},j({id:"global.save",defaultMessage:"Save"}))),title:j({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:j({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(r.rU,{startIcon:e.createElement(N.Z,null),to:"/settings/roles"},j({id:"global.back",defaultMessage:"Back"}))}),e.createElement(S.D,null,e.createElement(R.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(P.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(R.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(R.k,{justifyContent:"space-between"},e.createElement(P.x,null,e.createElement(P.x,null,e.createElement(M.Z,{fontWeight:"bold"},j({id:"global.details",defaultMessage:"Details"}))),e.createElement(P.x,null,e.createElement(M.Z,{variant:"pi",textColor:"neutral600"},j({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(de,null,j({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:0}))),e.createElement(A.r,{gap:4},e.createElement(I.P,{col:6},e.createElement(y.o,{name:"name",error:K.name&&j({id:K.name}),label:j({id:"global.name",defaultMessage:"Name"}),onChange:Ee,value:V.name})),e.createElement(I.P,{col:6},e.createElement(u.g,{label:j({id:"global.description",defaultMessage:"Description"}),name:"description",error:K.description&&j({id:K.description}),onChange:Ee},V.description))))),!Ze&&!Me?e.createElement(P.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(Y.Z,{isFormDisabled:!1,ref:te,permissions:$e,layout:he})):e.createElement(P.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(r.dO,null))))))))};function Oe(){return e.createElement(r.O4,{permissions:ie.Z.settings.roles.create},e.createElement(Ce,null))}},7247:function(w,F,a){"use strict";a.d(F,{Z:function(){return _n}});var e=a(32735),C=a(60216),r=a.n(C),x=a(43383),k=a(91215),R=a(39291),v=a(3653),S=a(23973),P=a.n(S),M=a(86834),A=a.n(M),I=a(67879),y=a(72850),u=a(8471),N=a(98978),Q=a.n(N),z=a(15974),fe=a(96441),T=a(87933),X=a(44426),me=a(33795),f=a.n(me),q=a(9086),Y=a.n(q),ee=a(67927),ie=a(45112),le=a(41415);const Se=u.ZP.div`
10
+ position: relative;
11
+
12
+ ${({hasConditions:t,disabled:n,theme:o})=>t&&`
13
+ &:before {
14
+ content: '';
15
+ position: absolute;
16
+ top: -3px;
17
+ left: -10px;
18
+ width: 6px;
19
+ height: 6px;
20
+ border-radius: ${20/16}rem;;
21
+ background: ${n?o.colors.neutral100:o.colors.primary600};
22
+ }
23
+ `}
24
+ `,ye=({onClick:t,className:n,hasConditions:o,variant:s})=>{const{formatMessage:i}=(0,I.Z)();return e.createElement(Se,{hasConditions:o,className:n},e.createElement(le.z,{variant:s,startIcon:e.createElement(ie.Z,null),onClick:t},i({id:"global.settings",defaultMessage:"Settings"})))};ye.defaultProps={className:null,hasConditions:!1,variant:"tertiary"},ye.propTypes={onClick:r().func.isRequired,className:r().string,hasConditions:r().bool,variant:r().string};var de=(0,u.ZP)(ye)``,Ce=a(85025),Oe=a(55225),G=a(11299),re=a(31600),D=a(49372),j=a(11406),_=a(97889),se=a(81346),ce=a.n(se),te=a(23940),ue=a.n(te),Ie=a(47328);const Re=t=>Object.values(t).map(n=>Object.entries(n).filter(([,o])=>o).map(([o])=>o)).flat(),Ze=t=>t.reduce((n,[o,s])=>(n.push({label:ue()(o),children:s.map(i=>({label:i.displayName,value:i.id}))}),n),[]),he=(t,n)=>t.map(([,o])=>o).flat().reduce((o,s)=>({[s.id]:n.includes(s.id),...o}),{}),$e=({arrayOfOptionsGroupedByCategory:t,isFormDisabled:n,isGrey:o,label:s,name:i,onChange:l,value:d})=>{const{formatMessage:c}=(0,I.Z)(),p=m=>{l(i,he(t,m))};return e.createElement(T.k,{as:"li",background:o?"neutral100":"neutral0",paddingBottom:3,paddingTop:3},e.createElement(T.k,{paddingLeft:6,style:{width:180}},e.createElement(D.Z,{variant:"sigma",textColor:"neutral600"},c({id:"Settings.permissions.conditions.can",defaultMessage:"Can"}),"\xA0"),e.createElement(D.Z,{variant:"sigma",title:s,textColor:"primary600",ellipsis:!0},c({id:`Settings.roles.form.permissions.${s.toLowerCase()}`,defaultMessage:s})),e.createElement(D.Z,{variant:"sigma",textColor:"neutral600"},"\xA0",c({id:"Settings.permissions.conditions.when",defaultMessage:"When"}))),e.createElement(y.x,{style:{maxWidth:430,width:"100%"}},e.createElement(Ie.Q,{id:i,customizeContent:m=>`${m.length} currently selected`,onChange:p,value:Re(d),options:Ze(t),disabled:n})))};$e.propTypes={arrayOfOptionsGroupedByCategory:r().array.isRequired,isFormDisabled:r().bool.isRequired,isGrey:r().bool.isRequired,label:r().string.isRequired,name:r().string.isRequired,value:r().object.isRequired,onChange:r().func.isRequired};var Me=$e;const Be=(t,n)=>t.reduce((o,s)=>(o[s.id]=f()(n,s.id,!1),o),{}),De=(t,n)=>t.reduce((o,s)=>{const[i,l]=s,d=Be(l,n);return o[i]=d,o},{});var je=(t,n,o)=>t.reduce((s,i)=>{const l=f()(n,[...i.pathToConditionsObject,"conditions"],{}),d=De(o,l);return s[i.pathToConditionsObject.join("..")]=d,s},{});const ae=({actions:t,headerBreadCrumbs:n,isFormDisabled:o,onClosed:s,onToggle:i})=>{const{formatMessage:l}=(0,I.Z)(),{availableConditions:d,modifiedData:c,onChangeConditions:p}=(0,ee.$_)(),m=(0,e.useMemo)(()=>Object.entries(ce()(d,"category")),[d]),g=t.filter(({isDisplayed:h,hasSomeActionsSelected:Z,hasAllActionsSelected:L})=>h&&(Z||L)),E=(0,e.useMemo)(()=>je(g,c,m),[g,c,m]),[O,W]=(0,e.useState)(E),$=(h,Z)=>{W((0,_.ZP)(L=>{L[h]||(L[h]={}),L[h].default||(L[h].default={}),L[h].default=Z}))},b=()=>{const h=Object.entries(O).reduce((Z,L)=>{const[B,ne]=L,U=Object.values(ne).reduce((J,H)=>({...J,...H}),{});return Z[B]=U,Z},{});p(h),i()};return e.createElement(Ce.P,{labelledBy:"condition-modal-breadcrumbs",onClose:s},e.createElement(Oe.x,null,e.createElement(G.O,{id:"condition-modal-breadcrumbs",label:n.join(", ")},n.map(h=>e.createElement(G.$,{key:h},ue()(l({id:h,defaultMessage:h})))))),e.createElement(re.f,null,g.length===0&&e.createElement(D.Z,null,l({id:"Settings.permissions.conditions.no-actions",defaultMessage:"You first need to select actions (create, read, update, ...) before defining conditions on them."})),e.createElement("ul",null,g.map(({actionId:h,label:Z,pathToConditionsObject:L},B)=>{const ne=L.join("..");return e.createElement(Me,{key:h,arrayOfOptionsGroupedByCategory:m,label:Z,isFormDisabled:o,isGrey:B%2===0,name:ne,onChange:$,value:f()(O,ne,{})})}))),e.createElement(j.m,{startActions:e.createElement(le.z,{variant:"tertiary",onClick:i},l({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(le.z,{onClick:b},l({id:"Settings.permissions.conditions.apply",defaultMessage:"Apply"}))}))};ae.propTypes={actions:r().arrayOf(r().shape({actionId:r().string.isRequired,checkboxName:r().string,hasSomeActionsSelected:r().bool.isRequired,hasAllActionsSelected:r().bool,isDisplayed:r().bool.isRequired,label:r().string})).isRequired,headerBreadCrumbs:r().arrayOf(r().string).isRequired,isFormDisabled:r().bool.isRequired,onClosed:r().func.isRequired,onToggle:r().func.isRequired};var V=ae;const K=`${120/16}rem`,ve=`${200/16}rem`,Ee=`${53/16}rem`;var Ge=u.ZP.div`
25
+ width: ${K};
26
+ `,st=(0,u.ZP)(T.k)`
27
+ padding-right: ${({theme:t})=>t.spaces[2]};
28
+ overflow: hidden;
29
+ flex: 1;
30
+ ${({isCollapsable:t})=>t&&"cursor: pointer;"}
31
+ `;const Ke=({children:t,isCollapsable:n,isActive:o,isFormDisabled:s,label:i,onChange:l,onClick:d,checkboxName:c,someChecked:p,value:m})=>{const{formatMessage:g}=(0,I.Z)();return e.createElement(T.k,{alignItems:"center",paddingLeft:6,style:{width:ve,flexShrink:0}},e.createElement(y.x,{paddingRight:2},e.createElement(X.C,{name:c,"aria-label":g({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:i}),disabled:s,onValueChange:E=>l({target:{name:c,value:E}}),indeterminate:p,value:m})),e.createElement(st,{title:i,alignItems:"center",isCollapsable:n,...n&&{onClick:d,"aria-expanded":o,onKeyDown:({key:E})=>(E==="Enter"||E===" ")&&d(),tabIndex:0,role:"button"}},e.createElement(D.Z,{fontWeight:o?"bold":"",textColor:o?"primary600":"neutral800",ellipsis:!0},ue()(i)),t))};Ke.defaultProps={children:null,checkboxName:"",onChange(){},value:!1,someChecked:!1,isCollapsable:!1},Ke.propTypes={checkboxName:r().string,children:r().node,label:r().string.isRequired,isCollapsable:r().bool,isFormDisabled:r().bool.isRequired,onChange:r().func,onClick:r().func.isRequired,someChecked:r().bool,value:r().bool,isActive:r().bool.isRequired};var ot=(0,e.memo)(Ke),Bt=a(72091),Ft=a.n(Bt),Nt=a(85973),xe=a.n(Nt);const rt=t=>xe()(t)?Ft()(Object.values(t).map(n=>xe()(n)?rt(n):n)):[];var Le=rt,Ue=t=>t?Object.keys(t).reduce((n,o)=>(o!=="conditions"&&(n[o]=t[o]),n),{}):null,Pe=t=>{const n=Ue(t),o=Le(n);if(!o.length)return{hasAllActionsSelected:!1,hasSomeActionsSelected:!1};const s=o.every(l=>l),i=o.some(l=>l)&&!s;return{hasAllActionsSelected:s,hasSomeActionsSelected:i}},Wt=(t,n,o)=>t.map(({actionId:s,isDisplayed:i,applyToProperties:l,label:d})=>{if(!i)return{actionId:s,hasSomeActionsSelected:!1,isDisplayed:i};const c=[...o.split(".."),s],p=A()(l)?[...c,"properties","enabled"]:c,m=p.join(".."),g=f()(n,[...c,"conditions"],null),E=Le(g).some(b=>b);if(A()(l)){const b=f()(n,p,!1);return{actionId:s,checkboxName:m,hasAllActionsSelected:b,hasConditions:E,hasSomeActionsSelected:b,isDisplayed:i,isParentCheckbox:!1,label:d,pathToConditionsObject:c}}const O=f()(n,p,null),{hasAllActionsSelected:W,hasSomeActionsSelected:$}=Pe(O);return{actionId:s,checkboxName:m,hasAllActionsSelected:W,hasConditions:E,hasSomeActionsSelected:$,isDisplayed:i,isParentCheckbox:!0,label:d,pathToConditionsObject:c}}),Vt=a(16899),Fe=(0,u.ZP)(Vt.Z)`
32
+ display: none;
33
+ width: ${10/16}rem;
34
+ transform: rotate(${({$isActive:t})=>t?"180":"0"}deg);
35
+ margin-left: ${({theme:t})=>t.spaces[2]};
36
+ `,Ne=t=>`
37
+ ${D.Z} {
38
+ color: ${t.colors.primary600};
39
+ font-weight: ${t.fontWeights.bold}
40
+ }
41
+ ${Fe} {
42
+ display: block;
43
+ path {
44
+ fill: ${t.colors.primary600}
45
+ };
46
+ }
47
+ `;const ze=(t,n)=>`
48
+ ${at} {
49
+ background-color: ${t.colors.primary100};
50
+ color: ${t.colors.primary600};
51
+ border-radius: ${n?"2px 2px 0 0":"2px"};
52
+ }
53
+ ${lt} {
54
+ display: flex;
55
+ }
56
+ ${de} {
57
+ display: block;
58
+ }
59
+ &:hover {
60
+ ${Ne(t)}
61
+ }
62
+
63
+ &:focus-within {
64
+ ${({theme:o,isActive:s})=>ze(o,s)}
65
+ }
66
+
67
+ `,at=u.ZP.div`
68
+ flex: 1;
69
+ display: flex;
70
+ align-items: center;
71
+ height: ${Ee};
72
+ background-color: ${({isGrey:t,theme:n})=>t?n.colors.neutral100:n.colors.neutral0};
73
+ border: 1px solid transparent;
74
+ `,Ht=u.ZP.div`
75
+ display: inline-flex;
76
+ min-width: 100%;
77
+
78
+ ${de} {
79
+ display: none;
80
+ }
81
+ ${({isActive:t,theme:n})=>t&&ze(n,t)}
82
+ &:hover {
83
+ ${({theme:t,isActive:n})=>ze(t,n)}
84
+ }
85
+ `,it=(0,u.ZP)(T.k)`
86
+ width: ${K};
87
+ position: relative;
88
+ `,lt=(0,u.ZP)(y.x)`
89
+ display: none;
90
+ svg {
91
+ width: 11px;
92
+ }
93
+ * {
94
+ fill: ${({theme:t})=>t.colors.primary600};
95
+ }
96
+ `,dt=u.ZP.span`
97
+ position: absolute;
98
+ top: -6px;
99
+ left: 37px;
100
+ width: 6px;
101
+ height: 6px;
102
+ border-radius: 20px;
103
+ background: ${({theme:t})=>t.colors.primary600};
104
+ `,Gt=(0,u.ZP)(y.x)`
105
+ position: absolute;
106
+ right: 9px;
107
+ transform: translateY(10px);
108
+ `,ct=({availableActions:t,isActive:n,isGrey:o,isFormDisabled:s,label:i,onClickToggle:l,pathToData:d})=>{const[c,p]=(0,e.useState)(!1),{formatMessage:m}=(0,I.Z)(),{modifiedData:g,onChangeParentCheckbox:E,onChangeSimpleCheckbox:O}=(0,ee.$_)(),W=()=>{p(U=>!U)},$=()=>{p(!1)},b=f()(g,d.split(".."),{}),h=(0,e.useMemo)(()=>Object.keys(b).reduce((U,J)=>(U[J]=Y()(b[J],"conditions"),U),{}),[b]),{hasAllActionsSelected:Z,hasSomeActionsSelected:L}=Pe(h),B=(0,e.useMemo)(()=>Wt(t,g,d),[t,g,d]),ne=B.some(({hasConditions:U})=>U);return e.createElement(Ht,{isActive:n},e.createElement(at,{isGrey:o},e.createElement(ot,{isCollapsable:!0,isFormDisabled:s,label:i,checkboxName:d,onChange:E,onClick:l,someChecked:L,value:Z,isActive:n},e.createElement(lt,{paddingLeft:2},n?e.createElement(z.Z,null):e.createElement(fe.Z,null))),e.createElement(T.k,{style:{flex:1}},B.map(({actionId:U,hasConditions:J,hasAllActionsSelected:H,hasSomeActionsSelected:ge,isDisplayed:ke,isParentCheckbox:oe,checkboxName:be,label:We})=>ke?oe?e.createElement(it,{key:U,justifyContent:"center",alignItems:"center"},J&&e.createElement(dt,null),e.createElement(X.C,{disabled:s,name:be,"aria-label":m({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${We} ${i}`}),onValueChange:Ae=>{E({target:{name:be,value:Ae}})},indeterminate:ge,value:H})):e.createElement(it,{key:U,justifyContent:"center",alignItems:"center"},J&&e.createElement(dt,null),e.createElement(X.C,{disabled:s,indeterminate:J,name:be,onValueChange:Ae=>{O({target:{name:be,value:Ae}})},value:H})):e.createElement(Ge,{key:U}))),c&&e.createElement(V,{headerBreadCrumbs:[i,"Settings.permissions.conditions.conditions"],actions:B,isFormDisabled:s,onClosed:$,onToggle:W})),e.createElement(Gt,null,e.createElement(de,{onClick:W,hasConditions:ne})))};ct.propTypes={availableActions:r().array.isRequired,isActive:r().bool.isRequired,isGrey:r().bool.isRequired,isFormDisabled:r().bool.isRequired,label:r().string.isRequired,onClickToggle:r().func.isRequired,pathToData:r().string.isRequired};var Kt=ct,Ut=(t,n)=>t.map(o=>{const s=Array.isArray(o.applyToProperties)&&o.applyToProperties.indexOf(n)!==-1&&o.isDisplayed;return{label:o.label,actionId:o.actionId,isActionRelatedToCurrentProperty:s}});const ut=(0,u.ZP)(T.k)`
109
+ width: ${K};
110
+ flex-shrink: 0;
111
+ `,zt=(0,u.ZP)(T.k)`
112
+ width: ${ve};
113
+ height: ${Ee};
114
+ flex-shrink: 0;
115
+ `,mt=({headers:t,label:n})=>{const{formatMessage:o}=(0,I.Z)(),s=o({id:"Settings.roles.form.permission.property-label",defaultMessage:"{label} permissions"},{label:n});return e.createElement(T.k,null,e.createElement(zt,{alignItems:"center",paddingLeft:6},e.createElement(D.Z,{variant:"sigma",textColor:"neutral500"},s)),t.map(i=>i.isActionRelatedToCurrentProperty?e.createElement(ut,{justifyContent:"center",key:i.label},e.createElement(D.Z,{variant:"sigma",textColor:"neutral500"},o({id:`Settings.roles.form.permissions.${i.label.toLowerCase()}`,defaultMessage:i.label}))):e.createElement(ut,{key:i.label})))};mt.propTypes={headers:r().arrayOf(r().shape({label:r().string.isRequired,isActionRelatedToCurrentProperty:r().bool.isRequired})).isRequired,label:r().string.isRequired};var Xt=mt;const Yt=u.ZP.span`
116
+ color: ${({theme:t})=>t.colors.danger700};
117
+ padding-left: ${({theme:t})=>t.spaces[1]}px;
118
+ `;var pt=()=>e.createElement(Yt,null,"*"),wt=(t,n)=>t.map(o=>{const s=Array.isArray(o.subjects)&&o.subjects.indexOf(n)!==-1;return{...o,isDisplayed:s}});const Jt=(0,u.ZP)(y.x)`
119
+ transform: translate(-4px, -12px);
120
+
121
+ &:before {
122
+ content: '';
123
+ width: ${4/16}rem;
124
+ height: ${12/16}rem;
125
+ background: ${({theme:t})=>t.colors.primary200};
126
+ display: block;
127
+ }
128
+ `,Qt=u.ZP.svg`
129
+ position: relative;
130
+ flex-shrink: 0;
131
+ transform: translate(-0.5px, -1px);
132
+
133
+ * {
134
+ fill: ${({theme:t,color:n})=>t.colors[n]};
135
+ }
136
+ `,Xe=t=>e.createElement(Jt,null,e.createElement(Qt,{width:"20",height:"23",viewBox:"0 0 20 23",fill:"none",xmlns:"http://www.w3.org/2000/svg",...t},e.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.02477 14.7513C8.65865 17.0594 11.6046 18.6059 17.5596 18.8856C18.6836 18.9384 19.5976 19.8435 19.5976 20.9688V20.9688C19.5976 22.0941 18.6841 23.0125 17.5599 22.9643C10.9409 22.6805 6.454 20.9387 3.75496 17.1258C0.937988 13.1464 0.486328 7.39309 0.486328 0.593262H4.50974C4.50974 7.54693 5.06394 11.9813 7.02477 14.7513Z",fill:"#D9D8FF"})));Xe.defaultProps={fill:"primary200"},Xe.propTypes={fill:r().string};var qt=(0,e.memo)(Xe);const gt=(0,u.ZP)(T.k)`
137
+ width: ${K};
138
+ position: relative;
139
+ `,_t=(0,u.ZP)(T.k)`
140
+ height: ${Ee};
141
+ `,en=(0,u.ZP)(y.x)`
142
+ padding-left: ${31/16}rem;
143
+ `,tn=(0,u.ZP)(y.x)`
144
+ border-left: ${({isVisible:t,theme:n})=>t?`4px solid ${n.colors.primary200}`:"4px solid transparent"};
145
+ `,nn=(0,u.ZP)(T.k)`
146
+ padding-left: ${({theme:t})=>t.spaces[4]};
147
+ width: ${({level:t})=>145-t*36}px;
148
+
149
+ ${({isCollapsable:t,theme:n})=>t&&`
150
+ ${Fe} {
151
+ display: block;
152
+ color: ${n.colors.neutral100};
153
+ }
154
+ &:hover {
155
+ ${Ne(n)}
156
+ }
157
+ `}
158
+ ${({isActive:t,theme:n})=>t&&Ne(n)};
159
+ `,sn=u.ZP.div`
160
+ padding-top: ${({theme:t})=>t.spaces[2]};
161
+ margin-top: ${({theme:t})=>t.spaces[2]};
162
+ width: ${4/16}rem;
163
+ background-color: ${({theme:t})=>t.colors.primary200};
164
+ border-top-left-radius: 2px;
165
+ border-top-right-radius: 2px;
166
+ `,Ye=({childrenForm:t,isFormDisabled:n,recursiveLevel:o,pathToDataFromActionRow:s,propertyActions:i,parentName:l,propertyName:d})=>{const{formatMessage:c}=(0,I.Z)(),{modifiedData:p,onChangeParentCheckbox:m,onChangeSimpleCheckbox:g}=(0,ee.$_)(),[E,O]=(0,e.useState)(null),W=b=>{O(h=>h===b?null:b)},$=(0,e.useMemo)(()=>E?t.find(({value:b})=>b===E):null,[E,t]);return e.createElement(en,null,e.createElement(sn,null),t.map(({label:b,value:h,required:Z,children:L},B)=>{const ne=B+1<t.length,U=Array.isArray(L),J=E===h;return e.createElement(tn,{key:h,isVisible:ne},e.createElement(_t,null,e.createElement(qt,{color:"primary200"}),e.createElement(T.k,{style:{flex:1}},e.createElement(nn,{level:o,isActive:J,isCollapsable:U},e.createElement(st,{alignItems:"center",isCollapsable:U,...U&&{onClick:()=>W(h),"aria-expanded":J,onKeyDown:({key:H})=>(H==="Enter"||H===" ")&&W(h),tabIndex:0,role:"button"},title:b},e.createElement(D.Z,{ellipsis:!0},ue()(b)),Z&&e.createElement(pt,null),e.createElement(Fe,{$isActive:J}))),e.createElement(T.k,{style:{flex:1}},i.map(({actionId:H,label:ge,isActionRelatedToCurrentProperty:ke})=>{if(!ke)return e.createElement(Ge,{key:H});const oe=[...s.split(".."),H,"properties",d,...l.split(".."),h],be=f()(p,oe,!1);if(!L)return e.createElement(gt,{key:ge,justifyContent:"center",alignItems:"center"},e.createElement(X.C,{disabled:n,name:oe.join(".."),"aria-label":c({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${l} ${b} ${ge}`}),onValueChange:Te=>{g({target:{name:oe.join(".."),value:Te}})},value:be}));const{hasAllActionsSelected:We,hasSomeActionsSelected:Ae}=Pe(be);return e.createElement(gt,{key:ge,justifyContent:"center",alignItems:"center"},e.createElement(X.C,{key:ge,disabled:n,name:oe.join(".."),"aria-label":c({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${l} ${b} ${ge}`}),onValueChange:Te=>{m({target:{name:oe.join(".."),value:Te}})},value:We,indeterminate:Ae}))})))),$&&J&&e.createElement(y.x,{paddingBottom:2},e.createElement(Ye,{isFormDisabled:n,parentName:`${l}..${h}`,pathToDataFromActionRow:s,propertyActions:i,propertyName:d,recursiveLevel:o+1,childrenForm:$.children})))}))};Ye.propTypes={childrenForm:r().array.isRequired,isFormDisabled:r().bool.isRequired,parentName:r().string.isRequired,pathToDataFromActionRow:r().string.isRequired,propertyActions:r().array.isRequired,propertyName:r().string.isRequired,recursiveLevel:r().number.isRequired};var on=(0,e.memo)(Ye);const rn=t=>t.reduce((o,s)=>(s.isActionRelatedToCurrentProperty&&o.push(s.actionId),o),[]);var an=(t,n,o,s,i)=>{const d=rn(t).reduce((c,p)=>{const m=[...o.split(".."),p,"properties",s,i],g=f()(n,m,!1);return c[p]=g,c},{});return Pe(d)};const ft=(0,u.ZP)(T.k)`
167
+ width: ${K};
168
+ position: relative;
169
+ `,ln=(0,u.ZP)(T.k)`
170
+ height: ${Ee};
171
+ flex: 1;
172
+
173
+ ${({isCollapsable:t,theme:n})=>t&&`
174
+ ${Fe} {
175
+ display: block;
176
+ color: ${n.colors.neutral100};
177
+ }
178
+ &:hover {
179
+ ${Ne(n)}
180
+ }
181
+ `}
182
+ ${({isActive:t,theme:n})=>t&&Ne(n)};
183
+ `,we=({childrenForm:t,label:n,isFormDisabled:o,name:s,required:i,pathToData:l,propertyActions:d,propertyName:c,isOdd:p})=>{const{formatMessage:m}=(0,I.Z)(),[g,E]=(0,e.useState)(null),{modifiedData:O,onChangeCollectionTypeLeftActionRowCheckbox:W,onChangeParentCheckbox:$,onChangeSimpleCheckbox:b}=(0,ee.$_)(),h=g===s,Z=(0,e.useMemo)(()=>Array.isArray(t)?t:[],[t]),L=Z.length>0,B=(0,e.useCallback)(()=>{L&&E(H=>H===s?null:s)},[L,s]),ne=({target:{value:H}})=>{W(l,c,s,H)},{hasAllActionsSelected:U,hasSomeActionsSelected:J}=(0,e.useMemo)(()=>an(d,O,l,c,s),[d,O,l,c,s]);return e.createElement(e.Fragment,null,e.createElement(ln,{alignItems:"center",isCollapsable:L,isActive:h,background:p?"neutral100":"neutral0"},e.createElement(T.k,null,e.createElement(ot,{onChange:ne,onClick:B,isCollapsable:L,isFormDisabled:o,label:n,someChecked:J,value:U,isActive:h},i&&e.createElement(pt,null),e.createElement(Fe,{$isActive:h})),e.createElement(T.k,null,d.map(({label:H,isActionRelatedToCurrentProperty:ge,actionId:ke})=>{if(!ge)return e.createElement(Ge,{key:H});const oe=[...l.split(".."),ke,"properties",c,s];if(!L){const Te=f()(O,oe,!1);return e.createElement(ft,{key:ke,justifyContent:"center",alignItems:"center"},e.createElement(X.C,{disabled:o,name:oe.join(".."),"aria-label":m({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${s} ${H}`}),onValueChange:es=>{b({target:{name:oe.join(".."),value:es}})},value:Te}))}const be=f()(O,oe,{}),{hasAllActionsSelected:We,hasSomeActionsSelected:Ae}=Pe(be);return e.createElement(ft,{key:H,justifyContent:"center",alignItems:"center"},e.createElement(X.C,{disabled:o,name:oe.join(".."),onValueChange:Te=>{$({target:{name:oe.join(".."),value:Te}})},"aria-label":m({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${s} ${H}`}),value:We,indeterminate:Ae}))})))),h&&e.createElement(on,{childrenForm:Z,isFormDisabled:o,parentName:s,pathToDataFromActionRow:l,propertyName:c,propertyActions:d,recursiveLevel:0}))};we.defaultProps={childrenForm:[],required:!1},we.propTypes={childrenForm:r().array,label:r().string.isRequired,isFormDisabled:r().bool.isRequired,name:r().string.isRequired,pathToData:r().string.isRequired,propertyActions:r().array.isRequired,propertyName:r().string.isRequired,required:r().bool,isOdd:r().bool.isRequired};var dn=(0,e.memo)(we);const cn=u.ZP.div`
184
+ display: inline-flex;
185
+ flex-direction: column;
186
+ min-width: 0;
187
+ `,ht=({availableActions:t,childrenForm:n,isFormDisabled:o,label:s,pathToData:i,propertyName:l})=>{const d=(0,e.useMemo)(()=>Ut(t,l),[t,l]);return e.createElement(cn,null,e.createElement(Xt,{label:s,headers:d}),e.createElement(y.x,null,n.map(({children:c,label:p,value:m,required:g},E)=>e.createElement(dn,{childrenForm:c,key:m,label:p,isFormDisabled:o,name:m,required:g,propertyActions:d,pathToData:i,propertyName:l,isOdd:E%2===0}))))};ht.propTypes={childrenForm:r().array.isRequired,availableActions:r().array.isRequired,isFormDisabled:r().bool.isRequired,label:r().string.isRequired,pathToData:r().string.isRequired,propertyName:r().string.isRequired};var un=ht;const mn=u.ZP.div`
188
+ flex-direction: column;
189
+ display: inline-flex;
190
+ min-width: 100%;
191
+ ${({theme:t,isActive:n})=>n&&`border: 1px solid ${t.colors.primary600};`}
192
+ `,yt=({allActions:t,contentTypeName:n,label:o,index:s,isActive:i,isFormDisabled:l,onClickToggleCollapse:d,pathToData:c,properties:p})=>{const m=(0,e.useCallback)(()=>{d(n)},[n,d]),g=(0,e.useMemo)(()=>wt(t,n),[t,n]);return e.createElement(mn,{isActive:i},e.createElement(Kt,{availableActions:g,isActive:i,isGrey:s%2===0,isFormDisabled:l,label:o,onClickToggle:m,pathToData:c}),i&&p.map(({label:E,value:O,children:W})=>e.createElement(un,{availableActions:g,childrenForm:W,isFormDisabled:l,label:E,pathToData:c,propertyName:O,key:O})))};yt.propTypes={allActions:r().array.isRequired,contentTypeName:r().string.isRequired,index:r().number.isRequired,isActive:r().bool.isRequired,isFormDisabled:r().bool.isRequired,label:r().string.isRequired,onClickToggleCollapse:r().func.isRequired,pathToData:r().string.isRequired,properties:r().array.isRequired};var pn=yt;const Je=({actions:t,isFormDisabled:n,pathToData:o,subjects:s})=>{const[i,l]=(0,e.useState)(null),d=c=>{l(i===c?null:c)};return s.map(({uid:c,label:p,properties:m},g)=>e.createElement(pn,{allActions:t,key:c,contentTypeName:c,label:p,isActive:i===c,isFormDisabled:n,index:g,onClickToggleCollapse:d,pathToData:`${o}..${c}`,properties:m}))};Je.defaultProps={actions:[],subjects:[]},Je.propTypes={actions:r().array.isRequired,isFormDisabled:r().bool.isRequired,pathToData:r().string.isRequired,subjects:r().arrayOf(r().shape({uid:r().string.isRequired,label:r().string.isRequired,properties:r().array.isRequired}))};var gn=(0,e.memo)(Je),fn=t=>t.filter(({subjects:n})=>n&&n.length);const hn=t=>t.map(({actionId:n})=>n),yn=(t,n)=>t.reduce((o,s)=>(Object.keys(n).forEach(i=>{const l=f()(n,[i,s],{}),d={[i]:Ue(l)};o[s]?o[s]={...o[s],...d}:o[s]=d}),o),{});var Cn=(t,n)=>{const o=hn(t),s=yn(o,n);return Object.keys(s).reduce((l,d)=>(l[d]=Pe(s[d]),l),{})};const vn=(0,u.ZP)(T.k)`
193
+ width: ${K};
194
+ flex-shrink: 0;
195
+ `,Qe=({actions:t,isFormDisabled:n,kind:o})=>{const{formatMessage:s}=(0,I.Z)(),{modifiedData:i,onChangeCollectionTypeGlobalActionCheckbox:l}=(0,ee.$_)(),d=(0,e.useMemo)(()=>fn(t),[t]),c=(0,e.useMemo)(()=>Cn(d,i[o]),[i,d,o]);return e.createElement(y.x,{paddingBottom:4,paddingTop:6,style:{paddingLeft:ve}},e.createElement(T.k,{gap:0},d.map(({label:p,actionId:m})=>e.createElement(vn,{direction:"column",alignItems:"center",justifyContent:"center",key:m,gap:3},e.createElement(D.Z,{variant:"sigma",textColor:"neutral500"},s({id:`Settings.roles.form.permissions.${p.toLowerCase()}`,defaultMessage:p})),e.createElement(X.C,{disabled:n,onValueChange:g=>{l(o,m,g)},name:m,"aria-label":s({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:s({id:`Settings.roles.form.permissions.${p.toLowerCase()}`,defaultMessage:p})}),value:f()(c,[m,"hasAllActionsSelected"],!1),indeterminate:f()(c,[m,"hasSomeActionsSelected"],!1)})))))};Qe.defaultProps={actions:[]},Qe.propTypes={actions:r().arrayOf(r().shape({label:r().string.isRequired,actionId:r().string.isRequired,subjects:r().array.isRequired})),isFormDisabled:r().bool.isRequired,kind:r().string.isRequired};var En=(0,e.memo)(Qe);const bn=(0,u.ZP)(y.x)`
196
+ overflow-x: auto;
197
+ `,Ct=({isFormDisabled:t,kind:n,layout:{actions:o,subjects:s}})=>{const i=Q()([...s],"label");return e.createElement(bn,{background:"neutral0"},e.createElement(En,{actions:o,kind:n,isFormDisabled:t}),e.createElement(gn,{actions:o,isFormDisabled:t,pathToData:n,subjects:i}))};Ct.propTypes={isFormDisabled:r().bool.isRequired,kind:r().string.isRequired,layout:r().shape({actions:r().array,subjects:r().arrayOf(r().shape({uid:r().string.isRequired,label:r().string.isRequired,properties:r().array.isRequired}))}).isRequired};var vt=(0,e.memo)(Ct),xn=a(66694);const Et=({children:t,value:n})=>e.createElement(xn.$l.Provider,{value:n},t);Et.propTypes={children:r().node.isRequired,value:r().exact({availableConditions:r().array.isRequired,modifiedData:r().object.isRequired,onChangeCollectionTypeLeftActionRowCheckbox:r().func.isRequired,onChangeConditions:r().func.isRequired,onChangeSimpleCheckbox:r().func.isRequired,onChangeParentCheckbox:r().func.isRequired,onChangeCollectionTypeGlobalActionCheckbox:r().func.isRequired}).isRequired};var Rn=Et,Pn=a(83828),An=a(61762),Tn=a(89966),bt=a(8284),Sn=a(15335),On=a(5803),$n=(t,n,o)=>t.map(s=>{const i=[...o,s.action,"properties","enabled"],l=f()(n,i,!1),d=f()(n,[...o,s.action,"conditions"],{}),c=Le(d).some(p=>p);return{...s,isDisplayed:l,checkboxName:i.join(".."),hasSomeActionsSelected:l,value:l,hasConditions:c,label:s.displayName,actionId:s.action,pathToConditionsObject:[...o,s.action]}}),Mn=t=>{const n=Object.entries(t).reduce((s,i)=>{const[l,{conditions:d}]=i;return s[l]=d,s},{});return Le(n).some(s=>s)};const Dn=u.ZP.div`
198
+ flex: 1;
199
+ align-self: center;
200
+ border-top: 1px solid ${({theme:t})=>t.colors.neutral150};
201
+ `,jn=u.ZP.div`
202
+ position: relative;
203
+ word-break: keep-all;
204
+ ${({hasConditions:t,disabled:n,theme:o})=>t&&`
205
+ &:before {
206
+ content: '';
207
+ position: absolute;
208
+ top: ${-4/16}rem;
209
+ left: ${-8/16}rem;
210
+ width: ${6/16}rem;
211
+ height: ${6/16}rem;
212
+ border-radius: ${20/16}rem;
213
+ background: ${n?o.colors.neutral100:o.colors.primary600};
214
+ }
215
+ `}
216
+ `,xt=({categoryName:t,isFormDisabled:n,subCategoryName:o,actions:s,pathToData:i})=>{const[l,d]=(0,e.useState)(!1),{modifiedData:c,onChangeParentCheckbox:p,onChangeSimpleCheckbox:m}=(0,ee.$_)(),{formatMessage:g}=(0,I.Z)(),E=f()(c,i,{}),O=(0,e.useMemo)(()=>Object.keys(E).reduce((B,ne)=>(B[ne]=Ue(E[ne]),B),{}),[E]),{hasAllActionsSelected:W,hasSomeActionsSelected:$}=Pe(O),b=()=>{d(B=>!B)},h=()=>{d(!1)},Z=$n(s,c,i),L=Mn(f()(c,[...i],{}));return e.createElement(e.Fragment,null,e.createElement(y.x,null,e.createElement(T.k,{justifyContent:"space-between",alignItems:"center"},e.createElement(y.x,{paddingRight:4},e.createElement(D.Z,{variant:"sigma",textColor:"neutral600"},o)),e.createElement(Dn,null),e.createElement(y.x,{paddingLeft:4},e.createElement(bt.X,{name:i.join(".."),disabled:n,onValueChange:B=>{p({target:{name:i.join(".."),value:B}})},indeterminate:$,value:W},g({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(T.k,{paddingTop:6,paddingBottom:6},e.createElement(Sn.r,{gap:2,style:{flex:1}},Z.map(({checkboxName:B,value:ne,action:U,displayName:J,hasConditions:H})=>e.createElement(On.P,{col:3,key:U},e.createElement(jn,{disabled:n,hasConditions:H},e.createElement(bt.X,{name:B,disabled:n,onValueChange:ge=>{m({target:{name:B,value:ge}})},value:ne},J))))),e.createElement(de,{hasConditions:L,onClick:b}))),l&&e.createElement(V,{headerBreadCrumbs:[t,o],actions:Z,isFormDisabled:n,onClosed:h,onToggle:b}))};xt.propTypes={actions:r().array.isRequired,categoryName:r().string.isRequired,isFormDisabled:r().bool.isRequired,subCategoryName:r().string.isRequired,pathToData:r().array.isRequired};var Ln=xt;const qe=({childrenForm:t,kind:n,name:o,isOpen:s,isFormDisabled:i,isWhite:l,onOpenCategory:d,pathToData:c})=>{const{formatMessage:p}=(0,I.Z)(),m=()=>{d(o)},g=(0,e.useMemo)(()=>o.split("::").pop(),[o]);return e.createElement(Pn.U,{expanded:s,onToggle:m,id:`accordion-${o}`,variant:l?"primary":"secondary"},e.createElement(An.B,{title:ue()(g),description:`${p({id:"Settings.permissions.category"},{category:g})} ${n==="plugins"?"plugin":n}`}),e.createElement(Tn.v,null,e.createElement(y.x,{padding:6},t.map(({actions:E,subCategoryName:O,subCategoryId:W})=>e.createElement(Ln,{key:O,actions:E,categoryName:g,isFormDisabled:i,subCategoryName:O,pathToData:[...c,W]})))))};qe.defaultProps={},qe.propTypes={childrenForm:r().array.isRequired,isOpen:r().bool.isRequired,isFormDisabled:r().bool.isRequired,isWhite:r().bool.isRequired,kind:r().string.isRequired,name:r().string.isRequired,onOpenCategory:r().func.isRequired,pathToData:r().array.isRequired};var kn=qe;const Rt=({isFormDisabled:t,kind:n,layout:o})=>{const[s,i]=(0,e.useState)(null),l=d=>{i(d===s?null:d)};return e.createElement(y.x,{padding:6,background:"neutral0"},o.map(({category:d,categoryId:c,childrenForm:p},m)=>e.createElement(kn,{key:d,childrenForm:p,kind:n,isFormDisabled:t,isOpen:s===d,isWhite:m%2===1,name:d,onOpenCategory:l,pathToData:[n,c]})))};Rt.propTypes={isFormDisabled:r().bool.isRequired,kind:r().string.isRequired,layout:r().arrayOf(r().shape({category:r().string.isRequired,categoryId:r().string.isRequired,childrenForm:r().arrayOf(r().shape({actions:r().array.isRequired})).isRequired}).isRequired).isRequired};var Pt=Rt,In=a(86349),Zn=a.n(In),Bn=a(3040),pe=a.n(Bn),At=(t,n,o)=>t.find(s=>s.action===n&&s.subject===o);const Tt=(t,n=[])=>t.reduce((o,s)=>(o[s.id]=n.indexOf(s.id)!==-1,o),{}),St=({children:t},n,o="")=>t.reduce((s,i)=>{if(i.children)return{...s,[i.value]:St(i,n,`${o}${i.value}.`)};const l=n.indexOf(`${o}${i.value}`)!==-1;return s[i.value]=l,s},{}),Fn=(t,n,o)=>t.reduce((s,i)=>{const l=n.properties.find(({value:d})=>d===i);if(l){const d=f()(o,["properties",l.value],[]),c=St(l,d);s.properties[i]=c}return s},{properties:{}}),Nn=(t,n)=>n.reduce((o,s)=>{const i=t.find(({uid:l})=>l===s)||null;return i&&(o[s]=i),o},{});var Ot=({subjects:t},n,o,s=[])=>n.reduce((i,l)=>{const d=l.subjects,c=Nn(t,d);if(A()(c))return i;const p=Object.keys(c).reduce((m,g)=>{const{actionId:E,applyToProperties:O}=l,b=c[g].properties.map(({value:B})=>B).every(B=>(O||[]).indexOf(B)===-1),h=At(s,E,g),Z=Tt(o,f()(h,"conditions",[]));if(A()(O)||b)return pe()(m,[g,E],{properties:{enabled:h!==void 0},conditions:Z}),m;const L=Fn(O,c[g],h);return pe()(m,[g,E],{...L,conditions:Z}),m},{});return Zn()(i,p)},{});const Wn=(t,n,o)=>t.reduce((s,i)=>{const l=At(o,i.action,null);return s[i.action]={properties:{enabled:l!==void 0},conditions:Tt(n,l?.conditions??[])},s},{}),Vn=(t,n,o)=>t.reduce((s,i)=>(s[i.subCategoryId]=Wn(i.actions,n,o),s),{});var $t=(t,n,o=[])=>t.reduce((s,{categoryId:i,childrenForm:l})=>{const d=Vn(l,n,o);return s[i]=d,s},{});const Mt=t=>t.split(" ").join("-");var Dt=(t,n)=>Object.entries(ce()(t,n)).map(([o,s])=>({category:o,categoryId:Mt(o),childrenForm:Object.entries(ce()(s,"subCategory")).map(([i,l])=>({subCategoryName:i,subCategoryId:Mt(i),actions:l}))})),Hn=(t,n)=>{const{conditions:o,sections:{collectionTypes:s,singleTypes:i,plugins:l,settings:d}}=t,c={collectionTypes:s,singleTypes:i,plugins:Dt(l,"plugin"),settings:Dt(d,"category")},p={collectionTypes:Ot(s,s.actions||[],o,n),singleTypes:Ot(i,i.actions||[],o,n),plugins:$t(c.plugins,o,n),settings:$t(c.settings,o,n)};return{initialData:p,modifiedData:p,layouts:c}},Gn=a(99381),_e=a.n(Gn);const jt=t=>Object.keys(t).reduce((n,o)=>{const s=t[o];if(xe()(s)&&!P()(s,"conditions"))return{...n,[o]:jt(s)};if(xe()(s)&&P()(s,"conditions")&&!Le(Y()(s,"conditions")).some(l=>l)){const l=Object.keys(s.conditions).reduce((d,c)=>(d[c]=!1,d),{});return{...n,[o]:{...s,conditions:l}}}return n[o]=s,n},{});var et=jt;const Lt=(t,n)=>Object.keys(t).reduce((o,s)=>{const i=t[s];return s==="conditions"?(o[s]=i,o):xe()(i)?{...o,[s]:Lt(i,n)}:(o[s]=n,o)},{});var He=Lt;const Kn={initialData:{},modifiedData:{},layouts:{}};var Un=(t,n)=>(0,_.ZP)(t,o=>{switch(n.type){case"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX":{const{collectionTypeKind:s,actionId:i,value:l}=n,d=["modifiedData",s];Object.keys(f()(t,d)).forEach(c=>{const p=f()(t,[...d,c,i],void 0);if(p){let m=He(p,l);if(!l&&m.conditions){const g=He(m.conditions,!1);m={...m,conditions:g}}pe()(o,[...d,c,i],m)}});break}case"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX":{const{pathToCollectionType:s,propertyName:i,rowName:l,value:d}=n;let c=_e()(t.modifiedData);const p=s.split(".."),m=f()(c,p,{});Object.keys(m).forEach(g=>{if(P()(m[g],`properties.${i}`)){const E=f()(m,[g,"properties",i,l]),O=[...p,g,"properties",i,l];if(!xe()(E))pe()(c,O,d);else{const W=He(E,d);pe()(c,O,W)}}}),d||(c=et(c)),pe()(o,"modifiedData",c);break}case"ON_CHANGE_CONDITIONS":{Object.entries(n.conditions).forEach(s=>{const[i,l]=s;pe()(o,["modifiedData",...i.split(".."),"conditions"],l)});break}case"ON_CHANGE_SIMPLE_CHECKBOX":{let s=_e()(t.modifiedData);pe()(s,[...n.keys.split("..")],n.value),n.value||(s=et(s)),pe()(o,"modifiedData",s);break}case"ON_CHANGE_TOGGLE_PARENT_CHECKBOX":{const{keys:s,value:i}=n,l=[...s.split("..")];let d=_e()(t.modifiedData);const c=f()(d,l,{}),p=He(c,i);pe()(d,l,p),i||(d=et(d)),pe()(o,["modifiedData"],d);break}case"RESET_FORM":{o.modifiedData=t.initialData;break}case"SET_FORM_AFTER_SUBMIT":{o.initialData=t.modifiedData;break}default:return o}});const tt=t=>Object.entries(t).filter(([,n])=>n).map(([n])=>n),zn=t=>{const[n,{conditions:o}]=t;return{action:n,subject:null,conditions:tt(o),properties:{}}},Xn=t=>Object.values(t).reduce((n,o)=>{const s=Object.entries(o).reduce((i,l)=>{const[,{properties:{enabled:d}}]=l;if(!d)return i;const c=zn(l);return i.push(c),i},[]);return[...n,...s]},[]);var kt=t=>Object.values(t).reduce((n,o)=>{const s=Xn(o);return[...n,...s]},[]);const It=(t,n="")=>Object.entries(t).reduce((o,s)=>{const[i,l]=s;return xe()(l)?[...o,...It(l,`${n}${i}.`)]:(l&&!xe()(l)&&o.push(`${n}${i}`),o)},[]),Yn=(t,n,{conditions:o,properties:s})=>Object.entries(s).reduce((i,l)=>{const[d,c]=l;return i.properties[d]=It(c),i},{action:t,subject:n,conditions:tt(o),properties:{}}),wn=(t,n,{conditions:o})=>({action:t,subject:n,properties:{},conditions:tt(o)}),Jn=(t,n)=>Object.entries(n).reduce((s,i)=>{const[l,d]=i;if(!Le(d).some(m=>m))return s;if(!d?.properties?.enabled){const m=Yn(l,t,d);return[...s,m]}if(!d.properties.enabled)return s;const p=wn(l,t,d);return s.push(p),s},[]);var Zt=t=>Object.entries(t).reduce((o,s)=>{const[i,l]=s,d=Jn(i,l);return[...o,...d]},[]),Qn=t=>{const n=kt(t.plugins),o=kt(t.settings),s=Zt(t.collectionTypes),i=Zt(t.singleTypes);return[...n,...o,...s,...i]},qn=[{labelId:"app.components.LeftMenuLinkContainer.collectionTypes",defaultMessage:"Collection Types",id:"collectionTypes"},{labelId:"app.components.LeftMenuLinkContainer.singleTypes",id:"singleTypes",defaultMessage:"Single Types"},{labelId:"app.components.LeftMenuLinkContainer.plugins",defaultMessage:"Plugins",id:"plugins"},{labelId:"app.components.LeftMenuLinkContainer.settings",defaultMessage:"Settings",id:"settings"}];const nt=(0,e.forwardRef)(({layout:t,isFormDisabled:n,permissions:o},s)=>{const[{initialData:i,layouts:l,modifiedData:d},c]=(0,e.useReducer)(Un,Kn,()=>Hn(t,o)),{formatMessage:p}=(0,I.Z)();(0,e.useImperativeHandle)(s,()=>({getPermissions(){const $=(0,x.e5)(i.collectionTypes,d.collectionTypes),b=(0,x.e5)(i.singleTypes,d.singleTypes),h={...$,...b};let Z;return A()(h)?Z=!1:Z=Object.values(h).some(L=>Object.values(L).some(B=>P()(B,"conditions"))),{permissionsToSend:Qn(d),didUpdateConditions:Z}},resetForm(){c({type:"RESET_FORM"})},setFormAfterSubmit(){c({type:"SET_FORM_AFTER_SUBMIT"})}}));const m=($,b,h,Z)=>{c({type:"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",pathToCollectionType:$,propertyName:b,rowName:h,value:Z})},g=($,b,h)=>{c({type:"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",collectionTypeKind:$,actionId:b,value:h})},E=$=>{c({type:"ON_CHANGE_CONDITIONS",conditions:$})},O=(0,e.useCallback)(({target:{name:$,value:b}})=>{c({type:"ON_CHANGE_SIMPLE_CHECKBOX",keys:$,value:b})},[]),W=(0,e.useCallback)(({target:{name:$,value:b}})=>{c({type:"ON_CHANGE_TOGGLE_PARENT_CHECKBOX",keys:$,value:b})},[]);return e.createElement(Rn,{value:{availableConditions:t.conditions,modifiedData:d,onChangeConditions:E,onChangeSimpleCheckbox:O,onChangeParentCheckbox:W,onChangeCollectionTypeLeftActionRowCheckbox:m,onChangeCollectionTypeGlobalActionCheckbox:g}},e.createElement(k.v,{id:"tabs",label:p({id:"Settings.permissions.users.tabs.label",defaultMessage:"Tabs Permissions"})},e.createElement(R.m,null,qn.map($=>e.createElement(R.O,{key:$.id},p({id:$.labelId,defaultMessage:$.defaultMessage})))),e.createElement(v.n,{style:{position:"relative"}},e.createElement(v.x,null,e.createElement(vt,{layout:l.collectionTypes,kind:"collectionTypes",isFormDisabled:n})),e.createElement(v.x,null,e.createElement(vt,{layout:l.singleTypes,kind:"singleTypes",isFormDisabled:n})),e.createElement(v.x,null,e.createElement(Pt,{layout:l.plugins,kind:"plugins",isFormDisabled:n})),e.createElement(v.x,null,e.createElement(Pt,{layout:l.settings,kind:"settings",isFormDisabled:n})))))});nt.defaultProps={permissions:[],layout:{conditions:[],sections:{collectionTypes:{},singleTypes:{actions:[]},settings:[],plugins:[]}}},nt.propTypes={layout:r().object,isFormDisabled:r().bool.isRequired,permissions:r().array};var _n=(0,e.memo)(nt)},33778:function(w,F,a){"use strict";a.r(F),a.d(F,{default:function(){return G}});var e=a(32735),C=a(43383),r=a(53038),x=a(83983),k=a(27649),R=a(82055),v=a(87933),S=a(41415),P=a(17e3),M=a(72850),A=a(92802),I=a(29439),y=a(33795),u=a.n(y),N=a(67879),Q=a(7247),z=a(49372),fe=a(15335),T=a(5803),X=a(10369),me=a(10508),f=a(60216),q=a.n(f);const Y=({disabled:re,role:D,values:j,errors:_,onChange:se,onBlur:ce})=>{const{formatMessage:te}=(0,N.Z)();return e.createElement(M.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(v.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(v.k,{justifyContent:"space-between"},e.createElement(M.x,null,e.createElement(M.x,null,e.createElement(z.Z,{fontWeight:"bold"},D?D.name:te({id:"global.details",defaultMessage:"Details"}))),e.createElement(M.x,null,e.createElement(z.Z,{textColor:"neutral500",variant:"pi"},D?D.description:te({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(S.z,{disabled:!0,variant:"secondary"},te({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:D.usersCount}))),e.createElement(fe.r,{gap:4},e.createElement(T.P,{col:6},e.createElement(X.o,{disabled:re,name:"name",error:_.name&&te({id:_.name}),label:te({id:"global.name",defaultMessage:"Name"}),onChange:se,onBlur:ce,value:j.name||""})),e.createElement(T.P,{col:6},e.createElement(me.g,{disabled:re,label:te({id:"global.description",defaultMessage:"Description"}),name:"description",error:_.name&&te({id:_.name}),onChange:se,onBlur:ce},j.description||"")))))};Y.defaultProps={disabled:!1,role:null,values:{name:"",description:""}},Y.propTypes={disabled:q().bool,errors:q().object.isRequired,onBlur:q().func.isRequired,onChange:q().func.isRequired,role:q().object,values:q().object};var ee=Y,ie=a(67927),le=a(24346),ye=le.Ry().shape({name:le.Z_().required(C.I0.required)}),Ce=()=>{const re=(0,C.lm)(),{formatMessage:D}=(0,N.Z)(),{params:{id:j}}=(0,r.$B)("/settings/roles/:id"),[_,se]=(0,e.useState)(!1),ce=(0,e.useRef)(),{lockApp:te,unlockApp:ue}=(0,C.o1)(),{trackUsage:Ie}=(0,C.rS)(),{isLoading:Re,data:Ze}=(0,ie.U_)(j),{role:he,permissions:$e,isLoading:Me,onSubmitSucceeded:Be}=(0,ie.Dq)(j),{put:De}=(0,C.kY)(),Ve=async ae=>{try{te(),se(!0);const{permissionsToSend:V,didUpdateConditions:K}=ce.current.getPermissions();await De(`/admin/roles/${j}`,ae),he.code!=="strapi-super-admin"&&(await De(`/admin/roles/${j}/permissions`,{permissions:V}),K&&Ie("didUpdateConditions")),ce.current.setFormAfterSubmit(),Be({name:ae.name,description:ae.description}),re({type:"success",message:{id:"notification.success.saved"}})}catch(V){console.error(V.response);const K=u()(V,"response.payload.message","An error occured"),ve=u()(V,"response.payload.data.permissions[0]",K);re({type:"warning",message:ve})}finally{se(!1),ue()}},je=he.code==="strapi-super-admin";return e.createElement(k.o,null,e.createElement(C.SL,{name:"Roles"}),e.createElement(A.J9,{enableReinitialize:!0,initialValues:{name:he.name,description:he.description},onSubmit:Ve,validationSchema:ye,validateOnChange:!1},({handleSubmit:ae,values:V,errors:K,handleChange:ve,handleBlur:Ee})=>e.createElement("form",{onSubmit:ae},e.createElement(R.T,{primaryAction:e.createElement(v.k,{gap:2},e.createElement(S.z,{disabled:he.code==="strapi-super-admin",onClick:ae,loading:_,size:"L"},D({id:"global.save",defaultMessage:"Save"}))),title:D({id:"Settings.roles.edit.title",defaultMessage:"Edit a role"}),subtitle:D({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(C.rU,{startIcon:e.createElement(I.Z,null),to:"/settings/roles"},D({id:"global.back",defaultMessage:"Back"}))}),e.createElement(P.D,null,e.createElement(v.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(ee,{isLoading:Me,disabled:je,errors:K,values:V,onChange:ve,onBlur:Ee,role:he}),!Re&&!Me?e.createElement(M.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(Q.Z,{isFormDisabled:je,permissions:$e,ref:ce,layout:Ze})):e.createElement(M.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(C.dO,null)))))))},G=()=>{const re=(0,e.useMemo)(()=>({read:x.Z.settings.roles.read,update:x.Z.settings.roles.update}),[]),{isLoading:D,allowedActions:{canRead:j,canUpdate:_}}=(0,C.ss)(re);return D?e.createElement(C.dO,null):!j&&!_?e.createElement(r.l_,{to:"/"}):e.createElement(Ce,null)}},84802:function(w){function F(a,e,C,r){for(var x=-1,k=a==null?0:a.length;++x<k;){var R=a[x];e(r,R,C(R),a)}return r}w.exports=F},62435:function(w,F,a){var e=a(56671);function C(r,x,k,R){return e(r,function(v,S,P){x(R,v,k(v),P)}),R}w.exports=C},85580:function(w,F,a){var e=a(84802),C=a(62435),r=a(88904),x=a(77236);function k(R,v){return function(S,P){var M=x(S)?e:C,A=v?v():{};return M(S,R,r(P,2),A)}}w.exports=k},72091:function(w,F,a){var e=a(40314),C=1/0;function r(x){var k=x==null?0:x.length;return k?e(x,C):[]}w.exports=r},81346:function(w,F,a){var e=a(40999),C=a(85580),r=Object.prototype,x=r.hasOwnProperty,k=C(function(R,v,S){x.call(R,S)?R[S].push(v):e(R,S,[v])});w.exports=k},83828:function(w,F,a){"use strict";a.d(F,{U:function(){return I},y:function(){return M}});var e=a(74512),C=a(32735),r=a(8471),x=a(91045),k=a(72850),R=a(87933),v=a(74971),S=a(49372);const P=({theme:y,expanded:u,variant:N,disabled:Q,error:z})=>z?`1px solid ${y.colors.danger600} !important`:Q?`1px solid ${y.colors.neutral150}`:u?`1px solid ${y.colors.primary600}`:N==="primary"?`1px solid ${y.colors.neutral0}`:`1px solid ${y.colors.neutral100}`,M=(0,r.ZP)(S.Z)``,A=(0,r.ZP)(k.x)`
217
+ border: ${P};
218
+
219
+ &:hover:not([aria-disabled='true']) {
220
+ border: 1px solid ${({theme:y})=>y.colors.primary600};
221
+
222
+ ${M} {
223
+ color: ${({theme:y,expanded:u})=>u?void 0:y.colors.primary700};
224
+ }
225
+
226
+ ${S.Z} {
227
+ color: ${({theme:y,expanded:u})=>u?void 0:y.colors.primary600};
228
+ }
229
+
230
+ & > ${R.k} {
231
+ background: ${({theme:y})=>y.colors.primary100};
232
+ }
233
+
234
+ [data-strapi-dropdown='true'] {
235
+ background: ${({theme:y})=>y.colors.primary200};
236
+ }
237
+ }
238
+ `,I=({children:y,disabled:u=!1,error:N,expanded:Q=!1,hasErrorMessage:z=!0,id:fe,onToggle:T,toggle:X,size:me="M",variant:f="primary",shadow:q})=>{const Y=(0,v.M)(fe),ee=C.useMemo(()=>({expanded:Q,onToggle:T,toggle:X,id:Y,size:me,variant:f,disabled:u}),[u,Q,Y,T,me,X,f]);return(0,e.jsxs)(x.S.Provider,{value:ee,children:[(0,e.jsx)(A,{"data-strapi-expanded":Q,disabled:u,"aria-disabled":u,expanded:Q,hasRadius:!0,variant:f,error:N,shadow:q,children:y}),N&&z&&(0,e.jsx)(k.x,{paddingTop:1,children:(0,e.jsx)(S.Z,{variant:"pi",textColor:"danger600",children:N})})]})}},89966:function(w,F,a){"use strict";a.d(F,{v:function(){return x}});var e=a(74512),C=a(91045),r=a(72850);const x=({children:k,...R})=>{const{expanded:v,id:S}=(0,C.A)();if(!v)return null;const P=`accordion-content-${S}`,M=`accordion-label-${S}`,A=`accordion-desc-${S}`;return(0,e.jsx)(r.x,{role:"region",id:P,"aria-labelledby":M,"aria-describedby":A,...R,children:k})}},91045:function(w,F,a){"use strict";a.d(F,{A:function(){return r},S:function(){return C}});var e=a(32735);const C=(0,e.createContext)({disabled:!1,expanded:!1,id:"",size:"M",variant:"primary"}),r=()=>(0,e.useContext)(C)},61762:function(w,F,a){"use strict";a.d(F,{B:function(){return y}});var e=a(74512),C=a(16899),r=a(8471),x=a(83828),k=a(91045);const R=({expanded:u,disabled:N,variant:Q})=>{let z="neutral100";return u?z="primary100":N?z="neutral150":Q==="primary"&&(z="neutral0"),z};var v=a(87933),S=a(99140),P=a(7563),M=a(49372);const A=(0,r.ZP)(P.A)`
239
+ text-align: left;
240
+
241
+ // necessary to make the ellipsis prop work on the title
242
+ > span {
243
+ max-width: 100%;
244
+ }
245
+
246
+ svg {
247
+ width: ${14/16}rem;
248
+ height: ${14/16}rem;
249
+
250
+ path {
251
+ fill: ${({theme:u,expanded:N})=>N?u.colors.primary600:u.colors.neutral500};
252
+ }
253
+ }
254
+ `,I=(0,r.ZP)(v.k)`
255
+ min-height: ${({theme:u,size:N})=>u.sizes.accordions[N]};
256
+ border-radius: ${({theme:u,expanded:N})=>N?`${u.borderRadius} ${u.borderRadius} 0 0`:u.borderRadius};
257
+
258
+ &:hover {
259
+ svg {
260
+ path {
261
+ fill: ${({theme:u})=>u.colors.primary600};
262
+ }
263
+ }
264
+ }
265
+ `,y=({title:u,description:N,as:Q="span",togglePosition:z="right",action:fe,...T})=>{const{onToggle:X,toggle:me,expanded:f,id:q,size:Y,variant:ee,disabled:ie}=(0,k.A)(),le=`accordion-content-${q}`,Se=`accordion-label-${q}`,ye=`accordion-desc-${q}`,de=Y==="M"?6:4,Ce=Y==="M"?de:de-2,Oe=R({expanded:f,disabled:ie,variant:ee}),G={as:Q,fontWeight:Y==="S"?"bold":void 0,id:Se,textColor:f?"primary600":"neutral700",ellipsis:!0,variant:Y==="M"?"delta":void 0},re=f?"primary600":"neutral600",D=f?"primary200":"neutral200",j=Y==="M"?`${32/16}rem`:`${24/16}rem`,_=()=>{ie||(me&&!X?(console.warn('Deprecation warning: Usage of "toggle" prop in Accordion component is deprecated. This is discouraged and will be removed in the next major release. Please use "onToggle" instead'),me()):X&&X())},se=(0,e.jsx)(v.k,{justifyContent:"center",borderRadius:"50%",height:j,width:j,transform:f?"rotate(180deg)":void 0,"data-strapi-dropdown":!0,"aria-hidden":!0,as:"span",background:D,cursor:ie?"not-allowed":"pointer",onClick:_,shrink:0,children:(0,e.jsx)(S.J,{as:C.Z,width:Y==="M"?`${11/16}rem`:`${8/16}rem`,color:f?"primary600":"neutral600"})});return(0,e.jsx)(I,{paddingBottom:Ce,paddingLeft:de,paddingRight:de,paddingTop:Ce,background:Oe,expanded:f,size:Y,justifyContent:"space-between",cursor:ie?"not-allowed":"",children:(0,e.jsxs)(v.k,{gap:3,flex:1,maxWidth:"100%",children:[z==="left"&&se,(0,e.jsx)(A,{onClick:_,"aria-disabled":ie,"aria-expanded":f,"aria-controls":le,"aria-labelledby":Se,"data-strapi-accordion-toggle":!0,expanded:f,type:"button",flex:1,minWidth:0,...T,children:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(x.y,{...G,children:u}),N&&(0,e.jsx)(M.Z,{as:"p",id:ye,textColor:re,children:N})]})}),z==="right"&&(0,e.jsxs)(v.k,{gap:3,children:[se,fe]}),z==="left"&&fe]})})}},11299:function(w,F,a){"use strict";a.d(F,{$:function(){return P},O:function(){return M}});var e=a(74512),C=a(77277),r=a(8471),x=a(72850),k=a(87933),R=a(49372),v=a(3685);const S=(0,r.ZP)(k.k)`
266
+ svg {
267
+ height: ${10/16}rem;
268
+ width: ${10/16}rem;
269
+ path {
270
+ fill: ${({theme:A})=>A.colors.neutral500};
271
+ }
272
+ }
273
+ :last-of-type ${x.x} {
274
+ display: none;
275
+ }
276
+ :last-of-type ${R.Z} {
277
+ color: ${({theme:A})=>A.colors.neutral800};
278
+ font-weight: ${({theme:A})=>A.fontWeights.bold};
279
+ }
280
+ `,P=({children:A})=>(0,e.jsxs)(S,{inline:!0,as:"li",children:[(0,e.jsx)(R.Z,{variant:"pi",textColor:"neutral600",children:A}),(0,e.jsx)(x.x,{"aria-hidden":!0,paddingLeft:3,paddingRight:3,children:(0,e.jsx)(C.Z,{})})]});P.displayName="Crumb";const M=({children:A,label:I,...y})=>(0,e.jsxs)(k.k,{...y,children:[(0,e.jsx)(v.T,{children:I}),(0,e.jsx)("ol",{"aria-hidden":!0,children:A})]});M.displayName="Breadcrumbs"},47328:function(w,F,a){"use strict";a.d(F,{Q:function(){return R}});var e=a(32735),C=a(60216),r=a(84967);const x=({children:v,label:S,...P})=>{const M=v.map(A=>A.props.value);return e.createElement(e.Fragment,null,e.createElement(r.W,{"data-opt-group":!0,"data-opt-group-children":M,"aria-label":`${S}, ${v.length} items`,...P},S),v)};x.propTypes={children:C.arrayOf(C.node).isRequired,label:C.string.isRequired},x.displayName="OptGroup";var k=a(80084);const R=({options:v,...S})=>e.createElement(k.P,{multi:!0,...S},v.map(({label:P,value:M,children:A})=>A?e.createElement(x,{key:P,label:P},A?.map(I=>e.createElement(r.W,{key:I.value,value:I.value},I.label))):e.createElement(r.W,{key:M,value:M},P)));R.propTypes={options:C.arrayOf(C.object).isRequired}}}]);
@@ -0,0 +1,10 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4263],{40874:function(T,l,e){e.r(l),e.d(l,{default:function(){return ne}});var t=e(32735),a=e(43383),s=e(53038),d=e(83983),i=e(20011),u=e(67879),n=e(60216),g=e.n(n),m=e(88423),c=e.n(m),E=e(33795),f=e.n(E),R=e(9086),Z=e.n(R),U=e(20108),A=e(92802),O=e(27649),S=e(82055),x=e(41415),z=e(17e3),W=e(72850),h=e(87933),$=e(49372),b=e(15335),j=e(5803),w=e(66456),N=e(29439),M=e(8997);const J=async y=>{const{get:P}=(0,a.tg)(),{data:o}=await P(`/admin/users/${y}`);return o.data},k=async(y,P)=>{const{put:o}=(0,a.tg)(),{data:v}=await o(`/admin/users/${y}`,P);return v.data};var q=[[{intlLabel:{id:"Auth.form.firstname.label",defaultMessage:"First name"},name:"firstname",placeholder:{id:"Auth.form.firstname.placeholder",defaultMessage:"e.g. Kai"},type:"text",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.lastname.label",defaultMessage:"Last name"},name:"lastname",placeholder:{id:"Auth.form.lastname.placeholder",defaultMessage:"e.g. Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"Auth.form.email.label",defaultMessage:"Email"},name:"email",placeholder:{id:"Auth.form.email.placeholder",defaultMessage:"e.g. kai.doe@strapi.io"},type:"email",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.username.label",defaultMessage:"Username"},name:"username",placeholder:{id:"Auth.form.username.placeholder",defaultMessage:"e.g. Kai_Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"global.password",defaultMessage:"Password"},name:"password",type:"password",size:{col:6,xs:12},autoComplete:"new-password"},{intlLabel:{id:"Auth.form.confirmPassword.label",defaultMessage:"Password confirmation"},name:"confirmPassword",type:"password",size:{col:6,xs:12},autoComplete:"new-password"}],[{intlLabel:{id:"Auth.form.active.label",defaultMessage:"Active"},name:"isActive",type:"bool",size:{col:6,xs:12}}]],ee=e(1057),te=e(4397);const ae=(()=>window&&window.strapi&&window.strapi.isEE?e(28890).Z:e(16325).Z)(),Q=["email","firstname","lastname","username","isActive","roles"],G=y=>{let{canUpdate:P}=y;const{formatMessage:o}=(0,u.Z)(),{params:{id:v}}=(0,s.$B)("/settings/users/:id"),{push:C}=(0,s.k6)(),{setUserDisplayName:Y}=(0,a.QI)(),_=(0,a.lm)(),{lockApp:oe,unlockApp:re}=(0,a.o1)();(0,a.go)();const{status:le,data:K}=(0,U.useQuery)(["user",v],()=>J(v),{retry:!1,onError(r){r.response.status===403&&(_({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}}),C("/")),console.log(r.response.status)}}),ie=async(r,p)=>{oe();try{const L=await k(v,Z()(r,"confirmPassword"));_({type:"success",message:o({id:"notification.success.saved",defaultMessage:"Saved"})});const D=a.I8.getUserInfo();if(v.toString()===D.id.toString()){a.I8.setUserInfo(L);const B=f()(r,"username")||(0,M.Pp)(r.firstname,r.lastname);Y(B)}p.setValues(c()(r,Q))}catch(L){const D=(0,M.Iz)(L.response.data),B=Object.keys(D).reduce((H,I)=>(H[I]=D[I].id,H),{});p.setErrors(B),_({type:"warning",message:f()(L,"response.data.error.message","notification.error")})}re()},V=le!=="success",de=V?{id:"app.containers.Users.EditPage.header.label-loading",defaultMessage:"Edit user"}:{id:"app.containers.Users.EditPage.header.label",defaultMessage:"Edit {name}"},F=Object.keys(c()(K,Q)).reduce((r,p)=>p==="roles"?(r[p]=(K?.roles||[]).map(L=>{let{id:D}=L;return D}),r):(r[p]=K?.[p],r),{}),ce=F.username||(0,M.Pp)(F.firstname,F.lastname),X=o(de,{name:ce});return V?t.createElement(O.o,{"aria-busy":"true"},t.createElement(a.SL,{name:"Users"}),t.createElement(S.T,{primaryAction:t.createElement(x.z,{disabled:!0,startIcon:t.createElement(w.Z,null),type:"button",size:"L"},o({id:"global.save",defaultMessage:"Save"})),title:X,navigationAction:t.createElement(a.rU,{startIcon:t.createElement(N.Z,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},o({id:"global.back",defaultMessage:"Back"}))}),t.createElement(z.D,null,t.createElement(a.dO,null))):t.createElement(O.o,null,t.createElement(a.SL,{name:"Users"}),t.createElement(A.J9,{onSubmit:ie,initialValues:F,validateOnChange:!1,validationSchema:ee.YM},r=>{let{errors:p,values:L,handleChange:D,isSubmitting:B}=r;return t.createElement(a.l0,null,t.createElement(S.T,{primaryAction:t.createElement(x.z,{disabled:B||!P,startIcon:t.createElement(w.Z,null),loading:B,type:"submit",size:"L"},o({id:"global.save",defaultMessage:"Save"})),title:X,navigationAction:t.createElement(a.rU,{startIcon:t.createElement(N.Z,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},o({id:"global.back",defaultMessage:"Back"}))}),t.createElement(z.D,null,K?.registrationToken&&t.createElement(W.x,{paddingBottom:6},t.createElement(ae,{registrationToken:K.registrationToken})),t.createElement(h.k,{direction:"column",alignItems:"stretch",gap:7},t.createElement(W.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(h.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement($.Z,{variant:"delta",as:"h2"},o({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"Details"})),t.createElement(b.r,{gap:5},q.map(H=>H.map(I=>t.createElement(j.P,(0,i.Z)({key:I.name},I.size),t.createElement(a.jm,(0,i.Z)({},I,{disabled:!P,error:p[I.name],onChange:D,value:L[I.name]||""})))))))),t.createElement(W.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(h.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement($.Z,{variant:"delta",as:"h2"},o({id:"global.roles",defaultMessage:"User's role"})),t.createElement(b.r,{gap:5},t.createElement(j.P,{col:6,xs:12},t.createElement(te.Z,{disabled:!P,error:p.roles,onChange:D,value:L.roles}))))))))}))};G.propTypes={canUpdate:g().bool.isRequired};var se=G,ne=()=>{const y=(0,a.lm)(),P=(0,t.useMemo)(()=>({read:d.Z.settings.users.read,update:d.Z.settings.users.update}),[]),{isLoading:o,allowedActions:{canRead:v,canUpdate:C}}=(0,a.ss)(P),{state:Y}=(0,s.TH)(),_=Y?.from??"/";return(0,t.useEffect)(()=>{o||!v&&!C&&y({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}})},[o,v,C,y]),o?t.createElement(a.dO,null):!v&&!C?t.createElement(s.l_,{to:_}):t.createElement(se,{canUpdate:C})}},76779:function(T,l,e){var t=e(32735),a=e(60216),s=e.n(a),d=e(50563),i=e(43383),u=e(47765),n=e(59087),g=e.n(n),m=e(67879);const c=({children:E,target:f})=>{const R=(0,i.lm)(),{formatMessage:Z}=(0,m.Z)(),U=()=>{R({type:"info",message:{id:"notification.link-copied"}})},A=Z({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"});return t.createElement(i.Y_,{endAction:t.createElement(n.CopyToClipboard,{onCopy:U,text:f},t.createElement(d.h,{label:A,noBorder:!0,icon:t.createElement(u.Z,null)})),title:f,titleEllipsis:!0,subtitle:E,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};c.propTypes={children:s().oneOfType([s().element,s().string]).isRequired,target:s().string.isRequired},l.Z=c},16325:function(T,l,e){var t=e(32735),a=e(67879),s=e(60216),d=e.n(s),i=e(78246),u=e(76779);const n=({registrationToken:g})=>{const{formatMessage:m}=(0,a.Z)(),c=`${window.location.origin}${i.Z}auth/register?registrationToken=${g}`;return t.createElement(u.Z,{target:c},m({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};n.defaultProps={registrationToken:""},n.propTypes={registrationToken:d().string},l.Z=n},4397:function(T,l,e){var t=e(32735),a=e(60216),s=e.n(a),d=e(67879),i=e(80084),u=e(84967),n=e(20108),g=e(8471),m=e(27169),c=e(43383);const E=g.F4`
2
+ from {
3
+ transform: rotate(0deg);
4
+ }
5
+ to {
6
+ transform: rotate(359deg);
7
+ }
8
+ `,f=g.ZP.div`
9
+ animation: ${E} 2s infinite linear;
10
+ `,R=()=>t.createElement(f,null,t.createElement(m.Z,null)),Z=async()=>{const{get:A}=(0,c.tg)(),{data:O}=await A("/admin/roles");return O.data},U=({disabled:A,error:O,onChange:S,value:x})=>{const{status:z,data:W}=(0,n.useQuery)(["roles"],Z,{staleTime:5e4}),{formatMessage:h}=(0,d.Z)(),$=O?h({id:O,defaultMessage:O}):"",b=h({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),j=h({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),w=h({id:"app.components.Select.placeholder",defaultMessage:"Select"}),N=z==="loading"?t.createElement(R,null):void 0;return t.createElement(i.P,{id:"roles",disabled:A,error:$,hint:j,label:b,name:"roles",onChange:M=>{S({target:{name:"roles",value:M}})},placeholder:w,multi:!0,startIcon:N,value:x,withTags:!0,required:!0},(W||[]).map(M=>t.createElement(u.W,{key:M.id,value:M.id},h({id:`global.${M.code}`,defaultMessage:M.name}))))};U.defaultProps={disabled:!1,error:void 0},U.propTypes={disabled:s().bool,error:s().string,onChange:s().func.isRequired,value:s().array.isRequired},l.Z=U},1057:function(T,l,e){e.d(l,{YM:function(){return m},Rw:function(){return i}});var t=e(24346),a=e(43383);const s={firstname:t.Z_().trim().required(a.I0.required),lastname:t.Z_(),email:t.Z_().email(a.I0.email).lowercase().required(a.I0.required),username:t.Z_().nullable(),password:t.Z_().min(8,a.I0.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number"),confirmPassword:t.Z_().min(8,a.I0.minLength).oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").when("password",(c,E)=>c?E.required(a.I0.required):E)};var i={...s,currentPassword:t.Z_().when(["password","confirmPassword"],(c,E,f)=>c||E?f.required(a.I0.required):f),preferedLanguage:t.Z_().nullable()},n={roles:t.IX().min(1,a.I0.required).required(a.I0.required)},m=t.Ry().shape({...s,isActive:t.Xg(),...n})},28890:function(T,l,e){var t=e(32735),a=e(67879),s=e(60216),d=e.n(s),i=e(78246),u=e(76779);const n=({registrationToken:g})=>{const{formatMessage:m}=(0,a.Z)();return g?t.createElement(u.Z,{target:`${window.location.origin}${i.Z}auth/register?registrationToken=${g}`},m({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"})):t.createElement(u.Z,{target:`${window.location.origin}${i.Z}auth/login`},m({id:"app.components.Users.MagicLink.connect.sso",defaultMessage:"Send this link to the user, the first login can be made via a SSO provider."}))};n.defaultProps={registrationToken:""},n.propTypes={registrationToken:d().string},l.Z=n},29439:function(T,l,e){e.d(l,{Z:function(){return s}});var t=e(74512);const a=d=>(0,t.jsx)("svg",{width:"1rem",height:"1rem",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...d,children:(0,t.jsx)("path",{d:"M24 13.3a.2.2 0 0 1-.2.2H5.74l8.239 8.239a.2.2 0 0 1 0 .282L12.14 23.86a.2.2 0 0 1-.282 0L.14 12.14a.2.2 0 0 1 0-.282L11.86.14a.2.2 0 0 1 .282 0L13.98 1.98a.2.2 0 0 1 0 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6Z",fill:"#212134"})}),s=a}}]);
@@ -0,0 +1,31 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3455],{67249:function(V,x,t){t.r(x),t.d(x,{default:function(){return me}});var e=t(32735),n=t(43383),v=t(83983),R=t(47765),B=t(68625),Z=t(4038),I=t(19406),D=t(27649),u=t(82055),C=t(41415),g=t(99223),$=t(17e3),S=t(56755),X=t(73269),G=t(33827),H=t(94547),T=t(19786),W=t(49372),J=t(3685),Y=t(35658),k=t(33795),w=t.n(k),b=t(67879),q=t(53038),_=t(67927),ee=()=>"todo empty role",te=t(60216),A=t.n(te),ne=t(87933),le=t(72850),ae=t(50563);const F=({id:s,name:o,description:l,usersCount:p,icons:r,rowIndex:m,canUpdate:f})=>{const{formatMessage:M}=(0,b.Z)(),[,i]=r,y=M({id:"Roles.RoleRow.user-count",defaultMessage:"{number, plural, =0 {# user} one {# user} other {# users}}"},{number:p});return e.createElement(H.Tr,{"aria-rowindex":m,key:s,...f?(0,n.X7)({fn:i.onClick}):{}},e.createElement(T.Td,{maxWidth:(0,n.Q1)(130)},e.createElement(W.Z,{ellipsis:!0,textColor:"neutral800"},o)),e.createElement(T.Td,{maxWidth:(0,n.Q1)(250)},e.createElement(W.Z,{ellipsis:!0,textColor:"neutral800"},l)),e.createElement(T.Td,null,e.createElement(W.Z,{textColor:"neutral800"},y)),e.createElement(T.Td,null,e.createElement(ne.k,{justifyContent:"flex-end",...n.UW},r.map((d,L)=>d?e.createElement(le.x,{key:d.label,paddingLeft:L===0?0:1},e.createElement(ae.h,{onClick:d.onClick,label:d.label,noBorder:!0,icon:d.icon})):null))))};F.propTypes={id:A().number.isRequired,name:A().string.isRequired,description:A().string.isRequired,usersCount:A().number.isRequired,icons:A().array.isRequired,rowIndex:A().number.isRequired,canUpdate:A().bool},F.defaultProps={canUpdate:!1};var se=F,oe=t(97889);const re={roleToDelete:null,showModalConfirmButtonLoading:!1,shouldRefetchData:!1};var ie=(s,o)=>(0,oe.ZP)(s,l=>{switch(o.type){case"ON_REMOVE_ROLES":{l.showModalConfirmButtonLoading=!0;break}case"ON_REMOVE_ROLES_SUCCEEDED":{l.shouldRefetchData=!0,l.roleToDelete=null;break}case"RESET_DATA_TO_DELETE":{l.shouldRefetchData=!1,l.roleToDelete=null,l.showModalConfirmButtonLoading=!1;break}case"SET_ROLE_TO_DELETE":{l.roleToDelete=o.id;break}default:return l}});const de=()=>{(0,n.go)();const{locale:s}=(0,b.Z)(),{isLoading:o,allowedActions:{canCreate:l,canDelete:p,canRead:r,canUpdate:m}}=(0,n.ss)(v.Z.settings.roles),{getData:f,roles:M,isLoading:i}=(0,_.bF)(!1),[{query:y}]=(0,n.Kx)(),d=y?._q||"",{includes:L}=(0,n.L0)(s,{sensitivity:"base"}),P=(0,n.Xe)(s,{sensitivity:"base"}),U=(M||[]).filter(h=>L(h.name,d)||L(h.description,d)).sort((h,O)=>P.compare(h.name,O.name)||P.compare(h.description,O.description));return(0,e.useEffect)(()=>{!o&&r&&f()},[o,r,f]),{isLoadingForPermissions:o,canCreate:l,canDelete:p,canRead:r,canUpdate:m,isLoading:i,getData:f,sortedRoles:U,roles:M}},ce=({getData:s,canCreate:o,canDelete:l,canUpdate:p})=>{const{formatMessage:r}=(0,b.Z)(),m=(0,n.lm)(),[f,M]=(0,e.useState)(!1),{push:i}=(0,q.k6)(),[{selectedRoles:y,showModalConfirmButtonLoading:d,roleToDelete:L},P]=(0,e.useReducer)(ie,re),{post:U}=(0,n.tg)(),h=async()=>{try{P({type:"ON_REMOVE_ROLES"}),await U("/admin/roles/batch-delete",{ids:[L]}),await s(),P({type:"RESET_DATA_TO_DELETE"})}catch(a){const c=w()(a,["response","payload","data","ids"],null);if(c&&Array.isArray(c)){const ge=c.join(`
2
+ `);m({type:"warning",message:ge})}else m({type:"warning",message:{id:"notification.error"}})}E()},O=(0,e.useCallback)(a=>{i(`/settings/roles/duplicate/${a}`)},[i]),N=()=>i("/settings/roles/new"),K=(0,e.useCallback)(a=>{P({type:"SET_ROLE_TO_DELETE",id:a}),E()},[]),E=()=>M(a=>!a),j=(0,e.useCallback)(a=>{i(`/settings/roles/${a}`)},[i]),Q=(0,e.useCallback)((a,c)=>{a.preventDefault(),a.stopPropagation(),c.usersCount?m({type:"info",message:{id:"Roles.ListPage.notification.delete-not-allowed"}}):K(c.id)},[m,K]),z=(0,e.useCallback)((a,c)=>{a.preventDefault(),a.stopPropagation(),O(c.id)},[O]),Ee=(0,e.useCallback)(a=>[...o?[{onClick:c=>z(c,a),label:r({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(R.Z,null)}]:[],...p?[{onClick:()=>j(a.id),label:r({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(B.Z,null)}]:[],...l?[{onClick:c=>Q(c,a),label:r({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(Z.Z,null)}]:[]],[r,Q,z,j,o,p,l]);return{handleNewRoleClick:N,getIcons:Ee,selectedRoles:y,isWarningDeleteAllOpened:f,showModalConfirmButtonLoading:d,handleToggleModal:E,handleDeleteData:h}};var ue=()=>{const{formatMessage:s}=(0,b.Z)(),{isLoadingForPermissions:o,canCreate:l,canRead:p,canDelete:r,canUpdate:m,isLoading:f,getData:M,sortedRoles:i}=de(),{handleNewRoleClick:y,getIcons:d,isWarningDeleteAllOpened:L,showModalConfirmButtonLoading:P,handleToggleModal:U,handleDeleteData:h}=ce({getData:M,canCreate:l,canDelete:r,canUpdate:m}),O=i.length+1,N=6;if(o)return e.createElement(D.o,null,e.createElement(n.dO,null));const K=s({id:"global.roles",defaultMessage:"roles"});return e.createElement(D.o,null,e.createElement(n.SL,{name:"Roles"}),e.createElement(u.T,{primaryAction:l?e.createElement(C.z,{onClick:y,startIcon:e.createElement(I.Z,null),size:"S"},s({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null,title:K,subtitle:s({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),as:"h2"}),p&&e.createElement(g.Z,{startActions:e.createElement(n.m,{label:s({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:K})})}),p&&e.createElement($.D,null,e.createElement(S.i,{colCount:N,rowCount:O,footer:l?e.createElement(X.c,{onClick:y,icon:e.createElement(I.Z,null)},s({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null},e.createElement(G.h,null,e.createElement(H.Tr,{"aria-rowindex":1},e.createElement(T.Th,null,e.createElement(W.Z,{variant:"sigma",textColor:"neutral600"},s({id:"global.name",defaultMessage:"Name"}))),e.createElement(T.Th,null,e.createElement(W.Z,{variant:"sigma",textColor:"neutral600"},s({id:"global.description",defaultMessage:"Description"}))),e.createElement(T.Th,null,e.createElement(W.Z,{variant:"sigma",textColor:"neutral600"},s({id:"global.users",defaultMessage:"Users"}))),e.createElement(T.Th,null,e.createElement(J.T,null,s({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(Y.p,null,i?.map((E,j)=>e.createElement(se,{key:E.id,id:E.id,name:E.name,description:E.description,usersCount:E.usersCount,icons:d(E),rowIndex:j+2,canUpdate:m})))),!O&&!f&&e.createElement(ee,null)),e.createElement(n.QH,{isOpen:L,onConfirm:h,isConfirmButtonLoading:P,onToggleDialog:U}))},me=()=>e.createElement(n.O4,{permissions:v.Z.settings.roles.main},e.createElement(ue,null))},99223:function(V,x,t){t.d(x,{Z:function(){return D}});var e=t(32735),n=t(60216),v=t(8471),R=t(72850),B=t(87933);const Z=(0,v.ZP)(B.k)`
3
+ & > * + * {
4
+ margin-left: ${({theme:u})=>u.spaces[2]};
5
+ }
6
+
7
+ margin-left: ${({pullRight:u})=>u?"auto":void 0};
8
+ `,I=(0,v.ZP)(Z)`
9
+ flex-shrink: 0;
10
+ `,D=({startActions:u,endActions:C})=>u||C?e.createElement(R.x,{paddingLeft:10,paddingRight:10},e.createElement(R.x,{paddingBottom:4},e.createElement(B.k,{justifyContent:"space-between",alignItems:"flex-start"},u&&e.createElement(Z,{wrap:"wrap"},u),C&&e.createElement(I,{pullRight:!0},C)))):null;D.defaultProps={endActions:void 0,startActions:void 0},D.propTypes={endActions:n.node,startActions:n.node}},73269:function(V,x,t){t.d(x,{c:function(){return C}});var e=t(32735),n=t(60216),v=t(8471),R=t(72850),B=t(9026),Z=t(87933),I=t(49372);const D=(0,v.ZP)(R.x)`
11
+ height: ${24/16}rem;
12
+ width: ${24/16}rem;
13
+ border-radius: 50%;
14
+ display: flex;
15
+ justify-content: center;
16
+ align-items: center;
17
+
18
+ svg {
19
+ height: ${10/16}rem;
20
+ width: ${10/16}rem;
21
+ }
22
+
23
+ svg path {
24
+ fill: ${({theme:g})=>g.colors.primary600};
25
+ }
26
+ `,u=(0,v.ZP)(R.x)`
27
+ border-radius: 0 0 ${({theme:g})=>g.borderRadius} ${({theme:g})=>g.borderRadius};
28
+ display: block;
29
+ width: 100%;
30
+ border: none;
31
+ `,C=({children:g,icon:$,...S})=>e.createElement("div",null,e.createElement(B.i,null),e.createElement(u,{as:"button",background:"primary100",padding:5,...S},e.createElement(Z.k,null,e.createElement(D,{"aria-hidden":!0,background:"primary200"},$),e.createElement(R.x,{paddingLeft:3},e.createElement(I.Z,{variant:"pi",fontWeight:"bold",textColor:"primary600"},g)))));C.propTypes={children:n.string.isRequired,icon:n.node.isRequired}}}]);
@@ -0,0 +1,34 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5199],{83119:function(f,n){const e=()=>null;n.Z=e},83196:function(f,n,e){var t=e(32735),a=e(60216),s=e.n(a),d=e(67879),c=e(72850),u=e(41415),o=e(5644),m=e(43383);const r=({displayedFilters:E})=>{const[i,h]=(0,t.useState)(!1),{formatMessage:l}=(0,d.Z)(),y=(0,t.useRef)(),O=()=>{h(_=>!_)};return t.createElement(t.Fragment,null,t.createElement(c.x,{paddingTop:1,paddingBottom:1},t.createElement(u.z,{variant:"tertiary",ref:y,startIcon:t.createElement(o.Z,null),onClick:O,size:"S"},l({id:"app.utils.filters",defaultMessage:"Filters"})),i&&t.createElement(m.J5,{displayedFilters:E,isVisible:i,onToggle:O,source:y})),t.createElement(m.W$,{filtersSchema:E}))};r.propTypes={displayedFilters:s().arrayOf(s().shape({name:s().string.isRequired,metadatas:s().shape({label:s().string}),fieldSchema:s().shape({type:s().string})})).isRequired},n.Z=r},9814:function(f,n,e){var t=e(32735),a=e(67879),s=e(60216),d=e.n(s),c=e(41415),u=e(7961);const o=({onClick:m})=>{const{formatMessage:r}=(0,a.Z)();return t.createElement(c.z,{onClick:m,startIcon:t.createElement(u.Z,null),size:"S"},r({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}))};o.propTypes={onClick:d().func.isRequired},n.Z=o},60509:function(f,n){const e={firstname:"",lastname:"",email:"",roles:[]};n.Z=e},61358:function(f,n){const e=[];n.Z=e},76949:function(f,n,e){e.r(n),e.d(n,{default:function(){return We}});var t=e(32735),a=e(43383),s=e(83983),d=e(94638),c=e(27649),u=e(82055),o=e(99223),m=e(17e3),r=e(53038),E=e(67879),i=e(20108),h=e(60216),l=e.n(h),y=e(35658),O=e(94547),_=e(19786),B=e(44426),U=e(49372),A=e(87933),q=e(50563),x=e(72850),$=e(68625),te=e(4038),J=e(8997);const X=({canDelete:p,headers:P,entriesToDelete:D,onClickDelete:W,onSelectRow:j,withMainAction:L,withBulkActions:S,rows:N})=>{const{push:R,location:{pathname:F}}=(0,r.k6)(),{formatMessage:v}=(0,E.Z)();return t.createElement(y.p,null,N.map(g=>{const z=D.findIndex(T=>T===g.id)!==-1;return t.createElement(O.Tr,{key:g.id,...(0,a.X7)({fn:()=>R(`${F}/${g.id}`),condition:S})},L&&t.createElement(_.Td,{...a.UW},t.createElement(B.C,{"aria-label":v({id:"app.component.table.select.one-entry",defaultMessage:"Select {target}"},{target:(0,J.Pp)(g.firstname,g.lastname)}),checked:z,onChange:()=>{j({name:g.id,value:!z})}})),P.map(({key:T,cellFormatter:H,name:Z,...b})=>t.createElement(_.Td,{key:T},typeof H=="function"?H(g,{key:T,name:Z,formatMessage:v,...b}):t.createElement(U.Z,{textColor:"neutral800"},g[Z]||"-"))),S&&t.createElement(_.Td,null,t.createElement(A.k,{justifyContent:"end"},t.createElement(q.h,{onClick:()=>R(`${F}/${g.id}`),label:v({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:(0,J.Pp)(g.firstname,g.lastname)}),noBorder:!0,icon:t.createElement($.Z,null)}),p&&t.createElement(x.x,{paddingLeft:1,...a.UW},t.createElement(q.h,{onClick:()=>W(g.id),label:v({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:(0,J.Pp)(g.firstname,g.lastname)}),noBorder:!0,icon:t.createElement(te.Z,null)})))))}))};X.defaultProps={canDelete:!1,entriesToDelete:[],onClickDelete(){},onSelectRow(){},rows:[],withBulkActions:!1,withMainAction:!1},X.propTypes={canDelete:l().bool,entriesToDelete:l().array,headers:l().array.isRequired,onClickDelete:l().func,onSelectRow:l().func,rows:l().array,withBulkActions:l().bool,withMainAction:l().bool};var ae=X,se=e(83196),C=e(20011),ne=e(41415),ue=e(85025),Ee=e(55225),de=e(11299),ge=e(31600),ce=e(15335),re=e(5803),pe=e(11406),Me=e(92802),fe=e(4397),_e=[[{intlLabel:{id:"Auth.form.firstname.label",defaultMessage:"First name"},name:"firstname",placeholder:{id:"Auth.form.firstname.placeholder",defaultMessage:"e.g. Kai"},type:"text",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.lastname.label",defaultMessage:"Last name"},name:"lastname",placeholder:{id:"Auth.form.lastname.placeholder",defaultMessage:"e.g. Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"Auth.form.email.label",defaultMessage:"Email"},name:"email",placeholder:{id:"Auth.form.email.placeholder",defaultMessage:"e.g. kai.doe@strapi.io"},type:"email",size:{col:6,xs:12},required:!0}]],Y=e(24346),Pe=Y.Ry().shape({firstname:Y.Z_().trim().required(a.I0.required),lastname:Y.Z_(),email:Y.Z_().email(a.I0.email).required(a.I0.required),roles:Y.IX().min(1,a.I0.required).required(a.I0.required)}),De={create:{buttonSubmitLabel:{id:"app.containers.Users.ModalForm.footer.button-success",defaultMessage:"Invite user"},isDisabled:!1,next:"magic-link"},"magic-link":{buttonSubmitLabel:{id:"global.finish",defaultMessage:"Finish"},isDisabled:!0,next:null}};const ve=(()=>window&&window.strapi&&window.strapi.isEE?e(64746).Z:e(60509).Z)(),he=(()=>window&&window.strapi&&window.strapi.isEE?e(43116).Z:e(61358).Z)(),Oe=(()=>window&&window.strapi&&window.strapi.isEE?e(28890).Z:e(16325).Z)(),me=p=>{let{queryName:P,onToggle:D}=p;const[W,j]=(0,t.useState)("create"),[L,S]=(0,t.useState)(!1),[N,R]=(0,t.useState)(null),F=(0,i.useQueryClient)(),{formatMessage:v}=(0,E.Z)(),g=(0,a.lm)(),{lockApp:z,unlockApp:T}=(0,a.o1)(),{post:H}=(0,a.kY)(),Z=(0,i.useMutation)(K=>H("/admin/users",K),{async onSuccess(K){let{data:V}=K;R(V.data.registrationToken),await F.refetchQueries(P),await F.refetchQueries(["ee","license-limit-info"]),ee(),S(!1)},onError(K){throw S(!1),g({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),K},onSettled(){T()}}),b=v({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}),le=async(K,V)=>{let{setErrors:k}=V;z(),S(!0);try{await Z.mutateAsync(K)}catch(G){T(),G?.response?.data?.error.message==="Email already taken"&&k({email:G.response.data.error.message})}},ee=()=>{M?j(M):D()},{buttonSubmitLabel:w,isDisabled:Q,next:M}=De[W],Se=W==="create"?t.createElement(ne.z,{type:"submit",loading:L},v(w)):t.createElement(ne.z,{type:"button",loading:L,onClick:D},v(w));return t.createElement(ue.P,{onClose:D,labelledBy:"title"},t.createElement(Ee.x,null,t.createElement(de.O,{label:b},t.createElement(de.$,null,b))),t.createElement(Me.J9,{initialValues:ve,onSubmit:le,validationSchema:Pe,validateOnChange:!1},K=>{let{errors:V,handleChange:k,values:G}=K;return t.createElement(a.l0,null,t.createElement(ge.f,null,t.createElement(A.k,{direction:"column",alignItems:"stretch",gap:6},W!=="create"&&t.createElement(Oe,{registrationToken:N}),t.createElement(x.x,null,t.createElement(U.Z,{variant:"beta",as:"h2"},v({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"User details"})),t.createElement(x.x,{paddingTop:4},t.createElement(A.k,{direction:"column",alignItems:"stretch",gap:1},t.createElement(ce.r,{gap:5},_e.map(ie=>ie.map(I=>t.createElement(re.P,(0,C.Z)({key:I.name},I.size),t.createElement(a.jm,(0,C.Z)({},I,{disabled:Q,error:V[I.name],onChange:k,value:G[I.name]}))))))))),t.createElement(x.x,null,t.createElement(U.Z,{variant:"beta",as:"h2"},v({id:"global.roles",defaultMessage:"User's role"})),t.createElement(x.x,{paddingTop:4},t.createElement(ce.r,{gap:5},t.createElement(re.P,{col:6,xs:12},t.createElement(fe.Z,{disabled:Q,error:V.roles,onChange:k,value:G.roles})),he.map(ie=>ie.map(I=>t.createElement(re.P,(0,C.Z)({key:I.name},I.size),t.createElement(a.jm,(0,C.Z)({},I,{disabled:Q,onChange:k,value:G[I.name]})))))))))),t.createElement(pe.m,{startActions:t.createElement(ne.z,{variant:"tertiary",onClick:D,type:"button"},v({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:Se}))}))};me.propTypes={onToggle:l().func.isRequired,queryName:l().array.isRequired};var ye=me;const oe=({pagination:p})=>t.createElement(x.x,{paddingTop:4},t.createElement(A.k,{alignItems:"flex-end",justifyContent:"space-between"},t.createElement(a.v4,null),t.createElement(a.tU,{pagination:p})));oe.defaultProps={pagination:{pageCount:0,pageSize:10,total:0}},oe.propTypes={pagination:l().shape({page:l().number,pageCount:l().number,pageSize:l().number,total:l().number})};var Ce=oe;const Te=async(p,P)=>{const{get:D}=(0,a.tg)(),{data:{data:W}}=await D(`/admin/users${p}`);return P(),W},Ae=async p=>{const{post:P}=(0,a.tg)();await P("/admin/users/batch-delete",{ids:p})};var Le=[{name:"firstname",metadatas:{label:"Firstname"},fieldSchema:{type:"string"}},{name:"lastname",metadatas:{label:"Lastname"},fieldSchema:{type:"string"}},{name:"email",metadatas:{label:"Email"},fieldSchema:{type:"email"}},{name:"username",metadatas:{label:"Username"},fieldSchema:{type:"string"}},{name:"isActive",metadatas:{label:"Active user"},fieldSchema:{type:"boolean"}}],Re=[{name:"firstname",key:"firstname",metadatas:{label:{id:"Settings.permissions.users.firstname",defaultMessage:"Firstname"},sortable:!0}},{name:"lastname",key:"lastname",metadatas:{label:{id:"Settings.permissions.users.lastname",defaultMessage:"Lastname"},sortable:!0}},{key:"email",name:"email",metadatas:{label:{id:"Settings.permissions.users.email",defaultMessage:"Email"},sortable:!0}},{key:"roles",name:"roles",metadatas:{label:{id:"Settings.permissions.users.roles",defaultMessage:"Roles"},sortable:!1},cellFormatter({roles:p},{formatMessage:P}){return t.createElement(U.Z,{textColor:"neutral800"},p.map(D=>P({id:`Settings.permissions.users.${D.code}`,defaultMessage:D.name})).join(`,
2
+ `))}},{key:"username",name:"username",metadatas:{label:{id:"Settings.permissions.users.username",defaultMessage:"Username"},sortable:!0}},{key:"isActive",name:"isActive",metadatas:{label:{id:"Settings.permissions.users.user-status",defaultMessage:"User status"},sortable:!1},cellFormatter({isActive:p},{formatMessage:P}){return t.createElement(A.k,null,t.createElement(a.qb,{isActive:p,variant:p?"success":"danger"}),t.createElement(U.Z,{textColor:"neutral800"},P({id:p?"Settings.permissions.users.active":"Settings.permissions.users.inactive",defaultMessage:p?"Active":"Inactive"})))}}];const Ie=(()=>window&&window.strapi&&window.strapi.isEE?e(99724).Z:e(9814).Z)(),Be=(()=>window&&window.strapi&&window.strapi.isEE?e(21306).Z:e(83119).Z)();var Ue=()=>{const{formatAPIError:p}=(0,a.So)(),[P,D]=(0,t.useState)(!1),{allowedActions:{canCreate:W,canDelete:j,canRead:L}}=(0,a.ss)(s.Z.settings.users),S=(0,i.useQueryClient)(),N=(0,a.lm)(),{formatMessage:R}=(0,E.Z)(),{search:F}=(0,r.TH)();(0,a.go)(),Be();const{notifyStatus:v}=(0,d.G)(),g=["users",F],z=Re.map(M=>({...M,metadatas:{...M.metadatas,label:R(M.metadatas.label)}})),T=R({id:"global.users",defaultMessage:"Users"}),H=()=>{v(R({id:"app.utils.notify.data-loaded",defaultMessage:"The {target} has loaded"},{target:T}))},{status:Z,data:b,isFetching:le}=(0,i.useQuery)(g,()=>Te(F,H),{enabled:L,retry:!1,onError(M){N({type:"warning",message:{id:"notification.error",message:p(M),defaultMessage:"An error occured"}})}}),ee=()=>{D(M=>!M)},w=(0,i.useMutation)(M=>Ae(M),{async onSuccess(){await S.refetchQueries(g),await S.refetchQueries(["ee","license-limit-info"])},onError(M){N({type:"warning",message:{id:"notification.error",message:p(M),defaultMessage:"An error occured"}})}}),Q=Z!=="success"&&Z!=="error"||Z==="success"&&le;return t.createElement(c.o,{"aria-busy":Q},t.createElement(a.SL,{name:"Users"}),t.createElement(u.T,{primaryAction:W&&t.createElement(Ie,{onClick:ee}),title:T,subtitle:R({id:"Settings.permissions.users.listview.header.subtitle",defaultMessage:"All the users who have access to the Strapi admin panel"})}),L&&t.createElement(o.Z,{startActions:t.createElement(t.Fragment,null,t.createElement(a.m,{label:R({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:T})}),t.createElement(se.Z,{displayedFilters:Le}))}),t.createElement(m.D,{canRead:L},!L&&t.createElement(a.ZF,null),Z==="error"&&t.createElement("div",null,"TODO: An error occurred"),L&&t.createElement(t.Fragment,null,t.createElement(a.tM,{contentType:"Users",isLoading:Q,onConfirmDeleteAll:w.mutateAsync,onConfirmDelete:M=>w.mutateAsync([M]),headers:z,rows:b?.results,withBulkActions:!0,withMainAction:j},t.createElement(ae,{canDelete:j,headers:z,rows:b?.results||[],withBulkActions:!0,withMainAction:j})),t.createElement(Ce,{pagination:b?.pagination}))),P&&t.createElement(ye,{onToggle:ee,queryName:g}))},We=()=>t.createElement(a.O4,{permissions:s.Z.settings.users.main},t.createElement(Ue,null))},76779:function(f,n,e){var t=e(32735),a=e(60216),s=e.n(a),d=e(50563),c=e(43383),u=e(47765),o=e(59087),m=e.n(o),r=e(67879);const E=({children:i,target:h})=>{const l=(0,c.lm)(),{formatMessage:y}=(0,r.Z)(),O=()=>{l({type:"info",message:{id:"notification.link-copied"}})},_=y({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"});return t.createElement(c.Y_,{endAction:t.createElement(o.CopyToClipboard,{onCopy:O,text:h},t.createElement(d.h,{label:_,noBorder:!0,icon:t.createElement(u.Z,null)})),title:h,titleEllipsis:!0,subtitle:i,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};E.propTypes={children:s().oneOfType([s().element,s().string]).isRequired,target:s().string.isRequired},n.Z=E},16325:function(f,n,e){var t=e(32735),a=e(67879),s=e(60216),d=e.n(s),c=e(78246),u=e(76779);const o=({registrationToken:m})=>{const{formatMessage:r}=(0,a.Z)(),E=`${window.location.origin}${c.Z}auth/register?registrationToken=${m}`;return t.createElement(u.Z,{target:E},r({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};o.defaultProps={registrationToken:""},o.propTypes={registrationToken:d().string},n.Z=o},4397:function(f,n,e){var t=e(32735),a=e(60216),s=e.n(a),d=e(67879),c=e(80084),u=e(84967),o=e(20108),m=e(8471),r=e(27169),E=e(43383);const i=m.F4`
3
+ from {
4
+ transform: rotate(0deg);
5
+ }
6
+ to {
7
+ transform: rotate(359deg);
8
+ }
9
+ `,h=m.ZP.div`
10
+ animation: ${i} 2s infinite linear;
11
+ `,l=()=>t.createElement(h,null,t.createElement(r.Z,null)),y=async()=>{const{get:_}=(0,E.tg)(),{data:B}=await _("/admin/roles");return B.data},O=({disabled:_,error:B,onChange:U,value:A})=>{const{status:q,data:x}=(0,o.useQuery)(["roles"],y,{staleTime:5e4}),{formatMessage:$}=(0,d.Z)(),te=B?$({id:B,defaultMessage:B}):"",J=$({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),X=$({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),ae=$({id:"app.components.Select.placeholder",defaultMessage:"Select"}),se=q==="loading"?t.createElement(l,null):void 0;return t.createElement(c.P,{id:"roles",disabled:_,error:te,hint:X,label:J,name:"roles",onChange:C=>{U({target:{name:"roles",value:C}})},placeholder:ae,multi:!0,startIcon:se,value:A,withTags:!0,required:!0},(x||[]).map(C=>t.createElement(u.W,{key:C.id,value:C.id},$({id:`global.${C.code}`,defaultMessage:C.name}))))};O.defaultProps={disabled:!1,error:void 0},O.propTypes={disabled:s().bool,error:s().string,onChange:s().func.isRequired,value:s().array.isRequired},n.Z=O},99724:function(f,n,e){var t=e(32735),a=e(67879),s=e(60216),d=e.n(s),c=e(87933),u=e(63919),o=e(99140),m=e(41415),r=e(69932),E=e(7961),i=e(36866),h=e.n(i),l=e(58414);const y=({onClick:O})=>{const{formatMessage:_}=(0,a.Z)(),{license:B}=(0,l.q5)(),{permittedSeats:U,shouldStopCreate:A}=B?.data??{};return t.createElement(c.k,{gap:2},!h()(U)&&A&&t.createElement(u.u,{description:_({id:"Settings.application.admin-seats.at-limit-tooltip",defaultMessage:"At limit: add seats to invite more users"}),position:"left"},t.createElement(o.J,{width:`${14/16}rem`,height:`${14/16}rem`,color:"danger500",as:r.Z})),t.createElement(m.z,{"data-testid":"create-user-button",onClick:O,startIcon:t.createElement(E.Z,null),size:"S",disabled:A},_({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"})))};y.propTypes={onClick:d().func.isRequired},n.Z=y},64746:function(f,n,e){var t=e(60509);const a=strapi.features.isEnabled(strapi.features.SSO)?{useSSORegistration:!0}:{},s={...t.Z,...a};n.Z=s},43116:function(f,n){const e=strapi.features.isEnabled(strapi.features.SSO)?[[{intlLabel:{id:"Settings.permissions.users.form.sso",defaultMessage:"Connect with SSO"},hint:{id:"Settings.permissions.users.form.sso.description",defaultMessage:"When enabled (ON), users can login via SSO"},name:"useSSORegistration",type:"bool",size:{col:6,xs:12}}]]:[];n.Z=e},28890:function(f,n,e){var t=e(32735),a=e(67879),s=e(60216),d=e.n(s),c=e(78246),u=e(76779);const o=({registrationToken:m})=>{const{formatMessage:r}=(0,a.Z)();return m?t.createElement(u.Z,{target:`${window.location.origin}${c.Z}auth/register?registrationToken=${m}`},r({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"})):t.createElement(u.Z,{target:`${window.location.origin}${c.Z}auth/login`},r({id:"app.components.Users.MagicLink.connect.sso",defaultMessage:"Send this link to the user, the first login can be made via a SSO provider."}))};o.defaultProps={registrationToken:""},o.propTypes={registrationToken:d().string},n.Z=o},11299:function(f,n,e){e.d(n,{$:function(){return r},O:function(){return E}});var t=e(74512),a=e(77277),s=e(8471),d=e(72850),c=e(87933),u=e(49372),o=e(3685);const m=(0,s.ZP)(c.k)`
12
+ svg {
13
+ height: ${10/16}rem;
14
+ width: ${10/16}rem;
15
+ path {
16
+ fill: ${({theme:i})=>i.colors.neutral500};
17
+ }
18
+ }
19
+ :last-of-type ${d.x} {
20
+ display: none;
21
+ }
22
+ :last-of-type ${u.Z} {
23
+ color: ${({theme:i})=>i.colors.neutral800};
24
+ font-weight: ${({theme:i})=>i.fontWeights.bold};
25
+ }
26
+ `,r=({children:i})=>(0,t.jsxs)(m,{inline:!0,as:"li",children:[(0,t.jsx)(u.Z,{variant:"pi",textColor:"neutral600",children:i}),(0,t.jsx)(d.x,{"aria-hidden":!0,paddingLeft:3,paddingRight:3,children:(0,t.jsx)(a.Z,{})})]});r.displayName="Crumb";const E=({children:i,label:h,...l})=>(0,t.jsxs)(c.k,{...l,children:[(0,t.jsx)(o.T,{children:h}),(0,t.jsx)("ol",{"aria-hidden":!0,children:i})]});E.displayName="Breadcrumbs"},99223:function(f,n,e){e.d(n,{Z:function(){return m}});var t=e(32735),a=e(60216),s=e(8471),d=e(72850),c=e(87933);const u=(0,s.ZP)(c.k)`
27
+ & > * + * {
28
+ margin-left: ${({theme:r})=>r.spaces[2]};
29
+ }
30
+
31
+ margin-left: ${({pullRight:r})=>r?"auto":void 0};
32
+ `,o=(0,s.ZP)(u)`
33
+ flex-shrink: 0;
34
+ `,m=({startActions:r,endActions:E})=>r||E?t.createElement(d.x,{paddingLeft:10,paddingRight:10},t.createElement(d.x,{paddingBottom:4},t.createElement(c.k,{justifyContent:"space-between",alignItems:"flex-start"},r&&t.createElement(u,{wrap:"wrap"},r),E&&t.createElement(o,{pullRight:!0},E)))):null;m.defaultProps={endActions:void 0,startActions:void 0},m.propTypes={endActions:a.node,startActions:a.node}},7961:function(f,n,e){e.d(n,{Z:function(){return s}});var t=e(74512);const a=d=>(0,t.jsxs)("svg",{width:"1rem",height:"1rem",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...d,children:[(0,t.jsx)("path",{d:"M0 2.8A.8.8 0 0 1 .8 2h22.4a.8.8 0 0 1 .8.8v2.71a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V2.8Z",fill:"#32324D"}),(0,t.jsx)("path",{d:"M1.922 7.991C.197 6.675 0 6.252 0 5.289h23.953c.305 1.363-1.594 2.506-2.297 3.125-1.953 1.363-6.253 4.36-7.828 5.45-1.575 1.09-3.031.455-3.562 0-2.063-1.41-6.62-4.557-8.344-5.873ZM22.8 18H1.2c-.663 0-1.2.471-1.2 1.053v1.894C0 21.529.537 22 1.2 22h21.6c.663 0 1.2-.471 1.2-1.053v-1.894c0-.582-.537-1.053-1.2-1.053Z",fill:"#32324D"}),(0,t.jsx)("path",{d:"M0 9.555v10.972h24V9.554c-2.633 1.95-8.367 6.113-9.96 7.166-1.595 1.052-3.352.438-4.032 0L0 9.555Z",fill:"#32324D"})]}),s=a}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4299],{3330:function(i,e,t){t.r(e);var n=t(32735),s=t(43383),_=t(83983),E=t(35563);const a=()=>n.createElement(s.O4,{permissions:_.Z.settings["api-tokens"].create},n.createElement(E.Z,null));e.default=a}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[92],{97841:function(i,e,t){t.r(e);var n=t(32735),s=t(43383),_=t(83983),E=t(35563);const a=()=>n.createElement(s.O4,{permissions:_.Z.settings["api-tokens"].read},n.createElement(E.Z,null));e.default=a}}]);
@@ -0,0 +1,16 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8056],{81450:function(Y,v,t){t.d(v,{Z:function(){return I}});var e=t(32735),s=t(53038),L=t(60216),n=t.n(L),A=t(35658),U=t(94547),y=t(19786),k=t(49372),V=t(87933),i=t(43383),x=t(4038),O=t(72850),M=t(50563),F=t(67879);const Z=({tokenName:a,onClickDelete:c,tokenType:m})=>{const{formatMessage:E}=(0,F.Z)(),{trackUsage:p}=(0,i.rS)(),[g,l]=(0,e.useState)(!1),f=()=>{l(!1),p("willDeleteToken",{tokenType:m}),c()};return e.createElement(O.x,{paddingLeft:1,onClick:T=>T.stopPropagation()},e.createElement(M.h,{onClick:()=>{l(!0)},label:E({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${a}`}),name:"delete",noBorder:!0,icon:e.createElement(x.Z,null)}),e.createElement(i.QH,{onToggleDialog:()=>l(!1),onConfirm:f,isOpen:g}))};Z.propTypes={tokenName:n().string.isRequired,onClickDelete:n().func.isRequired,tokenType:n().string.isRequired};var $=Z,h=t(68625),w=t(8471);const Q={edit:{id:"app.component.table.edit",defaultMessage:"Edit {target}"},read:{id:"app.component.table.read",defaultMessage:"Read {target}"}},K=(0,w.ZP)(i.rU)`
2
+ svg {
3
+ path {
4
+ fill: ${({theme:a})=>a.colors.neutral500};
5
+ }
6
+ }
7
+
8
+ &:hover,
9
+ &:focus {
10
+ svg {
11
+ path {
12
+ fill: ${({theme:a})=>a.colors.neutral800};
13
+ }
14
+ }
15
+ }
16
+ `,C=({tokenName:a,tokenId:c,buttonType:m,children:E})=>{const{formatMessage:p}=(0,F.Z)(),{location:{pathname:g}}=(0,s.k6)();return e.createElement(K,{to:`${g}/${c}`,title:p(Q[m],{target:a})},E)};C.propTypes={tokenName:n().string.isRequired,tokenId:n().oneOfType([n().string,n().number]).isRequired,buttonType:n().string,children:n().node.isRequired},C.defaultProps={buttonType:"edit"};var b=C;const u=({tokenName:a,tokenId:c})=>e.createElement(b,{tokenName:a,tokenId:c},e.createElement(h.Z,null));u.propTypes={tokenName:n().string.isRequired,tokenId:n().oneOfType([n().string,n().number]).isRequired};var S=u,D=t(54894);const P=({tokenName:a,tokenId:c})=>e.createElement(b,{tokenName:a,tokenId:c,buttonType:"read"},e.createElement(D.Z,null));P.propTypes={tokenName:n().string.isRequired,tokenId:n().oneOfType([n().string,n().number]).isRequired};var H=P;const d=({permissions:a,headers:c,contentType:m,isLoading:E,tokens:p,onConfirmDelete:g,tokenType:l})=>{const{canDelete:f,canUpdate:T,canRead:R}=a,N=f||T||R,[{query:B}]=(0,i.Kx)(),[,j]=B?B.sort.split(":"):"ASC",{push:W,location:{pathname:o}}=(0,s.k6)(),{trackUsage:J}=(0,i.rS)(),G=p.sort((r,X)=>{const z=r.name.localeCompare(X.name);return j==="DESC"?-z:z});return e.createElement(i.tM,{headers:c,contentType:m,rows:p,withBulkActions:N,isLoading:E,onConfirmDelete:g},e.createElement(A.p,null,G.map(r=>e.createElement(U.Tr,{key:r.id,...(0,i.X7)({fn(){J("willEditTokenFromList",{tokenType:l}),W(`${o}/${r.id}`)},condition:T})},e.createElement(y.Td,{maxWidth:(0,i.Q1)(250)},e.createElement(k.Z,{textColor:"neutral800",fontWeight:"bold",ellipsis:!0},r.name)),e.createElement(y.Td,{maxWidth:(0,i.Q1)(250)},e.createElement(k.Z,{textColor:"neutral800",ellipsis:!0},r.description)),e.createElement(y.Td,null,e.createElement(k.Z,{textColor:"neutral800"},e.createElement(i.ij,{timestamp:new Date(r.createdAt)}))),e.createElement(y.Td,null,r.lastUsedAt&&e.createElement(k.Z,{textColor:"neutral800"},e.createElement(i.ij,{timestamp:new Date(r.lastUsedAt)}))),N&&e.createElement(y.Td,null,e.createElement(V.k,{justifyContent:"end"},T&&e.createElement(S,{tokenName:r.name,tokenId:r.id}),!T&&R&&e.createElement(H,{tokenName:r.name,tokenId:r.id}),f&&e.createElement($,{tokenName:r.name,onClickDelete:()=>g(r.id),tokenType:l})))))))};d.propTypes={tokens:n().array,permissions:n().shape({canRead:n().bool,canDelete:n().bool,canUpdate:n().bool}).isRequired,headers:n().arrayOf(n().shape({cellFormatter:n().func,key:n().string.isRequired,metadatas:n().shape({label:n().string.isRequired,sortable:n().bool}).isRequired,name:n().string.isRequired})),contentType:n().string.isRequired,isLoading:n().bool,onConfirmDelete:n().func,tokenType:n().string.isRequired},d.defaultProps={tokens:[],headers:[],isLoading:!1,onConfirmDelete(){}};var I=d},68774:function(Y,v,t){t.d(v,{Z:function(){return e},f:function(){return s}});const e="api-token",s="transfer-token"},37168:function(Y,v,t){t.r(v),t.d(v,{default:function(){return C}});var e=t(32735),s=t(43383),L=t(83983),n=t(67879),A=t(20108),U=t(53038),y=t(33348),k=t.n(y),V=t(27649),i=t(82055),x=t(17e3),O=t(41415),M=t(19406),Z=[{name:"name",key:"name",metadatas:{label:{id:"Settings.apiTokens.ListView.headers.name",defaultMessage:"Name"},sortable:!0}},{name:"description",key:"description",metadatas:{label:{id:"Settings.apiTokens.ListView.headers.description",defaultMessage:"Description"},sortable:!1}},{name:"createdAt",key:"createdAt",metadatas:{label:{id:"Settings.apiTokens.ListView.headers.createdAt",defaultMessage:"Created at"},sortable:!1}},{name:"lastUsedAt",key:"lastUsedAt",metadatas:{label:{id:"Settings.apiTokens.ListView.headers.lastUsedAt",defaultMessage:"Last used"},sortable:!1}}],$=t(81450),h=t(68774),Q=()=>{(0,s.go)();const b=(0,A.useQueryClient)(),{formatMessage:u}=(0,n.Z)(),S=(0,s.lm)(),{allowedActions:{canCreate:D,canDelete:P,canUpdate:H,canRead:d}}=(0,s.ss)(L.Z.settings["api-tokens"]),{push:I}=(0,U.k6)(),{trackUsage:a}=(0,s.rS)(),{startSection:c}=(0,s.c1)(),m=(0,e.useRef)(c),{get:E,del:p}=(0,s.kY)();(0,e.useEffect)(()=>{m.current&&m.current("apiTokens")},[]),(0,e.useEffect)(()=>{I({search:k().stringify({sort:"name:ASC"},{encode:!1})})},[I]);const g=Z.map(o=>({...o,metadatas:{...o.metadatas,label:u(o.metadatas.label)}})),{data:l,status:f,isFetching:T}=(0,A.useQuery)(["api-tokens"],async()=>{a("willAccessTokenList",{tokenType:h.Z});const{data:{data:o}}=await E("/admin/api-tokens");return a("didAccessTokenList",{number:o.length,tokenType:h.Z}),o},{enabled:d,onError(){S({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),R=d&&(f!=="success"&&f!=="error"||f==="success"&&T),N=(0,A.useMutation)(async o=>{await p(`/admin/api-tokens/${o}`)},{async onSuccess(){await b.invalidateQueries(["api-tokens"]),a("didDeleteToken")},onError(o){o?.response?.data?.data?S({type:"warning",message:o.response.data.data}):S({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),B=d&&l,j=d&&!l&&!D,W=d&&!l&&D;return e.createElement(V.o,{"aria-busy":R},e.createElement(s.SL,{name:"API Tokens"}),e.createElement(i.T,{title:u({id:"Settings.apiTokens.title",defaultMessage:"API Tokens"}),subtitle:u({id:"Settings.apiTokens.description",defaultMessage:"List of generated tokens to consume the API"}),primaryAction:D?e.createElement(s.Qj,{"data-testid":"create-api-token-button",startIcon:e.createElement(M.Z,null),size:"S",onClick:()=>a("willAddTokenFromList",{tokenType:h.Z}),to:"/settings/api-tokens/create"},u({id:"Settings.apiTokens.create",defaultMessage:"Create new API Token"})):void 0}),e.createElement(x.D,null,!d&&e.createElement(s.ZF,null),B&&e.createElement($.Z,{permissions:{canRead:d,canDelete:P,canUpdate:H},headers:g,contentType:"api-tokens",rows:l,isLoading:R,onConfirmDelete:o=>N.mutateAsync(o),tokens:l,tokenType:h.Z}),W&&e.createElement(s.dJ,{content:{id:"Settings.apiTokens.addFirstToken",defaultMessage:"Add your first API Token"},action:e.createElement(O.z,{variant:"secondary",startIcon:e.createElement(M.Z,null)},u({id:"Settings.apiTokens.addNewToken",defaultMessage:"Add new API Token"}))}),j&&e.createElement(s.dJ,{content:{id:"Settings.apiTokens.emptyStateLayout",defaultMessage:"You don\u2019t have any content yet..."}})))},C=()=>e.createElement(s.O4,{permissions:L.Z.settings["api-tokens"].main},e.createElement(Q,null))}}]);