@strapi/admin 4.14.4 → 4.14.6

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 (235) hide show
  1. package/admin/.eslintrc.js +12 -0
  2. package/admin/custom.d.ts +20 -0
  3. package/admin/src/StrapiApp.js +14 -16
  4. package/admin/src/components/AuthenticatedApp/index.js +4 -4
  5. package/admin/src/components/ConfigurationProvider.tsx +67 -0
  6. package/admin/src/components/LanguageProvider.tsx +129 -0
  7. package/admin/src/components/{LeftMenu/index.js → LeftMenu.tsx} +23 -18
  8. package/admin/src/components/{NpsSurvey/index.js → NpsSurvey.tsx} +68 -21
  9. package/admin/src/components/PluginsInitializer.tsx +124 -0
  10. package/admin/src/components/Providers/index.js +6 -6
  11. package/admin/src/components/UnauthenticatedLogo.tsx +2 -2
  12. package/admin/src/components/{LocalesProvider/__mocks__/useLocalesProvider.js → __mocks__/LanguageProvider.js} +1 -1
  13. package/admin/src/content-manager/components/BlocksEditor/BlocksInput/index.js +48 -8
  14. package/admin/src/content-manager/components/BlocksEditor/Toolbar/index.js +146 -68
  15. package/admin/src/content-manager/components/BlocksEditor/hooks/useBlocksStore.js +50 -47
  16. package/admin/src/content-manager/components/BlocksEditor/hooks/useModifiersStore.js +11 -9
  17. package/admin/src/content-manager/components/BlocksEditor/index.js +1 -14
  18. package/admin/src/contexts/admin.ts +18 -0
  19. package/admin/src/contexts/configuration.ts +14 -4
  20. package/admin/src/hooks/__mocks__/useConfigurations.ts +2 -2
  21. package/admin/src/hooks/index.js +0 -3
  22. package/admin/src/hooks/{useAdminRoles/index.js → useAdminRoles.ts} +26 -10
  23. package/admin/src/hooks/useAdminUsers.ts +64 -0
  24. package/admin/src/hooks/useConfiguration.ts +5 -0
  25. package/admin/src/hooks/{useEnterprise/useEnterprise.js → useEnterprise.ts} +15 -5
  26. package/admin/src/hooks/useMenu.ts +153 -0
  27. package/admin/src/index.js +5 -2
  28. package/admin/src/layouts/UnauthenticatedLayout/LocaleToggle/index.js +2 -2
  29. package/admin/src/pages/Admin/index.js +4 -3
  30. package/admin/src/pages/App/index.js +5 -3
  31. package/admin/src/pages/AuthPage/components/Register/index.js +28 -33
  32. package/admin/src/pages/AuthPage/index.js +2 -2
  33. package/admin/src/pages/ProfilePage/index.js +2 -2
  34. package/admin/src/pages/SettingsPage/components/Tokens/Table/index.js +119 -87
  35. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/CustomizationInfos/index.js +2 -2
  36. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +2 -2
  37. package/admin/src/pages/SettingsPage/pages/Roles/CreatePage/index.js +1 -1
  38. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ConditionsModal/index.js +1 -1
  39. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/Collapse/index.js +1 -1
  40. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/ActionRow/index.js +1 -1
  41. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/ContentTypeCollapse/CollapsePropertyMatrix/SubActionRow/index.js +1 -1
  42. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/GlobalActions/index.js +1 -1
  43. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PermissionsDataManagerProvider/index.js +1 -1
  44. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/components/PluginsAndSettings/SubCategory/index.js +1 -1
  45. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/hooks/usePermissionsDataManager.ts +28 -0
  46. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +1 -1
  47. package/admin/src/{hooks/useAdminRolePermissions/index.js → pages/SettingsPage/pages/Roles/hooks/useAdminRolePermissions.ts} +13 -6
  48. package/admin/src/pages/SettingsPage/pages/TransferTokens/ListView/index.js +3 -5
  49. package/admin/src/shared/hooks/index.js +0 -1
  50. package/admin/src/shared/hooks/useInjectionZone/index.js +2 -2
  51. package/admin/src/types/adminAPI.ts +29 -0
  52. package/admin/src/utils/createRoute.js +4 -1
  53. package/admin/tsconfig.build.json +4 -0
  54. package/admin/tsconfig.json +7 -1
  55. package/build/{1049.f7aed23d.chunk.js → 1049.9236e785.chunk.js} +1 -1
  56. package/build/1222.fe92c653.chunk.js +35 -0
  57. package/build/{1227.f9c74718.chunk.js → 1227.e0f7447b.chunk.js} +1 -1
  58. package/build/135.ad267b59.chunk.js +1 -0
  59. package/build/{1386.6b8819c6.chunk.js → 1386.07f2bbb3.chunk.js} +1 -1
  60. package/build/1835.eaa696ba.chunk.js +1 -0
  61. package/build/{2225.d1bcf7e3.chunk.js → 2225.a2147b8f.chunk.js} +2 -2
  62. package/build/2325.d705b39a.chunk.js +1 -0
  63. package/build/2379.b0bc4013.chunk.js +1 -0
  64. package/build/{2395.aca6ce66.chunk.js → 2395.d37b1025.chunk.js} +1 -1
  65. package/build/2421.79e5b3d0.chunk.js +1 -0
  66. package/build/267.073a3bcb.chunk.js +1 -0
  67. package/build/2801.12522720.chunk.js +1 -0
  68. package/build/2878.145ebf7c.chunk.js +1 -0
  69. package/build/2950.216f2e89.chunk.js +1 -0
  70. package/build/2953.284a63c0.chunk.js +1 -0
  71. package/build/{8743.31c921b1.chunk.js → 3019.0d74d080.chunk.js} +123 -139
  72. package/build/3021.33ad47fb.chunk.js +103 -0
  73. package/build/{3483.5df8e010.chunk.js → 3483.8f1b25f8.chunk.js} +1 -1
  74. package/build/3911.488fbde3.chunk.js +95 -0
  75. package/build/{4174.df9aa09a.chunk.js → 4174.2c4f958e.chunk.js} +1 -1
  76. package/build/4429.7f044dc7.chunk.js +1 -0
  77. package/build/4555.c883d697.chunk.js +1 -0
  78. package/build/4663.b906cc10.chunk.js +1 -0
  79. package/build/4916.480053a6.chunk.js +1 -0
  80. package/build/4996.d285c30b.chunk.js +1 -0
  81. package/build/502.b845473a.chunk.js +1 -0
  82. package/build/5858.493b31ec.chunk.js +1 -0
  83. package/build/6345.334e7678.chunk.js +1 -0
  84. package/build/6373.1a21d665.chunk.js +105 -0
  85. package/build/6453.4160b5b7.chunk.js +1 -0
  86. package/build/7448.6fd14dd3.chunk.js +1 -0
  87. package/build/7464.91341b4f.chunk.js +1 -0
  88. package/build/7735.9e7c9fdd.chunk.js +10 -0
  89. package/build/782.7243b183.chunk.js +1 -0
  90. package/build/7849.2a500ed8.chunk.js +1 -0
  91. package/build/7897.dffa5ad5.chunk.js +6 -0
  92. package/build/8162.7d1100a0.chunk.js +1 -0
  93. package/build/{8276.d4426fd8.chunk.js → 8276.e9698944.chunk.js} +2 -2
  94. package/build/8894.5ca4852a.chunk.js +26 -0
  95. package/build/8980.f0045cc1.chunk.js +1 -0
  96. package/build/9153.42c1428a.chunk.js +1 -0
  97. package/build/{9218.8bc01ab9.chunk.js → 9218.306ad178.chunk.js} +1 -1
  98. package/build/9285.5f174057.chunk.js +1 -0
  99. package/build/9302.550cf5b7.chunk.js +146 -0
  100. package/build/9547.62987774.chunk.js +1 -0
  101. package/build/9754.b4e73779.chunk.js +1 -0
  102. package/build/Admin-authenticatedApp.e0bf203f.chunk.js +79 -0
  103. package/build/{Admin_InternalErrorPage.b66ee9c1.chunk.js → Admin_InternalErrorPage.e2431a95.chunk.js} +1 -1
  104. package/build/Admin_homePage.71ef8d06.chunk.js +81 -0
  105. package/build/{Admin_marketplace.31b962b8.chunk.js → Admin_marketplace.0db78604.chunk.js} +1 -1
  106. package/build/{Admin_pluginsPage.9217101d.chunk.js → Admin_pluginsPage.1083f7f0.chunk.js} +1 -1
  107. package/build/{Admin_profilePage.680123d9.chunk.js → Admin_profilePage.61704b7d.chunk.js} +2 -2
  108. package/build/Admin_settingsPage.39cb9fca.chunk.js +111 -0
  109. package/build/{Upload_ConfigureTheView.b40eea4d.chunk.js → Upload_ConfigureTheView.3cfeb108.chunk.js} +1 -1
  110. package/build/admin-app.06f5e70a.chunk.js +69 -0
  111. package/build/admin-edit-roles-page.556fac52.chunk.js +267 -0
  112. package/build/admin-edit-users.64fd1318.chunk.js +10 -0
  113. package/build/admin-roles-list.15918328.chunk.js +22 -0
  114. package/build/admin-users.74fddc87.chunk.js +11 -0
  115. package/build/{api-tokens-create-page.0dd63e91.chunk.js → api-tokens-create-page.c08ae118.chunk.js} +1 -1
  116. package/build/{api-tokens-edit-page.78d877f8.chunk.js → api-tokens-edit-page.ce18efdc.chunk.js} +1 -1
  117. package/build/api-tokens-list-page.783b7569.chunk.js +16 -0
  118. package/build/audit-logs-settings-page.12aeea8c.chunk.js +1 -0
  119. package/build/content-manager.2e3f660b.chunk.js +1220 -0
  120. package/build/{content-type-builder-list-view.3fffae65.chunk.js → content-type-builder-list-view.38ed3935.chunk.js} +7 -7
  121. package/build/{content-type-builder.98c71164.chunk.js → content-type-builder.758a9d23.chunk.js} +4 -4
  122. package/build/email-settings-page.e08a587e.chunk.js +11 -0
  123. package/build/{i18n-settings-page.a9708926.chunk.js → i18n-settings-page.3186e3e9.chunk.js} +1 -1
  124. package/build/index.html +1 -1
  125. package/build/main.00ea6f5a.js +2665 -0
  126. package/build/{review-workflows-settings-create-view.b7b0c6c5.chunk.js → review-workflows-settings-create-view.5cdc4d64.chunk.js} +1 -1
  127. package/build/{review-workflows-settings-edit-view.c331b3fe.chunk.js → review-workflows-settings-edit-view.53bf7865.chunk.js} +1 -1
  128. package/build/review-workflows-settings-list-view.b4a8aefb.chunk.js +56 -0
  129. package/build/runtime~main.be0e0649.js +2 -0
  130. package/build/sso-settings-page.6a35d473.chunk.js +1 -0
  131. package/build/{transfer-tokens-create-page.e7f541d3.chunk.js → transfer-tokens-create-page.2662d519.chunk.js} +1 -1
  132. package/build/{transfer-tokens-edit-page.bd1276c2.chunk.js → transfer-tokens-edit-page.f64d8d8c.chunk.js} +1 -1
  133. package/build/transfer-tokens-list-page.e6fd5f87.chunk.js +16 -0
  134. package/build/{upload-settings.97ef4c92.chunk.js → upload-settings.450a1de0.chunk.js} +1 -1
  135. package/build/{upload.f08715a1.chunk.js → upload.0d53e7a3.chunk.js} +1 -1
  136. package/build/{users-advanced-settings-page.36a3c363.chunk.js → users-advanced-settings-page.4a1f1f6d.chunk.js} +1 -1
  137. package/build/users-email-settings-page.ea81fe82.chunk.js +9 -0
  138. package/build/users-providers-settings-page.10280cdb.chunk.js +14 -0
  139. package/build/{users-roles-settings-page.d5a8e8a1.chunk.js → users-roles-settings-page.4a7158be.chunk.js} +1 -1
  140. package/build/{webhook-edit-page.87456194.chunk.js → webhook-edit-page.65ac30ee.chunk.js} +2 -2
  141. package/build/{webhook-list-page.c88a382b.chunk.js → webhook-list-page.f57285ca.chunk.js} +1 -1
  142. package/jest.config.front.js +4 -0
  143. package/package.json +23 -17
  144. package/scripts/build.js +1 -1
  145. package/server/controllers/admin.js +3 -2
  146. package/shared/entities.ts +33 -0
  147. package/shared/permissions.ts +52 -0
  148. package/admin/src/components/ConfigurationsProvider/index.js +0 -66
  149. package/admin/src/components/ConfigurationsProvider/reducer.js +0 -29
  150. package/admin/src/components/LanguageProvider/index.js +0 -54
  151. package/admin/src/components/LanguageProvider/init.js +0 -13
  152. package/admin/src/components/LanguageProvider/reducer.js +0 -30
  153. package/admin/src/components/LanguageProvider/utils/localStorageKey.js +0 -3
  154. package/admin/src/components/LocalesProvider/context.js +0 -5
  155. package/admin/src/components/LocalesProvider/index.js +0 -21
  156. package/admin/src/components/LocalesProvider/useLocalesProvider.js +0 -11
  157. package/admin/src/components/NpsSurvey/hooks/useNpsSurveySettings.js +0 -17
  158. package/admin/src/components/PluginsInitializer/index.js +0 -68
  159. package/admin/src/components/PluginsInitializer/init.js +0 -11
  160. package/admin/src/components/PluginsInitializer/reducer.js +0 -22
  161. package/admin/src/contexts/Admin/index.js +0 -5
  162. package/admin/src/contexts/MarketPlace/index.js +0 -18
  163. package/admin/src/contexts/PermisssionsDataManagerContext/index.js +0 -5
  164. package/admin/src/contexts/index.js +0 -3
  165. package/admin/src/hooks/useAdminRoles/__mocks__/index.js +0 -5
  166. package/admin/src/hooks/useAdminUsers/index.js +0 -1
  167. package/admin/src/hooks/useAdminUsers/useAdminUsers.js +0 -47
  168. package/admin/src/hooks/useConfigurations.ts +0 -5
  169. package/admin/src/hooks/useEnterprise/index.js +0 -1
  170. package/admin/src/hooks/useMenu/index.js +0 -86
  171. package/admin/src/hooks/useMenu/utils/checkPermissions.js +0 -13
  172. package/admin/src/hooks/useMenu/utils/getGeneralLinks.js +0 -31
  173. package/admin/src/hooks/useMenu/utils/getPluginSectionLinks.js +0 -17
  174. package/admin/src/hooks/usePermissionsDataManager/index.js +0 -7
  175. package/admin/src/shared/hooks/useAdminProvider/index.js +0 -11
  176. package/build/2224.8af54440.chunk.js +0 -138
  177. package/build/2379.f0baf826.chunk.js +0 -1
  178. package/build/2421.a478ba24.chunk.js +0 -105
  179. package/build/2801.c49f88a1.chunk.js +0 -1
  180. package/build/3911.d4fada48.chunk.js +0 -95
  181. package/build/412.72afdf0c.chunk.js +0 -689
  182. package/build/502.8666bbef.chunk.js +0 -25
  183. package/build/5702.5b433d50.chunk.js +0 -1
  184. package/build/6186.c33ce082.chunk.js +0 -116
  185. package/build/6715.48e37308.chunk.js +0 -1
  186. package/build/6812.00ef5b0d.chunk.js +0 -26
  187. package/build/7464.43a4527c.chunk.js +0 -1
  188. package/build/7818.d2196a53.chunk.js +0 -29
  189. package/build/7897.5c03247b.chunk.js +0 -25
  190. package/build/8690.33243bba.chunk.js +0 -38
  191. package/build/Admin-authenticatedApp.27545a1b.chunk.js +0 -112
  192. package/build/Admin_homePage.a6281dd6.chunk.js +0 -124
  193. package/build/Admin_settingsPage.33378310.chunk.js +0 -111
  194. package/build/admin-app.e8c52c37.chunk.js +0 -36
  195. package/build/admin-edit-roles-page.fcf056bf.chunk.js +0 -275
  196. package/build/admin-edit-users.89efe3c4.chunk.js +0 -10
  197. package/build/admin-roles-list.8b77704a.chunk.js +0 -22
  198. package/build/admin-users.e3f1be14.chunk.js +0 -19
  199. package/build/api-tokens-list-page.ae13346c.chunk.js +0 -16
  200. package/build/audit-logs-settings-page.e9c92a75.chunk.js +0 -9
  201. package/build/content-manager.5849dbe3.chunk.js +0 -1226
  202. package/build/email-settings-page.ecfec9b3.chunk.js +0 -11
  203. package/build/email-translation-ar-json.88304564.chunk.js +0 -1
  204. package/build/email-translation-cs-json.6eaeec6a.chunk.js +0 -1
  205. package/build/email-translation-de-json.1b334230.chunk.js +0 -1
  206. package/build/email-translation-dk-json.85402492.chunk.js +0 -1
  207. package/build/email-translation-en-json.4211d4d0.chunk.js +0 -1
  208. package/build/email-translation-es-json.0b6b1006.chunk.js +0 -1
  209. package/build/email-translation-fr-json.78be2787.chunk.js +0 -1
  210. package/build/email-translation-id-json.c97239fe.chunk.js +0 -1
  211. package/build/email-translation-it-json.a2ed8c78.chunk.js +0 -1
  212. package/build/email-translation-ja-json.63eebd02.chunk.js +0 -1
  213. package/build/email-translation-ko-json.4de49b23.chunk.js +0 -1
  214. package/build/email-translation-ms-json.7390477e.chunk.js +0 -1
  215. package/build/email-translation-nl-json.377bdd9f.chunk.js +0 -1
  216. package/build/email-translation-pl-json.97d0db97.chunk.js +0 -1
  217. package/build/email-translation-pt-BR-json.81cca553.chunk.js +0 -1
  218. package/build/email-translation-pt-json.2a2a0643.chunk.js +0 -1
  219. package/build/email-translation-ru-json.6bce37dd.chunk.js +0 -1
  220. package/build/email-translation-sk-json.53da2fcd.chunk.js +0 -1
  221. package/build/email-translation-th-json.660fa9a8.chunk.js +0 -1
  222. package/build/email-translation-tr-json.e6c0f8fc.chunk.js +0 -1
  223. package/build/email-translation-uk-json.bd1fb6bf.chunk.js +0 -1
  224. package/build/email-translation-vi-json.9fb7e6d7.chunk.js +0 -1
  225. package/build/email-translation-zh-Hans-json.c6841563.chunk.js +0 -1
  226. package/build/email-translation-zh-json.7a2232ea.chunk.js +0 -1
  227. package/build/main.3abb6f34.js +0 -3278
  228. package/build/review-workflows-settings-list-view.70218dc1.chunk.js +0 -75
  229. package/build/runtime~main.450561b1.js +0 -2
  230. package/build/sso-settings-page.1a9e7f8f.chunk.js +0 -1
  231. package/build/transfer-tokens-list-page.5de6bb9f.chunk.js +0 -16
  232. package/build/users-email-settings-page.47b47962.chunk.js +0 -149
  233. package/build/users-providers-settings-page.1e0c8376.chunk.js +0 -154
  234. /package/admin/src/hooks/{useAdminUsers/__mocks__/index.js → __mocks__/useAdminUsers.ts} +0 -0
  235. /package/admin/src/{hooks/useAdminRolePermissions/__mocks__/index.js → pages/SettingsPage/pages/Roles/hooks/__mocks__/useAdminRolePermissions.ts} +0 -0
@@ -0,0 +1,267 @@
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2544],{86434:function(U,L,o){"use strict";o.d(L,{F:function(){return O}});var e=o(32735),h=o(59407),P=o(67879),E=o(20108);const O=(T={},R={})=>{const{id:v="",...S}=T,{get:V}=(0,h.kY)(),{locale:a}=(0,P.Z)(),Z=(0,h.Xe)(a,{sensitivity:"base"}),{data:m,error:M,isError:F,isLoading:g,refetch:b}=(0,E.useQuery)(["roles",v,S],async()=>{const{data:Q}=await V(`/admin/roles/${v??""}`,{params:S});return Q},R);return{roles:e.useMemo(()=>{let Q=[];return m&&(Array.isArray(m.data)?Q=m.data:Q=[m.data]),[...Q].sort((oe,ee)=>Z.compare(oe.name,ee.name))},[m,Z]),error:M,isError:F,isLoading:g,refetch:b}}},36658:function(U,L,o){"use strict";o.d(L,{V:function(){return P}});var e=o(59407),h=o(20108);const P=(E={id:null},O={})=>{const{id:T,...R}=E,{get:v}=(0,e.kY)(),{data:S,error:V,isError:a,isLoading:Z,refetch:m}=(0,h.useQuery)(["roles",T,"permissions",R],async()=>{const{data:{data:M}}=await v(`/admin/roles/${T}/permissions`,{params:R});return M},O);return{permissions:S,error:V,isError:a,isLoading:Z,refetch:m}}},15570:function(U,L,o){"use strict";o.r(L),o.d(L,{CreatePage:function(){return me},default:function(){return Ae}});var e=o(32735),h=o(95162),P=o(64092),E=o(84642),O=o(91779),T=o(56932),R=o(77981),v=o(8365),S=o(10710),V=o(97037),a=o(2846),Z=o(15367),m=o(59407),M=o(70788),F=o(14723),g=o(92802),b=o(86834),z=o.n(b),Q=o(67879),oe=o(15062),ee=o(53038),C=o(8471),de=o(30305),J=o(93985),te=o(91720),Y=o(36658),ue=o(24346),Le=ue.Ry().shape({name:ue.Z_().required(m.I0.required),description:ue.Z_().required(m.I0.required)});const ce=C.ZP.div`
2
+ border: 1px solid ${({theme:X})=>X.colors.primary200};
3
+ background: ${({theme:X})=>X.colors.primary100};
4
+ padding: ${({theme:X})=>`${X.spaces[2]} ${X.spaces[4]}`};
5
+ color: ${({theme:X})=>X.colors.primary600};
6
+ border-radius: ${({theme:X})=>X.borderRadius};
7
+ font-size: ${12/16}rem;
8
+ font-weight: bold;
9
+ `,me=()=>{const X=(0,ee.$B)("/settings/roles/duplicate/:id"),xe=(0,m.lm)(),{lockApp:N,unlockApp:w}=(0,m.o1)(),{formatMessage:j}=(0,Q.Z)(),[_,re]=(0,e.useState)(!1),{replace:ye}=(0,ee.k6)(),G=(0,e.useRef)(),{trackUsage:Pe}=(0,m.rS)(),{post:he,put:Be}=(0,m.kY)(),{params:Ce}=X??{},{isLoading:Ze,data:Fe}=(0,te.d)(Ce?.id,{cacheTime:0}),{permissions:pe,isLoading:Te}=(0,Y.V)({id:Ce?.id},{cacheTime:0,enabled:!!Ce?.id}),Ne=Se=>{N(),re(!0),Ce?.id?Pe("willDuplicateRole"):Pe("willCreateNewRole"),Promise.resolve(he("/admin/roles",Se)).then(async({data:ae})=>{const{permissionsToSend:le}=G.current.getPermissions();return Ce?.id?Pe("didDuplicateRole"):Pe("didCreateNewRole"),ae.data.id&&!z()(le)&&await Be(`/admin/roles/${ae.data.id}/permissions`,{permissions:le}),ae}).then(ae=>{re(!1),xe({type:"success",message:{id:"Settings.roles.created",defaultMessage:"created"}}),ye(`/settings/roles/${ae.data.id}`)}).catch(ae=>{console.error(ae),re(!1),xe({type:"warning",message:{id:"notification.error"}})}).finally(()=>{w()})},We=`${j({id:"Settings.roles.form.created",defaultMessage:"Created"})} ${(0,F.Z)(new Date,"PPP")}`;return e.createElement(h.o,null,e.createElement(m.SL,{name:"Roles"}),e.createElement(g.J9,{initialValues:{name:"",description:We},onSubmit:Ne,validationSchema:Le,validateOnChange:!1},({handleSubmit:Se,values:ae,errors:le,handleReset:ve,handleChange:ne})=>e.createElement(m.l0,{noValidate:!0},e.createElement(e.Fragment,null,e.createElement(P.T,{primaryAction:e.createElement(E.k,{gap:2},e.createElement(O.z,{variant:"secondary",onClick:()=>{ve(),G.current.resetForm()},size:"L"},j({id:"app.components.Button.reset",defaultMessage:"Reset"})),e.createElement(O.z,{onClick:Se,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(m.rU,{startIcon:e.createElement(M.Z,null),to:"/settings/roles"},j({id:"global.back",defaultMessage:"Back"}))}),e.createElement(T.D,null,e.createElement(E.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(R.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(E.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(E.k,{justifyContent:"space-between"},e.createElement(R.x,null,e.createElement(R.x,null,e.createElement(v.Z,{fontWeight:"bold"},j({id:"global.details",defaultMessage:"Details"}))),e.createElement(R.x,null,e.createElement(v.Z,{variant:"pi",textColor:"neutral600"},j({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(ce,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(S.r,{gap:4},e.createElement(V.P,{col:6},e.createElement(a.o,{name:"name",error:le.name&&j({id:le.name}),label:j({id:"global.name",defaultMessage:"Name"}),onChange:ne,required:!0,value:ae.name})),e.createElement(V.P,{col:6},e.createElement(Z.g,{label:j({id:"global.description",defaultMessage:"Description"}),id:"description",error:le.description&&j({id:le.description}),onChange:ne},ae.description))))),!Ze&&!Te?e.createElement(R.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(J.Z,{isFormDisabled:!1,ref:G,permissions:pe,layout:Fe})):e.createElement(R.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(m.dO,null))))))))};function Ae(){const X=(0,oe.v9)(de._);return e.createElement(m.O4,{permissions:X.settings.roles.create},e.createElement(me,null))}},93985:function(U,L,o){"use strict";o.d(L,{Z:function(){return ts}});var e=o(32735),h=o(49854),P=o(89599),E=o(8623),O=o(59407),T=o(23973),R=o.n(T),v=o(86834),S=o.n(v),V=o(60216),a=o.n(V),Z=o(67879),m=o(77981),M=o(98978),F=o.n(M),g=o(8471),b=o(84642),z=o(96669),Q=o(76884),oe=o(30465),ee=o(33795),C=o.n(ee),de=o(9086),J=o.n(de);const te=e.createContext(null),Y=()=>e.useContext(te);var ue=o(91779),be=o(19594);const Le=g.ZP.div`
10
+ position: relative;
11
+
12
+ ${({hasConditions:t,disabled:n,theme:r})=>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?r.colors.neutral100:r.colors.primary600};
22
+ }
23
+ `}
24
+ `,ce=({onClick:t,className:n,hasConditions:r,variant:s})=>{const{formatMessage:i}=(0,Z.Z)();return e.createElement(Le,{hasConditions:r,className:n},e.createElement(ue.z,{variant:s,startIcon:e.createElement(be.Z,null),onClick:t},i({id:"global.settings",defaultMessage:"Settings"})))};ce.defaultProps={className:null,hasConditions:!1,variant:"tertiary"},ce.propTypes={onClick:a().func.isRequired,className:a().string,hasConditions:a().bool,variant:a().string};var me=(0,g.ZP)(ce)``,Ae=o(21223),X=o(98887),xe=o(87674),N=o(8365),w=o(74973),j=o(79129),_=o(2748),re=o(97889),ye=o(81346),G=o.n(ye),Pe=o(23940),he=o.n(Pe),Be=o(63057);const Ce=t=>Object.values(t).map(n=>Object.entries(n).filter(([,r])=>r).map(([r])=>r)).flat(),Ze=t=>t.reduce((n,[r,s])=>(n.push({label:he()(r),children:s.map(i=>({label:i.displayName,value:i.id}))}),n),[]),Fe=(t,n)=>t.map(([,r])=>r).flat().reduce((r,s)=>({[s.id]:n.includes(s.id),...r}),{}),pe=({arrayOfOptionsGroupedByCategory:t,isFormDisabled:n,isGrey:r,label:s,name:i,onChange:l,value:c})=>{const{formatMessage:d}=(0,Z.Z)(),p=u=>{l(i,Fe(t,u))};return e.createElement(b.k,{as:"li",background:r?"neutral100":"neutral0",paddingBottom:3,paddingTop:3},e.createElement(b.k,{paddingLeft:6,style:{width:180}},e.createElement(N.Z,{variant:"sigma",textColor:"neutral600"},d({id:"Settings.permissions.conditions.can",defaultMessage:"Can"}),"\xA0"),e.createElement(N.Z,{variant:"sigma",title:s,textColor:"primary600",ellipsis:!0},d({id:`Settings.roles.form.permissions.${s.toLowerCase()}`,defaultMessage:s})),e.createElement(N.Z,{variant:"sigma",textColor:"neutral600"},"\xA0",d({id:"Settings.permissions.conditions.when",defaultMessage:"When"}))),e.createElement(m.x,{style:{maxWidth:430,width:"100%"}},e.createElement(Be.Q,{id:i,customizeContent:u=>`${u.length} currently selected`,onChange:p,value:Ce(c),options:Ze(t),disabled:n})))};pe.propTypes={arrayOfOptionsGroupedByCategory:a().array.isRequired,isFormDisabled:a().bool.isRequired,isGrey:a().bool.isRequired,label:a().string.isRequired,name:a().string.isRequired,value:a().object.isRequired,onChange:a().func.isRequired};var Te=pe;const Ne=(t,n)=>t.reduce((r,s)=>(r[s.id]=C()(n,s.id,!1),r),{}),We=(t,n)=>t.reduce((r,s)=>{const[i,l]=s,c=Ne(l,n);return r[i]=c,r},{});var ae=(t,n,r)=>t.reduce((s,i)=>{const l=C()(n,[...i.pathToConditionsObject,"conditions"],{}),c=We(r,l);return s[i.pathToConditionsObject.join("..")]=c,s},{});const le=({actions:t,headerBreadCrumbs:n,isFormDisabled:r,onClosed:s,onToggle:i})=>{const{formatMessage:l}=(0,Z.Z)(),{availableConditions:c,modifiedData:d,onChangeConditions:p}=Y(),u=(0,e.useMemo)(()=>Object.entries(G()(c,"category")),[c]),f=t.filter(({isDisplayed:y,hasSomeActionsSelected:k,hasAllActionsSelected:D})=>y&&(k||D)),x=(0,e.useMemo)(()=>ae(f,d,u),[f,d,u]),[$,W]=(0,e.useState)(x),I=(y,k)=>{W((0,re.ZP)(D=>{D[y]||(D[y]={}),D[y].default||(D[y].default={}),D[y].default=k}))},A=()=>{const y=Object.entries($).reduce((k,D)=>{const[B,se]=D,H=Object.values(se).reduce((q,K)=>({...q,...K}),{});return k[B]=H,k},{});p(y),i()};return e.createElement(Ae.P,{labelledBy:"condition-modal-breadcrumbs",onClose:s},e.createElement(X.x,null,e.createElement(j.O,{id:"condition-modal-breadcrumbs",label:n.join(", ")},n.map((y,k,D)=>e.createElement(_.$,{isCurrent:k===D.length-1,key:y},he()(l({id:y,defaultMessage:y})))))),e.createElement(xe.f,null,f.length===0&&e.createElement(N.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,f.map(({actionId:y,label:k,pathToConditionsObject:D},B)=>{const se=D.join("..");return e.createElement(Te,{key:y,arrayOfOptionsGroupedByCategory:u,label:k,isFormDisabled:r,isGrey:B%2===0,name:se,onChange:I,value:C()($,se,{})})}))),e.createElement(w.m,{startActions:e.createElement(ue.z,{variant:"tertiary",onClick:i},l({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(ue.z,{onClick:A},l({id:"Settings.permissions.conditions.apply",defaultMessage:"Apply"}))}))};le.propTypes={actions:a().arrayOf(a().shape({actionId:a().string.isRequired,checkboxName:a().string,hasSomeActionsSelected:a().bool.isRequired,hasAllActionsSelected:a().bool,isDisplayed:a().bool.isRequired,label:a().string})).isRequired,headerBreadCrumbs:a().arrayOf(a().string).isRequired,isFormDisabled:a().bool.isRequired,onClosed:a().func.isRequired,onToggle:a().func.isRequired};var ve=le;const ne=`${120/16}rem`,Me=`${200/16}rem`,je=`${53/16}rem`;var Ge=g.ZP.div`
25
+ width: ${ne};
26
+ `,at=(0,g.ZP)(b.k)`
27
+ padding-right: ${({theme:t})=>t.spaces[2]};
28
+ overflow: hidden;
29
+ flex: 1;
30
+ ${({isCollapsable:t})=>t&&"cursor: pointer;"}
31
+ `;const ze=({children:t,isCollapsable:n,isActive:r,isFormDisabled:s,label:i,onChange:l,onClick:c,checkboxName:d,someChecked:p,value:u})=>{const{formatMessage:f}=(0,Z.Z)();return e.createElement(b.k,{alignItems:"center",paddingLeft:6,style:{width:Me,flexShrink:0}},e.createElement(m.x,{paddingRight:2},e.createElement(z.C,{name:d,"aria-label":f({id:"Settings.permissions.select-all-by-permission",defaultMessage:"Select all {label} permissions"},{label:i}),disabled:s,onValueChange:x=>l({target:{name:d,value:x}}),indeterminate:p,value:u})),e.createElement(at,{title:i,alignItems:"center",isCollapsable:n,...n&&{onClick:c,"aria-expanded":r,onKeyDown:({key:x})=>(x==="Enter"||x===" ")&&c(),tabIndex:0,role:"button"}},e.createElement(N.Z,{fontWeight:r?"bold":"",textColor:r?"primary600":"neutral800",ellipsis:!0},he()(i)),t))};ze.defaultProps={children:null,checkboxName:"",onChange(){},value:!1,someChecked:!1,isCollapsable:!1},ze.propTypes={checkboxName:a().string,children:a().node,label:a().string.isRequired,isCollapsable:a().bool,isFormDisabled:a().bool.isRequired,onChange:a().func,onClick:a().func.isRequired,someChecked:a().bool,value:a().bool,isActive:a().bool.isRequired};var it=(0,e.memo)(ze),Wt=o(72091),Vt=o.n(Wt),Kt=o(85973),Re=o.n(Kt);const lt=t=>Re()(t)?Vt()(Object.values(t).map(n=>Re()(n)?lt(n):n)):[];var Ie=lt,Ye=t=>t?Object.keys(t).reduce((n,r)=>(r!=="conditions"&&(n[r]=t[r]),n),{}):null,Oe=t=>{const n=Ye(t),r=Ie(n);if(!r.length)return{hasAllActionsSelected:!1,hasSomeActionsSelected:!1};const s=r.every(l=>l),i=r.some(l=>l)&&!s;return{hasAllActionsSelected:s,hasSomeActionsSelected:i}},Ut=o(91917),Ve=(0,g.ZP)(Ut.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
+ `,Ke=t=>`
37
+ ${N.Z} {
38
+ color: ${t.colors.primary600};
39
+ font-weight: ${t.fontWeights.bold}
40
+ }
41
+ ${Ve} {
42
+ display: block;
43
+ path {
44
+ fill: ${t.colors.primary600}
45
+ };
46
+ }
47
+ `,Ht=(t,n,r)=>t.map(({actionId:s,isDisplayed:i,applyToProperties:l,label:c})=>{if(!i)return{actionId:s,hasSomeActionsSelected:!1,isDisplayed:i};const d=[...r.split(".."),s],p=S()(l)?[...d,"properties","enabled"]:d,u=p.join(".."),f=C()(n,[...d,"conditions"],null),x=Ie(f).some(A=>A);if(S()(l)){const A=C()(n,p,!1);return{actionId:s,checkboxName:u,hasAllActionsSelected:A,hasConditions:x,hasSomeActionsSelected:A,isDisplayed:i,isParentCheckbox:!1,label:c,pathToConditionsObject:d}}const $=C()(n,p,null),{hasAllActionsSelected:W,hasSomeActionsSelected:I}=Oe($);return{actionId:s,checkboxName:u,hasAllActionsSelected:W,hasConditions:x,hasSomeActionsSelected:I,isDisplayed:i,isParentCheckbox:!0,label:c,pathToConditionsObject:d}});const Xe=(t,n)=>`
48
+ ${ct} {
49
+ background-color: ${t.colors.primary100};
50
+ color: ${t.colors.primary600};
51
+ border-radius: ${n?"2px 2px 0 0":"2px"};
52
+ }
53
+ ${ut} {
54
+ display: flex;
55
+ }
56
+ ${me} {
57
+ display: block;
58
+ }
59
+ &:hover {
60
+ ${Ke(t)}
61
+ }
62
+
63
+ &:focus-within {
64
+ ${({theme:r,isActive:s})=>Xe(r,s)}
65
+ }
66
+
67
+ `,ct=g.ZP.div`
68
+ flex: 1;
69
+ display: flex;
70
+ align-items: center;
71
+ height: ${je};
72
+ background-color: ${({isGrey:t,theme:n})=>t?n.colors.neutral100:n.colors.neutral0};
73
+ border: 1px solid transparent;
74
+ `,Gt=g.ZP.div`
75
+ display: inline-flex;
76
+ min-width: 100%;
77
+
78
+ ${me} {
79
+ display: none;
80
+ }
81
+ ${({isActive:t,theme:n})=>t&&Xe(n,t)}
82
+ &:hover {
83
+ ${({theme:t,isActive:n})=>Xe(t,n)}
84
+ }
85
+ `,dt=(0,g.ZP)(b.k)`
86
+ width: ${ne};
87
+ position: relative;
88
+ `,ut=(0,g.ZP)(m.x)`
89
+ display: none;
90
+ svg {
91
+ width: 11px;
92
+ }
93
+ * {
94
+ fill: ${({theme:t})=>t.colors.primary600};
95
+ }
96
+ `,mt=g.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
+ `,zt=(0,g.ZP)(m.x)`
105
+ position: absolute;
106
+ right: 9px;
107
+ transform: translateY(10px);
108
+ `,pt=({availableActions:t,isActive:n,isGrey:r,isFormDisabled:s,label:i,onClickToggle:l,pathToData:c})=>{const[d,p]=(0,e.useState)(!1),{formatMessage:u}=(0,Z.Z)(),{modifiedData:f,onChangeParentCheckbox:x,onChangeSimpleCheckbox:$}=Y(),W=()=>{p(H=>!H)},I=()=>{p(!1)},A=C()(f,c.split(".."),{}),y=(0,e.useMemo)(()=>Object.keys(A).reduce((H,q)=>(H[q]=J()(A[q],"conditions"),H),{}),[A]),{hasAllActionsSelected:k,hasSomeActionsSelected:D}=Oe(y),B=(0,e.useMemo)(()=>Ht(t,f,c),[t,f,c]),se=B.some(({hasConditions:H})=>H);return e.createElement(Gt,{isActive:n},e.createElement(ct,{isGrey:r},e.createElement(it,{isCollapsable:!0,isFormDisabled:s,label:i,checkboxName:c,onChange:x,onClick:l,someChecked:D,value:k,isActive:n},e.createElement(ut,{paddingLeft:2},n?e.createElement(Q.Z,null):e.createElement(oe.Z,null))),e.createElement(b.k,{style:{flex:1}},B.map(({actionId:H,hasConditions:q,hasAllActionsSelected:K,hasSomeActionsSelected:fe,isDisplayed:ke,isParentCheckbox:ie,checkboxName:Ee,label:Ue})=>ke?ie?e.createElement(dt,{key:H,justifyContent:"center",alignItems:"center"},q&&e.createElement(mt,null),e.createElement(z.C,{disabled:s,name:Ee,"aria-label":u({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${Ue} ${i}`}),onValueChange:$e=>{x({target:{name:Ee,value:$e}})},indeterminate:fe,value:K})):e.createElement(dt,{key:H,justifyContent:"center",alignItems:"center"},q&&e.createElement(mt,null),e.createElement(z.C,{disabled:s,indeterminate:q,name:Ee,onValueChange:$e=>{$({target:{name:Ee,value:$e}})},value:K})):e.createElement(Ge,{key:H}))),d&&e.createElement(ve,{headerBreadCrumbs:[i,"Settings.permissions.conditions.conditions"],actions:B,isFormDisabled:s,onClosed:I,onToggle:W})),e.createElement(zt,null,e.createElement(me,{onClick:W,hasConditions:se})))};pt.propTypes={availableActions:a().array.isRequired,isActive:a().bool.isRequired,isGrey:a().bool.isRequired,isFormDisabled:a().bool.isRequired,label:a().string.isRequired,onClickToggle:a().func.isRequired,pathToData:a().string.isRequired};var Yt=pt;const Xt=g.ZP.span`
109
+ color: ${({theme:t})=>t.colors.danger700};
110
+ padding-left: ${({theme:t})=>t.spaces[1]}px;
111
+ `;var gt=()=>e.createElement(Xt,null,"*"),wt=(t,n)=>t.map(r=>{const s=Array.isArray(r.subjects)&&r.subjects.indexOf(n)!==-1;return{...r,isDisplayed:s}});const Qt=(0,g.ZP)(m.x)`
112
+ transform: translate(-4px, -12px);
113
+
114
+ &:before {
115
+ content: '';
116
+ width: ${4/16}rem;
117
+ height: ${12/16}rem;
118
+ background: ${({theme:t})=>t.colors.primary200};
119
+ display: block;
120
+ }
121
+ `,Jt=g.ZP.svg`
122
+ position: relative;
123
+ flex-shrink: 0;
124
+ transform: translate(-0.5px, -1px);
125
+
126
+ * {
127
+ fill: ${({theme:t,color:n})=>t.colors[n]};
128
+ }
129
+ `,we=t=>e.createElement(Qt,null,e.createElement(Jt,{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"})));we.defaultProps={fill:"primary200"},we.propTypes={fill:a().string};var qt=(0,e.memo)(we);const ft=(0,g.ZP)(b.k)`
130
+ width: ${ne};
131
+ position: relative;
132
+ `,_t=(0,g.ZP)(b.k)`
133
+ height: ${je};
134
+ `,en=(0,g.ZP)(m.x)`
135
+ padding-left: ${31/16}rem;
136
+ `,tn=(0,g.ZP)(m.x)`
137
+ border-left: ${({isVisible:t,theme:n})=>t?`4px solid ${n.colors.primary200}`:"4px solid transparent"};
138
+ `,nn=(0,g.ZP)(b.k)`
139
+ padding-left: ${({theme:t})=>t.spaces[4]};
140
+ width: ${({level:t})=>145-t*36}px;
141
+
142
+ ${({isCollapsable:t,theme:n})=>t&&`
143
+ ${Ve} {
144
+ display: block;
145
+ color: ${n.colors.neutral100};
146
+ }
147
+ &:hover {
148
+ ${Ke(n)}
149
+ }
150
+ `}
151
+ ${({isActive:t,theme:n})=>t&&Ke(n)};
152
+ `,sn=g.ZP.div`
153
+ padding-top: ${({theme:t})=>t.spaces[2]};
154
+ margin-top: ${({theme:t})=>t.spaces[2]};
155
+ width: ${4/16}rem;
156
+ background-color: ${({theme:t})=>t.colors.primary200};
157
+ border-top-left-radius: 2px;
158
+ border-top-right-radius: 2px;
159
+ `,Qe=({childrenForm:t,isFormDisabled:n,recursiveLevel:r,pathToDataFromActionRow:s,propertyActions:i,parentName:l,propertyName:c})=>{const{formatMessage:d}=(0,Z.Z)(),{modifiedData:p,onChangeParentCheckbox:u,onChangeSimpleCheckbox:f}=Y(),[x,$]=(0,e.useState)(null),W=A=>{$(y=>y===A?null:A)},I=(0,e.useMemo)(()=>x?t.find(({value:A})=>A===x):null,[x,t]);return e.createElement(en,null,e.createElement(sn,null),t.map(({label:A,value:y,required:k,children:D},B)=>{const se=B+1<t.length,H=Array.isArray(D),q=x===y;return e.createElement(tn,{key:y,isVisible:se},e.createElement(_t,null,e.createElement(qt,{color:"primary200"}),e.createElement(b.k,{style:{flex:1}},e.createElement(nn,{level:r,isActive:q,isCollapsable:H},e.createElement(at,{alignItems:"center",isCollapsable:H,...H&&{onClick:()=>W(y),"aria-expanded":q,onKeyDown:({key:K})=>(K==="Enter"||K===" ")&&W(y),tabIndex:0,role:"button"},title:A},e.createElement(N.Z,{ellipsis:!0},he()(A)),k&&e.createElement(gt,null),e.createElement(Ve,{$isActive:q}))),e.createElement(b.k,{style:{flex:1}},i.map(({actionId:K,label:fe,isActionRelatedToCurrentProperty:ke})=>{if(!ke)return e.createElement(Ge,{key:K});const ie=[...s.split(".."),K,"properties",c,...l.split(".."),y],Ee=C()(p,ie,!1);if(!D)return e.createElement(ft,{key:fe,justifyContent:"center",alignItems:"center"},e.createElement(z.C,{disabled:n,name:ie.join(".."),"aria-label":d({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${l} ${A} ${fe}`}),onValueChange:De=>{f({target:{name:ie.join(".."),value:De}})},value:Ee}));const{hasAllActionsSelected:Ue,hasSomeActionsSelected:$e}=Oe(Ee);return e.createElement(ft,{key:fe,justifyContent:"center",alignItems:"center"},e.createElement(z.C,{key:fe,disabled:n,name:ie.join(".."),"aria-label":d({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${l} ${A} ${fe}`}),onValueChange:De=>{u({target:{name:ie.join(".."),value:De}})},value:Ue,indeterminate:$e}))})))),I&&q&&e.createElement(m.x,{paddingBottom:2},e.createElement(Qe,{isFormDisabled:n,parentName:`${l}..${y}`,pathToDataFromActionRow:s,propertyActions:i,propertyName:c,recursiveLevel:r+1,childrenForm:I.children})))}))};Qe.propTypes={childrenForm:a().array.isRequired,isFormDisabled:a().bool.isRequired,parentName:a().string.isRequired,pathToDataFromActionRow:a().string.isRequired,propertyActions:a().array.isRequired,propertyName:a().string.isRequired,recursiveLevel:a().number.isRequired};var on=(0,e.memo)(Qe);const rn=t=>t.reduce((r,s)=>(s.isActionRelatedToCurrentProperty&&r.push(s.actionId),r),[]);var an=(t,n,r,s,i)=>{const c=rn(t).reduce((d,p)=>{const u=[...r.split(".."),p,"properties",s,i],f=C()(n,u,!1);return d[p]=f,d},{});return Oe(c)};const yt=(0,g.ZP)(b.k)`
160
+ width: ${ne};
161
+ position: relative;
162
+ `,ln=(0,g.ZP)(b.k)`
163
+ height: ${je};
164
+ flex: 1;
165
+
166
+ ${({isCollapsable:t,theme:n})=>t&&`
167
+ ${Ve} {
168
+ display: block;
169
+ color: ${n.colors.neutral100};
170
+ }
171
+ &:hover {
172
+ ${Ke(n)}
173
+ }
174
+ `}
175
+ ${({isActive:t,theme:n})=>t&&Ke(n)};
176
+ `,Je=({childrenForm:t,label:n,isFormDisabled:r,name:s,required:i,pathToData:l,propertyActions:c,propertyName:d,isOdd:p})=>{const{formatMessage:u}=(0,Z.Z)(),[f,x]=(0,e.useState)(null),{modifiedData:$,onChangeCollectionTypeLeftActionRowCheckbox:W,onChangeParentCheckbox:I,onChangeSimpleCheckbox:A}=Y(),y=f===s,k=(0,e.useMemo)(()=>Array.isArray(t)?t:[],[t]),D=k.length>0,B=(0,e.useCallback)(()=>{D&&x(K=>K===s?null:s)},[D,s]),se=({target:{value:K}})=>{W(l,d,s,K)},{hasAllActionsSelected:H,hasSomeActionsSelected:q}=(0,e.useMemo)(()=>an(c,$,l,d,s),[c,$,l,d,s]);return e.createElement(e.Fragment,null,e.createElement(ln,{alignItems:"center",isCollapsable:D,isActive:y,background:p?"neutral100":"neutral0"},e.createElement(b.k,null,e.createElement(it,{onChange:se,onClick:B,isCollapsable:D,isFormDisabled:r,label:n,someChecked:q,value:H,isActive:y},i&&e.createElement(gt,null),e.createElement(Ve,{$isActive:y})),e.createElement(b.k,null,c.map(({label:K,isActionRelatedToCurrentProperty:fe,actionId:ke})=>{if(!fe)return e.createElement(Ge,{key:K});const ie=[...l.split(".."),ke,"properties",d,s];if(!D){const De=C()($,ie,!1);return e.createElement(yt,{key:ke,justifyContent:"center",alignItems:"center"},e.createElement(z.C,{disabled:r,name:ie.join(".."),"aria-label":u({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${s} ${K}`}),onValueChange:ns=>{A({target:{name:ie.join(".."),value:ns}})},value:De}))}const Ee=C()($,ie,{}),{hasAllActionsSelected:Ue,hasSomeActionsSelected:$e}=Oe(Ee);return e.createElement(yt,{key:K,justifyContent:"center",alignItems:"center"},e.createElement(z.C,{disabled:r,name:ie.join(".."),onValueChange:De=>{I({target:{name:ie.join(".."),value:De}})},"aria-label":u({id:"Settings.permissions.select-by-permission",defaultMessage:"Select {label} permission"},{label:`${s} ${K}`}),value:Ue,indeterminate:$e}))})))),y&&e.createElement(on,{childrenForm:k,isFormDisabled:r,parentName:s,pathToDataFromActionRow:l,propertyName:d,propertyActions:c,recursiveLevel:0}))};Je.defaultProps={childrenForm:[],required:!1},Je.propTypes={childrenForm:a().array,label:a().string.isRequired,isFormDisabled:a().bool.isRequired,name:a().string.isRequired,pathToData:a().string.isRequired,propertyActions:a().array.isRequired,propertyName:a().string.isRequired,required:a().bool,isOdd:a().bool.isRequired};var cn=(0,e.memo)(Je);const ht=(0,g.ZP)(b.k)`
177
+ width: ${ne};
178
+ flex-shrink: 0;
179
+ `,dn=(0,g.ZP)(b.k)`
180
+ width: ${Me};
181
+ height: ${je};
182
+ flex-shrink: 0;
183
+ `,Ct=({headers:t,label:n})=>{const{formatMessage:r}=(0,Z.Z)(),s=r({id:"Settings.roles.form.permission.property-label",defaultMessage:"{label} permissions"},{label:n});return e.createElement(b.k,null,e.createElement(dn,{alignItems:"center",paddingLeft:6},e.createElement(N.Z,{variant:"sigma",textColor:"neutral500"},s)),t.map(i=>i.isActionRelatedToCurrentProperty?e.createElement(ht,{justifyContent:"center",key:i.label},e.createElement(N.Z,{variant:"sigma",textColor:"neutral500"},r({id:`Settings.roles.form.permissions.${i.label.toLowerCase()}`,defaultMessage:i.label}))):e.createElement(ht,{key:i.label})))};Ct.propTypes={headers:a().arrayOf(a().shape({label:a().string.isRequired,isActionRelatedToCurrentProperty:a().bool.isRequired})).isRequired,label:a().string.isRequired};var un=Ct,mn=(t,n)=>t.map(r=>{const s=Array.isArray(r.applyToProperties)&&r.applyToProperties.indexOf(n)!==-1&&r.isDisplayed;return{label:r.label,actionId:r.actionId,isActionRelatedToCurrentProperty:s}});const pn=g.ZP.div`
184
+ display: inline-flex;
185
+ flex-direction: column;
186
+ min-width: 0;
187
+ `,vt=({availableActions:t,childrenForm:n,isFormDisabled:r,label:s,pathToData:i,propertyName:l})=>{const c=(0,e.useMemo)(()=>mn(t,l),[t,l]);return e.createElement(pn,null,e.createElement(un,{label:s,headers:c}),e.createElement(m.x,null,n.map(({children:d,label:p,value:u,required:f},x)=>e.createElement(cn,{childrenForm:d,key:u,label:p,isFormDisabled:r,name:u,required:f,propertyActions:c,pathToData:i,propertyName:l,isOdd:x%2===0}))))};vt.propTypes={childrenForm:a().array.isRequired,availableActions:a().array.isRequired,isFormDisabled:a().bool.isRequired,label:a().string.isRequired,pathToData:a().string.isRequired,propertyName:a().string.isRequired};var gn=vt;const fn=g.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
+ `,Et=({allActions:t,contentTypeName:n,label:r,index:s,isActive:i,isFormDisabled:l,onClickToggleCollapse:c,pathToData:d,properties:p})=>{const u=(0,e.useCallback)(()=>{c(n)},[n,c]),f=(0,e.useMemo)(()=>wt(t,n),[t,n]);return e.createElement(fn,{isActive:i},e.createElement(Yt,{availableActions:f,isActive:i,isGrey:s%2===0,isFormDisabled:l,label:r,onClickToggle:u,pathToData:d}),i&&p.map(({label:x,value:$,children:W})=>e.createElement(gn,{availableActions:f,childrenForm:W,isFormDisabled:l,label:x,pathToData:d,propertyName:$,key:$})))};Et.propTypes={allActions:a().array.isRequired,contentTypeName:a().string.isRequired,index:a().number.isRequired,isActive:a().bool.isRequired,isFormDisabled:a().bool.isRequired,label:a().string.isRequired,onClickToggleCollapse:a().func.isRequired,pathToData:a().string.isRequired,properties:a().array.isRequired};var yn=Et;const qe=({actions:t,isFormDisabled:n,pathToData:r,subjects:s})=>{const[i,l]=(0,e.useState)(null),c=d=>{l(i===d?null:d)};return s.map(({uid:d,label:p,properties:u},f)=>e.createElement(yn,{allActions:t,key:d,contentTypeName:d,label:p,isActive:i===d,isFormDisabled:n,index:f,onClickToggleCollapse:c,pathToData:`${r}..${d}`,properties:u}))};qe.defaultProps={actions:[],subjects:[]},qe.propTypes={actions:a().array.isRequired,isFormDisabled:a().bool.isRequired,pathToData:a().string.isRequired,subjects:a().arrayOf(a().shape({uid:a().string.isRequired,label:a().string.isRequired,properties:a().array.isRequired}))};var hn=(0,e.memo)(qe),Cn=t=>t.filter(({subjects:n})=>n&&n.length);const vn=t=>t.map(({actionId:n})=>n),En=(t,n)=>t.reduce((r,s)=>(Object.keys(n).forEach(i=>{const l=C()(n,[i,s],{}),c={[i]:Ye(l)};r[s]?r[s]={...r[s],...c}:r[s]=c}),r),{});var bn=(t,n)=>{const r=vn(t),s=En(r,n);return Object.keys(s).reduce((l,c)=>(l[c]=Oe(s[c]),l),{})};const xn=(0,g.ZP)(b.k)`
193
+ width: ${ne};
194
+ flex-shrink: 0;
195
+ `,_e=({actions:t,isFormDisabled:n,kind:r})=>{const{formatMessage:s}=(0,Z.Z)(),{modifiedData:i,onChangeCollectionTypeGlobalActionCheckbox:l}=Y(),c=(0,e.useMemo)(()=>Cn(t),[t]),d=(0,e.useMemo)(()=>bn(c,i[r]),[i,c,r]);return e.createElement(m.x,{paddingBottom:4,paddingTop:6,style:{paddingLeft:Me}},e.createElement(b.k,{gap:0},c.map(({label:p,actionId:u})=>e.createElement(xn,{direction:"column",alignItems:"center",justifyContent:"center",key:u,gap:3},e.createElement(N.Z,{variant:"sigma",textColor:"neutral500"},s({id:`Settings.roles.form.permissions.${p.toLowerCase()}`,defaultMessage:p})),e.createElement(z.C,{disabled:n,onValueChange:f=>{l(r,u,f)},name:u,"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:C()(d,[u,"hasAllActionsSelected"],!1),indeterminate:C()(d,[u,"hasSomeActionsSelected"],!1)})))))};_e.defaultProps={actions:[]},_e.propTypes={actions:a().arrayOf(a().shape({label:a().string.isRequired,actionId:a().string.isRequired,subjects:a().array.isRequired})),isFormDisabled:a().bool.isRequired,kind:a().string.isRequired};var Pn=(0,e.memo)(_e);const Rn=(0,g.ZP)(m.x)`
196
+ overflow-x: auto;
197
+ `,bt=({isFormDisabled:t,kind:n,layout:{actions:r,subjects:s}})=>{const i=F()([...s],"label");return e.createElement(Rn,{background:"neutral0"},e.createElement(Pn,{actions:r,kind:n,isFormDisabled:t}),e.createElement(hn,{actions:r,isFormDisabled:t,pathToData:n,subjects:i}))};bt.propTypes={isFormDisabled:a().bool.isRequired,kind:a().string.isRequired,layout:a().shape({actions:a().array,subjects:a().arrayOf(a().shape({uid:a().string.isRequired,label:a().string.isRequired,properties:a().array.isRequired}))}).isRequired};var xt=(0,e.memo)(bt);const Pt=({children:t,value:n})=>e.createElement(te.Provider,{value:n},t);Pt.propTypes={children:a().node.isRequired,value:a().exact({availableConditions:a().array.isRequired,modifiedData:a().object.isRequired,onChangeCollectionTypeLeftActionRowCheckbox:a().func.isRequired,onChangeConditions:a().func.isRequired,onChangeSimpleCheckbox:a().func.isRequired,onChangeParentCheckbox:a().func.isRequired,onChangeCollectionTypeGlobalActionCheckbox:a().func.isRequired}).isRequired};var An=Pt,Tn=o(9435),Sn=o(9379),Mn=o(79624),Rt=o(31014),On=o(10710),$n=o(97037),Dn=(t,n,r)=>t.map(s=>{const i=[...r,s.action,"properties","enabled"],l=C()(n,i,!1),c=C()(n,[...r,s.action,"conditions"],{}),d=Ie(c).some(p=>p);return{...s,isDisplayed:l,checkboxName:i.join(".."),hasSomeActionsSelected:l,value:l,hasConditions:d,label:s.displayName,actionId:s.action,pathToConditionsObject:[...r,s.action]}}),Ln=t=>{const n=Object.entries(t).reduce((s,i)=>{const[l,{conditions:c}]=i;return s[l]=c,s},{});return Ie(n).some(s=>s)};const jn=g.ZP.div`
198
+ flex: 1;
199
+ align-self: center;
200
+ border-top: 1px solid ${({theme:t})=>t.colors.neutral150};
201
+ `,In=g.ZP.div`
202
+ position: relative;
203
+ word-break: keep-all;
204
+ ${({hasConditions:t,disabled:n,theme:r})=>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?r.colors.neutral100:r.colors.primary600};
214
+ }
215
+ `}
216
+ `,At=({categoryName:t,isFormDisabled:n,subCategoryName:r,actions:s,pathToData:i})=>{const[l,c]=(0,e.useState)(!1),{modifiedData:d,onChangeParentCheckbox:p,onChangeSimpleCheckbox:u}=Y(),{formatMessage:f}=(0,Z.Z)(),x=C()(d,i,{}),$=(0,e.useMemo)(()=>Object.keys(x).reduce((B,se)=>(B[se]=Ye(x[se]),B),{}),[x]),{hasAllActionsSelected:W,hasSomeActionsSelected:I}=Oe($),A=()=>{c(B=>!B)},y=()=>{c(!1)},k=Dn(s,d,i),D=Ln(C()(d,[...i],{}));return e.createElement(e.Fragment,null,e.createElement(m.x,null,e.createElement(b.k,{justifyContent:"space-between",alignItems:"center"},e.createElement(m.x,{paddingRight:4},e.createElement(N.Z,{variant:"sigma",textColor:"neutral600"},r)),e.createElement(jn,null),e.createElement(m.x,{paddingLeft:4},e.createElement(Rt.X,{name:i.join(".."),disabled:n,onValueChange:B=>{p({target:{name:i.join(".."),value:B}})},indeterminate:I,value:W},f({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(b.k,{paddingTop:6,paddingBottom:6},e.createElement(On.r,{gap:2,style:{flex:1}},k.map(({checkboxName:B,value:se,action:H,displayName:q,hasConditions:K})=>e.createElement($n.P,{col:3,key:H},e.createElement(In,{disabled:n,hasConditions:K},e.createElement(Rt.X,{name:B,disabled:n,onValueChange:fe=>{u({target:{name:B,value:fe}})},value:se},q))))),e.createElement(me,{hasConditions:D,onClick:A}))),l&&e.createElement(ve,{headerBreadCrumbs:[t,r],actions:k,isFormDisabled:n,onClosed:y,onToggle:A}))};At.propTypes={actions:a().array.isRequired,categoryName:a().string.isRequired,isFormDisabled:a().bool.isRequired,subCategoryName:a().string.isRequired,pathToData:a().array.isRequired};var kn=At;const et=({childrenForm:t,kind:n,name:r,isOpen:s,isFormDisabled:i,isWhite:l,onOpenCategory:c,pathToData:d})=>{const{formatMessage:p}=(0,Z.Z)(),u=()=>{c(r)},f=(0,e.useMemo)(()=>r.split("::").pop(),[r]);return e.createElement(Tn.U,{expanded:s,onToggle:u,id:`accordion-${r}`,variant:l?"primary":"secondary"},e.createElement(Sn.B,{title:he()(f),description:`${p({id:"Settings.permissions.category"},{category:f})} ${n==="plugins"?"plugin":n}`}),e.createElement(Mn.v,null,e.createElement(m.x,{padding:6},t.map(({actions:x,subCategoryName:$,subCategoryId:W})=>e.createElement(kn,{key:$,actions:x,categoryName:f,isFormDisabled:i,subCategoryName:$,pathToData:[...d,W]})))))};et.defaultProps={},et.propTypes={childrenForm:a().array.isRequired,isOpen:a().bool.isRequired,isFormDisabled:a().bool.isRequired,isWhite:a().bool.isRequired,kind:a().string.isRequired,name:a().string.isRequired,onOpenCategory:a().func.isRequired,pathToData:a().array.isRequired};var Bn=et;const Tt=({isFormDisabled:t,kind:n,layout:r})=>{const[s,i]=(0,e.useState)(null),l=c=>{i(c===s?null:c)};return e.createElement(m.x,{padding:6,background:"neutral0"},r.map(({category:c,categoryId:d,childrenForm:p},u)=>e.createElement(Bn,{key:c,childrenForm:p,kind:n,isFormDisabled:t,isOpen:s===c,isWhite:u%2===1,name:c,onOpenCategory:l,pathToData:[n,d]})))};Tt.propTypes={isFormDisabled:a().bool.isRequired,kind:a().string.isRequired,layout:a().arrayOf(a().shape({category:a().string.isRequired,categoryId:a().string.isRequired,childrenForm:a().arrayOf(a().shape({actions:a().array.isRequired})).isRequired}).isRequired).isRequired};var St=Tt,Zn=o(86349),Fn=o.n(Zn),Nn=o(3040),ge=o.n(Nn),Mt=(t,n,r)=>t.find(s=>s.action===n&&s.subject===r);const Ot=(t,n=[])=>t.reduce((r,s)=>(r[s.id]=n.indexOf(s.id)!==-1,r),{}),$t=({children:t},n,r="")=>t.reduce((s,i)=>{if(i.children)return{...s,[i.value]:$t(i,n,`${r}${i.value}.`)};const l=n.indexOf(`${r}${i.value}`)!==-1;return s[i.value]=l,s},{}),Wn=(t,n,r)=>t.reduce((s,i)=>{const l=n.properties.find(({value:c})=>c===i);if(l){const c=C()(r,["properties",l.value],[]),d=$t(l,c);s.properties[i]=d}return s},{properties:{}}),Vn=(t,n)=>n.reduce((r,s)=>{const i=t.find(({uid:l})=>l===s)||null;return i&&(r[s]=i),r},{});var Dt=({subjects:t},n,r,s=[])=>n.reduce((i,l)=>{const c=l.subjects,d=Vn(t,c);if(S()(d))return i;const p=Object.keys(d).reduce((u,f)=>{const{actionId:x,applyToProperties:$}=l,A=d[f].properties.map(({value:B})=>B).every(B=>($||[]).indexOf(B)===-1),y=Mt(s,x,f),k=Ot(r,C()(y,"conditions",[]));if(S()($)||A)return ge()(u,[f,x],{properties:{enabled:y!==void 0},conditions:k}),u;const D=Wn($,d[f],y);return ge()(u,[f,x],{...D,conditions:k}),u},{});return Fn()(i,p)},{});const Kn=(t,n,r)=>t.reduce((s,i)=>{const l=Mt(r,i.action,null);return s[i.action]={properties:{enabled:l!==void 0},conditions:Ot(n,l?.conditions??[])},s},{}),Un=(t,n,r)=>t.reduce((s,i)=>(s[i.subCategoryId]=Kn(i.actions,n,r),s),{});var Lt=(t,n,r=[])=>t.reduce((s,{categoryId:i,childrenForm:l})=>{const c=Un(l,n,r);return s[i]=c,s},{});const jt=t=>t.split(" ").join("-");var It=(t,n)=>Object.entries(G()(t,n)).map(([r,s])=>({category:r,categoryId:jt(r),childrenForm:Object.entries(G()(s,"subCategory")).map(([i,l])=>({subCategoryName:i,subCategoryId:jt(i),actions:l}))})),Hn=(t,n)=>{const{conditions:r,sections:{collectionTypes:s,singleTypes:i,plugins:l,settings:c}}=t,d={collectionTypes:s,singleTypes:i,plugins:It(l,"plugin"),settings:It(c,"category")},p={collectionTypes:Dt(s,s.actions||[],r,n),singleTypes:Dt(i,i.actions||[],r,n),plugins:Lt(d.plugins,r,n),settings:Lt(d.settings,r,n)};return{initialData:p,modifiedData:p,layouts:d}},Gn=o(99381),tt=o.n(Gn);const kt=t=>Object.keys(t).reduce((n,r)=>{const s=t[r];if(Re()(s)&&!R()(s,"conditions"))return{...n,[r]:kt(s)};if(Re()(s)&&R()(s,"conditions")&&!Ie(J()(s,"conditions")).some(l=>l)){const l=Object.keys(s.conditions).reduce((c,d)=>(c[d]=!1,c),{});return{...n,[r]:{...s,conditions:l}}}return n[r]=s,n},{});var nt=kt;const Bt=(t,n,r=!1)=>Object.keys(t).reduce((s,i)=>{const l=t[i];return i==="conditions"&&!r?(s[i]=l,s):Re()(l)?{...s,[i]:Bt(l,n,i==="fields")}:(s[i]=n,s)},{});var He=Bt;const zn={initialData:{},modifiedData:{},layouts:{}};var Yn=(t,n)=>(0,re.ZP)(t,r=>{switch(n.type){case"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX":{const{collectionTypeKind:s,actionId:i,value:l}=n,c=["modifiedData",s];Object.keys(C()(t,c)).forEach(d=>{const p=C()(t,[...c,d,i],void 0);if(p){let u=He(p,l);if(!l&&u.conditions){const f=He(u.conditions,!1);u={...u,conditions:f}}ge()(r,[...c,d,i],u)}});break}case"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX":{const{pathToCollectionType:s,propertyName:i,rowName:l,value:c}=n;let d=tt()(t.modifiedData);const p=s.split(".."),u=C()(d,p,{});Object.keys(u).forEach(f=>{if(R()(u[f],`properties.${i}`)){const x=C()(u,[f,"properties",i,l]),$=[...p,f,"properties",i,l];if(!Re()(x))ge()(d,$,c);else{const W=He(x,c);ge()(d,$,W)}}}),c||(d=nt(d)),ge()(r,"modifiedData",d);break}case"ON_CHANGE_CONDITIONS":{Object.entries(n.conditions).forEach(s=>{const[i,l]=s;ge()(r,["modifiedData",...i.split(".."),"conditions"],l)});break}case"ON_CHANGE_SIMPLE_CHECKBOX":{let s=tt()(t.modifiedData);ge()(s,[...n.keys.split("..")],n.value),n.value||(s=nt(s)),ge()(r,"modifiedData",s);break}case"ON_CHANGE_TOGGLE_PARENT_CHECKBOX":{const{keys:s,value:i}=n,l=[...s.split("..")];let c=tt()(t.modifiedData);const d=C()(c,l,{}),p=He(d,i);ge()(c,l,p),i||(c=nt(c)),ge()(r,["modifiedData"],c);break}case"RESET_FORM":{r.modifiedData=t.initialData;break}case"SET_FORM_AFTER_SUBMIT":{r.initialData=t.modifiedData;break}default:return r}});const st=t=>Object.entries(t).filter(([,n])=>n).map(([n])=>n),Xn=t=>{const[n,{conditions:r}]=t;return{action:n,subject:null,conditions:st(r),properties:{}}},wn=t=>Object.values(t).reduce((n,r)=>{const s=Object.entries(r).reduce((i,l)=>{const[,{properties:{enabled:c}}]=l;if(!c)return i;const d=Xn(l);return i.push(d),i},[]);return[...n,...s]},[]);var Zt=t=>Object.values(t).reduce((n,r)=>{const s=wn(r);return[...n,...s]},[]);const Ft=(t,n="")=>Object.entries(t).reduce((r,s)=>{const[i,l]=s;return Re()(l)?[...r,...Ft(l,`${n}${i}.`)]:(l&&!Re()(l)&&r.push(`${n}${i}`),r)},[]),Qn=(t,n,{conditions:r,properties:s})=>Object.entries(s).reduce((i,l)=>{const[c,d]=l;return i.properties[c]=Ft(d),i},{action:t,subject:n,conditions:st(r),properties:{}}),Jn=(t,n,{conditions:r})=>({action:t,subject:n,properties:{},conditions:st(r)}),qn=(t,n)=>Object.entries(n).reduce((s,i)=>{const[l,c]=i;if(!Ie(c).some(u=>u))return s;if(!c?.properties?.enabled){const u=Qn(l,t,c);return[...s,u]}if(!c.properties.enabled)return s;const p=Jn(l,t,c);return s.push(p),s},[]);var Nt=t=>Object.entries(t).reduce((r,s)=>{const[i,l]=s,c=qn(i,l);return[...r,...c]},[]),_n=t=>{const n=Zt(t.plugins),r=Zt(t.settings),s=Nt(t.collectionTypes),i=Nt(t.singleTypes);return[...n,...r,...s,...i]},es=[{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 ot=(0,e.forwardRef)(({layout:t,isFormDisabled:n,permissions:r},s)=>{const[{initialData:i,layouts:l,modifiedData:c},d]=(0,e.useReducer)(Yn,zn,()=>Hn(t,r)),{formatMessage:p}=(0,Z.Z)();(0,e.useImperativeHandle)(s,()=>({getPermissions(){const I=(0,O.e5)(i.collectionTypes,c.collectionTypes),A=(0,O.e5)(i.singleTypes,c.singleTypes),y={...I,...A};let k;return S()(y)?k=!1:k=Object.values(y).some(D=>Object.values(D).some(B=>R()(B,"conditions"))),{permissionsToSend:_n(c),didUpdateConditions:k}},resetForm(){d({type:"RESET_FORM"})},setFormAfterSubmit(){d({type:"SET_FORM_AFTER_SUBMIT"})}}));const u=(I,A,y,k)=>{d({type:"ON_CHANGE_COLLECTION_TYPE_ROW_LEFT_CHECKBOX",pathToCollectionType:I,propertyName:A,rowName:y,value:k})},f=(I,A,y)=>{d({type:"ON_CHANGE_COLLECTION_TYPE_GLOBAL_ACTION_CHECKBOX",collectionTypeKind:I,actionId:A,value:y})},x=I=>{d({type:"ON_CHANGE_CONDITIONS",conditions:I})},$=(0,e.useCallback)(({target:{name:I,value:A}})=>{d({type:"ON_CHANGE_SIMPLE_CHECKBOX",keys:I,value:A})},[]),W=(0,e.useCallback)(({target:{name:I,value:A}})=>{d({type:"ON_CHANGE_TOGGLE_PARENT_CHECKBOX",keys:I,value:A})},[]);return e.createElement(An,{value:{availableConditions:t.conditions,modifiedData:c,onChangeConditions:x,onChangeSimpleCheckbox:$,onChangeParentCheckbox:W,onChangeCollectionTypeLeftActionRowCheckbox:u,onChangeCollectionTypeGlobalActionCheckbox:f}},e.createElement(h.v,{id:"tabs",label:p({id:"Settings.permissions.users.tabs.label",defaultMessage:"Tabs Permissions"})},e.createElement(P.m,null,es.map(I=>e.createElement(P.O,{key:I.id},p({id:I.labelId,defaultMessage:I.defaultMessage})))),e.createElement(E.n,{style:{position:"relative"}},e.createElement(E.x,null,e.createElement(xt,{layout:l.collectionTypes,kind:"collectionTypes",isFormDisabled:n})),e.createElement(E.x,null,e.createElement(xt,{layout:l.singleTypes,kind:"singleTypes",isFormDisabled:n})),e.createElement(E.x,null,e.createElement(St,{layout:l.plugins,kind:"plugins",isFormDisabled:n})),e.createElement(E.x,null,e.createElement(St,{layout:l.settings,kind:"settings",isFormDisabled:n})))))});ot.defaultProps={permissions:[],layout:{conditions:[],sections:{collectionTypes:{},singleTypes:{actions:[]},settings:[],plugins:[]}}},ot.propTypes={layout:a().object,isFormDisabled:a().bool.isRequired,permissions:a().array};var ts=(0,e.memo)(ot)},87056:function(U,L,o){"use strict";o.r(L),o.d(L,{default:function(){return xe}});var e=o(32735),h=o(59407),P=o(15062),E=o(53038),O=o(30305),T=o(95162),R=o(64092),v=o(84642),S=o(91779),V=o(56932),a=o(77981),Z=o(70788),m=o(92802),M=o(67879),F=o(86434),g=o(91720),b=o(36658),z=o(93985),Q=o(8365),oe=o(10710),ee=o(97037),C=o(2846),de=o(15367),J=o(60216),te=o.n(J);const Y=({disabled:N,role:w,values:j,errors:_,onChange:re,onBlur:ye})=>{const{formatMessage:G}=(0,M.Z)();return e.createElement(a.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(a.x,null,e.createElement(a.x,null,e.createElement(Q.Z,{fontWeight:"bold"},w?w.name:G({id:"global.details",defaultMessage:"Details"}))),e.createElement(a.x,null,e.createElement(Q.Z,{textColor:"neutral500",variant:"pi"},w?w.description:G({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(S.z,{disabled:!0,variant:"secondary"},G({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:w.usersCount}))),e.createElement(oe.r,{gap:4},e.createElement(ee.P,{col:6},e.createElement(C.o,{disabled:N,name:"name",error:_.name&&G({id:_.name}),label:G({id:"global.name",defaultMessage:"Name"}),onChange:re,onBlur:ye,required:!0,value:j.name||""})),e.createElement(ee.P,{col:6},e.createElement(de.g,{disabled:N,label:G({id:"global.description",defaultMessage:"Description"}),id:"description",error:_.name&&G({id:_.name}),onChange:re,onBlur:ye},j.description||"")))))};Y.defaultProps={disabled:!1,role:null,values:{name:"",description:""}},Y.propTypes={disabled:te().bool,errors:te().object.isRequired,onBlur:te().func.isRequired,onChange:te().func.isRequired,role:te().object,values:te().object};var ue=Y,be=o(24346),ce=be.Ry().shape({name:be.Z_().required(h.I0.required)}),Ae=()=>{const N=(0,h.lm)(),{formatMessage:w}=(0,M.Z)(),{params:{id:j}}=(0,E.$B)("/settings/roles/:id"),{put:_}=(0,h.kY)(),[re,ye]=(0,e.useState)(!1),G=(0,e.useRef)(),{lockApp:Pe,unlockApp:he}=(0,h.o1)(),{trackUsage:Be}=(0,h.rS)(),{formatAPIError:Ce}=(0,h.So)(),{isLoading:Ze,data:Fe}=(0,g.d)(j,{cacheTime:0}),{roles:[pe={}],isLoading:Te,refetch:Ne}=(0,F.F)({id:j},{cacheTime:0}),{permissions:We,isLoading:Se}=(0,b.V)({id:j},{cacheTime:0}),ae=async ve=>{try{Pe(),ye(!0);const{permissionsToSend:ne,didUpdateConditions:Me}=G.current.getPermissions();await _(`/admin/roles/${j}`,ve),pe.code!=="strapi-super-admin"&&(await _(`/admin/roles/${j}/permissions`,{permissions:ne}),Me&&Be("didUpdateConditions")),G.current.setFormAfterSubmit(),await Ne(),N({type:"success",message:{id:"notification.success.saved"}})}catch(ne){N({type:"warning",message:Ce(ne)})}finally{ye(!1),he()}},le=!Te&&pe.code==="strapi-super-admin";return e.createElement(T.o,null,e.createElement(h.SL,{name:"Roles"}),e.createElement(m.J9,{enableReinitialize:!0,initialValues:{name:pe.name,description:pe.description},onSubmit:ae,validationSchema:ce,validateOnChange:!1},({handleSubmit:ve,values:ne,errors:Me,handleChange:je,handleBlur:rt})=>e.createElement("form",{onSubmit:ve},e.createElement(R.T,{primaryAction:e.createElement(v.k,{gap:2},e.createElement(S.z,{disabled:pe.code==="strapi-super-admin",onClick:ve,loading:re,size:"L"},w({id:"global.save",defaultMessage:"Save"}))),title:w({id:"Settings.roles.edit.title",defaultMessage:"Edit a role"}),subtitle:w({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(h.rU,{startIcon:e.createElement(Z.Z,null),to:"/settings/roles"},w({id:"global.back",defaultMessage:"Back"}))}),e.createElement(V.D,null,e.createElement(v.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(ue,{isLoading:Te||Se,disabled:le,errors:Me,values:ne,onChange:je,onBlur:rt,role:pe}),!Ze&&!Te&&!Se?e.createElement(a.x,{shadow:"filterShadow",hasRadius:!0},e.createElement(z.Z,{isFormDisabled:le,permissions:We,ref:G,layout:Fe})):e.createElement(a.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(h.dO,null)))))))},xe=()=>{const N=(0,P.v9)(O._),{isLoading:w,allowedActions:{canRead:j,canUpdate:_}}=(0,h.ss)({read:N.settings.roles.read,update:N.settings.roles.update});return w?e.createElement(h.dO,null):!j&&!_?e.createElement(E.l_,{to:"/"}):e.createElement(Ae,null)}},91720:function(U,L,o){"use strict";o.d(L,{d:function(){return P}});var e=o(59407),h=o(20108);const P=(E,O={})=>{const{get:T}=(0,e.kY)(),{data:R,error:v,isError:S,isLoading:V}=(0,h.useQuery)(["permissions",E],async()=>{const{data:{data:a}}=await T("/admin/permissions",{params:{role:E}});return a},O);return{data:R,error:v,isError:S,isLoading:V}}},84802:function(U){function L(o,e,h,P){for(var E=-1,O=o==null?0:o.length;++E<O;){var T=o[E];e(P,T,h(T),o)}return P}U.exports=L},62435:function(U,L,o){var e=o(56671);function h(P,E,O,T){return e(P,function(R,v,S){E(T,R,O(R),S)}),T}U.exports=h},85580:function(U,L,o){var e=o(84802),h=o(62435),P=o(88904),E=o(77236);function O(T,R){return function(v,S){var V=E(v)?e:h,a=R?R():{};return V(v,T,P(S,2),a)}}U.exports=O},72091:function(U,L,o){var e=o(40314),h=1/0;function P(E){var O=E==null?0:E.length;return O?e(E,h):[]}U.exports=P},81346:function(U,L,o){var e=o(40999),h=o(85580),P=Object.prototype,E=P.hasOwnProperty,O=h(function(T,R,v){E.call(T,v)?T[v].push(R):e(T,v,[R])});U.exports=O},9435:function(U,L,o){"use strict";o.d(L,{U:function(){return Z},y:function(){return V}});var e=o(74512),h=o(32735),P=o(8471),E=o(85612),O=o(37808),T=o(8365),R=o(84642),v=o(77981);const S=({theme:m,expanded:M,variant:F,disabled:g,error:b})=>b?`1px solid ${m.colors.danger600} !important`:g?`1px solid ${m.colors.neutral150}`:M?`1px solid ${m.colors.primary600}`:F==="primary"?`1px solid ${m.colors.neutral0}`:`1px solid ${m.colors.neutral100}`,V=(0,P.ZP)(T.Z)``,a=(0,P.ZP)(v.x)`
217
+ border: ${S};
218
+
219
+ &:hover:not([aria-disabled='true']) {
220
+ border: 1px solid ${({theme:m})=>m.colors.primary600};
221
+
222
+ ${V} {
223
+ color: ${({theme:m,expanded:M})=>M?void 0:m.colors.primary700};
224
+ }
225
+
226
+ ${T.Z} {
227
+ color: ${({theme:m,expanded:M})=>M?void 0:m.colors.primary600};
228
+ }
229
+
230
+ & > ${R.k} {
231
+ background: ${({theme:m})=>m.colors.primary100};
232
+ }
233
+
234
+ [data-strapi-dropdown='true'] {
235
+ background: ${({theme:m})=>m.colors.primary200};
236
+ }
237
+ }
238
+ `,Z=({children:m,disabled:M=!1,error:F,expanded:g=!1,hasErrorMessage:b=!0,id:z,onToggle:Q,toggle:oe,size:ee="M",variant:C="primary",shadow:de})=>{const J=(0,O.M)(z),te=h.useMemo(()=>({expanded:g,onToggle:Q,toggle:oe,id:J,size:ee,variant:C,disabled:M}),[M,g,J,Q,ee,oe,C]);return(0,e.jsxs)(E.S.Provider,{value:te,children:[(0,e.jsx)(a,{"data-strapi-expanded":g,disabled:M,"aria-disabled":M,expanded:g,hasRadius:!0,variant:C,error:F,shadow:de,children:m}),F&&b&&(0,e.jsx)(v.x,{paddingTop:1,children:(0,e.jsx)(T.Z,{variant:"pi",textColor:"danger600",children:F})})]})}},79624:function(U,L,o){"use strict";o.d(L,{v:function(){return E}});var e=o(74512),h=o(85612),P=o(77981);const E=({children:O,...T})=>{const{expanded:R,id:v}=(0,h.A)();if(!R)return null;const S=`accordion-content-${v}`,V=`accordion-label-${v}`,a=`accordion-desc-${v}`;return(0,e.jsx)(P.x,{role:"region",id:S,"aria-labelledby":V,"aria-describedby":a,...T,children:O})}},85612:function(U,L,o){"use strict";o.d(L,{A:function(){return P},S:function(){return h}});var e=o(32735);const h=(0,e.createContext)({disabled:!1,expanded:!1,id:"",size:"M",variant:"primary"}),P=()=>(0,e.useContext)(h)},9379:function(U,L,o){"use strict";o.d(L,{B:function(){return m}});var e=o(74512),h=o(91917),P=o(8471),E=o(9435),O=o(85612);const T=({expanded:M,disabled:F,variant:g})=>{let b="neutral100";return M?b="primary100":F?b="neutral150":g==="primary"&&(b="neutral0"),b};var R=o(43743),v=o(18129),S=o(84642),V=o(8365);const a=(0,P.ZP)(R.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:M,expanded:F})=>F?M.colors.primary600:M.colors.neutral500};
252
+ }
253
+ }
254
+ `,Z=(0,P.ZP)(S.k)`
255
+ min-height: ${({theme:M,size:F})=>M.sizes.accordions[F]};
256
+ border-radius: ${({theme:M,expanded:F})=>F?`${M.borderRadius} ${M.borderRadius} 0 0`:M.borderRadius};
257
+
258
+ &:hover {
259
+ svg {
260
+ path {
261
+ fill: ${({theme:M})=>M.colors.primary600};
262
+ }
263
+ }
264
+ }
265
+ `,m=({title:M,description:F,as:g="span",togglePosition:b="right",action:z,...Q})=>{const{onToggle:oe,toggle:ee,expanded:C,id:de,size:J,variant:te,disabled:Y}=(0,O.A)(),ue=`accordion-content-${de}`,be=`accordion-label-${de}`,Le=`accordion-desc-${de}`,ce=J==="M"?6:4,me=J==="M"?ce:ce-2,Ae=T({expanded:C,disabled:Y,variant:te}),xe={as:g,fontWeight:J==="S"?"bold":void 0,id:be,textColor:C?"primary600":"neutral700",ellipsis:!0,variant:J==="M"?"delta":void 0},N=C?"primary600":"neutral600",w=C?"primary200":"neutral200",j=J==="M"?`${32/16}rem`:`${24/16}rem`,_=()=>{Y||(ee&&!oe?(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'),ee()):oe&&oe())},re=(0,e.jsx)(S.k,{justifyContent:"center",borderRadius:"50%",height:j,width:j,transform:C?"rotate(180deg)":void 0,"data-strapi-dropdown":!0,"aria-hidden":!0,as:"span",background:w,cursor:Y?"not-allowed":"pointer",onClick:_,shrink:0,children:(0,e.jsx)(v.J,{as:h.Z,width:J==="M"?`${11/16}rem`:`${8/16}rem`,color:C?"primary600":"neutral600"})});return(0,e.jsx)(Z,{paddingBottom:me,paddingLeft:ce,paddingRight:ce,paddingTop:me,background:Ae,expanded:C,size:J,justifyContent:"space-between",cursor:Y?"not-allowed":"",children:(0,e.jsxs)(S.k,{gap:3,flex:1,maxWidth:"100%",children:[b==="left"&&re,(0,e.jsx)(a,{onClick:_,"aria-disabled":Y,"aria-expanded":C,"aria-controls":ue,"aria-labelledby":be,"data-strapi-accordion-toggle":!0,expanded:C,type:"button",flex:1,minWidth:0,...Q,children:(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(E.y,{...xe,children:M}),F&&(0,e.jsx)(V.Z,{as:"p",id:Le,textColor:N,children:F})]})}),b==="right"&&(0,e.jsxs)(S.k,{gap:3,children:[re,z]}),b==="left"&&z]})})}},63057:function(U,L,o){"use strict";o.d(L,{Q:function(){return E}});var e=o(74512),h=o(8471),P=o(74323);const E=({options:T,...R})=>(0,e.jsx)(P.NU,{...R,children:T.map(v=>"children"in v?(0,e.jsx)(P.Ab,{label:v.label,values:v.children.map(S=>S.value.toString()),children:v.children.map(S=>(0,e.jsx)(O,{value:S.value,children:S.label},S.value))},v.label):(0,e.jsx)(P.ML,{value:v.value,children:v.label},v.value))}),O=(0,h.ZP)(P.ML)`
266
+ padding-left: ${({theme:T})=>T.spaces[7]};
267
+ `}}]);
@@ -0,0 +1,10 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4263],{62089:function(B,i,e){e.d(i,{R:function(){return r}});var t=e(32735),a=e(59407),o=e(20108);function r(f={},d={}){const{id:n="",...g}=f,{get:E}=(0,a.kY)(),{data:s,isError:c,isLoading:M,refetch:y}=(0,o.useQuery)(["users",n,g],async()=>{const{data:{data:m}}=await E(`/admin/users/${n}`,{params:g});return m},d);return{users:t.useMemo(()=>{let m=[];return s&&("results"in s?Array.isArray(s.results)&&(m=s.results):m=[s]),m},[s]),pagination:t.useMemo(()=>(s&&"pagination"in s)??null,[s]),isLoading:M,isError:c,refetch:y}}},28363:function(B,i,e){e.r(i),e.d(i,{default:function(){return re}});var t=e(32735),a=e(59407),o=e(15062),r=e(53038),f=e(30305),d=e(95162),n=e(64092),g=e(91779),E=e(56932),s=e(77981),c=e(84642),M=e(8365),y=e(10710),O=e(97037),m=e(40501),A=e(70788),I=e(92802),j=e(33795),x=e.n(j),N=e(9086),Y=e.n(N),U=e(88423),S=e.n(U),F=e(60216),H=e.n(F),V=e(67879),G=e(62089),v=e(40957),Q=e(90869),ee=e(47577),te=e(18703),ae=e(32720);const se=async(L,u)=>{const{put:C}=(0,a.tg)(),{data:T}=await C(`/admin/users/${L}`,u);return T.data};var ne=[[{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}}]];const b=["email","firstname","lastname","username","isActive","roles"],w=({canUpdate:L})=>{const{formatMessage:u}=(0,V.Z)(),{params:{id:C}}=(0,r.$B)("/settings/users/:id"),{push:T}=(0,r.k6)(),{setUserDisplayName:W}=(0,a.L7)(),h=(0,a.lm)(),{lockApp:X,unlockApp:J}=(0,a.o1)(),k=(0,v.c)(ee.A,async()=>(await e.e(1727).then(e.bind(e,81727))).MagicLinkEE);(0,a.go)();const{users:[K],isLoading:le}=(0,G.R)({id:C},{cacheTime:0,onError(l){const{status:p}=l.response;p===403?(h({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}}),T("/")):h({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),ie=async(l,p)=>{X();try{const P=await se(C,Y()(l,"confirmPassword"));h({type:"success",message:u({id:"notification.success.saved",defaultMessage:"Saved"})});const R=a.I8.getUserInfo();if(C.toString()===R.id.toString()){a.I8.setUserInfo(P);const Z=x()(l,"username")||(0,Q.Pp)(l.firstname,l.lastname);W(Z)}p.setValues(S()(l,b))}catch(P){const R=(0,Q.Iz)(P.response.data),Z=Object.keys(R).reduce(($,D)=>($[D]=R[D].id,$),{});p.setErrors(Z),h({type:"warning",message:x()(P,"response.data.error.message","notification.error")})}J()},_=le||!k,de=_?{id:"app.containers.Users.EditPage.header.label-loading",defaultMessage:"Edit user"}:{id:"app.containers.Users.EditPage.header.label",defaultMessage:"Edit {name}"},z=Object.keys(S()(K,b)).reduce((l,p)=>p==="roles"?(l[p]=(K?.roles||[]).map(({id:P})=>P),l):(l[p]=K?.[p],l),{}),ce=z.username||(0,Q.Pp)(z.firstname,z.lastname),q=u(de,{name:ce});return _?t.createElement(d.o,{"aria-busy":"true"},t.createElement(a.SL,{name:"Users"}),t.createElement(n.T,{primaryAction:t.createElement(g.z,{disabled:!0,startIcon:t.createElement(m.Z,null),type:"button",size:"L"},u({id:"global.save",defaultMessage:"Save"})),title:q,navigationAction:t.createElement(a.rU,{startIcon:t.createElement(A.Z,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},u({id:"global.back",defaultMessage:"Back"}))}),t.createElement(E.D,null,t.createElement(a.dO,null))):t.createElement(d.o,null,t.createElement(a.SL,{name:"Users"}),t.createElement(I.J9,{onSubmit:ie,initialValues:z,validateOnChange:!1,validationSchema:ae.YM},({errors:l,values:p,handleChange:P,isSubmitting:R,dirty:Z})=>t.createElement(a.l0,null,t.createElement(n.T,{primaryAction:t.createElement(g.z,{disabled:R||!L?!0:!Z,startIcon:t.createElement(m.Z,null),loading:R,type:"submit",size:"L"},u({id:"global.save",defaultMessage:"Save"})),title:q,navigationAction:t.createElement(a.rU,{startIcon:t.createElement(A.Z,null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},u({id:"global.back",defaultMessage:"Back"}))}),t.createElement(E.D,null,K?.registrationToken&&t.createElement(s.x,{paddingBottom:6},t.createElement(k,{registrationToken:K.registrationToken})),t.createElement(c.k,{direction:"column",alignItems:"stretch",gap:7},t.createElement(s.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(c.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(M.Z,{variant:"delta",as:"h2"},u({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"Details"})),t.createElement(y.r,{gap:5},ne.map($=>$.map(D=>t.createElement(O.P,{key:D.name,...D.size},t.createElement(a.jm,{...D,disabled:!L,error:l[D.name],onChange:P,value:p[D.name]||""}))))))),t.createElement(s.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(c.k,{direction:"column",alignItems:"stretch",gap:4},t.createElement(M.Z,{variant:"delta",as:"h2"},u({id:"global.roles",defaultMessage:"User's role"})),t.createElement(y.r,{gap:5},t.createElement(O.P,{col:6,xs:12},t.createElement(te.Z,{disabled:!L,error:l.roles,onChange:P,value:p.roles}))))))))))};w.propTypes={canUpdate:H().bool.isRequired};var oe=w,re=()=>{const L=(0,a.lm)(),u=(0,o.v9)(f._),C=t.useMemo(()=>({read:u.settings.users.read,update:u.settings.users.update}),[u.settings.users]),{isLoading:T,allowedActions:{canRead:W,canUpdate:h}}=(0,a.ss)(C),{state:X}=(0,r.TH)(),J=X?.from??"/";return(0,t.useEffect)(()=>{T||!W&&!h&&L({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}})},[T,W,h,L]),T?t.createElement(a.dO,null):!W&&!h?t.createElement(r.l_,{to:J}):t.createElement(oe,{canUpdate:h})}},84024:function(B,i,e){var t=e(32735),a=e(14763),o=e(59407),r=e(94958),f=e(60216),d=e.n(f),n=e(67879);const g=({children:E,target:s})=>{const c=(0,o.lm)(),{formatMessage:M}=(0,n.Z)(),{copy:y}=(0,o.VP)(),O=M({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),m=async()=>{await y(s)&&c({type:"info",message:{id:"notification.link-copied"}})};return t.createElement(o.Y_,{endAction:t.createElement(a.h,{label:O,noBorder:!0,icon:t.createElement(r.Z,null),onClick:m}),title:s,titleEllipsis:!0,subtitle:E,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};g.propTypes={children:d().oneOfType([d().element,d().string]).isRequired,target:d().string.isRequired},i.Z=g},47577:function(B,i,e){e.d(i,{A:function(){return n}});var t=e(32735),a=e(60216),o=e.n(a),r=e(67879),f=e(35231),d=e(84024);const n=({registrationToken:g})=>{const{formatMessage:E}=(0,r.Z)(),s=`${window.location.origin}${f.Z}auth/register?registrationToken=${g}`;return t.createElement(d.Z,{target:s},E({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};n.defaultProps={registrationToken:""},n.propTypes={registrationToken:o().string}},18703:function(B,i,e){var t=e(32735),a=e(16773),o=e(40260),r=e(59407),f=e(75760),d=e(60216),n=e.n(d),g=e(67879),E=e(20108),s=e(8471);const c=(0,s.F4)`
2
+ from {
3
+ transform: rotate(0deg);
4
+ }
5
+ to {
6
+ transform: rotate(359deg);
7
+ }
8
+ `,M=s.ZP.div`
9
+ animation: ${c} 2s infinite linear;
10
+ `,y=()=>t.createElement(M,null,t.createElement(f.Z,null)),O=async()=>{const{get:A}=(0,r.tg)(),{data:I}=await A("/admin/roles");return I.data},m=({disabled:A,error:I,onChange:j,value:x})=>{const{status:N,data:Y}=(0,E.useQuery)(["roles"],O,{staleTime:5e4}),{formatMessage:U}=(0,g.Z)(),S=I?U({id:I,defaultMessage:I}):"",F=U({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),H=U({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),V=U({id:"app.components.Select.placeholder",defaultMessage:"Select"}),G=N==="loading"?t.createElement(y,null):void 0;return t.createElement(a.P,{id:"roles",disabled:A,error:S,hint:H,label:F,name:"roles",onChange:v=>{j({target:{name:"roles",value:v}})},placeholder:V,multi:!0,startIcon:G,value:x.map(v=>v.toString()),withTags:!0,required:!0},(Y||[]).map(v=>t.createElement(o.W,{key:v.id,value:v.id.toString()},U({id:`global.${v.code}`,defaultMessage:v.name}))))};m.defaultProps={disabled:!1,error:void 0},m.propTypes={disabled:n().bool,error:n().string,onChange:n().func.isRequired,value:n().array.isRequired},i.Z=m},32720:function(B,i,e){e.d(i,{YM:function(){return E},Rw:function(){return f}});var t=e(24346),a=e(59407);const o={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",(s,c)=>s?c.required(a.I0.required):c)};var f={...o,currentPassword:t.Z_().when(["password","confirmPassword"],(s,c,M)=>s||c?M.required(a.I0.required):M),preferedLanguage:t.Z_().nullable()},n={roles:t.IX().min(1,a.I0.required).required(a.I0.required)},E=t.Ry().shape({...o,isActive:t.Xg(),...n})},70788:function(B,i,e){e.d(i,{Z:function(){return o}});var t=e(74512);const a=r=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...r,children:(0,t.jsx)("path",{fill:"#212134",d:"M24 13.3a.2.2 0 0 1-.2.2H5.74l8.239 8.239a.2.2 0 0 1 0 .282L12.14 23.86a.2.2 0 0 1-.282 0L.14 12.14a.2.2 0 0 1 0-.282L11.86.14a.2.2 0 0 1 .282 0L13.98 1.98a.2.2 0 0 1 0 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6Z"})}),o=a}}]);
@@ -0,0 +1,22 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[3455],{86434:function(N,v,t){t.d(v,{F:function(){return u}});var e=t(32735),n=t(59407),i=t(67879),c=t(20108);const u=(I={},j={})=>{const{id:M="",...y}=I,{get:o}=(0,n.kY)(),{locale:Z}=(0,i.Z)(),L=(0,n.Xe)(Z,{sensitivity:"base"}),{data:p,error:d,isError:D,isLoading:Q,refetch:V}=(0,c.useQuery)(["roles",M,y],async()=>{const{data:C}=await o(`/admin/roles/${M??""}`,{params:y});return C},j);return{roles:e.useMemo(()=>{let C=[];return p&&(Array.isArray(p.data)?C=p.data:C=[p.data]),[...C].sort((H,b)=>L.compare(H.name,b.name))},[p,L]),error:d,isError:D,isLoading:Q,refetch:V}}},32239:function(N,v,t){t.r(v),t.d(v,{default:function(){return ue}});var e=t(32735),n=t(59407),i=t(15062),c=t(30305),u=t(95162),I=t(64092),j=t(91779),M=t(95181),y=t(56932),o=t(23699),Z=t(22116),L=t(41013),p=t(45037),d=t(27947),D=t(8365),Q=t(99320),V=t(1690),J=t(94958),C=t(63318),H=t(94997),b=t(82064),k=t(67879),q=t(53038),_=t(86434),ee=()=>"todo empty role",te=t(84642),ne=t(77981),le=t(14763),ae=t(60216),R=t.n(ae);const z=({id:a,name:m,description:s,usersCount:O,icons:r,rowIndex:W,canUpdate:E})=>{const{formatMessage:P}=(0,k.Z)(),[,x]=r,g=P({id:"Roles.RoleRow.user-count",defaultMessage:"{number, plural, =0 {# user} one {# user} other {# users}}"},{number:O});return e.createElement(p.Tr,{"aria-rowindex":W,key:a,...E?(0,n.X7)({fn:x.onClick}):{}},e.createElement(d.Td,{maxWidth:(0,n.Q1)(130)},e.createElement(D.Z,{ellipsis:!0,textColor:"neutral800"},m)),e.createElement(d.Td,{maxWidth:(0,n.Q1)(250)},e.createElement(D.Z,{ellipsis:!0,textColor:"neutral800"},s)),e.createElement(d.Td,null,e.createElement(D.Z,{textColor:"neutral800"},g)),e.createElement(d.Td,null,e.createElement(te.k,{justifyContent:"flex-end",...n.UW},r.map((h,A)=>h?e.createElement(ne.x,{key:h.label,paddingLeft:A===0?0:1},e.createElement(le.h,{onClick:h.onClick,label:h.label,noBorder:!0,icon:h.icon})):null))))};z.propTypes={id:R().number.isRequired,name:R().string.isRequired,description:R().string.isRequired,usersCount:R().number.isRequired,icons:R().array.isRequired,rowIndex:R().number.isRequired,canUpdate:R().bool},z.defaultProps={canUpdate:!1};var se=z,oe=t(97889);const re={roleToDelete:null,showModalConfirmButtonLoading:!1,shouldRefetchData:!1};var ie=(a,m)=>(0,oe.ZP)(a,s=>{switch(m.type){case"ON_REMOVE_ROLES":{s.showModalConfirmButtonLoading=!0;break}case"ON_REMOVE_ROLES_SUCCEEDED":{s.shouldRefetchData=!0,s.roleToDelete=null;break}case"RESET_DATA_TO_DELETE":{s.shouldRefetchData=!1,s.roleToDelete=null,s.showModalConfirmButtonLoading=!1;break}case"SET_ROLE_TO_DELETE":{s.roleToDelete=m.id;break}default:return s}});const de=({canCreate:a,canDelete:m,canUpdate:s,refetchRoles:O})=>{const{formatMessage:r}=(0,k.Z)(),{formatAPIError:W}=(0,n.So)(),E=(0,n.lm)(),[P,x]=(0,e.useState)(!1),{push:g}=(0,q.k6)(),[{selectedRoles:h,showModalConfirmButtonLoading:A,roleToDelete:X},U]=(0,e.useReducer)(ie,re),{post:G}=(0,n.tg)(),Y=async()=>{try{U({type:"ON_REMOVE_ROLES"}),await G("/admin/roles/batch-delete",{ids:[X]}),await O(),U({type:"RESET_DATA_TO_DELETE"})}catch(l){E({type:"warning",message:W(l)})}B()},K=(0,e.useCallback)(l=>{g(`/settings/roles/duplicate/${l}`)},[g]),$=()=>g("/settings/roles/new"),F=(0,e.useCallback)(l=>{U({type:"SET_ROLE_TO_DELETE",id:l}),B()},[]),B=()=>x(l=>!l),f=(0,e.useCallback)(l=>{g(`/settings/roles/${l}`)},[g]),S=(0,e.useCallback)((l,T)=>{l.preventDefault(),l.stopPropagation(),T.usersCount?E({type:"info",message:{id:"Roles.ListPage.notification.delete-not-allowed"}}):F(T.id)},[E,F]),w=(0,e.useCallback)((l,T)=>{l.preventDefault(),l.stopPropagation(),K(T.id)},[K]),me=(0,e.useCallback)(l=>[...a?[{onClick:T=>w(T,l),label:r({id:"app.utils.duplicate",defaultMessage:"Duplicate"}),icon:e.createElement(J.Z,null)}]:[],...s?[{onClick:()=>f(l.id),label:r({id:"app.utils.edit",defaultMessage:"Edit"}),icon:e.createElement(C.Z,null)}]:[],...m?[{onClick:T=>S(T,l),label:r({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(H.Z,null)}]:[]],[r,S,w,f,a,s,m]);return{handleNewRoleClick:$,getIcons:me,selectedRoles:h,isWarningDeleteAllOpened:P,showModalConfirmButtonLoading:A,handleToggleModal:B,handleDeleteData:Y}};var ce=()=>{const{formatMessage:a}=(0,k.Z)();(0,n.go)();const m=(0,i.v9)(c._),[{query:s}]=(0,n.Kx)(),{isLoading:O,allowedActions:{canCreate:r,canDelete:W,canRead:E,canUpdate:P}}=(0,n.ss)(m.settings.roles),{roles:x,isLoading:g,refetch:h}=(0,_.F)({filters:s?._q?{name:{$containsi:s._q}}:void 0},{cacheTime:0,enabled:!O&&E}),{handleNewRoleClick:A,getIcons:X,isWarningDeleteAllOpened:U,showModalConfirmButtonLoading:G,handleToggleModal:Y,handleDeleteData:K}=de({refetchRoles:h,canCreate:r,canDelete:W,canUpdate:P}),$=x.length+1,F=6;if(O)return e.createElement(u.o,null,e.createElement(n.dO,null));const B=a({id:"global.roles",defaultMessage:"roles"});return e.createElement(u.o,null,e.createElement(n.SL,{name:"Roles"}),e.createElement(I.T,{primaryAction:r?e.createElement(j.z,{onClick:A,startIcon:e.createElement(b.Z,null),size:"S"},a({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null,title:B,subtitle:a({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),as:"h2"}),E&&e.createElement(M.Z,{startActions:e.createElement(n.m,{label:a({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:B})})}),E&&e.createElement(y.D,null,e.createElement(o.i,{colCount:F,rowCount:$,footer:r?e.createElement(Z.c,{onClick:A,icon:e.createElement(b.Z,null)},a({id:"Settings.roles.list.button.add",defaultMessage:"Add new role"})):null},e.createElement(L.h,null,e.createElement(p.Tr,{"aria-rowindex":1},e.createElement(d.Th,null,e.createElement(D.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.name",defaultMessage:"Name"}))),e.createElement(d.Th,null,e.createElement(D.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.description",defaultMessage:"Description"}))),e.createElement(d.Th,null,e.createElement(D.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.users",defaultMessage:"Users"}))),e.createElement(d.Th,null,e.createElement(Q.T,null,a({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(V.p,null,x?.map((f,S)=>e.createElement(se,{key:f.id,id:f.id,name:f.name,description:f.description,usersCount:f.usersCount,icons:X(f),rowIndex:S+2,canUpdate:P})))),!$&&!g&&e.createElement(ee,null)),e.createElement(n.QH,{isOpen:U,onConfirm:K,isConfirmButtonLoading:G,onToggleDialog:Y}))},ue=()=>{const a=(0,i.v9)(c._);return e.createElement(n.O4,{permissions:a.settings.roles.main},e.createElement(ce,null))}},95181:function(N,v,t){t.d(v,{Z:function(){return i}});var e=t(74512),n=t(84642);const i=({startActions:c,endActions:u})=>!c&&!u?null:(0,e.jsxs)(n.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,e.jsx)(n.k,{gap:2,wrap:"wrap",children:c}),(0,e.jsx)(n.k,{gap:2,shrink:0,wrap:"wrap",children:u})]})},22116:function(N,v,t){t.d(v,{c:function(){return y}});var e=t(74512),n=t(8471),i=t(77981),c=t(2775),u=t(84642),I=t(8365);const j=(0,n.ZP)(i.x)`
2
+ height: ${24/16}rem;
3
+ width: ${24/16}rem;
4
+ border-radius: 50%;
5
+ display: flex;
6
+ justify-content: center;
7
+ align-items: center;
8
+
9
+ svg {
10
+ height: ${10/16}rem;
11
+ width: ${10/16}rem;
12
+ }
13
+
14
+ svg path {
15
+ fill: ${({theme:o})=>o.colors.primary600};
16
+ }
17
+ `,M=(0,n.ZP)(i.x)`
18
+ border-radius: 0 0 ${({theme:o})=>o.borderRadius} ${({theme:o})=>o.borderRadius};
19
+ display: block;
20
+ width: 100%;
21
+ border: none;
22
+ `,y=({children:o,icon:Z,...L})=>(0,e.jsxs)("div",{children:[(0,e.jsx)(c.i,{}),(0,e.jsx)(M,{as:"button",background:"primary100",padding:5,...L,children:(0,e.jsxs)(u.k,{children:[(0,e.jsx)(j,{"aria-hidden":!0,background:"primary200",children:Z}),(0,e.jsx)(i.x,{paddingLeft:3,children:(0,e.jsx)(I.Z,{variant:"pi",fontWeight:"bold",textColor:"primary600",children:o})})]})})]})}}]);
@@ -0,0 +1,11 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5199],{62089:function(B,m,e){e.d(m,{R:function(){return o}});var t=e(32735),l=e(59407),r=e(20108);function o(u={},a={}){const{id:s="",...v}=u,{get:g}=(0,l.kY)(),{data:n,isError:O,isLoading:C,refetch:I}=(0,r.useQuery)(["users",s,v],async()=>{const{data:{data:E}}=await g(`/admin/users/${s}`,{params:v});return E},a);return{users:t.useMemo(()=>{let E=[];return n&&("results"in n?Array.isArray(n.results)&&(E=n.results):E=[n]),E},[n]),pagination:t.useMemo(()=>(n&&"pagination"in n)??null,[n]),isLoading:C,isError:O,refetch:I}}},59092:function(B,m,e){var t=e(32735),l=e(77981),r=e(91779),o=e(59407),u=e(68527),a=e(60216),s=e.n(a),v=e(67879);const g=({displayedFilters:n})=>{const[O,C]=(0,t.useState)(!1),{formatMessage:I}=(0,v.Z)(),y=(0,t.useRef)(),E=()=>{C(W=>!W)};return t.createElement(t.Fragment,null,t.createElement(l.x,{paddingTop:1,paddingBottom:1},t.createElement(r.z,{variant:"tertiary",ref:y,startIcon:t.createElement(u.Z,null),onClick:E,size:"S"},I({id:"app.utils.filters",defaultMessage:"Filters"})),O&&t.createElement(o.J5,{displayedFilters:n,isVisible:O,onToggle:E,source:y})),t.createElement(o.W$,{filtersSchema:n}))};g.propTypes={displayedFilters:s().arrayOf(s().shape({name:s().string.isRequired,metadatas:s().shape({label:s().string}),fieldSchema:s().shape({type:s().string})})).isRequired},m.Z=g},99528:function(B,m,e){e.d(m,{W:function(){return fe},Z:function(){return Ze}});var t=e(32735),l=e(95162),r=e(64092),o=e(95181),u=e(56932),a=e(59407),s=e(33348),v=e.n(s),g=e(67879),n=e(20108),O=e(15062),C=e(53038),I=e(62089),y=e(40957),E=e(30305),W=e(59092),A=e(91779),ae=e(50720),se=e(60216),d=e.n(se);const q=({onClick:i})=>{const{formatMessage:f}=(0,g.Z)();return t.createElement(A.z,{onClick:i,startIcon:t.createElement(ae.Z,null),size:"S"},f({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}))};q.propTypes={onClick:d().func.isRequired};var Z=e(1690),ne=e(45037),J=e(27947),le=e(96669),b=e(8365),F=e(84642),h=e(14763),$=e(77981),pe=e(63318),Me=e(94997),re=e(90869);const oe=({canDelete:i,headers:f,entriesToDelete:L,onClickDelete:k,onSelectRow:V,withMainAction:j,withBulkActions:K,rows:R})=>{const{push:P,location:{pathname:H}}=(0,C.k6)(),{formatMessage:D}=(0,g.Z)();return t.createElement(Z.p,null,R.map(c=>{const z=L.findIndex(U=>U===c.id)!==-1;return t.createElement(ne.Tr,{key:c.id,...(0,a.X7)({fn:()=>P(`${H}/${c.id}`),condition:K})},j&&t.createElement(J.Td,{...a.UW},t.createElement(le.C,{"aria-label":D({id:"app.component.table.select.one-entry",defaultMessage:"Select {target}"},{target:(0,re.Pp)(c.firstname,c.lastname)}),checked:z,onChange:()=>{V({name:c.id,value:!z})}})),f.map(({key:U,cellFormatter:Y,name:x,...N})=>t.createElement(J.Td,{key:U},typeof Y=="function"?Y(c,{key:U,name:x,formatMessage:D,...N}):t.createElement(b.Z,{textColor:"neutral800"},c[x]||"-"))),K&&t.createElement(J.Td,null,t.createElement(F.k,{justifyContent:"end"},t.createElement(h.h,{onClick:()=>P(`${H}/${c.id}`),label:D({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:(0,re.Pp)(c.firstname,c.lastname)}),noBorder:!0,icon:t.createElement(pe.Z,null)}),i&&t.createElement($.x,{paddingLeft:1,...a.UW},t.createElement(h.h,{onClick:()=>k(c.id),label:D({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:(0,re.Pp)(c.firstname,c.lastname)}),noBorder:!0,icon:t.createElement(Me.Z,null)})))))}))};oe.defaultProps={canDelete:!1,entriesToDelete:[],onClickDelete(){},onSelectRow(){},rows:[],withBulkActions:!1,withMainAction:!1},oe.propTypes={canDelete:d().bool,entriesToDelete:d().array,headers:d().array.isRequired,onClickDelete:d().func,onSelectRow:d().func,rows:d().array,withBulkActions:d().bool,withMainAction:d().bool};var ve=oe,ye=e(21223),Pe=e(98887),he=e(87674),de=e(10710),ie=e(97037),De=e(74973),Oe=e(79129),Ce=e(2748),Ae=e(92802),Le=e(47577),Te=e(18703),X=e(24346);const ue={firstname:"",lastname:"",email:"",roles:[]},Ie=[],Re=[[{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}]],Ue=X.Ry().shape({firstname:X.Z_().trim().required(a.I0.required),lastname:X.Z_(),email:X.Z_().email(a.I0.email).required(a.I0.required),roles:X.IX().min(1,a.I0.required).required(a.I0.required)}),Se={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}},Ee=({onSuccess:i,onToggle:f})=>{const[L,k]=(0,t.useState)("create"),[V,j]=(0,t.useState)(!1),[K,R]=(0,t.useState)(null),{formatMessage:P}=(0,g.Z)(),H=(0,a.lm)(),{lockApp:D,unlockApp:c}=(0,a.o1)(),{post:z}=(0,a.kY)(),U=(0,y.c)(Ie,async()=>(await e.e(311).then(e.bind(e,40311))).ROLE_LAYOUT,{combine(M,S){return[...M,S]},defaultValue:[]}),Y=(0,y.c)(ue,async()=>(await e.e(311).then(e.bind(e,40311))).FORM_INITIAL_VALUES,{combine(M,S){return{...M,...S}},defaultValue:ue}),x=(0,y.c)(Le.A,async()=>(await e.e(1727).then(e.bind(e,81727))).MagicLinkEE),N=(0,n.useMutation)(M=>z("/admin/users",M),{async onSuccess({data:M}){R(M.data.registrationToken),await i(),te(),j(!1)},onError(M){throw j(!1),H({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),M},onSettled(){c()}}),w=P({id:"Settings.permissions.users.create",defaultMessage:"Invite new user"}),ee=async(M,{setErrors:S})=>{D(),j(!0);try{await N.mutateAsync(M)}catch(G){c(),G?.response?.data?.error.message==="Email already taken"&&S({email:G.response.data.error.message})}},te=()=>{p?k(p):f()},{buttonSubmitLabel:_,isDisabled:Q,next:p}=Se[L],be=L==="create"?t.createElement(A.z,{type:"submit",loading:V},P(_)):t.createElement(A.z,{type:"button",loading:V,onClick:f},P(_));return x?t.createElement(ye.P,{onClose:f,labelledBy:"title"},t.createElement(Pe.x,null,t.createElement(Oe.O,{label:w},t.createElement(Ce.$,{isCurrent:!0},w))),t.createElement(Ae.J9,{enableReinitialize:!0,initialValues:Y,onSubmit:ee,validationSchema:Ue,validateOnChange:!1},({errors:M,handleChange:S,values:G})=>t.createElement(a.l0,null,t.createElement(he.f,null,t.createElement(F.k,{direction:"column",alignItems:"stretch",gap:6},L!=="create"&&t.createElement(x,{registrationToken:K}),t.createElement($.x,null,t.createElement(b.Z,{variant:"beta",as:"h2"},P({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"User details"})),t.createElement($.x,{paddingTop:4},t.createElement(F.k,{direction:"column",alignItems:"stretch",gap:1},t.createElement(de.r,{gap:5},Re.map(me=>me.map(T=>t.createElement(ie.P,{key:T.name,...T.size},t.createElement(a.jm,{...T,disabled:Q,error:M[T.name],onChange:S,value:G[T.name]})))))))),t.createElement($.x,null,t.createElement(b.Z,{variant:"beta",as:"h2"},P({id:"global.roles",defaultMessage:"User's role"})),t.createElement($.x,{paddingTop:4},t.createElement(de.r,{gap:5},t.createElement(ie.P,{col:6,xs:12},t.createElement(Te.Z,{disabled:Q,error:M.roles,onChange:S,value:G.roles})),U.map(me=>me.map(T=>t.createElement(ie.P,{key:T.name,...T.size},t.createElement(a.jm,{...T,disabled:Q,onChange:S,value:G[T.name]}))))))))),t.createElement(De.m,{startActions:t.createElement(A.z,{variant:"tertiary",onClick:f,type:"button"},P({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:be})))):null};Ee.propTypes={onToggle:d().func.isRequired,onSuccess:d().func.isRequired};var Be=Ee;const ce=({pagination:i})=>t.createElement($.x,{paddingTop:4},t.createElement(F.k,{alignItems:"flex-end",justifyContent:"space-between"},t.createElement(a.v4,null),t.createElement(a.tU,{pagination:i})));ce.defaultProps={pagination:{pageCount:0,pageSize:10,total:0}},ce.propTypes={pagination:d().shape({page:d().number,pageCount:d().number,pageSize:d().number,total:d().number})};var We=ce,Ke=[{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"}}],xe=[{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:i},{formatMessage:f}){return t.createElement(b.Z,{textColor:"neutral800"},i.map(L=>f({id:`Settings.permissions.users.${L.code}`,defaultMessage:L.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:i},{formatMessage:f}){return t.createElement(F.k,null,t.createElement(a.qb,{isActive:i,variant:i?"success":"danger"}),t.createElement(b.Z,{textColor:"neutral800"},f({id:i?"Settings.permissions.users.active":"Settings.permissions.users.inactive",defaultMessage:i?"Active":"Inactive"})))}}];const ge=["ee","license-limit-info"],fe=()=>{const{post:i}=(0,a.kY)(),{formatAPIError:f}=(0,a.So)(),[L,k]=(0,t.useState)(!1),V=(0,O.v9)(E._),{allowedActions:{canCreate:j,canDelete:K,canRead:R}}=(0,a.ss)(V.settings.users),P=(0,n.useQueryClient)(),H=(0,a.lm)(),{formatMessage:D}=(0,g.Z)(),{search:c}=(0,C.TH)();(0,a.go)();const{users:z,pagination:U,isError:Y,isLoading:x,refetch:N}=(0,I.R)(v().parse(c,{ignoreQueryPrefix:!0}),{cacheTime:0,enabled:R}),w=(0,y.c)(q,async()=>(await e.e(2379).then(e.bind(e,42379))).CreateActionEE),ee=xe.map(p=>({...p,metadatas:{...p.metadatas,label:D(p.metadatas.label)}})),te=D({id:"global.users",defaultMessage:"Users"}),_=()=>{k(p=>!p)},Q=(0,n.useMutation)(async p=>{await i("/admin/users/batch-delete",{ids:p})},{async onSuccess(){await N(),await P.refetchQueries(ge)},onError(p){H({type:"warning",message:{id:"notification.error",message:f(p),defaultMessage:"An error occured"}})}});return w?t.createElement(l.o,{"aria-busy":x},t.createElement(a.SL,{name:"Users"}),t.createElement(r.T,{primaryAction:j&&t.createElement(w,{onClick:_}),title:te,subtitle:D({id:"Settings.permissions.users.listview.header.subtitle",defaultMessage:"All the users who have access to the Strapi admin panel"})}),R&&t.createElement(o.Z,{startActions:t.createElement(t.Fragment,null,t.createElement(a.m,{label:D({id:"app.component.search.label",defaultMessage:"Search for {target}"},{target:te})}),t.createElement(W.Z,{displayedFilters:Ke}))}),t.createElement(u.D,{canRead:R},!R&&t.createElement(a.ZF,null),Y&&t.createElement("div",null,"TODO: An error occurred"),R&&t.createElement(t.Fragment,null,t.createElement(a.tM,{contentType:"Users",isLoading:x,onConfirmDeleteAll:Q.mutateAsync,onConfirmDelete:p=>Q.mutateAsync([p]),headers:ee,rows:z,withBulkActions:!0,withMainAction:K},t.createElement(ve,{canDelete:K,headers:ee,rows:z,withBulkActions:!0,withMainAction:K})),U&&t.createElement(We,{pagination:U}))),L&&t.createElement(Be,{onSuccess:async()=>{await N(),await P.refetchQueries(ge)},onToggle:_})):null};var Ze=()=>{const i=(0,y.c)(fe,async()=>(await e.e(2801).then(e.bind(e,12801))).UserListPageEE);return i?t.createElement(i,null):null}},25691:function(B,m,e){e.r(m);var t=e(32735),l=e(59407),r=e(15062),o=e(30305),u=e(99528);const a=()=>{const s=(0,r.v9)(o._);return t.createElement(l.O4,{permissions:s.settings.users.main},t.createElement(u.Z,null))};m.default=a},84024:function(B,m,e){var t=e(32735),l=e(14763),r=e(59407),o=e(94958),u=e(60216),a=e.n(u),s=e(67879);const v=({children:g,target:n})=>{const O=(0,r.lm)(),{formatMessage:C}=(0,s.Z)(),{copy:I}=(0,r.VP)(),y=C({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),E=async()=>{await I(n)&&O({type:"info",message:{id:"notification.link-copied"}})};return t.createElement(r.Y_,{endAction:t.createElement(l.h,{label:y,noBorder:!0,icon:t.createElement(o.Z,null),onClick:E}),title:n,titleEllipsis:!0,subtitle:g,icon:t.createElement("span",{style:{fontSize:32}},"\u2709\uFE0F"),iconBackground:"neutral100"})};v.propTypes={children:a().oneOfType([a().element,a().string]).isRequired,target:a().string.isRequired},m.Z=v},47577:function(B,m,e){e.d(m,{A:function(){return s}});var t=e(32735),l=e(60216),r=e.n(l),o=e(67879),u=e(35231),a=e(84024);const s=({registrationToken:v})=>{const{formatMessage:g}=(0,o.Z)(),n=`${window.location.origin}${u.Z}auth/register?registrationToken=${v}`;return t.createElement(a.Z,{target:n},g({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};s.defaultProps={registrationToken:""},s.propTypes={registrationToken:r().string}},18703:function(B,m,e){var t=e(32735),l=e(16773),r=e(40260),o=e(59407),u=e(75760),a=e(60216),s=e.n(a),v=e(67879),g=e(20108),n=e(8471);const O=(0,n.F4)`
3
+ from {
4
+ transform: rotate(0deg);
5
+ }
6
+ to {
7
+ transform: rotate(359deg);
8
+ }
9
+ `,C=n.ZP.div`
10
+ animation: ${O} 2s infinite linear;
11
+ `,I=()=>t.createElement(C,null,t.createElement(u.Z,null)),y=async()=>{const{get:W}=(0,o.tg)(),{data:A}=await W("/admin/roles");return A.data},E=({disabled:W,error:A,onChange:ae,value:se})=>{const{status:d,data:q}=(0,g.useQuery)(["roles"],y,{staleTime:5e4}),{formatMessage:Z}=(0,v.Z)(),ne=A?Z({id:A,defaultMessage:A}):"",J=Z({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),le=Z({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),b=Z({id:"app.components.Select.placeholder",defaultMessage:"Select"}),F=d==="loading"?t.createElement(I,null):void 0;return t.createElement(l.P,{id:"roles",disabled:W,error:ne,hint:le,label:J,name:"roles",onChange:h=>{ae({target:{name:"roles",value:h}})},placeholder:b,multi:!0,startIcon:F,value:se.map(h=>h.toString()),withTags:!0,required:!0},(q||[]).map(h=>t.createElement(r.W,{key:h.id,value:h.id.toString()},Z({id:`global.${h.code}`,defaultMessage:h.name}))))};E.defaultProps={disabled:!1,error:void 0},E.propTypes={disabled:s().bool,error:s().string,onChange:s().func.isRequired,value:s().array.isRequired},m.Z=E},95181:function(B,m,e){e.d(m,{Z:function(){return r}});var t=e(74512),l=e(84642);const r=({startActions:o,endActions:u})=>!o&&!u?null:(0,t.jsxs)(l.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,t.jsx)(l.k,{gap:2,wrap:"wrap",children:o}),(0,t.jsx)(l.k,{gap:2,shrink:0,wrap:"wrap",children:u})]})},50720:function(B,m,e){e.d(m,{Z:function(){return r}});var t=e(74512);const l=o=>(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1rem",height:"1rem",fill:"none",viewBox:"0 0 24 24",...o,children:[(0,t.jsx)("path",{fill:"#32324D",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"}),(0,t.jsx)("path",{fill:"#32324D",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"}),(0,t.jsx)("path",{fill:"#32324D",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"})]}),r=l}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4299],{79494:function(l,e,t){t.r(e);var s=t(32735),_=t(61489),n=t(15062),E=t(30305),a=t(72225);const i=()=>{const r=(0,n.v9)(E._);return s.createElement(_.O4,{permissions:r.settings["api-tokens"].create},s.createElement(a.Z,null))};e.default=i}}]);
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4299],{79494:function(l,e,t){t.r(e);var s=t(32735),_=t(59407),n=t(15062),E=t(30305),a=t(72225);const i=()=>{const r=(0,n.v9)(E._);return s.createElement(_.O4,{permissions:r.settings["api-tokens"].create},s.createElement(a.Z,null))};e.default=i}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[92],{77238:function(l,s,t){t.r(s);var _=t(32735),e=t(61489),n=t(15062),E=t(30305),a=t(72225);const i=()=>{const r=(0,n.v9)(E._);return _.createElement(e.O4,{permissions:r.settings["api-tokens"].read},_.createElement(a.Z,null))};s.default=i}}]);
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[92],{77238:function(l,s,t){t.r(s);var _=t(32735),e=t(59407),n=t(15062),E=t(30305),a=t(72225);const i=()=>{const r=(0,n.v9)(E._);return _.createElement(e.O4,{permissions:r.settings["api-tokens"].read},_.createElement(a.Z,null))};s.default=i}}]);
@@ -0,0 +1,16 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8056],{12584:function(W,E,n){n.d(E,{Z:function(){return f}});var e=n(32735),o=n(1690),Z=n(45037),g=n(27947),k=n(8365),N=n(84642),r=n(59407),P=n(60216),t=n.n(P),S=n(67879),I=n(53038),D=n(77981),x=n(14763),v=n(94997);const U=({tokenName:s,onClickDelete:i,tokenType:c})=>{const{formatMessage:m}=(0,S.Z)(),{trackUsage:p}=(0,r.rS)(),[l,d]=(0,e.useState)(!1),u=()=>{d(!1),p("willDeleteToken",{tokenType:c}),i()};return e.createElement(D.x,{paddingLeft:1,onClick:y=>y.stopPropagation()},e.createElement(x.h,{onClick:()=>{d(!0)},label:m({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${s}`}),name:"delete",noBorder:!0,icon:e.createElement(v.Z,null)}),e.createElement(r.QH,{onToggleDialog:()=>d(!1),onConfirm:u,isOpen:l}))};U.propTypes={tokenName:t().string.isRequired,onClickDelete:t().func.isRequired,tokenType:t().string.isRequired};var Y=U,V=n(10364),K=n(8471);const O={edit:{id:"app.component.table.edit",defaultMessage:"Edit {target}"},read:{id:"app.component.table.read",defaultMessage:"Read {target}"}},J=(0,K.ZP)(r.rU)`
2
+ svg {
3
+ path {
4
+ fill: ${({theme:s})=>s.colors.neutral500};
5
+ }
6
+ }
7
+
8
+ &:hover,
9
+ &:focus {
10
+ svg {
11
+ path {
12
+ fill: ${({theme:s})=>s.colors.neutral800};
13
+ }
14
+ }
15
+ }
16
+ `,L=({tokenName:s,tokenId:i,buttonType:c,children:m})=>{const{formatMessage:p}=(0,S.Z)(),{location:{pathname:l}}=(0,I.k6)();return e.createElement(J,{to:`${l}/${i}`,title:p(O[c],{target:s})},m)};L.propTypes={tokenName:t().string.isRequired,tokenId:t().oneOfType([t().string,t().number]).isRequired,buttonType:t().string,children:t().node.isRequired},L.defaultProps={buttonType:"edit"};var h=L;const T=({tokenName:s,tokenId:i})=>e.createElement(h,{tokenName:s,tokenId:i,buttonType:"read"},e.createElement(V.Z,null));T.propTypes={tokenName:t().string.isRequired,tokenId:t().oneOfType([t().string,t().number]).isRequired};var B=T,Q=n(63318);const A=({tokenName:s,tokenId:i})=>e.createElement(h,{tokenName:s,tokenId:i},e.createElement(Q.Z,null));A.propTypes={tokenName:t().string.isRequired,tokenId:t().oneOfType([t().string,t().number]).isRequired};var $=A;const b=({permissions:s,headers:i,contentType:c,isLoading:m,tokens:p,onConfirmDelete:l,tokenType:d})=>{const{canDelete:u,canUpdate:y,canRead:R}=s;return e.createElement(r.tM,{headers:i,contentType:c,rows:p,withBulkActions:u||y||R,isLoading:m,onConfirmDelete:l},e.createElement(C,{tokenType:d,permissions:s,onConfirmDelete:l}))};b.propTypes={tokens:t().array,permissions:t().shape({canRead:t().bool,canDelete:t().bool,canUpdate:t().bool}).isRequired,headers:t().arrayOf(t().shape({cellFormatter:t().func,key:t().string.isRequired,metadatas:t().shape({label:t().string.isRequired,sortable:t().bool}).isRequired,name:t().string.isRequired})),contentType:t().string.isRequired,isLoading:t().bool,onConfirmDelete:t().func,tokenType:t().string.isRequired},b.defaultProps={tokens:[],headers:[],isLoading:!1,onConfirmDelete(){}};var f=b;const C=({tokenType:s,permissions:i,rows:c,withBulkActions:m,onConfirmDelete:p})=>{const{canDelete:l,canUpdate:d,canRead:u}=i,[{query:y}]=(0,r.Kx)(),{formatMessage:R}=(0,S.Z)(),[,w]=y?y.sort.split(":"):"ASC",{push:M,location:{pathname:F}}=(0,I.k6)(),{trackUsage:H}=(0,r.rS)(),j=c.sort((a,G)=>{const z=a.name.localeCompare(G.name);return w==="DESC"?-z:z});return e.createElement(o.p,null,j.map(a=>e.createElement(Z.Tr,{key:a.id,...(0,r.X7)({fn(){H("willEditTokenFromList",{tokenType:s}),M(`${F}/${a.id}`)},condition:d})},e.createElement(g.Td,{maxWidth:(0,r.Q1)(250)},e.createElement(k.Z,{textColor:"neutral800",fontWeight:"bold",ellipsis:!0},a.name)),e.createElement(g.Td,{maxWidth:(0,r.Q1)(250)},e.createElement(k.Z,{textColor:"neutral800",ellipsis:!0},a.description)),e.createElement(g.Td,null,e.createElement(k.Z,{textColor:"neutral800"},e.createElement(r.ij,{timestamp:new Date(a.createdAt)}))),e.createElement(g.Td,null,a.lastUsedAt&&e.createElement(k.Z,{textColor:"neutral800"},e.createElement(r.ij,{timestamp:new Date(a.lastUsedAt),customIntervals:[{unit:"hours",threshold:1,text:R({id:"Settings.apiTokens.lastHour",defaultMessage:"last hour"})}]}))),m&&e.createElement(g.Td,null,e.createElement(N.k,{justifyContent:"end"},d&&e.createElement($,{tokenName:a.name,tokenId:a.id}),!d&&u&&e.createElement(B,{tokenName:a.name,tokenId:a.id}),l&&e.createElement(Y,{tokenName:a.name,onClickDelete:()=>p(a.id),tokenType:s}))))))};C.defaultProps={rows:[],withBulkActions:!1},C.propTypes={rows:t().array,permissions:t().shape({canRead:t().bool,canDelete:t().bool,canUpdate:t().bool}).isRequired,onConfirmDelete:t().func.isRequired,tokenType:t().string.isRequired,withBulkActions:t().bool}},49756:function(W,E,n){n.d(E,{Z:function(){return e},f:function(){return o}});const e="api-token",o="transfer-token"},22614:function(W,E,n){n.r(E),n.d(E,{default:function(){return L}});var e=n(32735),o=n(59407),Z=n(15062),g=n(30305),k=n(95162),N=n(64092),r=n(56932),P=n(82064),t=n(33348),S=n.n(t),I=n(67879),D=n(20108),x=n(53038),v=n(49756),U=n(12584),V=[{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}}],O=()=>{(0,o.go)();const h=(0,D.useQueryClient)(),{formatMessage:T}=(0,I.Z)(),B=(0,o.lm)(),Q=(0,Z.v9)(g._),{allowedActions:{canCreate:A,canDelete:$,canUpdate:b,canRead:f}}=(0,o.ss)(Q.settings["api-tokens"]),{push:C}=(0,x.k6)(),{trackUsage:s}=(0,o.rS)(),{startSection:i}=(0,o.c1)(),c=e.useRef(i),{get:m,del:p}=(0,o.kY)(),{formatAPIError:l}=(0,o.So)();e.useEffect(()=>{c.current&&c.current("apiTokens")},[]),e.useEffect(()=>{C({search:S().stringify({sort:"name:ASC"},{encode:!1})})},[C]);const d=V.map(a=>({...a,metadatas:{...a.metadatas,label:T(a.metadatas.label)}})),{data:u,isLoading:y}=(0,D.useQuery)(["api-tokens"],async()=>{s("willAccessTokenList",{tokenType:v.Z});const{data:{data:a}}=await m("/admin/api-tokens");return s("didAccessTokenList",{number:a.length,tokenType:v.Z}),a},{cacheTime:0,enabled:f,onError(a){B({type:"warning",message:l(a)})}}),R=y,w=(0,D.useMutation)(async a=>{await p(`/admin/api-tokens/${a}`)},{async onSuccess(){await h.invalidateQueries(["api-tokens"]),s("didDeleteToken")},onError(a){B({type:"warning",message:l(a)})}}),M=u&&u.length>0,F=f&&M,H=f&&!M&&!A,j=f&&!M&&A;return e.createElement(k.o,{"aria-busy":R},e.createElement(o.SL,{name:"API Tokens"}),e.createElement(N.T,{title:T({id:"Settings.apiTokens.title",defaultMessage:"API Tokens"}),subtitle:T({id:"Settings.apiTokens.description",defaultMessage:"List of generated tokens to consume the API"}),primaryAction:A&&e.createElement(o.Qj,{"data-testid":"create-api-token-button",startIcon:e.createElement(P.Z,null),size:"S",onClick:()=>s("willAddTokenFromList",{tokenType:v.Z}),to:"/settings/api-tokens/create"},T({id:"Settings.apiTokens.create",defaultMessage:"Create new API Token"}))}),e.createElement(r.D,null,!f&&e.createElement(o.ZF,null),F&&e.createElement(U.Z,{permissions:{canRead:f,canDelete:$,canUpdate:b},headers:d,contentType:"api-tokens",rows:u,isLoading:R,onConfirmDelete:a=>w.mutateAsync(a),tokens:u,tokenType:v.Z}),j&&e.createElement(o.dJ,{content:{id:"Settings.apiTokens.addFirstToken",defaultMessage:"Add your first API Token"},action:e.createElement(o.Qj,{variant:"secondary",startIcon:e.createElement(P.Z,null),to:"/settings/api-tokens/create"},T({id:"Settings.apiTokens.addNewToken",defaultMessage:"Add new API Token"}))}),H&&e.createElement(o.dJ,{content:{id:"Settings.apiTokens.emptyStateLayout",defaultMessage:"You don\u2019t have any content yet..."}})))},L=()=>{const h=(0,Z.v9)(g._);return e.createElement(o.O4,{permissions:h.settings["api-tokens"].main},e.createElement(O,null))}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2812],{62089:function(U,f,t){t.d(f,{R:function(){return E}});var e=t(32735),n=t(59407),M=t(20108);function E(D={},T={}){const{id:c="",...C}=D,{get:O}=(0,n.kY)(),{data:g,isError:y,isLoading:A,refetch:P}=(0,M.useQuery)(["users",c,C],async()=>{const{data:{data:L}}=await O(`/admin/users/${c}`,{params:C});return L},T);return{users:e.useMemo(()=>{let L=[];return g&&("results"in g?Array.isArray(g.results)&&(L=g.results):L=[g]),L},[g]),pagination:e.useMemo(()=>(g&&"pagination"in g)??null,[g]),isLoading:A,isError:y,refetch:P}}},59092:function(U,f,t){var e=t(32735),n=t(77981),M=t(91779),E=t(59407),D=t(68527),T=t(60216),c=t.n(T),C=t(67879);const O=({displayedFilters:g})=>{const[y,A]=(0,e.useState)(!1),{formatMessage:P}=(0,C.Z)(),R=(0,e.useRef)(),L=()=>{A(V=>!V)};return e.createElement(e.Fragment,null,e.createElement(n.x,{paddingTop:1,paddingBottom:1},e.createElement(M.z,{variant:"tertiary",ref:R,startIcon:e.createElement(D.Z,null),onClick:L,size:"S"},P({id:"app.utils.filters",defaultMessage:"Filters"})),y&&e.createElement(E.J5,{displayedFilters:g,isVisible:y,onToggle:L,source:R})),e.createElement(E.W$,{filtersSchema:g}))};O.propTypes={displayedFilters:c().arrayOf(c().shape({name:c().string.isRequired,metadatas:c().shape({label:c().string}),fieldSchema:c().shape({type:c().string})})).isRequired},f.Z=O},1487:function(U,f,t){t.r(f),t.d(f,{default:function(){return ve}});var e=t(32735),n=t(59407),M=t(15062),E=t(30305),D=t(99226),T=t(56932),c=t(77981),C=t(95162),O=t(64092),g=t(95181),y=t(67879),A=t(59092),P=t(20108),R=t(53038),L=t(62089),X=({canReadAuditLogs:a,canReadUsers:d})=>{const{get:u}=(0,n.kY)(),{search:r}=(0,R.TH)(),m=(0,n.lm)(),[{query:l}]=(0,n.Kx)(),s={keepPreviousData:!0,retry:!1,staleTime:1e3*20,onError:v=>m({type:"warning",message:v.message})},{users:i,isError:p,isLoading:h}=(0,L.R)({},{...s,enabled:d,staleTime:2*(1e3*60)}),{data:S,isLoading:x,isError:F}=(0,P.useQuery)(["auditLogs",r],async()=>{const{data:v}=await u("/admin/audit-logs",{params:l});return v},{...s,enabled:a});return{auditLogs:S,users:i,isLoading:h||x,hasError:F||p}},w=t(21223),k=t(98887),q=t(87674),_=t(79129),ee=t(2748),te=t(60216),o=t.n(te),ae=t(96315),N=()=>{const{formatDate:a}=(0,y.Z)();return u=>{const r=(0,ae.Z)(u),m=a(r,{dateStyle:"long"}),l=a(r,{timeStyle:"medium",hourCycle:"h24"});return`${m}, ${l}`}},b=t(84642),se=t(35547),I=t(8365),ne=t(10710),oe=t(90163);const H={"entry.create":"Create entry{model, select, undefined {} other { ({model})}}","entry.update":"Update entry{model, select, undefined {} other { ({model})}}","entry.delete":"Delete entry{model, select, undefined {} other { ({model})}}","entry.publish":"Publish entry{model, select, undefined {} other { ({model})}}","entry.unpublish":"Unpublish entry{model, select, undefined {} other { ({model})}}","media.create":"Create media","media.update":"Update media","media.delete":"Delete media","media-folder.create":"Create media folder","media-folder.update":"Update media folder","media-folder.delete":"Delete media folder","user.create":"Create user","user.update":"Update user","user.delete":"Delete user","admin.auth.success":"Admin login","admin.logout":"Admin logout","content-type.create":"Create content type","content-type.update":"Update content type","content-type.delete":"Delete content type","component.create":"Create component","component.update":"Update component","component.delete":"Delete component","role.create":"Create role","role.update":"Update role","role.delete":"Delete role","permission.create":"Create permission","permission.update":"Update permission","permission.delete":"Delete permission"},W=a=>H[a]||a,Q=({actionLabel:a,actionName:d})=>e.createElement(b.k,{direction:"column",alignItems:"baseline",gap:1},e.createElement(I.Z,{textColor:"neutral600",variant:"sigma"},a),e.createElement(I.Z,{textColor:"neutral600"},d));Q.propTypes={actionLabel:o().string.isRequired,actionName:o().string.isRequired};var B=Q;const Z=({status:a,data:d,formattedDate:u})=>{const{formatMessage:r}=(0,y.Z)();if(a==="loading")return e.createElement(b.k,{padding:7,justifyContent:"center",alignItems:"center"},e.createElement(se.a,null,"Loading content..."));const{action:m,user:l,payload:s}=d;return e.createElement(e.Fragment,null,e.createElement(c.x,{marginBottom:3},e.createElement(I.Z,{variant:"delta",id:"title"},r({id:"Settings.permissions.auditLogs.details",defaultMessage:"Log Details"}))),e.createElement(ne.r,{gap:4,gridCols:2,paddingTop:4,paddingBottom:4,paddingLeft:6,paddingRight:6,marginBottom:4,background:"neutral100",hasRadius:!0},e.createElement(B,{actionLabel:r({id:"Settings.permissions.auditLogs.action",defaultMessage:"Action"}),actionName:r({id:`Settings.permissions.auditLogs.${m}`,defaultMessage:W(m)},{model:s?.model})}),e.createElement(B,{actionLabel:r({id:"Settings.permissions.auditLogs.date",defaultMessage:"Date"}),actionName:u}),e.createElement(B,{actionLabel:r({id:"Settings.permissions.auditLogs.user",defaultMessage:"User"}),actionName:l?.displayName||"-"}),e.createElement(B,{actionLabel:r({id:"Settings.permissions.auditLogs.userId",defaultMessage:"User ID"}),actionName:l?.id.toString()||"-"})),e.createElement(oe.V,{value:JSON.stringify(s,null,2),disabled:!0,label:r({id:"Settings.permissions.auditLogs.payload",defaultMessage:"Payload"})}))};Z.defaultProps={data:{}},Z.propTypes={status:o().oneOf(["idle","loading","error","success"]).isRequired,data:o().shape({action:o().string,date:o().string,payload:o().object,user:o().object}),formattedDate:o().string.isRequired};var re=Z;const Y=({handleClose:a,logId:d})=>{const{get:u}=(0,n.kY)(),r=(0,n.lm)(),m=async h=>{const{data:S}=await u(`/admin/audit-logs/${h}`);if(!S)throw new Error("Audit log not found");return S},{data:l,status:s}=(0,P.useQuery)(["audit-log",d],()=>m(d),{onError(){r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),a()}}),i=N(),p=l?i(l.date):"";return e.createElement(w.P,{onClose:a,labelledBy:"title"},e.createElement(k.x,null,e.createElement(_.O,{label:p,id:"title"},e.createElement(ee.$,{isCurrent:!0},p))),e.createElement(q.f,null,e.createElement(re,{status:s,data:l,formattedDate:p})))};Y.propTypes={handleClose:o().func.isRequired,logId:o().string.isRequired};var ie=Y;const K=({pagination:a})=>e.createElement(c.x,{paddingTop:4},e.createElement(b.k,{alignItems:"flex-end",justifyContent:"space-between"},e.createElement(n.v4,null),e.createElement(n.tU,{pagination:a})));K.defaultProps={pagination:{pageCount:0,pageSize:50,total:0}},K.propTypes={pagination:o().shape({page:o().number,pageCount:o().number,pageSize:o().number,total:o().number})};var le=K,de=t(1690),me=t(45037),z=t(27947),ue=t(14763),ce=t(10364);const $=({headers:a,rows:d,onOpenModal:u})=>{const{formatMessage:r}=(0,y.Z)(),m=N(),l=({type:s,value:i,model:p})=>s==="date"?m(i):s==="action"?r({id:`Settings.permissions.auditLogs.${i}`,defaultMessage:W(i)},{model:p}):i||"-";return e.createElement(de.p,null,d.map(s=>e.createElement(me.Tr,{key:s.id,...(0,n.X7)({fn:()=>u(s.id)})},a.map(({key:i,name:p,cellFormatter:h})=>e.createElement(z.Td,{key:i},e.createElement(I.Z,{textColor:"neutral800"},l({type:i,value:h?h(s[p]):s[p],model:s.payload?.model})))),e.createElement(z.Td,{...n.UW},e.createElement(b.k,{justifyContent:"end"},e.createElement(ue.h,{onClick:()=>u(s.id),"aria-label":r({id:"app.component.table.view",defaultMessage:"{target} details"},{target:`${s.action} action`}),noBorder:!0,icon:e.createElement(ce.Z,null)}))))))};$.defaultProps={rows:[]},$.propTypes={headers:o().array.isRequired,rows:o().array,onOpenModal:o().func.isRequired};var ge=$,pe=t(70843),fe=t(8241);const j=({value:a,options:d,onChange:u})=>{const{formatMessage:r}=(0,y.Z)(),m=r({id:"Settings.permissions.auditLogs.filter.aria-label",defaultMessage:"Search and select an option to filter"});return e.createElement(pe.hQ,{"aria-label":m,value:a,onChange:u},d.map(({label:l,customValue:s})=>e.createElement(fe.O,{key:s,value:s},l)))};j.defaultProps={value:null},j.propTypes={value:o().string,options:o().arrayOf(o().shape({label:o().string.isRequired,customValue:o().string.isRequired}).isRequired).isRequired,onChange:o().func.isRequired};var J=j;const G=[{intlLabel:{id:"components.FilterOptions.FILTER_TYPES.$eq",defaultMessage:"is"},value:"$eq"},{intlLabel:{id:"components.FilterOptions.FILTER_TYPES.$ne",defaultMessage:"is not"},value:"$ne"}];var Ee=({formatMessage:a,users:d,canReadUsers:u})=>{const r=Object.keys(H).map(l=>({label:a({id:`Settings.permissions.auditLogs.${l}`,defaultMessage:W(l)},{model:void 0}),customValue:l})),m=[{name:"action",metadatas:{customOperators:G,label:a({id:"Settings.permissions.auditLogs.action",defaultMessage:"Action"}),customInput:J,options:r},fieldSchema:{type:"enumeration"}},{name:"date",metadatas:{label:a({id:"Settings.permissions.auditLogs.date",defaultMessage:"Date"})},fieldSchema:{type:"datetime"}}];if(u&&d){const l=i=>i.username?i.username:i.firstname&&i.lastname?a({id:"Settings.permissions.auditLogs.user.fullname",defaultMessage:"{firstname} {lastname}"},{firstname:i.firstname,lastname:i.lastname}):i.email,s=d.map(i=>({label:l(i),customValue:i.id.toString()}));return[...m,{name:"user",metadatas:{customOperators:G,label:a({id:"Settings.permissions.auditLogs.user",defaultMessage:"User"}),options:s,customInput:J},fieldSchema:{type:"relation",mainField:{name:"id"}}}]}return m},ye=[{name:"action",key:"action",metadatas:{label:{id:"Settings.permissions.auditLogs.action",defaultMessage:"Action"},sortable:!0}},{name:"date",key:"date",metadatas:{label:{id:"Settings.permissions.auditLogs.date",defaultMessage:"Date"},sortable:!0}},{key:"user",name:"user",metadatas:{label:{id:"Settings.permissions.auditLogs.user",defaultMessage:"User"},sortable:!1},cellFormatter:a=>a?a.displayName:""}],Le=()=>{const{formatMessage:a}=(0,y.Z)(),d=(0,M.v9)(E._),{allowedActions:{canRead:u,canReadUsers:r}}=(0,n.ss)({...d.settings.auditLogs,readUsers:d.settings.users.read}),[{query:m},l]=(0,n.Kx)(),{auditLogs:s,users:i,isLoading:p,hasError:h}=X({canReadAuditLogs:u,canReadUsers:r});(0,n.go)();const S=Ee({formatMessage:a,users:i,canReadUsers:r}),x=a({id:"global.auditLogs",defaultMessage:"Audit Logs"}),F=ye.map(v=>({...v,metadatas:{...v.metadatas,label:a(v.metadatas.label)}}));return h?e.createElement(D.A,null,e.createElement(T.D,null,e.createElement(c.x,{paddingTop:8},e.createElement(n.Hn,null)))):e.createElement(C.o,{"aria-busy":p},e.createElement(n.SL,{name:x}),e.createElement(O.T,{title:x,subtitle:a({id:"Settings.permissions.auditLogs.listview.header.subtitle",defaultMessage:"Logs of all the activities that happened in your environment"})}),e.createElement(g.Z,{startActions:e.createElement(A.Z,{displayedFilters:S})}),e.createElement(T.D,{canRead:u},e.createElement(n.tM,{contentType:"Audit logs",headers:F,rows:s?.results||[],withBulkActions:!0,isLoading:p},e.createElement(ge,{headers:F,rows:s?.results||[],onOpenModal:v=>l({id:v})})),e.createElement(le,{pagination:s?.pagination})),m?.id&&e.createElement(ie,{handleClose:()=>l({id:null},"remove"),logId:m.id}))},ve=()=>{const a=(0,M.v9)(E._);return e.createElement(n.O4,{permissions:a.settings.auditLogs.main},e.createElement(Le,null))}},8241:function(U,f,t){t.d(f,{O:function(){return n}});var e=t(70843);const n=e.Wx},95181:function(U,f,t){t.d(f,{Z:function(){return M}});var e=t(74512),n=t(84642);const M=({startActions:E,endActions:D})=>!E&&!D?null:(0,e.jsxs)(n.k,{justifyContent:"space-between",alignItems:"flex-start",paddingBottom:4,paddingLeft:10,paddingRight:10,children:[(0,e.jsx)(n.k,{gap:2,wrap:"wrap",children:E}),(0,e.jsx)(n.k,{gap:2,shrink:0,wrap:"wrap",children:D})]})}}]);