@strapi/admin 5.57.0 → 5.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/dist/admin/admin/src/StrapiApp.js.map +1 -1
  2. package/dist/admin/admin/src/StrapiApp.mjs.map +1 -1
  3. package/dist/admin/admin/src/components/ConfirmDialog.js +10 -9
  4. package/dist/admin/admin/src/components/ConfirmDialog.js.map +1 -1
  5. package/dist/admin/admin/src/components/ConfirmDialog.mjs +10 -9
  6. package/dist/admin/admin/src/components/ConfirmDialog.mjs.map +1 -1
  7. package/dist/admin/admin/src/components/Filters.js +57 -12
  8. package/dist/admin/admin/src/components/Filters.js.map +1 -1
  9. package/dist/admin/admin/src/components/Filters.mjs +57 -12
  10. package/dist/admin/admin/src/components/Filters.mjs.map +1 -1
  11. package/dist/admin/admin/src/components/Form.js +3 -1
  12. package/dist/admin/admin/src/components/Form.js.map +1 -1
  13. package/dist/admin/admin/src/components/Form.mjs +3 -1
  14. package/dist/admin/admin/src/components/Form.mjs.map +1 -1
  15. package/dist/admin/admin/src/components/FormInputs/Boolean.js +3 -2
  16. package/dist/admin/admin/src/components/FormInputs/Boolean.js.map +1 -1
  17. package/dist/admin/admin/src/components/FormInputs/Boolean.mjs +3 -2
  18. package/dist/admin/admin/src/components/FormInputs/Boolean.mjs.map +1 -1
  19. package/dist/admin/admin/src/components/FormInputs/Enumeration.js +2 -1
  20. package/dist/admin/admin/src/components/FormInputs/Enumeration.js.map +1 -1
  21. package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs +2 -1
  22. package/dist/admin/admin/src/components/FormInputs/Enumeration.mjs.map +1 -1
  23. package/dist/admin/admin/src/components/LeftMenu.js +5 -1
  24. package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
  25. package/dist/admin/admin/src/components/LeftMenu.mjs +5 -1
  26. package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
  27. package/dist/admin/admin/src/components/PageHelpers.js +2 -1
  28. package/dist/admin/admin/src/components/PageHelpers.js.map +1 -1
  29. package/dist/admin/admin/src/components/PageHelpers.mjs +2 -1
  30. package/dist/admin/admin/src/components/PageHelpers.mjs.map +1 -1
  31. package/dist/admin/admin/src/components/Pagination.js +7 -6
  32. package/dist/admin/admin/src/components/Pagination.js.map +1 -1
  33. package/dist/admin/admin/src/components/Pagination.mjs +7 -6
  34. package/dist/admin/admin/src/components/Pagination.mjs.map +1 -1
  35. package/dist/admin/admin/src/components/RelativeTime.js +2 -1
  36. package/dist/admin/admin/src/components/RelativeTime.js.map +1 -1
  37. package/dist/admin/admin/src/components/RelativeTime.mjs +2 -1
  38. package/dist/admin/admin/src/components/RelativeTime.mjs.map +1 -1
  39. package/dist/admin/admin/src/components/SubNav.js +6 -12
  40. package/dist/admin/admin/src/components/SubNav.js.map +1 -1
  41. package/dist/admin/admin/src/components/SubNav.mjs +7 -13
  42. package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
  43. package/dist/admin/admin/src/components/Table.js +3 -1
  44. package/dist/admin/admin/src/components/Table.js.map +1 -1
  45. package/dist/admin/admin/src/components/Table.mjs +3 -1
  46. package/dist/admin/admin/src/components/Table.mjs.map +1 -1
  47. package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
  48. package/dist/admin/admin/src/components/UpsellBanner.mjs.map +1 -1
  49. package/dist/admin/admin/src/components/WidgetRoot.js.map +1 -1
  50. package/dist/admin/admin/src/components/WidgetRoot.mjs.map +1 -1
  51. package/dist/admin/admin/src/constants.js +14 -0
  52. package/dist/admin/admin/src/constants.js.map +1 -1
  53. package/dist/admin/admin/src/constants.mjs +14 -0
  54. package/dist/admin/admin/src/constants.mjs.map +1 -1
  55. package/dist/admin/admin/src/core/apis/Plugin.js.map +1 -1
  56. package/dist/admin/admin/src/core/apis/Plugin.mjs.map +1 -1
  57. package/dist/admin/admin/src/features/Auth.js +2 -1
  58. package/dist/admin/admin/src/features/Auth.js.map +1 -1
  59. package/dist/admin/admin/src/features/Auth.mjs +2 -1
  60. package/dist/admin/admin/src/features/Auth.mjs.map +1 -1
  61. package/dist/admin/admin/src/features/StrapiApp.js.map +1 -1
  62. package/dist/admin/admin/src/features/StrapiApp.mjs.map +1 -1
  63. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  64. package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
  65. package/dist/admin/admin/src/pages/Auth/components/ResetPassword.js +6 -12
  66. package/dist/admin/admin/src/pages/Auth/components/ResetPassword.js.map +1 -1
  67. package/dist/admin/admin/src/pages/Auth/components/ResetPassword.mjs +6 -12
  68. package/dist/admin/admin/src/pages/Auth/components/ResetPassword.mjs.map +1 -1
  69. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -1
  70. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -1
  71. package/dist/admin/admin/src/pages/ProfilePage.js +2 -2
  72. package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
  73. package/dist/admin/admin/src/pages/ProfilePage.mjs +2 -2
  74. package/dist/admin/admin/src/pages/ProfilePage.mjs.map +1 -1
  75. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +10 -2
  76. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
  77. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +10 -2
  78. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
  79. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormApiTokenContainer.js +4 -1
  80. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormApiTokenContainer.js.map +1 -1
  81. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormApiTokenContainer.mjs +4 -1
  82. package/dist/admin/admin/src/pages/Settings/components/Tokens/FormApiTokenContainer.mjs.map +1 -1
  83. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js +3 -1
  84. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.js.map +1 -1
  85. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.mjs +3 -1
  86. package/dist/admin/admin/src/pages/Settings/components/Tokens/Table.mjs.map +1 -1
  87. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenTypeSelect.js +2 -1
  88. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenTypeSelect.js.map +1 -1
  89. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenTypeSelect.mjs +2 -1
  90. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenTypeSelect.mjs.map +1 -1
  91. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js +6 -5
  92. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.js.map +1 -1
  93. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.mjs +6 -5
  94. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.mjs.map +1 -1
  95. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js +2 -1
  96. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.js.map +1 -1
  97. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.mjs +2 -1
  98. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.mjs.map +1 -1
  99. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.js +4 -4
  100. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.js.map +1 -1
  101. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.mjs +4 -4
  102. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.mjs.map +1 -1
  103. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js +7 -58
  104. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.js.map +1 -1
  105. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs +7 -58
  106. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.mjs.map +1 -1
  107. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.js +217 -0
  108. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.js.map +1 -0
  109. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.mjs +195 -0
  110. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.mjs.map +1 -0
  111. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.js.map +1 -1
  112. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/LogoInput.mjs.map +1 -1
  113. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.js +185 -0
  114. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.js.map +1 -0
  115. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.mjs +162 -0
  116. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.mjs.map +1 -0
  117. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.js +342 -0
  118. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.js.map +1 -0
  119. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.mjs +320 -0
  120. package/dist/admin/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.mjs.map +1 -0
  121. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js +9 -4
  122. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.js.map +1 -1
  123. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.mjs +9 -4
  124. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/CollapsePropertyMatrix.mjs.map +1 -1
  125. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.js +15 -9
  126. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.js.map +1 -1
  127. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.mjs +15 -9
  128. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ConditionsModal.mjs.map +1 -1
  129. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js +5 -2
  130. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.js.map +1 -1
  131. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.mjs +5 -2
  132. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/ContentTypeCollapses.mjs.map +1 -1
  133. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.js +2 -1
  134. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.js.map +1 -1
  135. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.mjs +2 -1
  136. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/GlobalActions.mjs.map +1 -1
  137. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js +2 -1
  138. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.js.map +1 -1
  139. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs +2 -1
  140. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/Permissions.mjs.map +1 -1
  141. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js +2 -1
  142. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.js.map +1 -1
  143. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.mjs +2 -1
  144. package/dist/admin/admin/src/pages/Settings/pages/Roles/components/PluginsAndSettings.mjs.map +1 -1
  145. package/dist/admin/admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.js.map +1 -1
  146. package/dist/admin/admin/src/pages/Settings/pages/Roles/hooks/usePermissionsDataManager.mjs.map +1 -1
  147. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js +3 -1
  148. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js.map +1 -1
  149. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs +3 -1
  150. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs.map +1 -1
  151. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.js.map +1 -1
  152. package/dist/admin/admin/src/pages/Settings/pages/Users/EditPage.mjs.map +1 -1
  153. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
  154. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs.map +1 -1
  155. package/dist/admin/admin/src/pages/Settings/pages/Users/components/NewUserForm.js.map +1 -1
  156. package/dist/admin/admin/src/pages/Settings/pages/Users/components/NewUserForm.mjs.map +1 -1
  157. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.js +4 -1
  158. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.js.map +1 -1
  159. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.mjs +4 -1
  160. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/Events.mjs.map +1 -1
  161. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js +18 -3
  162. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.js.map +1 -1
  163. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.mjs +18 -3
  164. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/HeadersInput.mjs.map +1 -1
  165. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.js.map +1 -1
  166. package/dist/admin/admin/src/pages/Settings/pages/Webhooks/components/WebhookForm.mjs.map +1 -1
  167. package/dist/admin/admin/src/router.js.map +1 -1
  168. package/dist/admin/admin/src/router.mjs.map +1 -1
  169. package/dist/admin/admin/src/services/admin.js +11 -1
  170. package/dist/admin/admin/src/services/admin.js.map +1 -1
  171. package/dist/admin/admin/src/services/admin.mjs +11 -2
  172. package/dist/admin/admin/src/services/admin.mjs.map +1 -1
  173. package/dist/admin/admin/src/services/users.js.map +1 -1
  174. package/dist/admin/admin/src/services/users.mjs.map +1 -1
  175. package/dist/admin/admin/src/translations/en.json.js +71 -4
  176. package/dist/admin/admin/src/translations/en.json.js.map +1 -1
  177. package/dist/admin/admin/src/translations/en.json.mjs +71 -4
  178. package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
  179. package/dist/admin/admin/src/translations/eu.json.js +1 -1
  180. package/dist/admin/admin/src/translations/eu.json.mjs +1 -1
  181. package/dist/admin/admin/src/utils/browserStrapi.js +1 -1
  182. package/dist/admin/admin/src/utils/browserStrapi.js.map +1 -1
  183. package/dist/admin/admin/src/utils/browserStrapi.mjs +1 -1
  184. package/dist/admin/admin/src/utils/browserStrapi.mjs.map +1 -1
  185. package/dist/admin/admin/src/utils/cookies.js +7 -6
  186. package/dist/admin/admin/src/utils/cookies.js.map +1 -1
  187. package/dist/admin/admin/src/utils/cookies.mjs +7 -6
  188. package/dist/admin/admin/src/utils/cookies.mjs.map +1 -1
  189. package/dist/admin/admin/src/utils/getFetchClient.js +24 -0
  190. package/dist/admin/admin/src/utils/getFetchClient.js.map +1 -1
  191. package/dist/admin/admin/src/utils/getFetchClient.mjs +24 -1
  192. package/dist/admin/admin/src/utils/getFetchClient.mjs.map +1 -1
  193. package/dist/admin/admin/tests/utils.js +2 -1
  194. package/dist/admin/admin/tests/utils.js.map +1 -1
  195. package/dist/admin/admin/tests/utils.mjs +2 -1
  196. package/dist/admin/admin/tests/utils.mjs.map +1 -1
  197. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js +52 -22
  198. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js.map +1 -1
  199. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.mjs +53 -23
  200. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.mjs.map +1 -1
  201. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js +16 -29
  202. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js.map +1 -1
  203. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs +18 -31
  204. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs.map +1 -1
  205. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.js +473 -0
  206. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.js.map +1 -0
  207. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.mjs +471 -0
  208. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.mjs.map +1 -0
  209. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.js +2 -0
  210. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.js.map +1 -1
  211. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.mjs +2 -0
  212. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.mjs.map +1 -1
  213. package/dist/admin/index.js +1 -0
  214. package/dist/admin/index.js.map +1 -1
  215. package/dist/admin/index.mjs +1 -1
  216. package/dist/admin/shared/utils/auth-cookie-path.js +13 -10
  217. package/dist/admin/shared/utils/auth-cookie-path.js.map +1 -1
  218. package/dist/admin/shared/utils/auth-cookie-path.mjs +13 -10
  219. package/dist/admin/shared/utils/auth-cookie-path.mjs.map +1 -1
  220. package/dist/admin/shared/utils/get-project-type.js +49 -0
  221. package/dist/admin/shared/utils/get-project-type.js.map +1 -0
  222. package/dist/admin/shared/utils/get-project-type.mjs +46 -0
  223. package/dist/admin/shared/utils/get-project-type.mjs.map +1 -0
  224. package/dist/admin/src/components/Filters.d.ts +1 -1
  225. package/dist/admin/src/components/Form.d.ts +1 -1
  226. package/dist/admin/src/constants.d.ts +10 -0
  227. package/dist/admin/src/pages/Settings/pages/ApiTokens/EditView/components/BoundRoute.d.ts +1 -1
  228. package/dist/admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.d.ts +1 -1
  229. package/dist/admin/src/pages/Settings/pages/ApplicationInfo/components/DiagnosticSnapshotModal.d.ts +12 -0
  230. package/dist/admin/src/pages/Settings/pages/ApplicationInfo/components/PlanCard.d.ts +14 -0
  231. package/dist/admin/src/pages/Settings/pages/ApplicationInfo/components/SupportCard.d.ts +2 -0
  232. package/dist/admin/src/services/admin.d.ts +2 -2
  233. package/dist/admin/src/types/permissions.d.ts +1 -0
  234. package/dist/admin/src/utils/cookies.d.ts +7 -6
  235. package/dist/admin/src/utils/getFetchClient.d.ts +25 -0
  236. package/dist/ee/admin/src/hooks/useLicenseLimits.d.ts +29 -0
  237. package/dist/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.d.ts +6 -1
  238. package/dist/ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/LicenseInfo.d.ts +2 -0
  239. package/dist/ee/admin/src/pages/SettingsPage/pages/AuditLogs/utils/getActionTypesDefaultMessages.d.ts +2 -0
  240. package/dist/ee/server/src/audit-logs/entitlements.d.ts +8 -0
  241. package/dist/ee/server/src/audit-logs/entitlements.d.ts.map +1 -0
  242. package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts +16 -0
  243. package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts.map +1 -1
  244. package/dist/ee/server/src/controllers/admin.d.ts +36 -10
  245. package/dist/ee/server/src/controllers/admin.d.ts.map +1 -1
  246. package/dist/ee/server/src/controllers/authentication-utils/middlewares.d.ts.map +1 -1
  247. package/dist/ee/server/src/controllers/index.d.ts +36 -10
  248. package/dist/ee/server/src/controllers/index.d.ts.map +1 -1
  249. package/dist/ee/server/src/index.d.ts +36 -10
  250. package/dist/ee/server/src/index.d.ts.map +1 -1
  251. package/dist/ee/server/src/services/seat-enforcement.d.ts.map +1 -1
  252. package/dist/ee/server/src/validation/role.d.ts.map +1 -1
  253. package/dist/server/ee/server/src/audit-logs/entitlements.js +25 -0
  254. package/dist/server/ee/server/src/audit-logs/entitlements.js.map +1 -0
  255. package/dist/server/ee/server/src/audit-logs/entitlements.mjs +23 -0
  256. package/dist/server/ee/server/src/audit-logs/entitlements.mjs.map +1 -0
  257. package/dist/server/ee/server/src/audit-logs/services/lifecycles.js +20 -8
  258. package/dist/server/ee/server/src/audit-logs/services/lifecycles.js.map +1 -1
  259. package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs +19 -9
  260. package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs.map +1 -1
  261. package/dist/server/ee/server/src/audit-logs/utils/csv.js +3 -3
  262. package/dist/server/ee/server/src/audit-logs/utils/csv.js.map +1 -1
  263. package/dist/server/ee/server/src/audit-logs/utils/csv.mjs +3 -3
  264. package/dist/server/ee/server/src/audit-logs/utils/csv.mjs.map +1 -1
  265. package/dist/server/ee/server/src/controllers/admin.js +76 -3
  266. package/dist/server/ee/server/src/controllers/admin.js.map +1 -1
  267. package/dist/server/ee/server/src/controllers/admin.mjs +76 -3
  268. package/dist/server/ee/server/src/controllers/admin.mjs.map +1 -1
  269. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js +28 -10
  270. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.js.map +1 -1
  271. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs +28 -10
  272. package/dist/server/ee/server/src/controllers/authentication-utils/middlewares.mjs.map +1 -1
  273. package/dist/server/ee/server/src/index.js +2 -0
  274. package/dist/server/ee/server/src/index.js.map +1 -1
  275. package/dist/server/ee/server/src/index.mjs +2 -0
  276. package/dist/server/ee/server/src/index.mjs.map +1 -1
  277. package/dist/server/ee/server/src/services/seat-enforcement.js.map +1 -1
  278. package/dist/server/ee/server/src/services/seat-enforcement.mjs.map +1 -1
  279. package/dist/server/ee/server/src/validation/role.js +4 -2
  280. package/dist/server/ee/server/src/validation/role.js.map +1 -1
  281. package/dist/server/ee/server/src/validation/role.mjs +4 -2
  282. package/dist/server/ee/server/src/validation/role.mjs.map +1 -1
  283. package/dist/server/server/src/ai/services/ai.js.map +1 -1
  284. package/dist/server/server/src/ai/services/ai.mjs.map +1 -1
  285. package/dist/server/server/src/audit-logs/auth.js +72 -0
  286. package/dist/server/server/src/audit-logs/auth.js.map +1 -0
  287. package/dist/server/server/src/audit-logs/auth.mjs +67 -0
  288. package/dist/server/server/src/audit-logs/auth.mjs.map +1 -0
  289. package/dist/server/server/src/config/admin-actions.js +7 -0
  290. package/dist/server/server/src/config/admin-actions.js.map +1 -1
  291. package/dist/server/server/src/config/admin-actions.mjs +7 -0
  292. package/dist/server/server/src/config/admin-actions.mjs.map +1 -1
  293. package/dist/server/server/src/controllers/admin.js +17 -12
  294. package/dist/server/server/src/controllers/admin.js.map +1 -1
  295. package/dist/server/server/src/controllers/admin.mjs +17 -12
  296. package/dist/server/server/src/controllers/admin.mjs.map +1 -1
  297. package/dist/server/server/src/controllers/authentication.js +34 -8
  298. package/dist/server/server/src/controllers/authentication.js.map +1 -1
  299. package/dist/server/server/src/controllers/authentication.mjs +34 -8
  300. package/dist/server/server/src/controllers/authentication.mjs.map +1 -1
  301. package/dist/server/server/src/domain/permission/index.js.map +1 -1
  302. package/dist/server/server/src/domain/permission/index.mjs.map +1 -1
  303. package/dist/server/server/src/register.js +4 -0
  304. package/dist/server/server/src/register.js.map +1 -1
  305. package/dist/server/server/src/register.mjs +4 -0
  306. package/dist/server/server/src/register.mjs.map +1 -1
  307. package/dist/server/server/src/routes/admin.js +18 -0
  308. package/dist/server/server/src/routes/admin.js.map +1 -1
  309. package/dist/server/server/src/routes/admin.mjs +18 -0
  310. package/dist/server/server/src/routes/admin.mjs.map +1 -1
  311. package/dist/server/server/src/services/api-token.js +4 -8
  312. package/dist/server/server/src/services/api-token.js.map +1 -1
  313. package/dist/server/server/src/services/api-token.mjs +4 -8
  314. package/dist/server/server/src/services/api-token.mjs.map +1 -1
  315. package/dist/server/server/src/services/auth.js +4 -2
  316. package/dist/server/server/src/services/auth.js.map +1 -1
  317. package/dist/server/server/src/services/auth.mjs +4 -3
  318. package/dist/server/server/src/services/auth.mjs.map +1 -1
  319. package/dist/server/server/src/services/constants.js +4 -0
  320. package/dist/server/server/src/services/constants.js.map +1 -1
  321. package/dist/server/server/src/services/constants.mjs +4 -0
  322. package/dist/server/server/src/services/constants.mjs.map +1 -1
  323. package/dist/server/server/src/services/debug-dump.js +173 -0
  324. package/dist/server/server/src/services/debug-dump.js.map +1 -0
  325. package/dist/server/server/src/services/debug-dump.mjs +166 -0
  326. package/dist/server/server/src/services/debug-dump.mjs.map +1 -0
  327. package/dist/server/server/src/services/index.js +3 -1
  328. package/dist/server/server/src/services/index.js.map +1 -1
  329. package/dist/server/server/src/services/index.mjs +3 -1
  330. package/dist/server/server/src/services/index.mjs.map +1 -1
  331. package/dist/server/server/src/services/permission/rename-fields.js.map +1 -1
  332. package/dist/server/server/src/services/permission/rename-fields.mjs.map +1 -1
  333. package/dist/server/server/src/services/permission/sections-builder/handlers.js.map +1 -1
  334. package/dist/server/server/src/services/permission/sections-builder/handlers.mjs.map +1 -1
  335. package/dist/server/server/src/services/role.js +8 -5
  336. package/dist/server/server/src/services/role.js.map +1 -1
  337. package/dist/server/server/src/services/role.mjs +8 -5
  338. package/dist/server/server/src/services/role.mjs.map +1 -1
  339. package/dist/server/server/src/utils/debug-dump/redact.js +197 -0
  340. package/dist/server/server/src/utils/debug-dump/redact.js.map +1 -0
  341. package/dist/server/server/src/utils/debug-dump/redact.mjs +194 -0
  342. package/dist/server/server/src/utils/debug-dump/redact.mjs.map +1 -0
  343. package/dist/server/server/src/validation/admin-tokens.js +4 -4
  344. package/dist/server/server/src/validation/admin-tokens.js.map +1 -1
  345. package/dist/server/server/src/validation/admin-tokens.mjs +4 -4
  346. package/dist/server/server/src/validation/admin-tokens.mjs.map +1 -1
  347. package/dist/server/server/src/validation/api-tokens.js +4 -4
  348. package/dist/server/server/src/validation/api-tokens.js.map +1 -1
  349. package/dist/server/server/src/validation/api-tokens.mjs +4 -4
  350. package/dist/server/server/src/validation/api-tokens.mjs.map +1 -1
  351. package/dist/server/server/src/validation/role.js +6 -4
  352. package/dist/server/server/src/validation/role.js.map +1 -1
  353. package/dist/server/server/src/validation/role.mjs +6 -4
  354. package/dist/server/server/src/validation/role.mjs.map +1 -1
  355. package/dist/server/server/src/validation/transfer/token.js +4 -4
  356. package/dist/server/server/src/validation/transfer/token.js.map +1 -1
  357. package/dist/server/server/src/validation/transfer/token.mjs +4 -4
  358. package/dist/server/server/src/validation/transfer/token.mjs.map +1 -1
  359. package/dist/server/shared/utils/auth-cookie-path.js +13 -10
  360. package/dist/server/shared/utils/auth-cookie-path.js.map +1 -1
  361. package/dist/server/shared/utils/auth-cookie-path.mjs +13 -10
  362. package/dist/server/shared/utils/auth-cookie-path.mjs.map +1 -1
  363. package/dist/server/shared/utils/get-project-type.js +49 -0
  364. package/dist/server/shared/utils/get-project-type.js.map +1 -0
  365. package/dist/server/shared/utils/get-project-type.mjs +46 -0
  366. package/dist/server/shared/utils/get-project-type.mjs.map +1 -0
  367. package/dist/server/shared/utils/session-auth.js +70 -3
  368. package/dist/server/shared/utils/session-auth.js.map +1 -1
  369. package/dist/server/shared/utils/session-auth.mjs +70 -4
  370. package/dist/server/shared/utils/session-auth.mjs.map +1 -1
  371. package/dist/server/src/ai/services/ai.d.ts.map +1 -1
  372. package/dist/server/src/audit-logs/auth.d.ts +72 -0
  373. package/dist/server/src/audit-logs/auth.d.ts.map +1 -0
  374. package/dist/server/src/config/admin-actions.d.ts.map +1 -1
  375. package/dist/server/src/controllers/admin.d.ts +3 -0
  376. package/dist/server/src/controllers/admin.d.ts.map +1 -1
  377. package/dist/server/src/controllers/authentication.d.ts.map +1 -1
  378. package/dist/server/src/controllers/index.d.ts +3 -0
  379. package/dist/server/src/controllers/index.d.ts.map +1 -1
  380. package/dist/server/src/domain/permission/index.d.ts.map +1 -1
  381. package/dist/server/src/index.d.ts +8 -0
  382. package/dist/server/src/index.d.ts.map +1 -1
  383. package/dist/server/src/register.d.ts.map +1 -1
  384. package/dist/server/src/routes/admin.d.ts.map +1 -1
  385. package/dist/server/src/services/auth.d.ts +6 -0
  386. package/dist/server/src/services/auth.d.ts.map +1 -1
  387. package/dist/server/src/services/constants.d.ts +2 -0
  388. package/dist/server/src/services/constants.d.ts.map +1 -1
  389. package/dist/server/src/services/debug-dump.d.ts +9 -0
  390. package/dist/server/src/services/debug-dump.d.ts.map +1 -0
  391. package/dist/server/src/services/index.d.ts +5 -0
  392. package/dist/server/src/services/index.d.ts.map +1 -1
  393. package/dist/server/src/services/permission/rename-fields.d.ts.map +1 -1
  394. package/dist/server/src/services/permission/sections-builder/handlers.d.ts.map +1 -1
  395. package/dist/server/src/services/role.d.ts.map +1 -1
  396. package/dist/server/src/utils/debug-dump/redact.d.ts +8 -0
  397. package/dist/server/src/utils/debug-dump/redact.d.ts.map +1 -0
  398. package/dist/server/src/validation/role.d.ts.map +1 -1
  399. package/dist/shared/contracts/admin.d.ts +106 -0
  400. package/dist/shared/contracts/admin.d.ts.map +1 -1
  401. package/dist/shared/contracts/transfer.d.ts.map +1 -1
  402. package/dist/shared/utils/__tests__/get-project-type.test.d.ts +1 -0
  403. package/dist/shared/utils/__tests__/get-project-type.test.d.ts.map +1 -0
  404. package/dist/shared/utils/auth-cookie-path.d.ts +13 -10
  405. package/dist/shared/utils/auth-cookie-path.d.ts.map +1 -1
  406. package/dist/shared/utils/get-project-type.d.ts +37 -0
  407. package/dist/shared/utils/get-project-type.d.ts.map +1 -0
  408. package/dist/shared/utils/session-auth.d.ts +16 -0
  409. package/dist/shared/utils/session-auth.d.ts.map +1 -1
  410. package/package.json +8 -8
  411. package/dist/admin/admin/src/utils/getProjectType.js +0 -22
  412. package/dist/admin/admin/src/utils/getProjectType.js.map +0 -1
  413. package/dist/admin/admin/src/utils/getProjectType.mjs +0 -20
  414. package/dist/admin/admin/src/utils/getProjectType.mjs.map +0 -1
  415. package/dist/admin/src/utils/getProjectType.d.ts +0 -16
@@ -13,6 +13,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
13
 
14
14
  var capitalize__default = /*#__PURE__*/_interopDefault(capitalize);
15
15
 
16
+ const EMPTY_CONTROLLERS = [];
16
17
  const activeCheckboxWrapperStyles = styledComponents.css`
17
18
  background: ${(props)=>props.theme.colors.primary100};
18
19
 
@@ -43,7 +44,7 @@ const Border = styledComponents.styled.div`
43
44
  align-self: center;
44
45
  border-top: 1px solid ${({ theme })=>theme.colors.neutral150};
45
46
  `;
46
- const CollapsableContentType = ({ controllers = [], label, orderNumber = 0, disabled = false })=>{
47
+ const CollapsableContentType = ({ controllers = EMPTY_CONTROLLERS, label, orderNumber = 0, disabled = false })=>{
47
48
  const { value: { onChangeSelectAll, onChange, selectedActions, setSelectedAction, selectedAction } } = apiTokenPermissions.useApiTokenPermissions();
48
49
  const { formatMessage } = reactIntl.useIntl();
49
50
  const isActionSelected = (actionId)=>actionId === selectedAction;
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsableContentType.js","sources":["../../../../../../../../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Accordion,\n Box,\n BoxComponent,\n Checkbox,\n Flex,\n Grid,\n Typography,\n} from '@strapi/design-system';\nimport { Cog } from '@strapi/icons';\nimport capitalize from 'lodash/capitalize';\nimport { useIntl } from 'react-intl';\nimport { styled, css } from 'styled-components';\n\nimport { ContentApiPermission } from '../../../../../../../../shared/contracts/content-api/permissions';\nimport { useApiTokenPermissions } from '../apiTokenPermissions';\n\nconst activeCheckboxWrapperStyles = css`\n background: ${(props) => props.theme.colors.primary100};\n\n #cog {\n opacity: 1;\n }\n`;\n\nconst CheckboxWrapper = styled<BoxComponent>(Box)<{ $isActive: boolean }>`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n #cog {\n opacity: 0;\n path {\n fill: ${(props) => props.theme.colors.primary600};\n }\n }\n\n /* Show active style both on hover and when the action is selected */\n ${(props) => props.$isActive && activeCheckboxWrapperStyles}\n &:hover {\n ${activeCheckboxWrapperStyles}\n }\n`;\n\nconst Border = styled.div`\n flex: 1;\n align-self: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\ninterface CollapsableContentTypeProps {\n controllers?: ContentApiPermission['controllers'];\n label: ContentApiPermission['label'];\n orderNumber?: number;\n disabled?: boolean;\n}\n\nexport const CollapsableContentType = ({\n controllers = [],\n label,\n orderNumber = 0,\n disabled = false,\n}: CollapsableContentTypeProps) => {\n const {\n value: { onChangeSelectAll, onChange, selectedActions, setSelectedAction, selectedAction },\n } = useApiTokenPermissions();\n const { formatMessage } = useIntl();\n\n const isActionSelected = (actionId: string) => actionId === selectedAction;\n\n return (\n <Accordion.Item value={`${label}-${orderNumber}`}>\n <Accordion.Header variant={orderNumber % 2 ? 'primary' : 'secondary'}>\n <Accordion.Trigger>{capitalize(label)}</Accordion.Trigger>\n </Accordion.Header>\n <Accordion.Content>\n {controllers?.map((controller) => {\n const allActionsSelected = controller.actions.every((action) =>\n selectedActions.includes(action.actionId)\n );\n\n const someActionsSelected = controller.actions.some((action) =>\n selectedActions.includes(action.actionId)\n );\n\n return (\n <Box key={`${label}.${controller?.controller}`}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\" padding={4}>\n <Box paddingRight={4}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {controller?.controller}\n </Typography>\n </Box>\n <Border />\n <Box paddingLeft={4}>\n <Checkbox\n checked={\n !allActionsSelected && someActionsSelected\n ? 'indeterminate'\n : allActionsSelected\n }\n onCheckedChange={() => {\n onChangeSelectAll({ target: { value: [...controller.actions] } });\n }}\n disabled={disabled}\n >\n {formatMessage({ id: 'app.utils.select-all', defaultMessage: 'Select all' })}\n </Checkbox>\n </Box>\n </Flex>\n <Grid.Root gap={4} padding={4}>\n {controller?.actions &&\n controller?.actions.map((action) => {\n return (\n <Grid.Item\n xs={12}\n s={6}\n key={action.actionId}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <CheckboxWrapper\n $isActive={isActionSelected(action.actionId)}\n padding={2}\n hasRadius\n >\n <Checkbox\n checked={selectedActions.includes(action.actionId)}\n name={action.actionId}\n onCheckedChange={() => {\n onChange({ target: { value: action.actionId } });\n }}\n disabled={disabled}\n >\n <span style={{ overflowWrap: 'anywhere' }}>{action.action}</span>\n </Checkbox>\n <button\n type=\"button\"\n data-testid=\"action-cog\"\n onClick={() =>\n setSelectedAction({ target: { value: action.actionId } })\n }\n style={{ display: 'inline-flex', alignItems: 'center' }}\n >\n <Cog id=\"cog\" />\n </button>\n </CheckboxWrapper>\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Box>\n );\n })}\n </Accordion.Content>\n </Accordion.Item>\n );\n};\n"],"names":["activeCheckboxWrapperStyles","css","props","theme","colors","primary100","CheckboxWrapper","styled","Box","primary600","$isActive","Border","div","neutral150","CollapsableContentType","controllers","label","orderNumber","disabled","value","onChangeSelectAll","onChange","selectedActions","setSelectedAction","selectedAction","useApiTokenPermissions","formatMessage","useIntl","isActionSelected","actionId","_jsxs","Accordion","Item","_jsx","Header","variant","Trigger","capitalize","Content","map","controller","allActionsSelected","actions","every","action","includes","someActionsSelected","some","Flex","justifyContent","alignItems","padding","paddingRight","Typography","textColor","paddingLeft","Checkbox","checked","onCheckedChange","target","id","defaultMessage","Grid","Root","gap","xs","s","direction","hasRadius","name","span","style","overflowWrap","button","type","data-testid","onClick","display","Cog"],"mappings":";;;;;;;;;;;;;;;AAmBA,MAAMA,2BAAAA,GAA8BC,oBAAG;cACzB,EAAE,CAACC,QAAUA,KAAAA,CAAMC,KAAK,CAACC,MAAM,CAACC,UAAU,CAAC;;;;;AAKzD,CAAC;AAED,MAAMC,eAAAA,GAAkBC,uBAAAA,CAAqBC,gBAAAA,CAA4B;;;;;;;;YAQ7D,EAAE,CAACN,QAAUA,KAAAA,CAAMC,KAAK,CAACC,MAAM,CAACK,UAAU,CAAC;;;;;AAKrD,EAAA,EAAE,CAACP,KAAAA,GAAUA,KAAAA,CAAMQ,SAAS,IAAIV,2BAAAA;;AAE9B,IAAA,EAAEA,2BAAAA;;AAEN,CAAC;AAED,MAAMW,MAAAA,GAASJ,uBAAAA,CAAOK,GAAG;;;wBAGD,EAAE,CAAC,EAAET,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACS,UAAU,CAAC;AACjE,CAAC;AASM,MAAMC,sBAAAA,GAAyB,CAAC,EACrCC,cAAc,EAAE,EAChBC,KAAK,EACLC,WAAAA,GAAc,CAAC,EACfC,QAAAA,GAAW,KAAK,EACY,GAAA;AAC5B,IAAA,MAAM,EACJC,KAAAA,EAAO,EAAEC,iBAAiB,EAAEC,QAAQ,EAAEC,eAAe,EAAEC,iBAAiB,EAAEC,cAAc,EAAE,EAC3F,GAAGC,0CAAAA,EAAAA;IACJ,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAE1B,MAAMC,gBAAAA,GAAmB,CAACC,QAAAA,GAAqBA,QAAAA,KAAaL,cAAAA;IAE5D,qBACEM,eAAA,CAACC,uBAAUC,IAAI,EAAA;AAACb,QAAAA,KAAAA,EAAO,CAAA,EAAGH,KAAAA,CAAM,CAAC,EAAEC,WAAAA,CAAAA,CAAa;;AAC9C,0BAAAgB,cAAA,CAACF,uBAAUG,MAAM,EAAA;gBAACC,OAAAA,EAASlB,WAAAA,GAAc,IAAI,SAAA,GAAY,WAAA;wCACvDgB,cAAA,CAACF,uBAAUK,OAAO,EAAA;8BAAEC,2BAAAA,CAAWrB,KAAAA;;;AAEjC,0BAAAiB,cAAA,CAACF,uBAAUO,OAAO,EAAA;AACfvB,gBAAAA,QAAAA,EAAAA,WAAAA,EAAawB,IAAI,CAACC,UAAAA,GAAAA;AACjB,oBAAA,MAAMC,kBAAAA,GAAqBD,UAAAA,CAAWE,OAAO,CAACC,KAAK,CAAC,CAACC,MAAAA,GACnDtB,eAAAA,CAAgBuB,QAAQ,CAACD,MAAAA,CAAOf,QAAQ,CAAA,CAAA;AAG1C,oBAAA,MAAMiB,mBAAAA,GAAsBN,UAAAA,CAAWE,OAAO,CAACK,IAAI,CAAC,CAACH,MAAAA,GACnDtB,eAAAA,CAAgBuB,QAAQ,CAACD,MAAAA,CAAOf,QAAQ,CAAA,CAAA;AAG1C,oBAAA,qBACEC,eAAA,CAACtB,gBAAAA,EAAAA;;0CACCsB,eAAA,CAACkB,iBAAAA,EAAAA;gCAAKC,cAAAA,EAAe,eAAA;gCAAgBC,UAAAA,EAAW,QAAA;gCAASC,OAAAA,EAAS,CAAA;;kDAChElB,cAAA,CAACzB,gBAAAA,EAAAA;wCAAI4C,YAAAA,EAAc,CAAA;AACjB,wCAAA,QAAA,gBAAAnB,cAAA,CAACoB,uBAAAA,EAAAA;4CAAWlB,OAAAA,EAAQ,OAAA;4CAAQmB,SAAAA,EAAU,YAAA;sDACnCd,UAAAA,EAAYA;;;kDAGjBP,cAAA,CAACtB,MAAAA,EAAAA,EAAAA,CAAAA;kDACDsB,cAAA,CAACzB,gBAAAA,EAAAA;wCAAI+C,WAAAA,EAAa,CAAA;AAChB,wCAAA,QAAA,gBAAAtB,cAAA,CAACuB,qBAAAA,EAAAA;4CACCC,OAAAA,EACE,CAAChB,kBAAAA,IAAsBK,mBAAAA,GACnB,eAAA,GACAL,kBAAAA;4CAENiB,eAAAA,EAAiB,IAAA;gDACftC,iBAAAA,CAAkB;oDAAEuC,MAAAA,EAAQ;wDAAExC,KAAAA,EAAO;AAAIqB,4DAAAA,GAAAA,UAAAA,CAAWE;AAAQ;AAAC;AAAE,iDAAA,CAAA;AACjE,4CAAA,CAAA;4CACAxB,QAAAA,EAAUA,QAAAA;sDAETQ,aAAAA,CAAc;gDAAEkC,EAAAA,EAAI,sBAAA;gDAAwBC,cAAAA,EAAgB;AAAa,6CAAA;;;;;AAIhF,0CAAA5B,cAAA,CAAC6B,kBAAKC,IAAI,EAAA;gCAACC,GAAAA,EAAK,CAAA;gCAAGb,OAAAA,EAAS,CAAA;AACzBX,gCAAAA,QAAAA,EAAAA,UAAAA,EAAYE,OAAAA,IACXF,UAAAA,EAAYE,OAAAA,CAAQH,GAAAA,CAAI,CAACK,MAAAA,GAAAA;oCACvB,qBACEX,cAAA,CAAC6B,kBAAK9B,IAAI,EAAA;wCACRiC,EAAAA,EAAI,EAAA;wCACJC,CAAAA,EAAG,CAAA;wCAEHC,SAAAA,EAAU,QAAA;wCACVjB,UAAAA,EAAW,SAAA;AAEX,wCAAA,QAAA,gBAAApB,eAAA,CAACxB,eAAAA,EAAAA;4CACCI,SAAAA,EAAWkB,gBAAAA,CAAiBgB,OAAOf,QAAQ,CAAA;4CAC3CsB,OAAAA,EAAS,CAAA;4CACTiB,SAAS,EAAA,IAAA;;8DAETnC,cAAA,CAACuB,qBAAAA,EAAAA;AACCC,oDAAAA,OAAAA,EAASnC,eAAAA,CAAgBuB,QAAQ,CAACD,MAAAA,CAAOf,QAAQ,CAAA;AACjDwC,oDAAAA,IAAAA,EAAMzB,OAAOf,QAAQ;oDACrB6B,eAAAA,EAAiB,IAAA;wDACfrC,QAAAA,CAAS;4DAAEsC,MAAAA,EAAQ;AAAExC,gEAAAA,KAAAA,EAAOyB,OAAOf;AAAS;AAAE,yDAAA,CAAA;AAChD,oDAAA,CAAA;oDACAX,QAAAA,EAAUA,QAAAA;AAEV,oDAAA,QAAA,gBAAAe,cAAA,CAACqC,MAAAA,EAAAA;wDAAKC,KAAAA,EAAO;4DAAEC,YAAAA,EAAc;AAAW,yDAAA;AAAI5B,wDAAAA,QAAAA,EAAAA,MAAAA,CAAOA;;;8DAErDX,cAAA,CAACwC,QAAAA,EAAAA;oDACCC,IAAAA,EAAK,QAAA;oDACLC,aAAAA,EAAY,YAAA;AACZC,oDAAAA,OAAAA,EAAS,IACPrD,iBAAAA,CAAkB;4DAAEoC,MAAAA,EAAQ;AAAExC,gEAAAA,KAAAA,EAAOyB,OAAOf;AAAS;AAAE,yDAAA,CAAA;oDAEzD0C,KAAAA,EAAO;wDAAEM,OAAAA,EAAS,aAAA;wDAAe3B,UAAAA,EAAY;AAAS,qDAAA;AAEtD,oDAAA,QAAA,gBAAAjB,cAAA,CAAC6C,SAAAA,EAAAA;wDAAIlB,EAAAA,EAAG;;;;;AA3BPhB,qCAAAA,EAAAA,MAAAA,CAAOf,QAAQ,CAAA;AAgC1B,gCAAA,CAAA;;;AA/DI,qBAAA,EAAA,CAAA,EAAGb,KAAAA,CAAM,CAAC,EAAEwB,UAAAA,EAAYA,UAAAA,CAAAA,CAAY,CAAA;AAmElD,gBAAA,CAAA;;;;AAIR;;;;"}
1
+ {"version":3,"file":"CollapsableContentType.js","sources":["../../../../../../../../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Accordion,\n Box,\n BoxComponent,\n Checkbox,\n Flex,\n Grid,\n Typography,\n} from '@strapi/design-system';\nimport { Cog } from '@strapi/icons';\nimport capitalize from 'lodash/capitalize';\nimport { useIntl } from 'react-intl';\nimport { styled, css } from 'styled-components';\n\nimport { ContentApiPermission } from '../../../../../../../../shared/contracts/content-api/permissions';\nimport { useApiTokenPermissions } from '../apiTokenPermissions';\n\nconst EMPTY_CONTROLLERS: NonNullable<CollapsableContentTypeProps['controllers']> = [];\n\nconst activeCheckboxWrapperStyles = css`\n background: ${(props) => props.theme.colors.primary100};\n\n #cog {\n opacity: 1;\n }\n`;\n\nconst CheckboxWrapper = styled<BoxComponent>(Box)<{ $isActive: boolean }>`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n #cog {\n opacity: 0;\n path {\n fill: ${(props) => props.theme.colors.primary600};\n }\n }\n\n /* Show active style both on hover and when the action is selected */\n ${(props) => props.$isActive && activeCheckboxWrapperStyles}\n &:hover {\n ${activeCheckboxWrapperStyles}\n }\n`;\n\nconst Border = styled.div`\n flex: 1;\n align-self: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\ninterface CollapsableContentTypeProps {\n controllers?: ContentApiPermission['controllers'];\n label: ContentApiPermission['label'];\n orderNumber?: number;\n disabled?: boolean;\n}\n\nexport const CollapsableContentType = ({\n controllers = EMPTY_CONTROLLERS,\n label,\n orderNumber = 0,\n disabled = false,\n}: CollapsableContentTypeProps) => {\n const {\n value: { onChangeSelectAll, onChange, selectedActions, setSelectedAction, selectedAction },\n } = useApiTokenPermissions();\n const { formatMessage } = useIntl();\n\n const isActionSelected = (actionId: string) => actionId === selectedAction;\n\n return (\n <Accordion.Item value={`${label}-${orderNumber}`}>\n <Accordion.Header variant={orderNumber % 2 ? 'primary' : 'secondary'}>\n <Accordion.Trigger>{capitalize(label)}</Accordion.Trigger>\n </Accordion.Header>\n <Accordion.Content>\n {controllers?.map((controller) => {\n const allActionsSelected = controller.actions.every((action) =>\n selectedActions.includes(action.actionId)\n );\n\n const someActionsSelected = controller.actions.some((action) =>\n selectedActions.includes(action.actionId)\n );\n\n return (\n <Box key={`${label}.${controller?.controller}`}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\" padding={4}>\n <Box paddingRight={4}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {controller?.controller}\n </Typography>\n </Box>\n <Border />\n <Box paddingLeft={4}>\n <Checkbox\n checked={\n !allActionsSelected && someActionsSelected\n ? 'indeterminate'\n : allActionsSelected\n }\n onCheckedChange={() => {\n onChangeSelectAll({ target: { value: [...controller.actions] } });\n }}\n disabled={disabled}\n >\n {formatMessage({ id: 'app.utils.select-all', defaultMessage: 'Select all' })}\n </Checkbox>\n </Box>\n </Flex>\n <Grid.Root gap={4} padding={4}>\n {controller?.actions &&\n controller?.actions.map((action) => {\n return (\n <Grid.Item\n xs={12}\n s={6}\n key={action.actionId}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <CheckboxWrapper\n $isActive={isActionSelected(action.actionId)}\n padding={2}\n hasRadius\n >\n <Checkbox\n checked={selectedActions.includes(action.actionId)}\n name={action.actionId}\n onCheckedChange={() => {\n onChange({ target: { value: action.actionId } });\n }}\n disabled={disabled}\n >\n <span style={{ overflowWrap: 'anywhere' }}>{action.action}</span>\n </Checkbox>\n <button\n type=\"button\"\n data-testid=\"action-cog\"\n onClick={() =>\n setSelectedAction({ target: { value: action.actionId } })\n }\n style={{ display: 'inline-flex', alignItems: 'center' }}\n >\n <Cog id=\"cog\" />\n </button>\n </CheckboxWrapper>\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Box>\n );\n })}\n </Accordion.Content>\n </Accordion.Item>\n );\n};\n"],"names":["EMPTY_CONTROLLERS","activeCheckboxWrapperStyles","css","props","theme","colors","primary100","CheckboxWrapper","styled","Box","primary600","$isActive","Border","div","neutral150","CollapsableContentType","controllers","label","orderNumber","disabled","value","onChangeSelectAll","onChange","selectedActions","setSelectedAction","selectedAction","useApiTokenPermissions","formatMessage","useIntl","isActionSelected","actionId","_jsxs","Accordion","Item","_jsx","Header","variant","Trigger","capitalize","Content","map","controller","allActionsSelected","actions","every","action","includes","someActionsSelected","some","Flex","justifyContent","alignItems","padding","paddingRight","Typography","textColor","paddingLeft","Checkbox","checked","onCheckedChange","target","id","defaultMessage","Grid","Root","gap","xs","s","direction","hasRadius","name","span","style","overflowWrap","button","type","data-testid","onClick","display","Cog"],"mappings":"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"}
@@ -7,6 +7,7 @@ import { useIntl } from 'react-intl';
7
7
  import { styled, css } from 'styled-components';
8
8
  import { useApiTokenPermissions } from '../apiTokenPermissions.mjs';
9
9
 
10
+ const EMPTY_CONTROLLERS = [];
10
11
  const activeCheckboxWrapperStyles = css`
11
12
  background: ${(props)=>props.theme.colors.primary100};
12
13
 
@@ -37,7 +38,7 @@ const Border = styled.div`
37
38
  align-self: center;
38
39
  border-top: 1px solid ${({ theme })=>theme.colors.neutral150};
39
40
  `;
40
- const CollapsableContentType = ({ controllers = [], label, orderNumber = 0, disabled = false })=>{
41
+ const CollapsableContentType = ({ controllers = EMPTY_CONTROLLERS, label, orderNumber = 0, disabled = false })=>{
41
42
  const { value: { onChangeSelectAll, onChange, selectedActions, setSelectedAction, selectedAction } } = useApiTokenPermissions();
42
43
  const { formatMessage } = useIntl();
43
44
  const isActionSelected = (actionId)=>actionId === selectedAction;
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsableContentType.mjs","sources":["../../../../../../../../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Accordion,\n Box,\n BoxComponent,\n Checkbox,\n Flex,\n Grid,\n Typography,\n} from '@strapi/design-system';\nimport { Cog } from '@strapi/icons';\nimport capitalize from 'lodash/capitalize';\nimport { useIntl } from 'react-intl';\nimport { styled, css } from 'styled-components';\n\nimport { ContentApiPermission } from '../../../../../../../../shared/contracts/content-api/permissions';\nimport { useApiTokenPermissions } from '../apiTokenPermissions';\n\nconst activeCheckboxWrapperStyles = css`\n background: ${(props) => props.theme.colors.primary100};\n\n #cog {\n opacity: 1;\n }\n`;\n\nconst CheckboxWrapper = styled<BoxComponent>(Box)<{ $isActive: boolean }>`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n #cog {\n opacity: 0;\n path {\n fill: ${(props) => props.theme.colors.primary600};\n }\n }\n\n /* Show active style both on hover and when the action is selected */\n ${(props) => props.$isActive && activeCheckboxWrapperStyles}\n &:hover {\n ${activeCheckboxWrapperStyles}\n }\n`;\n\nconst Border = styled.div`\n flex: 1;\n align-self: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\ninterface CollapsableContentTypeProps {\n controllers?: ContentApiPermission['controllers'];\n label: ContentApiPermission['label'];\n orderNumber?: number;\n disabled?: boolean;\n}\n\nexport const CollapsableContentType = ({\n controllers = [],\n label,\n orderNumber = 0,\n disabled = false,\n}: CollapsableContentTypeProps) => {\n const {\n value: { onChangeSelectAll, onChange, selectedActions, setSelectedAction, selectedAction },\n } = useApiTokenPermissions();\n const { formatMessage } = useIntl();\n\n const isActionSelected = (actionId: string) => actionId === selectedAction;\n\n return (\n <Accordion.Item value={`${label}-${orderNumber}`}>\n <Accordion.Header variant={orderNumber % 2 ? 'primary' : 'secondary'}>\n <Accordion.Trigger>{capitalize(label)}</Accordion.Trigger>\n </Accordion.Header>\n <Accordion.Content>\n {controllers?.map((controller) => {\n const allActionsSelected = controller.actions.every((action) =>\n selectedActions.includes(action.actionId)\n );\n\n const someActionsSelected = controller.actions.some((action) =>\n selectedActions.includes(action.actionId)\n );\n\n return (\n <Box key={`${label}.${controller?.controller}`}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\" padding={4}>\n <Box paddingRight={4}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {controller?.controller}\n </Typography>\n </Box>\n <Border />\n <Box paddingLeft={4}>\n <Checkbox\n checked={\n !allActionsSelected && someActionsSelected\n ? 'indeterminate'\n : allActionsSelected\n }\n onCheckedChange={() => {\n onChangeSelectAll({ target: { value: [...controller.actions] } });\n }}\n disabled={disabled}\n >\n {formatMessage({ id: 'app.utils.select-all', defaultMessage: 'Select all' })}\n </Checkbox>\n </Box>\n </Flex>\n <Grid.Root gap={4} padding={4}>\n {controller?.actions &&\n controller?.actions.map((action) => {\n return (\n <Grid.Item\n xs={12}\n s={6}\n key={action.actionId}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <CheckboxWrapper\n $isActive={isActionSelected(action.actionId)}\n padding={2}\n hasRadius\n >\n <Checkbox\n checked={selectedActions.includes(action.actionId)}\n name={action.actionId}\n onCheckedChange={() => {\n onChange({ target: { value: action.actionId } });\n }}\n disabled={disabled}\n >\n <span style={{ overflowWrap: 'anywhere' }}>{action.action}</span>\n </Checkbox>\n <button\n type=\"button\"\n data-testid=\"action-cog\"\n onClick={() =>\n setSelectedAction({ target: { value: action.actionId } })\n }\n style={{ display: 'inline-flex', alignItems: 'center' }}\n >\n <Cog id=\"cog\" />\n </button>\n </CheckboxWrapper>\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Box>\n );\n })}\n </Accordion.Content>\n </Accordion.Item>\n );\n};\n"],"names":["activeCheckboxWrapperStyles","css","props","theme","colors","primary100","CheckboxWrapper","styled","Box","primary600","$isActive","Border","div","neutral150","CollapsableContentType","controllers","label","orderNumber","disabled","value","onChangeSelectAll","onChange","selectedActions","setSelectedAction","selectedAction","useApiTokenPermissions","formatMessage","useIntl","isActionSelected","actionId","_jsxs","Accordion","Item","_jsx","Header","variant","Trigger","capitalize","Content","map","controller","allActionsSelected","actions","every","action","includes","someActionsSelected","some","Flex","justifyContent","alignItems","padding","paddingRight","Typography","textColor","paddingLeft","Checkbox","checked","onCheckedChange","target","id","defaultMessage","Grid","Root","gap","xs","s","direction","hasRadius","name","span","style","overflowWrap","button","type","data-testid","onClick","display","Cog"],"mappings":"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"}
1
+ {"version":3,"file":"CollapsableContentType.mjs","sources":["../../../../../../../../../../admin/src/pages/Settings/pages/ApiTokens/EditView/components/CollapsableContentType.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Accordion,\n Box,\n BoxComponent,\n Checkbox,\n Flex,\n Grid,\n Typography,\n} from '@strapi/design-system';\nimport { Cog } from '@strapi/icons';\nimport capitalize from 'lodash/capitalize';\nimport { useIntl } from 'react-intl';\nimport { styled, css } from 'styled-components';\n\nimport { ContentApiPermission } from '../../../../../../../../shared/contracts/content-api/permissions';\nimport { useApiTokenPermissions } from '../apiTokenPermissions';\n\nconst EMPTY_CONTROLLERS: NonNullable<CollapsableContentTypeProps['controllers']> = [];\n\nconst activeCheckboxWrapperStyles = css`\n background: ${(props) => props.theme.colors.primary100};\n\n #cog {\n opacity: 1;\n }\n`;\n\nconst CheckboxWrapper = styled<BoxComponent>(Box)<{ $isActive: boolean }>`\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n #cog {\n opacity: 0;\n path {\n fill: ${(props) => props.theme.colors.primary600};\n }\n }\n\n /* Show active style both on hover and when the action is selected */\n ${(props) => props.$isActive && activeCheckboxWrapperStyles}\n &:hover {\n ${activeCheckboxWrapperStyles}\n }\n`;\n\nconst Border = styled.div`\n flex: 1;\n align-self: center;\n border-top: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\ninterface CollapsableContentTypeProps {\n controllers?: ContentApiPermission['controllers'];\n label: ContentApiPermission['label'];\n orderNumber?: number;\n disabled?: boolean;\n}\n\nexport const CollapsableContentType = ({\n controllers = EMPTY_CONTROLLERS,\n label,\n orderNumber = 0,\n disabled = false,\n}: CollapsableContentTypeProps) => {\n const {\n value: { onChangeSelectAll, onChange, selectedActions, setSelectedAction, selectedAction },\n } = useApiTokenPermissions();\n const { formatMessage } = useIntl();\n\n const isActionSelected = (actionId: string) => actionId === selectedAction;\n\n return (\n <Accordion.Item value={`${label}-${orderNumber}`}>\n <Accordion.Header variant={orderNumber % 2 ? 'primary' : 'secondary'}>\n <Accordion.Trigger>{capitalize(label)}</Accordion.Trigger>\n </Accordion.Header>\n <Accordion.Content>\n {controllers?.map((controller) => {\n const allActionsSelected = controller.actions.every((action) =>\n selectedActions.includes(action.actionId)\n );\n\n const someActionsSelected = controller.actions.some((action) =>\n selectedActions.includes(action.actionId)\n );\n\n return (\n <Box key={`${label}.${controller?.controller}`}>\n <Flex justifyContent=\"space-between\" alignItems=\"center\" padding={4}>\n <Box paddingRight={4}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {controller?.controller}\n </Typography>\n </Box>\n <Border />\n <Box paddingLeft={4}>\n <Checkbox\n checked={\n !allActionsSelected && someActionsSelected\n ? 'indeterminate'\n : allActionsSelected\n }\n onCheckedChange={() => {\n onChangeSelectAll({ target: { value: [...controller.actions] } });\n }}\n disabled={disabled}\n >\n {formatMessage({ id: 'app.utils.select-all', defaultMessage: 'Select all' })}\n </Checkbox>\n </Box>\n </Flex>\n <Grid.Root gap={4} padding={4}>\n {controller?.actions &&\n controller?.actions.map((action) => {\n return (\n <Grid.Item\n xs={12}\n s={6}\n key={action.actionId}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <CheckboxWrapper\n $isActive={isActionSelected(action.actionId)}\n padding={2}\n hasRadius\n >\n <Checkbox\n checked={selectedActions.includes(action.actionId)}\n name={action.actionId}\n onCheckedChange={() => {\n onChange({ target: { value: action.actionId } });\n }}\n disabled={disabled}\n >\n <span style={{ overflowWrap: 'anywhere' }}>{action.action}</span>\n </Checkbox>\n <button\n type=\"button\"\n data-testid=\"action-cog\"\n onClick={() =>\n setSelectedAction({ target: { value: action.actionId } })\n }\n style={{ display: 'inline-flex', alignItems: 'center' }}\n >\n <Cog id=\"cog\" />\n </button>\n </CheckboxWrapper>\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Box>\n );\n })}\n </Accordion.Content>\n </Accordion.Item>\n );\n};\n"],"names":["EMPTY_CONTROLLERS","activeCheckboxWrapperStyles","css","props","theme","colors","primary100","CheckboxWrapper","styled","Box","primary600","$isActive","Border","div","neutral150","CollapsableContentType","controllers","label","orderNumber","disabled","value","onChangeSelectAll","onChange","selectedActions","setSelectedAction","selectedAction","useApiTokenPermissions","formatMessage","useIntl","isActionSelected","actionId","_jsxs","Accordion","Item","_jsx","Header","variant","Trigger","capitalize","Content","map","controller","allActionsSelected","actions","every","action","includes","someActionsSelected","some","Flex","justifyContent","alignItems","padding","paddingRight","Typography","textColor","paddingLeft","Checkbox","checked","onCheckedChange","target","id","defaultMessage","Grid","Root","gap","xs","s","direction","hasRadius","name","span","style","overflowWrap","button","type","data-testid","onClick","display","Cog"],"mappings":"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"}
@@ -8,9 +8,9 @@ const transformPermissionsData = (data)=>{
8
8
  layout.permissions = Object.entries(data).map(([apiId, permission])=>({
9
9
  apiId,
10
10
  label: apiId.split('::')[1],
11
- controllers: Object.keys(permission.controllers).map((controller)=>({
11
+ controllers: Object.keys(permission.controllers).flatMap((controller)=>({
12
12
  controller,
13
- actions: controller in permission.controllers ? permission.controllers[controller].map((action)=>{
13
+ actions: controller in permission.controllers ? permission.controllers[controller].flatMap((action)=>{
14
14
  const actionId = `${apiId}.${controller}.${action}`;
15
15
  if (apiId.includes('api::')) {
16
16
  layout.allActionsIds.push(actionId);
@@ -19,8 +19,8 @@ const transformPermissionsData = (data)=>{
19
19
  action,
20
20
  actionId
21
21
  };
22
- }).flat() : []
23
- })).flat()
22
+ }) : []
23
+ }))
24
24
  }));
25
25
  return layout;
26
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transformPermissionsData.js","sources":["../../../../../../../../../../admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.ts"],"sourcesContent":["import { ContentApiPermission } from '../../../../../../../../shared/contracts/content-api/permissions';\n\ninterface Layout {\n allActionsIds: string[];\n permissions: {\n apiId: string;\n label: string;\n controllers: { controller: string; actions: { action: string; actionId: string }[] }[];\n }[];\n}\n\nexport const transformPermissionsData = (data: ContentApiPermission) => {\n const layout: Layout = {\n allActionsIds: [],\n permissions: [],\n };\n\n layout.permissions = Object.entries(data).map(([apiId, permission]) => ({\n apiId,\n label: apiId.split('::')[1],\n controllers: Object.keys(permission.controllers)\n .map((controller) => ({\n controller,\n actions:\n controller in permission.controllers\n ? permission.controllers[controller]\n .map((action: ContentApiPermission['controllers']) => {\n const actionId = `${apiId}.${controller}.${action}`;\n\n if (apiId.includes('api::')) {\n layout.allActionsIds.push(actionId);\n }\n\n return {\n action,\n actionId,\n };\n })\n .flat()\n : [],\n }))\n .flat(),\n }));\n\n return layout;\n};\n"],"names":["transformPermissionsData","data","layout","allActionsIds","permissions","Object","entries","map","apiId","permission","label","split","controllers","keys","controller","actions","action","actionId","includes","push","flat"],"mappings":";;AAWO,MAAMA,2BAA2B,CAACC,IAAAA,GAAAA;AACvC,IAAA,MAAMC,MAAAA,GAAiB;AACrBC,QAAAA,aAAAA,EAAe,EAAE;AACjBC,QAAAA,WAAAA,EAAa;AACf,KAAA;AAEAF,IAAAA,MAAAA,CAAOE,WAAW,GAAGC,MAAAA,CAAOC,OAAO,CAACL,IAAAA,CAAAA,CAAMM,GAAG,CAAC,CAAC,CAACC,KAAAA,EAAOC,UAAAA,CAAW,IAAM;AACtED,YAAAA,KAAAA;AACAE,YAAAA,KAAAA,EAAOF,KAAAA,CAAMG,KAAK,CAAC,IAAA,CAAK,CAAC,CAAA,CAAE;YAC3BC,WAAAA,EAAaP,MAAAA,CAAOQ,IAAI,CAACJ,UAAAA,CAAWG,WAAW,EAC5CL,GAAG,CAAC,CAACO,UAAAA,IAAgB;AACpBA,oBAAAA,UAAAA;oBACAC,OAAAA,EACED,UAAAA,IAAcL,UAAAA,CAAWG,WAAW,GAChCH,UAAAA,CAAWG,WAAW,CAACE,UAAAA,CAAW,CAC/BP,GAAG,CAAC,CAACS,MAAAA,GAAAA;wBACJ,MAAMC,QAAAA,GAAW,GAAGT,KAAAA,CAAM,CAAC,EAAEM,UAAAA,CAAW,CAAC,EAAEE,MAAAA,CAAAA,CAAQ;wBAEnD,IAAIR,KAAAA,CAAMU,QAAQ,CAAC,OAAA,CAAA,EAAU;4BAC3BhB,MAAAA,CAAOC,aAAa,CAACgB,IAAI,CAACF,QAAAA,CAAAA;AAC5B,wBAAA;wBAEA,OAAO;AACLD,4BAAAA,MAAAA;AACAC,4BAAAA;AACF,yBAAA;oBACF,CAAA,CAAA,CACCG,IAAI,KACP;AACR,iBAAA,GACCA,IAAI;SACT,CAAA,CAAA;IAEA,OAAOlB,MAAAA;AACT;;;;"}
1
+ {"version":3,"file":"transformPermissionsData.js","sources":["../../../../../../../../../../admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.ts"],"sourcesContent":["import { ContentApiPermission } from '../../../../../../../../shared/contracts/content-api/permissions';\n\ninterface Layout {\n allActionsIds: string[];\n permissions: {\n apiId: string;\n label: string;\n controllers: { controller: string; actions: { action: string; actionId: string }[] }[];\n }[];\n}\n\nexport const transformPermissionsData = (data: ContentApiPermission) => {\n const layout: Layout = {\n allActionsIds: [],\n permissions: [],\n };\n\n layout.permissions = Object.entries(data).map(([apiId, permission]) => ({\n apiId,\n label: apiId.split('::')[1],\n controllers: Object.keys(permission.controllers).flatMap((controller) => ({\n controller,\n actions:\n controller in permission.controllers\n ? permission.controllers[controller].flatMap(\n (action: ContentApiPermission['controllers']) => {\n const actionId = `${apiId}.${controller}.${action}`;\n\n if (apiId.includes('api::')) {\n layout.allActionsIds.push(actionId);\n }\n\n return {\n action,\n actionId,\n };\n }\n )\n : [],\n })),\n }));\n\n return layout;\n};\n"],"names":["transformPermissionsData","data","layout","allActionsIds","permissions","Object","entries","map","apiId","permission","label","split","controllers","keys","flatMap","controller","actions","action","actionId","includes","push"],"mappings":";;AAWO,MAAMA,2BAA2B,CAACC,IAAAA,GAAAA;AACvC,IAAA,MAAMC,MAAAA,GAAiB;AACrBC,QAAAA,aAAAA,EAAe,EAAE;AACjBC,QAAAA,WAAAA,EAAa;AACf,KAAA;AAEAF,IAAAA,MAAAA,CAAOE,WAAW,GAAGC,MAAAA,CAAOC,OAAO,CAACL,IAAAA,CAAAA,CAAMM,GAAG,CAAC,CAAC,CAACC,KAAAA,EAAOC,UAAAA,CAAW,IAAM;AACtED,YAAAA,KAAAA;AACAE,YAAAA,KAAAA,EAAOF,KAAAA,CAAMG,KAAK,CAAC,IAAA,CAAK,CAAC,CAAA,CAAE;YAC3BC,WAAAA,EAAaP,MAAAA,CAAOQ,IAAI,CAACJ,UAAAA,CAAWG,WAAW,EAAEE,OAAO,CAAC,CAACC,UAAAA,IAAgB;AACxEA,oBAAAA,UAAAA;oBACAC,OAAAA,EACED,UAAAA,IAAcN,UAAAA,CAAWG,WAAW,GAChCH,UAAAA,CAAWG,WAAW,CAACG,UAAAA,CAAW,CAACD,OAAO,CACxC,CAACG,MAAAA,GAAAA;wBACC,MAAMC,QAAAA,GAAW,GAAGV,KAAAA,CAAM,CAAC,EAAEO,UAAAA,CAAW,CAAC,EAAEE,MAAAA,CAAAA,CAAQ;wBAEnD,IAAIT,KAAAA,CAAMW,QAAQ,CAAC,OAAA,CAAA,EAAU;4BAC3BjB,MAAAA,CAAOC,aAAa,CAACiB,IAAI,CAACF,QAAAA,CAAAA;AAC5B,wBAAA;wBAEA,OAAO;AACLD,4BAAAA,MAAAA;AACAC,4BAAAA;AACF,yBAAA;AACF,oBAAA,CAAA,CAAA,GAEF;iBACR,CAAA;SACF,CAAA,CAAA;IAEA,OAAOhB,MAAAA;AACT;;;;"}
@@ -6,9 +6,9 @@ const transformPermissionsData = (data)=>{
6
6
  layout.permissions = Object.entries(data).map(([apiId, permission])=>({
7
7
  apiId,
8
8
  label: apiId.split('::')[1],
9
- controllers: Object.keys(permission.controllers).map((controller)=>({
9
+ controllers: Object.keys(permission.controllers).flatMap((controller)=>({
10
10
  controller,
11
- actions: controller in permission.controllers ? permission.controllers[controller].map((action)=>{
11
+ actions: controller in permission.controllers ? permission.controllers[controller].flatMap((action)=>{
12
12
  const actionId = `${apiId}.${controller}.${action}`;
13
13
  if (apiId.includes('api::')) {
14
14
  layout.allActionsIds.push(actionId);
@@ -17,8 +17,8 @@ const transformPermissionsData = (data)=>{
17
17
  action,
18
18
  actionId
19
19
  };
20
- }).flat() : []
21
- })).flat()
20
+ }) : []
21
+ }))
22
22
  }));
23
23
  return layout;
24
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transformPermissionsData.mjs","sources":["../../../../../../../../../../admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.ts"],"sourcesContent":["import { ContentApiPermission } from '../../../../../../../../shared/contracts/content-api/permissions';\n\ninterface Layout {\n allActionsIds: string[];\n permissions: {\n apiId: string;\n label: string;\n controllers: { controller: string; actions: { action: string; actionId: string }[] }[];\n }[];\n}\n\nexport const transformPermissionsData = (data: ContentApiPermission) => {\n const layout: Layout = {\n allActionsIds: [],\n permissions: [],\n };\n\n layout.permissions = Object.entries(data).map(([apiId, permission]) => ({\n apiId,\n label: apiId.split('::')[1],\n controllers: Object.keys(permission.controllers)\n .map((controller) => ({\n controller,\n actions:\n controller in permission.controllers\n ? permission.controllers[controller]\n .map((action: ContentApiPermission['controllers']) => {\n const actionId = `${apiId}.${controller}.${action}`;\n\n if (apiId.includes('api::')) {\n layout.allActionsIds.push(actionId);\n }\n\n return {\n action,\n actionId,\n };\n })\n .flat()\n : [],\n }))\n .flat(),\n }));\n\n return layout;\n};\n"],"names":["transformPermissionsData","data","layout","allActionsIds","permissions","Object","entries","map","apiId","permission","label","split","controllers","keys","controller","actions","action","actionId","includes","push","flat"],"mappings":"AAWO,MAAMA,2BAA2B,CAACC,IAAAA,GAAAA;AACvC,IAAA,MAAMC,MAAAA,GAAiB;AACrBC,QAAAA,aAAAA,EAAe,EAAE;AACjBC,QAAAA,WAAAA,EAAa;AACf,KAAA;AAEAF,IAAAA,MAAAA,CAAOE,WAAW,GAAGC,MAAAA,CAAOC,OAAO,CAACL,IAAAA,CAAAA,CAAMM,GAAG,CAAC,CAAC,CAACC,KAAAA,EAAOC,UAAAA,CAAW,IAAM;AACtED,YAAAA,KAAAA;AACAE,YAAAA,KAAAA,EAAOF,KAAAA,CAAMG,KAAK,CAAC,IAAA,CAAK,CAAC,CAAA,CAAE;YAC3BC,WAAAA,EAAaP,MAAAA,CAAOQ,IAAI,CAACJ,UAAAA,CAAWG,WAAW,EAC5CL,GAAG,CAAC,CAACO,UAAAA,IAAgB;AACpBA,oBAAAA,UAAAA;oBACAC,OAAAA,EACED,UAAAA,IAAcL,UAAAA,CAAWG,WAAW,GAChCH,UAAAA,CAAWG,WAAW,CAACE,UAAAA,CAAW,CAC/BP,GAAG,CAAC,CAACS,MAAAA,GAAAA;wBACJ,MAAMC,QAAAA,GAAW,GAAGT,KAAAA,CAAM,CAAC,EAAEM,UAAAA,CAAW,CAAC,EAAEE,MAAAA,CAAAA,CAAQ;wBAEnD,IAAIR,KAAAA,CAAMU,QAAQ,CAAC,OAAA,CAAA,EAAU;4BAC3BhB,MAAAA,CAAOC,aAAa,CAACgB,IAAI,CAACF,QAAAA,CAAAA;AAC5B,wBAAA;wBAEA,OAAO;AACLD,4BAAAA,MAAAA;AACAC,4BAAAA;AACF,yBAAA;oBACF,CAAA,CAAA,CACCG,IAAI,KACP;AACR,iBAAA,GACCA,IAAI;SACT,CAAA,CAAA;IAEA,OAAOlB,MAAAA;AACT;;;;"}
1
+ {"version":3,"file":"transformPermissionsData.mjs","sources":["../../../../../../../../../../admin/src/pages/Settings/pages/ApiTokens/EditView/utils/transformPermissionsData.ts"],"sourcesContent":["import { ContentApiPermission } from '../../../../../../../../shared/contracts/content-api/permissions';\n\ninterface Layout {\n allActionsIds: string[];\n permissions: {\n apiId: string;\n label: string;\n controllers: { controller: string; actions: { action: string; actionId: string }[] }[];\n }[];\n}\n\nexport const transformPermissionsData = (data: ContentApiPermission) => {\n const layout: Layout = {\n allActionsIds: [],\n permissions: [],\n };\n\n layout.permissions = Object.entries(data).map(([apiId, permission]) => ({\n apiId,\n label: apiId.split('::')[1],\n controllers: Object.keys(permission.controllers).flatMap((controller) => ({\n controller,\n actions:\n controller in permission.controllers\n ? permission.controllers[controller].flatMap(\n (action: ContentApiPermission['controllers']) => {\n const actionId = `${apiId}.${controller}.${action}`;\n\n if (apiId.includes('api::')) {\n layout.allActionsIds.push(actionId);\n }\n\n return {\n action,\n actionId,\n };\n }\n )\n : [],\n })),\n }));\n\n return layout;\n};\n"],"names":["transformPermissionsData","data","layout","allActionsIds","permissions","Object","entries","map","apiId","permission","label","split","controllers","keys","flatMap","controller","actions","action","actionId","includes","push"],"mappings":"AAWO,MAAMA,2BAA2B,CAACC,IAAAA,GAAAA;AACvC,IAAA,MAAMC,MAAAA,GAAiB;AACrBC,QAAAA,aAAAA,EAAe,EAAE;AACjBC,QAAAA,WAAAA,EAAa;AACf,KAAA;AAEAF,IAAAA,MAAAA,CAAOE,WAAW,GAAGC,MAAAA,CAAOC,OAAO,CAACL,IAAAA,CAAAA,CAAMM,GAAG,CAAC,CAAC,CAACC,KAAAA,EAAOC,UAAAA,CAAW,IAAM;AACtED,YAAAA,KAAAA;AACAE,YAAAA,KAAAA,EAAOF,KAAAA,CAAMG,KAAK,CAAC,IAAA,CAAK,CAAC,CAAA,CAAE;YAC3BC,WAAAA,EAAaP,MAAAA,CAAOQ,IAAI,CAACJ,UAAAA,CAAWG,WAAW,EAAEE,OAAO,CAAC,CAACC,UAAAA,IAAgB;AACxEA,oBAAAA,UAAAA;oBACAC,OAAAA,EACED,UAAAA,IAAcN,UAAAA,CAAWG,WAAW,GAChCH,UAAAA,CAAWG,WAAW,CAACG,UAAAA,CAAW,CAACD,OAAO,CACxC,CAACG,MAAAA,GAAAA;wBACC,MAAMC,QAAAA,GAAW,GAAGV,KAAAA,CAAM,CAAC,EAAEO,UAAAA,CAAW,CAAC,EAAEE,MAAAA,CAAAA,CAAQ;wBAEnD,IAAIT,KAAAA,CAAMW,QAAQ,CAAC,OAAA,CAAA,EAAU;4BAC3BjB,MAAAA,CAAOC,aAAa,CAACiB,IAAI,CAACF,QAAAA,CAAAA;AAC5B,wBAAA;wBAEA,OAAO;AACLD,4BAAAA,MAAAA;AACAC,4BAAAA;AACF,yBAAA;AACF,oBAAA,CAAA,CAAA,GAEF;iBACR,CAAA;SACF,CAAA,CAAA;IAEA,OAAOhB,MAAAA;AACT;;;;"}
@@ -11,10 +11,11 @@ var PageHelpers = require('../../../../components/PageHelpers.js');
11
11
  var AppInfo = require('../../../../features/AppInfo.js');
12
12
  var Configuration = require('../../../../features/Configuration.js');
13
13
  var Tracking = require('../../../../features/Tracking.js');
14
- var useEnterprise = require('../../../../hooks/useEnterprise.js');
15
14
  var useRBAC = require('../../../../hooks/useRBAC.js');
16
15
  var selectors = require('../../../../selectors.js');
17
16
  var LogoInput = require('./components/LogoInput.js');
17
+ var PlanCard = require('./components/PlanCard.js');
18
+ var SupportCard = require('./components/SupportCard.js');
18
19
  var constants = require('./utils/constants.js');
19
20
 
20
21
  function _interopNamespace(e) {
@@ -37,8 +38,6 @@ function _interopNamespace(e) {
37
38
 
38
39
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
39
40
 
40
- const AdminSeatInfoCE = ()=>null;
41
- const AIUageDataCE = ()=>null;
42
41
  /* -------------------------------------------------------------------------------------------------
43
42
  * ApplicationInfoPage
44
43
  * -----------------------------------------------------------------------------------------------*/ const ApplicationInfoPage = ()=>{
@@ -50,15 +49,9 @@ const AIUageDataCE = ()=>null;
50
49
  auth: serverLogos.auth
51
50
  });
52
51
  const { settings } = reactRedux.useSelector(selectors.selectAdminPermissions);
53
- const latestStrapiReleaseTag = AppInfo.useAppInfo('ApplicationInfoPage', (state)=>state.latestStrapiReleaseTag);
54
52
  const nodeVersion = AppInfo.useAppInfo('ApplicationInfoPage', (state)=>state.nodeVersion);
55
53
  const shouldUpdateStrapi = AppInfo.useAppInfo('ApplicationInfoPage', (state)=>state.shouldUpdateStrapi);
56
54
  const strapiVersion = AppInfo.useAppInfo('ApplicationInfoPage', (state)=>state.strapiVersion);
57
- const AdminSeatInfo = useEnterprise.useEnterprise(AdminSeatInfoCE, async ()=>(await Promise.resolve().then(function () { return require('../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.js'); })).AdminSeatInfoEE);
58
- const isAiEnabled = window.strapi.ai?.enabled !== false;
59
- const AIUsageData = useEnterprise.useEnterprise(AIUageDataCE, async ()=>(await Promise.resolve().then(function () { return require('../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.js'); })).AIUsage, {
60
- enabled: isAiEnabled
61
- });
62
55
  const { allowedActions: { canRead, canUpdate } } = useRBAC.useRBAC(settings ? settings['project-settings'] : {});
63
56
  const handleSubmit = (e)=>{
64
57
  e.preventDefault();
@@ -91,13 +84,6 @@ const AIUageDataCE = ()=>null;
91
84
  }, [
92
85
  serverLogos
93
86
  ]);
94
- // block rendering until the EE component is fully loaded
95
- if (!AdminSeatInfo) {
96
- return null;
97
- }
98
- if (!AIUsageData) {
99
- return null;
100
- }
101
87
  const isSaveDisabled = logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;
102
88
  return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
103
89
  children: [
@@ -194,7 +180,7 @@ const AIUageDataCE = ()=>null;
194
180
  ]
195
181
  }),
196
182
  shouldUpdateStrapi && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Link, {
197
- href: `https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`,
183
+ href: `https://docs.strapi.io/cms/upgrades`,
198
184
  endIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.ExternalLink, {}),
199
185
  target: "_blank",
200
186
  rel: "noopener noreferrer",
@@ -207,43 +193,6 @@ const AIUageDataCE = ()=>null;
207
193
  })
208
194
  ]
209
195
  }),
210
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Grid.Item, {
211
- col: 6,
212
- xs: 12,
213
- direction: "column",
214
- alignItems: "start",
215
- children: [
216
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
217
- variant: "sigma",
218
- textColor: "neutral600",
219
- tag: "dt",
220
- children: formatMessage({
221
- id: 'Settings.application.plan-title',
222
- defaultMessage: 'current plan'
223
- })
224
- }),
225
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
226
- gap: 3,
227
- direction: "column",
228
- alignItems: "start",
229
- tag: "dd",
230
- children: [
231
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
232
- children: window.strapi.projectType
233
- }),
234
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Link, {
235
- href: "https://strapi.io/pricing-self-hosted",
236
- endIcon: /*#__PURE__*/ jsxRuntime.jsx(icons.ExternalLink, {}),
237
- target: "_blank",
238
- children: formatMessage({
239
- id: 'Settings.application.link-pricing',
240
- defaultMessage: 'See all pricing plans'
241
- })
242
- })
243
- ]
244
- })
245
- ]
246
- }),
247
196
  /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Grid.Item, {
248
197
  col: 6,
249
198
  xs: 12,
@@ -264,13 +213,12 @@ const AIUageDataCE = ()=>null;
264
213
  children: nodeVersion
265
214
  })
266
215
  ]
267
- }),
268
- /*#__PURE__*/ jsxRuntime.jsx(AdminSeatInfo, {}),
269
- /*#__PURE__*/ jsxRuntime.jsx(AIUsageData, {})
216
+ })
270
217
  ]
271
218
  })
272
219
  ]
273
220
  }),
221
+ /*#__PURE__*/ jsxRuntime.jsx(PlanCard.PlanCard, {}),
274
222
  canRead && /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
275
223
  hasRadius: true,
276
224
  background: "neutral0",
@@ -346,7 +294,8 @@ const AIUageDataCE = ()=>null;
346
294
  ]
347
295
  })
348
296
  ]
349
- })
297
+ }),
298
+ /*#__PURE__*/ jsxRuntime.jsx(SupportCard.SupportCard, {})
350
299
  ]
351
300
  })
352
301
  })
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationInfoPage.js","sources":["../../../../../../../../admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Link, Typography } from '@strapi/design-system';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useAppInfo } from '../../../../features/AppInfo';\nimport { useConfiguration } from '../../../../features/Configuration';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useEnterprise } from '../../../../hooks/useEnterprise';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { LogoInput, LogoInputProps } from './components/LogoInput';\nimport { DIMENSION, SIZE } from './utils/constants';\n\nconst AdminSeatInfoCE = () => null;\nconst AIUageDataCE = () => null;\n\n/* -------------------------------------------------------------------------------------------------\n * ApplicationInfoPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ApplicationInfoPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { logos: serverLogos, updateProjectSettings } = useConfiguration('ApplicationInfoPage');\n const [logos, setLogos] = React.useState({ menu: serverLogos.menu, auth: serverLogos.auth });\n const { settings } = useSelector(selectAdminPermissions);\n\n const latestStrapiReleaseTag = useAppInfo(\n 'ApplicationInfoPage',\n (state) => state.latestStrapiReleaseTag\n );\n const nodeVersion = useAppInfo('ApplicationInfoPage', (state) => state.nodeVersion);\n const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state) => state.shouldUpdateStrapi);\n const strapiVersion = useAppInfo('ApplicationInfoPage', (state) => state.strapiVersion);\n\n const AdminSeatInfo = useEnterprise(\n AdminSeatInfoCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo'\n )\n ).AdminSeatInfoEE\n );\n const isAiEnabled = window.strapi.ai?.enabled !== false;\n const AIUsageData = useEnterprise(\n AIUageDataCE,\n async () =>\n (\n await import(\n '../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage'\n )\n ).AIUsage,\n {\n enabled: isAiEnabled,\n }\n );\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(settings ? settings['project-settings'] : {});\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {\n e.preventDefault();\n\n updateProjectSettings({\n authLogo: logos.auth.custom ?? null,\n menuLogo: logos.menu.custom ?? null,\n });\n };\n\n const handleChangeLogo =\n (logo: 'menu' | 'auth'): LogoInputProps['onChangeLogo'] =>\n (newLogo) => {\n /**\n * If there's no newLogo value we can assume we're reseting.\n */\n if (newLogo === null) {\n trackUsage('didClickResetLogo', {\n logo,\n });\n }\n\n setLogos((prev) => ({\n ...prev,\n [logo]: {\n ...prev[logo],\n custom: newLogo,\n },\n }));\n };\n\n React.useEffect(() => {\n setLogos({\n menu: serverLogos.menu,\n auth: serverLogos.auth,\n });\n }, [serverLogos]);\n\n // block rendering until the EE component is fully loaded\n if (!AdminSeatInfo) {\n return null;\n }\n\n if (!AIUsageData) {\n return null;\n }\n\n const isSaveDisabled =\n logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;\n\n return (\n <>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'Settings.application.header',\n defaultMessage: 'Application',\n }),\n }\n )}\n </Page.Title>\n <Page.Main>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.application.title',\n defaultMessage: 'Overview',\n })}\n subtitle={formatMessage({\n id: 'Settings.application.description',\n defaultMessage: 'Administration panel’s global information',\n })}\n primaryAction={\n canUpdate && (\n <Button disabled={isSaveDisabled} type=\"submit\" startIcon={<Check />} fullWidth>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n )\n }\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n\n <Grid.Root gap={5} tag=\"dl\">\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.strapiVersion',\n defaultMessage: 'strapi version',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>v{strapiVersion}</Typography>\n {shouldUpdateStrapi && (\n <Link\n href={`https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`}\n endIcon={<ExternalLink />}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {formatMessage({\n id: 'Settings.application.link-upgrade',\n defaultMessage: 'Upgrade your admin panel',\n })}\n </Link>\n )}\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.plan-title',\n defaultMessage: 'current plan',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>{window.strapi.projectType}</Typography>\n <Link\n href=\"https://strapi.io/pricing-self-hosted\"\n endIcon={<ExternalLink />}\n target=\"_blank\"\n >\n {formatMessage({\n id: 'Settings.application.link-pricing',\n defaultMessage: 'See all pricing plans',\n })}\n </Link>\n </Flex>\n </Grid.Item>\n\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.node-version',\n defaultMessage: 'node version',\n })}\n </Typography>\n <Typography tag=\"dd\">{nodeVersion}</Typography>\n </Grid.Item>\n <AdminSeatInfo />\n <AIUsageData />\n </Grid.Root>\n </Flex>\n {canRead && (\n <Box\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.application.customization',\n defaultMessage: 'Customization',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.size-details',\n defaultMessage:\n 'Max dimension: {dimension}×{dimension}, Max file size: {size}KB',\n },\n { dimension: DIMENSION, size: SIZE }\n )}\n </Typography>\n <Grid.Root paddingTop={4} gap={4}>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.menu.custom}\n defaultLogo={logos.menu.default}\n hint={formatMessage({\n id: 'Settings.application.customization.menu-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the main navigation',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.menu-logo.title',\n defaultMessage: 'Menu logo',\n })}\n onChangeLogo={handleChangeLogo('menu')}\n />\n </Grid.Item>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.auth.custom}\n defaultLogo={logos.auth.default}\n hint={formatMessage({\n id: 'Settings.application.customization.auth-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the authentication pages',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.auth-logo.title',\n defaultMessage: 'Auth logo',\n })}\n onChangeLogo={handleChangeLogo('auth')}\n />\n </Grid.Item>\n </Grid.Root>\n </Box>\n )}\n </Flex>\n </Layouts.Content>\n </form>\n </Page.Main>\n </>\n );\n};\n\nexport { ApplicationInfoPage };\n"],"names":["AdminSeatInfoCE","AIUageDataCE","ApplicationInfoPage","trackUsage","useTracking","formatMessage","useIntl","logos","serverLogos","updateProjectSettings","useConfiguration","setLogos","React","useState","menu","auth","settings","useSelector","selectAdminPermissions","latestStrapiReleaseTag","useAppInfo","state","nodeVersion","shouldUpdateStrapi","strapiVersion","AdminSeatInfo","useEnterprise","AdminSeatInfoEE","isAiEnabled","window","strapi","ai","enabled","AIUsageData","AIUsage","allowedActions","canRead","canUpdate","useRBAC","handleSubmit","e","preventDefault","authLogo","custom","menuLogo","handleChangeLogo","logo","newLogo","prev","useEffect","isSaveDisabled","_jsxs","_Fragment","_jsx","Page","Title","id","defaultMessage","name","Main","form","onSubmit","Layouts","Header","title","subtitle","primaryAction","Button","disabled","type","startIcon","Check","fullWidth","Content","Flex","direction","alignItems","gap","hasRadius","background","shadow","paddingTop","paddingBottom","paddingRight","paddingLeft","Typography","variant","tag","Grid","Root","Item","col","xs","textColor","Link","href","endIcon","ExternalLink","target","rel","projectType","Box","dimension","DIMENSION","size","SIZE","LogoInput","customLogo","defaultLogo","default","hint","label","onChangeLogo"],"mappings":"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"}
1
+ {"version":3,"file":"ApplicationInfoPage.js","sources":["../../../../../../../../admin/src/pages/Settings/pages/ApplicationInfo/ApplicationInfoPage.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Button, Flex, Grid, Link, Typography } from '@strapi/design-system';\nimport { Check, ExternalLink } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useSelector } from 'react-redux';\n\nimport { Layouts } from '../../../../components/Layouts/Layout';\nimport { Page } from '../../../../components/PageHelpers';\nimport { useAppInfo } from '../../../../features/AppInfo';\nimport { useConfiguration } from '../../../../features/Configuration';\nimport { useTracking } from '../../../../features/Tracking';\nimport { useRBAC } from '../../../../hooks/useRBAC';\nimport { selectAdminPermissions } from '../../../../selectors';\n\nimport { LogoInput, LogoInputProps } from './components/LogoInput';\nimport { PlanCard } from './components/PlanCard';\nimport { SupportCard } from './components/SupportCard';\nimport { DIMENSION, SIZE } from './utils/constants';\n\n/* -------------------------------------------------------------------------------------------------\n * ApplicationInfoPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ApplicationInfoPage = () => {\n const { trackUsage } = useTracking();\n const { formatMessage } = useIntl();\n const { logos: serverLogos, updateProjectSettings } = useConfiguration('ApplicationInfoPage');\n const [logos, setLogos] = React.useState({ menu: serverLogos.menu, auth: serverLogos.auth });\n const { settings } = useSelector(selectAdminPermissions);\n\n const nodeVersion = useAppInfo('ApplicationInfoPage', (state) => state.nodeVersion);\n const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state) => state.shouldUpdateStrapi);\n const strapiVersion = useAppInfo('ApplicationInfoPage', (state) => state.strapiVersion);\n\n const {\n allowedActions: { canRead, canUpdate },\n } = useRBAC(settings ? settings['project-settings'] : {});\n\n const handleSubmit: React.FormEventHandler<HTMLFormElement> = (e) => {\n e.preventDefault();\n\n updateProjectSettings({\n authLogo: logos.auth.custom ?? null,\n menuLogo: logos.menu.custom ?? null,\n });\n };\n\n const handleChangeLogo =\n (logo: 'menu' | 'auth'): LogoInputProps['onChangeLogo'] =>\n (newLogo) => {\n /**\n * If there's no newLogo value we can assume we're reseting.\n */\n if (newLogo === null) {\n trackUsage('didClickResetLogo', {\n logo,\n });\n }\n\n setLogos((prev) => ({\n ...prev,\n [logo]: {\n ...prev[logo],\n custom: newLogo,\n },\n }));\n };\n\n React.useEffect(() => {\n setLogos({\n menu: serverLogos.menu,\n auth: serverLogos.auth,\n });\n }, [serverLogos]);\n\n const isSaveDisabled =\n logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;\n\n return (\n <>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'Settings.application.header',\n defaultMessage: 'Application',\n }),\n }\n )}\n </Page.Title>\n <Page.Main>\n <form onSubmit={handleSubmit}>\n <Layouts.Header\n title={formatMessage({\n id: 'Settings.application.title',\n defaultMessage: 'Overview',\n })}\n subtitle={formatMessage({\n id: 'Settings.application.description',\n defaultMessage: 'Administration panel’s global information',\n })}\n primaryAction={\n canUpdate && (\n <Button disabled={isSaveDisabled} type=\"submit\" startIcon={<Check />} fullWidth>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n )\n }\n />\n <Layouts.Content>\n <Flex direction=\"column\" alignItems=\"stretch\" gap={6}>\n <Flex\n direction=\"column\"\n alignItems=\"stretch\"\n gap={4}\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'global.details',\n defaultMessage: 'Details',\n })}\n </Typography>\n\n <Grid.Root gap={5} tag=\"dl\">\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.strapiVersion',\n defaultMessage: 'strapi version',\n })}\n </Typography>\n <Flex gap={3} direction=\"column\" alignItems=\"start\" tag=\"dd\">\n <Typography>v{strapiVersion}</Typography>\n {shouldUpdateStrapi && (\n <Link\n href={`https://docs.strapi.io/cms/upgrades`}\n endIcon={<ExternalLink />}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {formatMessage({\n id: 'Settings.application.link-upgrade',\n defaultMessage: 'Upgrade your admin panel',\n })}\n </Link>\n )}\n </Flex>\n </Grid.Item>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"start\">\n <Typography variant=\"sigma\" textColor=\"neutral600\" tag=\"dt\">\n {formatMessage({\n id: 'Settings.application.node-version',\n defaultMessage: 'node version',\n })}\n </Typography>\n <Typography tag=\"dd\">{nodeVersion}</Typography>\n </Grid.Item>\n </Grid.Root>\n </Flex>\n <PlanCard />\n {canRead && (\n <Box\n hasRadius\n background=\"neutral0\"\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingRight={7}\n paddingLeft={7}\n >\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage({\n id: 'Settings.application.customization',\n defaultMessage: 'Customization',\n })}\n </Typography>\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'Settings.application.customization.size-details',\n defaultMessage:\n 'Max dimension: {dimension}×{dimension}, Max file size: {size}KB',\n },\n { dimension: DIMENSION, size: SIZE }\n )}\n </Typography>\n <Grid.Root paddingTop={4} gap={4}>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.menu.custom}\n defaultLogo={logos.menu.default}\n hint={formatMessage({\n id: 'Settings.application.customization.menu-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the main navigation',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.menu-logo.title',\n defaultMessage: 'Menu logo',\n })}\n onChangeLogo={handleChangeLogo('menu')}\n />\n </Grid.Item>\n <Grid.Item col={6} xs={12} direction=\"column\" alignItems=\"stretch\">\n <LogoInput\n canUpdate={canUpdate}\n customLogo={logos.auth.custom}\n defaultLogo={logos.auth.default}\n hint={formatMessage({\n id: 'Settings.application.customization.auth-logo.carousel-hint',\n defaultMessage: 'Replace the logo in the authentication pages',\n })}\n label={formatMessage({\n id: 'Settings.application.customization.carousel.auth-logo.title',\n defaultMessage: 'Auth logo',\n })}\n onChangeLogo={handleChangeLogo('auth')}\n />\n </Grid.Item>\n </Grid.Root>\n </Box>\n )}\n <SupportCard />\n </Flex>\n </Layouts.Content>\n </form>\n </Page.Main>\n </>\n );\n};\n\nexport { ApplicationInfoPage };\n"],"names":["ApplicationInfoPage","trackUsage","useTracking","formatMessage","useIntl","logos","serverLogos","updateProjectSettings","useConfiguration","setLogos","React","useState","menu","auth","settings","useSelector","selectAdminPermissions","nodeVersion","useAppInfo","state","shouldUpdateStrapi","strapiVersion","allowedActions","canRead","canUpdate","useRBAC","handleSubmit","e","preventDefault","authLogo","custom","menuLogo","handleChangeLogo","logo","newLogo","prev","useEffect","isSaveDisabled","_jsxs","_Fragment","_jsx","Page","Title","id","defaultMessage","name","Main","form","onSubmit","Layouts","Header","title","subtitle","primaryAction","Button","disabled","type","startIcon","Check","fullWidth","Content","Flex","direction","alignItems","gap","hasRadius","background","shadow","paddingTop","paddingBottom","paddingRight","paddingLeft","Typography","variant","tag","Grid","Root","Item","col","xs","textColor","Link","href","endIcon","ExternalLink","target","rel","PlanCard","Box","dimension","DIMENSION","size","SIZE","LogoInput","customLogo","defaultLogo","default","hint","label","onChangeLogo","SupportCard"],"mappings":"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"}
@@ -9,14 +9,13 @@ import { Page } from '../../../../components/PageHelpers.mjs';
9
9
  import { useAppInfo } from '../../../../features/AppInfo.mjs';
10
10
  import { useConfiguration } from '../../../../features/Configuration.mjs';
11
11
  import { useTracking } from '../../../../features/Tracking.mjs';
12
- import { useEnterprise } from '../../../../hooks/useEnterprise.mjs';
13
12
  import { useRBAC } from '../../../../hooks/useRBAC.mjs';
14
13
  import { selectAdminPermissions } from '../../../../selectors.mjs';
15
14
  import { LogoInput } from './components/LogoInput.mjs';
15
+ import { PlanCard } from './components/PlanCard.mjs';
16
+ import { SupportCard } from './components/SupportCard.mjs';
16
17
  import { SIZE, DIMENSION } from './utils/constants.mjs';
17
18
 
18
- const AdminSeatInfoCE = ()=>null;
19
- const AIUageDataCE = ()=>null;
20
19
  /* -------------------------------------------------------------------------------------------------
21
20
  * ApplicationInfoPage
22
21
  * -----------------------------------------------------------------------------------------------*/ const ApplicationInfoPage = ()=>{
@@ -28,15 +27,9 @@ const AIUageDataCE = ()=>null;
28
27
  auth: serverLogos.auth
29
28
  });
30
29
  const { settings } = useSelector(selectAdminPermissions);
31
- const latestStrapiReleaseTag = useAppInfo('ApplicationInfoPage', (state)=>state.latestStrapiReleaseTag);
32
30
  const nodeVersion = useAppInfo('ApplicationInfoPage', (state)=>state.nodeVersion);
33
31
  const shouldUpdateStrapi = useAppInfo('ApplicationInfoPage', (state)=>state.shouldUpdateStrapi);
34
32
  const strapiVersion = useAppInfo('ApplicationInfoPage', (state)=>state.strapiVersion);
35
- const AdminSeatInfo = useEnterprise(AdminSeatInfoCE, async ()=>(await import('../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AdminSeatInfo.mjs')).AdminSeatInfoEE);
36
- const isAiEnabled = window.strapi.ai?.enabled !== false;
37
- const AIUsageData = useEnterprise(AIUageDataCE, async ()=>(await import('../../../../../../ee/admin/src/pages/SettingsPage/pages/ApplicationInfoPage/components/AIUsage.mjs')).AIUsage, {
38
- enabled: isAiEnabled
39
- });
40
33
  const { allowedActions: { canRead, canUpdate } } = useRBAC(settings ? settings['project-settings'] : {});
41
34
  const handleSubmit = (e)=>{
42
35
  e.preventDefault();
@@ -69,13 +62,6 @@ const AIUageDataCE = ()=>null;
69
62
  }, [
70
63
  serverLogos
71
64
  ]);
72
- // block rendering until the EE component is fully loaded
73
- if (!AdminSeatInfo) {
74
- return null;
75
- }
76
- if (!AIUsageData) {
77
- return null;
78
- }
79
65
  const isSaveDisabled = logos.auth.custom === serverLogos.auth.custom && logos.menu.custom === serverLogos.menu.custom;
80
66
  return /*#__PURE__*/ jsxs(Fragment, {
81
67
  children: [
@@ -172,7 +158,7 @@ const AIUageDataCE = ()=>null;
172
158
  ]
173
159
  }),
174
160
  shouldUpdateStrapi && /*#__PURE__*/ jsx(Link, {
175
- href: `https://github.com/strapi/strapi/releases/tag/${latestStrapiReleaseTag}`,
161
+ href: `https://docs.strapi.io/cms/upgrades`,
176
162
  endIcon: /*#__PURE__*/ jsx(ExternalLink, {}),
177
163
  target: "_blank",
178
164
  rel: "noopener noreferrer",
@@ -185,43 +171,6 @@ const AIUageDataCE = ()=>null;
185
171
  })
186
172
  ]
187
173
  }),
188
- /*#__PURE__*/ jsxs(Grid.Item, {
189
- col: 6,
190
- xs: 12,
191
- direction: "column",
192
- alignItems: "start",
193
- children: [
194
- /*#__PURE__*/ jsx(Typography, {
195
- variant: "sigma",
196
- textColor: "neutral600",
197
- tag: "dt",
198
- children: formatMessage({
199
- id: 'Settings.application.plan-title',
200
- defaultMessage: 'current plan'
201
- })
202
- }),
203
- /*#__PURE__*/ jsxs(Flex, {
204
- gap: 3,
205
- direction: "column",
206
- alignItems: "start",
207
- tag: "dd",
208
- children: [
209
- /*#__PURE__*/ jsx(Typography, {
210
- children: window.strapi.projectType
211
- }),
212
- /*#__PURE__*/ jsx(Link, {
213
- href: "https://strapi.io/pricing-self-hosted",
214
- endIcon: /*#__PURE__*/ jsx(ExternalLink, {}),
215
- target: "_blank",
216
- children: formatMessage({
217
- id: 'Settings.application.link-pricing',
218
- defaultMessage: 'See all pricing plans'
219
- })
220
- })
221
- ]
222
- })
223
- ]
224
- }),
225
174
  /*#__PURE__*/ jsxs(Grid.Item, {
226
175
  col: 6,
227
176
  xs: 12,
@@ -242,13 +191,12 @@ const AIUageDataCE = ()=>null;
242
191
  children: nodeVersion
243
192
  })
244
193
  ]
245
- }),
246
- /*#__PURE__*/ jsx(AdminSeatInfo, {}),
247
- /*#__PURE__*/ jsx(AIUsageData, {})
194
+ })
248
195
  ]
249
196
  })
250
197
  ]
251
198
  }),
199
+ /*#__PURE__*/ jsx(PlanCard, {}),
252
200
  canRead && /*#__PURE__*/ jsxs(Box, {
253
201
  hasRadius: true,
254
202
  background: "neutral0",
@@ -324,7 +272,8 @@ const AIUageDataCE = ()=>null;
324
272
  ]
325
273
  })
326
274
  ]
327
- })
275
+ }),
276
+ /*#__PURE__*/ jsx(SupportCard, {})
328
277
  ]
329
278
  })
330
279
  })