@strapi/admin 5.18.1 → 5.20.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 (189) hide show
  1. package/dist/admin/admin/src/components/Filters.js +10 -1
  2. package/dist/admin/admin/src/components/Filters.js.map +1 -1
  3. package/dist/admin/admin/src/components/Filters.mjs +10 -1
  4. package/dist/admin/admin/src/components/Filters.mjs.map +1 -1
  5. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.js +22 -17
  6. package/dist/admin/admin/src/components/GuidedTour/Context.js.map +1 -0
  7. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.mjs +21 -16
  8. package/dist/admin/admin/src/components/GuidedTour/Context.mjs.map +1 -0
  9. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Overview.js +41 -15
  10. package/dist/admin/admin/src/components/GuidedTour/Overview.js.map +1 -0
  11. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Overview.mjs +42 -16
  12. package/dist/admin/admin/src/components/GuidedTour/Overview.mjs.map +1 -0
  13. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.js +33 -17
  14. package/dist/admin/admin/src/components/GuidedTour/Step.js.map +1 -0
  15. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.mjs +34 -18
  16. package/dist/admin/admin/src/components/GuidedTour/Step.mjs.map +1 -0
  17. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.js +41 -40
  18. package/dist/admin/admin/src/components/GuidedTour/Tours.js.map +1 -0
  19. package/dist/admin/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.mjs +36 -35
  20. package/dist/admin/admin/src/components/GuidedTour/Tours.mjs.map +1 -0
  21. package/dist/admin/admin/src/components/LeftMenu.js +52 -29
  22. package/dist/admin/admin/src/components/LeftMenu.js.map +1 -1
  23. package/dist/admin/admin/src/components/LeftMenu.mjs +52 -29
  24. package/dist/admin/admin/src/components/LeftMenu.mjs.map +1 -1
  25. package/dist/admin/admin/src/components/MainNav/NavLink.js +4 -42
  26. package/dist/admin/admin/src/components/MainNav/NavLink.js.map +1 -1
  27. package/dist/admin/admin/src/components/MainNav/NavLink.mjs +4 -23
  28. package/dist/admin/admin/src/components/MainNav/NavLink.mjs.map +1 -1
  29. package/dist/admin/admin/src/components/NpsSurvey.js +1 -1
  30. package/dist/admin/admin/src/components/NpsSurvey.js.map +1 -1
  31. package/dist/admin/admin/src/components/NpsSurvey.mjs +1 -1
  32. package/dist/admin/admin/src/components/NpsSurvey.mjs.map +1 -1
  33. package/dist/admin/admin/src/components/Providers.js +9 -10
  34. package/dist/admin/admin/src/components/Providers.js.map +1 -1
  35. package/dist/admin/admin/src/components/Providers.mjs +9 -10
  36. package/dist/admin/admin/src/components/Providers.mjs.map +1 -1
  37. package/dist/admin/admin/src/components/SubNav.js +18 -12
  38. package/dist/admin/admin/src/components/SubNav.js.map +1 -1
  39. package/dist/admin/admin/src/components/SubNav.mjs +19 -13
  40. package/dist/admin/admin/src/components/SubNav.mjs.map +1 -1
  41. package/dist/admin/admin/src/components/UpsellBanner.js +1 -1
  42. package/dist/admin/admin/src/components/UpsellBanner.js.map +1 -1
  43. package/dist/admin/admin/src/components/UpsellBanner.mjs +2 -2
  44. package/dist/admin/admin/src/components/UpsellBanner.mjs.map +1 -1
  45. package/dist/admin/admin/src/core/apis/Widgets.js +34 -16
  46. package/dist/admin/admin/src/core/apis/Widgets.js.map +1 -1
  47. package/dist/admin/admin/src/core/apis/Widgets.mjs +34 -16
  48. package/dist/admin/admin/src/core/apis/Widgets.mjs.map +1 -1
  49. package/dist/admin/admin/src/features/Tracking.js +34 -1
  50. package/dist/admin/admin/src/features/Tracking.js.map +1 -1
  51. package/dist/admin/admin/src/features/Tracking.mjs +34 -1
  52. package/dist/admin/admin/src/features/Tracking.mjs.map +1 -1
  53. package/dist/admin/admin/src/hooks/usePersistentState.js +10 -0
  54. package/dist/admin/admin/src/hooks/usePersistentState.js.map +1 -1
  55. package/dist/admin/admin/src/hooks/usePersistentState.mjs +10 -1
  56. package/dist/admin/admin/src/hooks/usePersistentState.mjs.map +1 -1
  57. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js +1 -18
  58. package/dist/admin/admin/src/layouts/AuthenticatedLayout.js.map +1 -1
  59. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs +1 -18
  60. package/dist/admin/admin/src/layouts/AuthenticatedLayout.mjs.map +1 -1
  61. package/dist/admin/admin/src/pages/Auth/components/Register.js +0 -11
  62. package/dist/admin/admin/src/pages/Auth/components/Register.js.map +1 -1
  63. package/dist/admin/admin/src/pages/Auth/components/Register.mjs +0 -11
  64. package/dist/admin/admin/src/pages/Auth/components/Register.mjs.map +1 -1
  65. package/dist/admin/admin/src/pages/Home/HomePage.js +2 -3
  66. package/dist/admin/admin/src/pages/Home/HomePage.js.map +1 -1
  67. package/dist/admin/admin/src/pages/Home/HomePage.mjs +2 -3
  68. package/dist/admin/admin/src/pages/Home/HomePage.mjs.map +1 -1
  69. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js +2 -2
  70. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.js.map +1 -1
  71. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs +3 -3
  72. package/dist/admin/admin/src/pages/Home/components/FreeTrialEndedModal.mjs.map +1 -1
  73. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js +1 -1
  74. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.js.map +1 -1
  75. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs +2 -2
  76. package/dist/admin/admin/src/pages/Home/components/FreeTrialWelcomeModal.mjs.map +1 -1
  77. package/dist/admin/admin/src/pages/ProfilePage.js +297 -254
  78. package/dist/admin/admin/src/pages/ProfilePage.js.map +1 -1
  79. package/dist/admin/admin/src/pages/ProfilePage.mjs +297 -254
  80. package/dist/admin/admin/src/pages/ProfilePage.mjs.map +1 -1
  81. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js +12 -1
  82. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.js.map +1 -1
  83. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs +12 -1
  84. package/dist/admin/admin/src/pages/Settings/components/SettingsNav.mjs.map +1 -1
  85. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js +6 -6
  86. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.js.map +1 -1
  87. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs +6 -6
  88. package/dist/admin/admin/src/pages/Settings/components/Tokens/TokenBox.mjs.map +1 -1
  89. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js +1 -7
  90. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.js.map +1 -1
  91. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs +2 -8
  92. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/EditView/EditViewPage.mjs.map +1 -1
  93. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js +1 -8
  94. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.js.map +1 -1
  95. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs +1 -8
  96. package/dist/admin/admin/src/pages/Settings/pages/ApiTokens/ListView.mjs.map +1 -1
  97. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js +0 -2
  98. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.js.map +1 -1
  99. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs +0 -2
  100. package/dist/admin/admin/src/pages/Settings/pages/TransferTokens/EditView.mjs.map +1 -1
  101. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js +3 -1
  102. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.js.map +1 -1
  103. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs +3 -1
  104. package/dist/admin/admin/src/pages/Settings/pages/Users/ListPage.mjs.map +1 -1
  105. package/dist/admin/admin/src/pages/UseCasePage.js +1 -1
  106. package/dist/admin/admin/src/pages/UseCasePage.js.map +1 -1
  107. package/dist/admin/admin/src/pages/UseCasePage.mjs +1 -1
  108. package/dist/admin/admin/src/pages/UseCasePage.mjs.map +1 -1
  109. package/dist/admin/admin/src/translations/en.json.js +11 -3
  110. package/dist/admin/admin/src/translations/en.json.js.map +1 -1
  111. package/dist/admin/admin/src/translations/en.json.mjs +11 -3
  112. package/dist/admin/admin/src/translations/en.json.mjs.map +1 -1
  113. package/dist/admin/admin/tests/utils.js +25 -28
  114. package/dist/admin/admin/tests/utils.js.map +1 -1
  115. package/dist/admin/admin/tests/utils.mjs +25 -28
  116. package/dist/admin/admin/tests/utils.mjs.map +1 -1
  117. package/dist/admin/ee/admin/src/constants.js +4 -2
  118. package/dist/admin/ee/admin/src/constants.js.map +1 -1
  119. package/dist/admin/ee/admin/src/constants.mjs +4 -2
  120. package/dist/admin/ee/admin/src/constants.mjs.map +1 -1
  121. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js +3 -1
  122. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.js.map +1 -1
  123. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs +3 -1
  124. package/dist/admin/ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.mjs.map +1 -1
  125. package/dist/admin/index.js +2 -4
  126. package/dist/admin/index.js.map +1 -1
  127. package/dist/admin/index.mjs +1 -2
  128. package/dist/admin/index.mjs.map +1 -1
  129. package/dist/admin/src/components/Filters.d.ts +3 -1
  130. package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Context.d.ts +5 -3
  131. package/dist/admin/src/components/GuidedTour/Overview.d.ts +1 -0
  132. package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Step.d.ts +1 -1
  133. package/dist/admin/src/components/SubNav.d.ts +2 -1
  134. package/dist/admin/src/core/apis/Widgets.d.ts +8 -5
  135. package/dist/admin/src/features/Tracking.d.ts +22 -3
  136. package/dist/admin/src/hooks/usePersistentState.d.ts +2 -1
  137. package/dist/admin/src/index.d.ts +2 -3
  138. package/dist/admin/src/pages/Settings/components/Tokens/TokenBox.d.ts +1 -1
  139. package/dist/ee/server/src/audit-logs/services/lifecycles.d.ts.map +1 -1
  140. package/dist/server/ee/server/src/audit-logs/services/lifecycles.js +9 -8
  141. package/dist/server/ee/server/src/audit-logs/services/lifecycles.js.map +1 -1
  142. package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs +9 -8
  143. package/dist/server/ee/server/src/audit-logs/services/lifecycles.mjs.map +1 -1
  144. package/dist/server/server/src/domain/user.js +3 -1
  145. package/dist/server/server/src/domain/user.js.map +1 -1
  146. package/dist/server/server/src/domain/user.mjs +3 -1
  147. package/dist/server/server/src/domain/user.mjs.map +1 -1
  148. package/dist/server/src/domain/user.d.ts.map +1 -1
  149. package/package.json +8 -9
  150. package/dist/admin/admin/src/components/GuidedTour/Homepage.js +0 -132
  151. package/dist/admin/admin/src/components/GuidedTour/Homepage.js.map +0 -1
  152. package/dist/admin/admin/src/components/GuidedTour/Homepage.mjs +0 -130
  153. package/dist/admin/admin/src/components/GuidedTour/Homepage.mjs.map +0 -1
  154. package/dist/admin/admin/src/components/GuidedTour/Modal.js +0 -278
  155. package/dist/admin/admin/src/components/GuidedTour/Modal.js.map +0 -1
  156. package/dist/admin/admin/src/components/GuidedTour/Modal.mjs +0 -276
  157. package/dist/admin/admin/src/components/GuidedTour/Modal.mjs.map +0 -1
  158. package/dist/admin/admin/src/components/GuidedTour/Ornaments.js +0 -54
  159. package/dist/admin/admin/src/components/GuidedTour/Ornaments.js.map +0 -1
  160. package/dist/admin/admin/src/components/GuidedTour/Ornaments.mjs +0 -51
  161. package/dist/admin/admin/src/components/GuidedTour/Ornaments.mjs.map +0 -1
  162. package/dist/admin/admin/src/components/GuidedTour/Provider.js +0 -206
  163. package/dist/admin/admin/src/components/GuidedTour/Provider.js.map +0 -1
  164. package/dist/admin/admin/src/components/GuidedTour/Provider.mjs +0 -184
  165. package/dist/admin/admin/src/components/GuidedTour/Provider.mjs.map +0 -1
  166. package/dist/admin/admin/src/components/GuidedTour/constants.js +0 -167
  167. package/dist/admin/admin/src/components/GuidedTour/constants.js.map +0 -1
  168. package/dist/admin/admin/src/components/GuidedTour/constants.mjs +0 -164
  169. package/dist/admin/admin/src/components/GuidedTour/constants.mjs.map +0 -1
  170. package/dist/admin/admin/src/components/UnstableGuidedTour/Context.js.map +0 -1
  171. package/dist/admin/admin/src/components/UnstableGuidedTour/Context.mjs.map +0 -1
  172. package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.js.map +0 -1
  173. package/dist/admin/admin/src/components/UnstableGuidedTour/Overview.mjs.map +0 -1
  174. package/dist/admin/admin/src/components/UnstableGuidedTour/Step.js.map +0 -1
  175. package/dist/admin/admin/src/components/UnstableGuidedTour/Step.mjs.map +0 -1
  176. package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.js.map +0 -1
  177. package/dist/admin/admin/src/components/UnstableGuidedTour/Tours.mjs.map +0 -1
  178. package/dist/admin/admin/src/pages/Home/components/GuidedTour.js +0 -19
  179. package/dist/admin/admin/src/pages/Home/components/GuidedTour.js.map +0 -1
  180. package/dist/admin/admin/src/pages/Home/components/GuidedTour.mjs +0 -17
  181. package/dist/admin/admin/src/pages/Home/components/GuidedTour.mjs.map +0 -1
  182. package/dist/admin/src/components/GuidedTour/Homepage.d.ts +0 -2
  183. package/dist/admin/src/components/GuidedTour/Modal.d.ts +0 -2
  184. package/dist/admin/src/components/GuidedTour/Ornaments.d.ts +0 -13
  185. package/dist/admin/src/components/GuidedTour/Provider.d.ts +0 -39
  186. package/dist/admin/src/components/GuidedTour/constants.d.ts +0 -165
  187. package/dist/admin/src/components/UnstableGuidedTour/Overview.d.ts +0 -1
  188. package/dist/admin/src/pages/Home/components/GuidedTour.d.ts +0 -1
  189. /package/dist/admin/src/components/{UnstableGuidedTour → GuidedTour}/Tours.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sources":["../../../../../ee/admin/src/constants.ts"],"sourcesContent":["import type { SettingsMenu } from '../../../admin/src/constants';\nimport type { PermissionMap } from '../../../admin/src/types/permissions';\nimport type { RouteObject } from 'react-router-dom';\n\nexport const ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: 'admin::audit-logs.read', subject: null }],\n read: [{ action: 'admin::audit-logs.read', subject: null }],\n update: [{ action: 'admin::audit-logs.update', subject: null }],\n },\n 'review-workflows': {\n main: [{ action: 'admin::review-workflows.read', subject: null }],\n read: [{ action: 'admin::review-workflows.read', subject: null }],\n create: [{ action: 'admin::review-workflows.create', subject: null }],\n delete: [{ action: 'admin::review-workflows.delete', subject: null }],\n update: [{ action: 'admin::review-workflows.update', subject: null }],\n },\n sso: {\n main: [{ action: 'admin::provider-login.read', subject: null }],\n read: [{ action: 'admin::provider-login.read', subject: null }],\n update: [{ action: 'admin::provider-login.update', subject: null }],\n },\n releases: {\n read: [\n {\n action: 'plugin::content-releases.settings.read',\n subject: null,\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.settings.update',\n subject: null,\n },\n ],\n },\n },\n} satisfies {\n settings: Pick<PermissionMap['settings'], 'auditLogs' | 'review-workflows' | 'sso' | 'releases'>;\n};\n\n/**\n * Base EE routes, these are relative to the `root` of the app.\n * We use a function to get them so we're not looking at window\n * during build time.\n */\nexport const getEERoutes = (): RouteObject[] =>\n window.strapi.isEE\n ? [\n {\n path: 'auth/login/:authResponse',\n lazy: async () => {\n const { AuthResponse } = await import('./pages/AuthResponse');\n\n return {\n Component: AuthResponse,\n };\n },\n },\n ]\n : [];\n\n// TODO: the constants.js file is imported before the React application is setup and\n// therefore `window.strapi` might not exist at import-time. We should probably define\n// which constant is available at which stage of the application lifecycle.\nexport const SETTINGS_LINKS_EE = (): SettingsMenu => ({\n global: [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/single-sign-on',\n id: 'sso',\n },\n ]\n : []),\n ],\n\n admin: [\n ...(window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',\n id: 'auditLogs',\n },\n ]\n : []),\n ],\n});\n"],"names":["ADMIN_PERMISSIONS_EE","settings","auditLogs","main","action","subject","read","update","create","delete","sso","releases","getEERoutes","window","strapi","isEE","path","lazy","AuthResponse","Component","SETTINGS_LINKS_EE","global","features","isEnabled","SSO","intlLabel","id","defaultMessage","to","admin","AUDIT_LOGS"],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sources":["../../../../../ee/admin/src/constants.ts"],"sourcesContent":["import type { SettingsMenu } from '../../../admin/src/constants';\nimport type { PermissionMap } from '../../../admin/src/types/permissions';\nimport type { RouteObject } from 'react-router-dom';\n\nexport const ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: 'admin::audit-logs.read', subject: null }],\n read: [{ action: 'admin::audit-logs.read', subject: null }],\n update: [{ action: 'admin::audit-logs.update', subject: null }],\n },\n 'review-workflows': {\n main: [{ action: 'admin::review-workflows.read', subject: null }],\n read: [{ action: 'admin::review-workflows.read', subject: null }],\n create: [{ action: 'admin::review-workflows.create', subject: null }],\n delete: [{ action: 'admin::review-workflows.delete', subject: null }],\n update: [{ action: 'admin::review-workflows.update', subject: null }],\n },\n sso: {\n main: [{ action: 'admin::provider-login.read', subject: null }],\n read: [{ action: 'admin::provider-login.read', subject: null }],\n update: [{ action: 'admin::provider-login.update', subject: null }],\n },\n releases: {\n read: [\n {\n action: 'plugin::content-releases.settings.read',\n subject: null,\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.settings.update',\n subject: null,\n },\n ],\n },\n },\n} satisfies {\n settings: Pick<PermissionMap['settings'], 'auditLogs' | 'review-workflows' | 'sso' | 'releases'>;\n};\n\n/**\n * Base EE routes, these are relative to the `root` of the app.\n * We use a function to get them so we're not looking at window\n * during build time.\n */\nexport const getEERoutes = (): RouteObject[] =>\n window.strapi.isEE\n ? [\n {\n path: 'auth/login/:authResponse',\n lazy: async () => {\n const { AuthResponse } = await import('./pages/AuthResponse');\n\n return {\n Component: AuthResponse,\n };\n },\n },\n ]\n : [];\n\n// TODO: the constants.js file is imported before the React application is setup and\n// therefore `window.strapi` might not exist at import-time. We should probably define\n// which constant is available at which stage of the application lifecycle.\nexport const SETTINGS_LINKS_EE = (): SettingsMenu => ({\n global: [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/single-sign-on',\n id: 'sso',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n\n admin: [\n ...(window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',\n id: 'auditLogs',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n});\n"],"names":["ADMIN_PERMISSIONS_EE","settings","auditLogs","main","action","subject","read","update","create","delete","sso","releases","getEERoutes","window","strapi","isEE","path","lazy","AuthResponse","Component","SETTINGS_LINKS_EE","global","features","isEnabled","SSO","intlLabel","id","defaultMessage","to","licenseOnly","admin","AUDIT_LOGS"],"mappings":"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"}
@@ -115,7 +115,8 @@ const SETTINGS_LINKS_EE = ()=>({
115
115
  defaultMessage: 'Single Sign-On'
116
116
  },
117
117
  to: '/settings/single-sign-on',
118
- id: 'sso'
118
+ id: 'sso',
119
+ licenseOnly: true
119
120
  }
120
121
  ] : []
121
122
  ],
@@ -127,7 +128,8 @@ const SETTINGS_LINKS_EE = ()=>({
127
128
  defaultMessage: 'Audit Logs'
128
129
  },
129
130
  to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',
130
- id: 'auditLogs'
131
+ id: 'auditLogs',
132
+ licenseOnly: true
131
133
  }
132
134
  ] : []
133
135
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","sources":["../../../../../ee/admin/src/constants.ts"],"sourcesContent":["import type { SettingsMenu } from '../../../admin/src/constants';\nimport type { PermissionMap } from '../../../admin/src/types/permissions';\nimport type { RouteObject } from 'react-router-dom';\n\nexport const ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: 'admin::audit-logs.read', subject: null }],\n read: [{ action: 'admin::audit-logs.read', subject: null }],\n update: [{ action: 'admin::audit-logs.update', subject: null }],\n },\n 'review-workflows': {\n main: [{ action: 'admin::review-workflows.read', subject: null }],\n read: [{ action: 'admin::review-workflows.read', subject: null }],\n create: [{ action: 'admin::review-workflows.create', subject: null }],\n delete: [{ action: 'admin::review-workflows.delete', subject: null }],\n update: [{ action: 'admin::review-workflows.update', subject: null }],\n },\n sso: {\n main: [{ action: 'admin::provider-login.read', subject: null }],\n read: [{ action: 'admin::provider-login.read', subject: null }],\n update: [{ action: 'admin::provider-login.update', subject: null }],\n },\n releases: {\n read: [\n {\n action: 'plugin::content-releases.settings.read',\n subject: null,\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.settings.update',\n subject: null,\n },\n ],\n },\n },\n} satisfies {\n settings: Pick<PermissionMap['settings'], 'auditLogs' | 'review-workflows' | 'sso' | 'releases'>;\n};\n\n/**\n * Base EE routes, these are relative to the `root` of the app.\n * We use a function to get them so we're not looking at window\n * during build time.\n */\nexport const getEERoutes = (): RouteObject[] =>\n window.strapi.isEE\n ? [\n {\n path: 'auth/login/:authResponse',\n lazy: async () => {\n const { AuthResponse } = await import('./pages/AuthResponse');\n\n return {\n Component: AuthResponse,\n };\n },\n },\n ]\n : [];\n\n// TODO: the constants.js file is imported before the React application is setup and\n// therefore `window.strapi` might not exist at import-time. We should probably define\n// which constant is available at which stage of the application lifecycle.\nexport const SETTINGS_LINKS_EE = (): SettingsMenu => ({\n global: [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/single-sign-on',\n id: 'sso',\n },\n ]\n : []),\n ],\n\n admin: [\n ...(window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',\n id: 'auditLogs',\n },\n ]\n : []),\n ],\n});\n"],"names":["ADMIN_PERMISSIONS_EE","settings","auditLogs","main","action","subject","read","update","create","delete","sso","releases","getEERoutes","window","strapi","isEE","path","lazy","AuthResponse","Component","SETTINGS_LINKS_EE","global","features","isEnabled","SSO","intlLabel","id","defaultMessage","to","admin","AUDIT_LOGS"],"mappings":"MAIaA,oBAAuB,GAAA;IAClCC,QAAU,EAAA;QACRC,SAAW,EAAA;YACTC,IAAM,EAAA;AAAC,gBAAA;oBAAEC,MAAQ,EAAA,wBAAA;oBAA0BC,OAAS,EAAA;AAAK;AAAE,aAAA;YAC3DC,IAAM,EAAA;AAAC,gBAAA;oBAAEF,MAAQ,EAAA,wBAAA;oBAA0BC,OAAS,EAAA;AAAK;AAAE,aAAA;YAC3DE,MAAQ,EAAA;AAAC,gBAAA;oBAAEH,MAAQ,EAAA,0BAAA;oBAA4BC,OAAS,EAAA;AAAK;AAAE;AACjE,SAAA;QACA,kBAAoB,EAAA;YAClBF,IAAM,EAAA;AAAC,gBAAA;oBAAEC,MAAQ,EAAA,8BAAA;oBAAgCC,OAAS,EAAA;AAAK;AAAE,aAAA;YACjEC,IAAM,EAAA;AAAC,gBAAA;oBAAEF,MAAQ,EAAA,8BAAA;oBAAgCC,OAAS,EAAA;AAAK;AAAE,aAAA;YACjEG,MAAQ,EAAA;AAAC,gBAAA;oBAAEJ,MAAQ,EAAA,gCAAA;oBAAkCC,OAAS,EAAA;AAAK;AAAE,aAAA;YACrEI,MAAQ,EAAA;AAAC,gBAAA;oBAAEL,MAAQ,EAAA,gCAAA;oBAAkCC,OAAS,EAAA;AAAK;AAAE,aAAA;YACrEE,MAAQ,EAAA;AAAC,gBAAA;oBAAEH,MAAQ,EAAA,gCAAA;oBAAkCC,OAAS,EAAA;AAAK;AAAE;AACvE,SAAA;QACAK,GAAK,EAAA;YACHP,IAAM,EAAA;AAAC,gBAAA;oBAAEC,MAAQ,EAAA,4BAAA;oBAA8BC,OAAS,EAAA;AAAK;AAAE,aAAA;YAC/DC,IAAM,EAAA;AAAC,gBAAA;oBAAEF,MAAQ,EAAA,4BAAA;oBAA8BC,OAAS,EAAA;AAAK;AAAE,aAAA;YAC/DE,MAAQ,EAAA;AAAC,gBAAA;oBAAEH,MAAQ,EAAA,8BAAA;oBAAgCC,OAAS,EAAA;AAAK;AAAE;AACrE,SAAA;QACAM,QAAU,EAAA;YACRL,IAAM,EAAA;AACJ,gBAAA;oBACEF,MAAQ,EAAA,wCAAA;oBACRC,OAAS,EAAA;AACX;AACD,aAAA;YACDE,MAAQ,EAAA;AACN,gBAAA;oBACEH,MAAQ,EAAA,0CAAA;oBACRC,OAAS,EAAA;AACX;AACD;AACH;AACF;AACF;AAIA;;;;UAKaO,WAAc,GAAA,IACzBC,OAAOC,MAAM,CAACC,IAAI,GACd;AACE,QAAA;YACEC,IAAM,EAAA,0BAAA;YACNC,IAAM,EAAA,UAAA;AACJ,gBAAA,MAAM,EAAEC,YAAY,EAAE,GAAG,MAAM,OAAO,0BAAA,CAAA;gBAEtC,OAAO;oBACLC,SAAWD,EAAAA;AACb,iBAAA;AACF;AACF;AACD,KAAA,GACD;AAEN;AACA;AACA;AACO,MAAME,iBAAoB,GAAA,KAAqB;QACpDC,MAAQ,EAAA;AACFR,YAAAA,GAAAA,MAAAA,CAAOC,MAAM,CAACQ,QAAQ,CAACC,SAAS,CAACV,MAAOC,CAAAA,MAAM,CAACQ,QAAQ,CAACE,GAAG,CAC3D,GAAA;AACE,gBAAA;oBACEC,SAAW,EAAA;wBAAEC,EAAI,EAAA,oBAAA;wBAAsBC,cAAgB,EAAA;AAAiB,qBAAA;oBACxEC,EAAI,EAAA,0BAAA;oBACJF,EAAI,EAAA;AACN;AACD,aAAA,GACD;AACL,SAAA;QAEDG,KAAO,EAAA;AACDhB,YAAAA,GAAAA,MAAAA,CAAOC,MAAM,CAACQ,QAAQ,CAACC,SAAS,CAACV,MAAOC,CAAAA,MAAM,CAACQ,QAAQ,CAACQ,UAAU,CAClE,GAAA;AACE,gBAAA;oBACEL,SAAW,EAAA;wBAAEC,EAAI,EAAA,kBAAA;wBAAoBC,cAAgB,EAAA;AAAa,qBAAA;oBAClEC,EAAI,EAAA,wDAAA;oBACJF,EAAI,EAAA;AACN;AACD,aAAA,GACD;AACL;AACH,KAAA;;;;"}
1
+ {"version":3,"file":"constants.mjs","sources":["../../../../../ee/admin/src/constants.ts"],"sourcesContent":["import type { SettingsMenu } from '../../../admin/src/constants';\nimport type { PermissionMap } from '../../../admin/src/types/permissions';\nimport type { RouteObject } from 'react-router-dom';\n\nexport const ADMIN_PERMISSIONS_EE = {\n settings: {\n auditLogs: {\n main: [{ action: 'admin::audit-logs.read', subject: null }],\n read: [{ action: 'admin::audit-logs.read', subject: null }],\n update: [{ action: 'admin::audit-logs.update', subject: null }],\n },\n 'review-workflows': {\n main: [{ action: 'admin::review-workflows.read', subject: null }],\n read: [{ action: 'admin::review-workflows.read', subject: null }],\n create: [{ action: 'admin::review-workflows.create', subject: null }],\n delete: [{ action: 'admin::review-workflows.delete', subject: null }],\n update: [{ action: 'admin::review-workflows.update', subject: null }],\n },\n sso: {\n main: [{ action: 'admin::provider-login.read', subject: null }],\n read: [{ action: 'admin::provider-login.read', subject: null }],\n update: [{ action: 'admin::provider-login.update', subject: null }],\n },\n releases: {\n read: [\n {\n action: 'plugin::content-releases.settings.read',\n subject: null,\n },\n ],\n update: [\n {\n action: 'plugin::content-releases.settings.update',\n subject: null,\n },\n ],\n },\n },\n} satisfies {\n settings: Pick<PermissionMap['settings'], 'auditLogs' | 'review-workflows' | 'sso' | 'releases'>;\n};\n\n/**\n * Base EE routes, these are relative to the `root` of the app.\n * We use a function to get them so we're not looking at window\n * during build time.\n */\nexport const getEERoutes = (): RouteObject[] =>\n window.strapi.isEE\n ? [\n {\n path: 'auth/login/:authResponse',\n lazy: async () => {\n const { AuthResponse } = await import('./pages/AuthResponse');\n\n return {\n Component: AuthResponse,\n };\n },\n },\n ]\n : [];\n\n// TODO: the constants.js file is imported before the React application is setup and\n// therefore `window.strapi` might not exist at import-time. We should probably define\n// which constant is available at which stage of the application lifecycle.\nexport const SETTINGS_LINKS_EE = (): SettingsMenu => ({\n global: [\n ...(window.strapi.features.isEnabled(window.strapi.features.SSO)\n ? [\n {\n intlLabel: { id: 'Settings.sso.title', defaultMessage: 'Single Sign-On' },\n to: '/settings/single-sign-on',\n id: 'sso',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n\n admin: [\n ...(window.strapi.features.isEnabled(window.strapi.features.AUDIT_LOGS)\n ? [\n {\n intlLabel: { id: 'global.auditLogs', defaultMessage: 'Audit Logs' },\n to: '/settings/audit-logs?pageSize=50&page=1&sort=date:DESC',\n id: 'auditLogs',\n licenseOnly: true,\n },\n ]\n : []),\n ],\n});\n"],"names":["ADMIN_PERMISSIONS_EE","settings","auditLogs","main","action","subject","read","update","create","delete","sso","releases","getEERoutes","window","strapi","isEE","path","lazy","AuthResponse","Component","SETTINGS_LINKS_EE","global","features","isEnabled","SSO","intlLabel","id","defaultMessage","to","licenseOnly","admin","AUDIT_LOGS"],"mappings":"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"}
@@ -98,7 +98,9 @@ const ListPage = ()=>{
98
98
  options: displayedFilters,
99
99
  children: [
100
100
  /*#__PURE__*/ jsxRuntime.jsx(Filters.Filters.Trigger, {}),
101
- /*#__PURE__*/ jsxRuntime.jsx(Filters.Filters.Popover, {}),
101
+ /*#__PURE__*/ jsxRuntime.jsx(Filters.Filters.Popover, {
102
+ zIndex: 499
103
+ }),
102
104
  /*#__PURE__*/ jsxRuntime.jsx(Filters.Filters.List, {})
103
105
  ]
104
106
  })
@@ -1 +1 @@
1
- {"version":3,"file":"ListPage.js","sources":["../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.tsx"],"sourcesContent":["import { Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Eye } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Filters } from '../../../../../../../admin/src/components/Filters';\nimport { Layouts } from '../../../../../../../admin/src/components/Layouts/Layout';\nimport { Page } from '../../../../../../../admin/src/components/PageHelpers';\nimport { Pagination } from '../../../../../../../admin/src/components/Pagination';\nimport { Table } from '../../../../../../../admin/src/components/Table';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useQueryParams } from '../../../../../../../admin/src/hooks/useQueryParams';\nimport { useRBAC } from '../../../../../../../admin/src/hooks/useRBAC';\nimport { AuditLog } from '../../../../../../../shared/contracts/audit-logs';\n\nimport { Modal } from './components/Modal';\nimport { useAuditLogsData } from './hooks/useAuditLogsData';\nimport { useFormatTimeStamp } from './hooks/useFormatTimeStamp';\nimport { getDefaultMessage } from './utils/getActionTypesDefaultMessages';\nimport { getDisplayedFilters } from './utils/getDisplayedFilters';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings);\n\n const {\n allowedActions: { canRead: canReadAuditLogs, canReadUsers },\n isLoading: isLoadingRBAC,\n } = useRBAC({\n ...permissions?.auditLogs,\n readUsers: permissions?.users.read || [],\n });\n\n const [{ query }, setQuery] = useQueryParams<{ id?: AuditLog['id'] }>();\n const {\n auditLogs,\n users,\n isLoading: isLoadingData,\n hasError,\n } = useAuditLogsData({\n canReadAuditLogs,\n canReadUsers,\n });\n\n const formatTimeStamp = useFormatTimeStamp();\n\n const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });\n\n const headers: Table.Header<AuditLog, object>[] = [\n {\n name: 'action',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n sortable: true,\n },\n {\n name: 'date',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n sortable: true,\n },\n {\n name: 'user',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n sortable: false,\n // In this case, the passed parameter cannot and shouldn't be something else than User\n cellFormatter: ({ user }) => (user ? user.displayName : ''),\n },\n ];\n\n if (hasError) {\n return <Page.Error />;\n }\n\n const isLoading = isLoadingData || isLoadingRBAC;\n\n const { results = [] } = auditLogs ?? {};\n\n return (\n <Page.Main aria-busy={isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Layouts.Action\n startActions={\n <Filters.Root options={displayedFilters}>\n <Filters.Trigger />\n <Filters.Popover />\n <Filters.List />\n </Filters.Root>\n }\n />\n <Layouts.Content>\n <Table.Root rows={results} headers={headers} isLoading={isLoading}>\n <Table.Content>\n <Table.Head>\n {headers.map((header) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Empty />\n <Table.Loading />\n <Table.Body>\n {results.map((log) => (\n <Table.Row key={log.id} onClick={() => setQuery({ id: log.id })}>\n {headers.map((header) => {\n const { name, cellFormatter } = header;\n\n switch (name) {\n case 'action':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatMessage(\n {\n id: `Settings.permissions.auditLogs.${log.action}`,\n // @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.\n defaultMessage: getDefaultMessage(log.action),\n },\n { model: (log.payload?.model as string) ?? '' }\n )}\n </Typography>\n </Table.Cell>\n );\n case 'date':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatTimeStamp(log.date)}\n </Typography>\n </Table.Cell>\n );\n case 'user':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {cellFormatter ? cellFormatter(log, header) : '-'}\n </Typography>\n </Table.Cell>\n );\n default:\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {(log[name as keyof AuditLog] as string) || '-'}\n </Typography>\n </Table.Cell>\n );\n }\n })}\n <Table.Cell onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => setQuery({ id: log.id })}\n withTooltip={false}\n label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${log.action} action` }\n )}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Pagination.Root {...auditLogs?.pagination}>\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n {query?.id && (\n <Modal handleClose={() => setQuery({ id: '' }, 'remove')} logId={query.id.toString()} />\n )}\n </Page.Main>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.auditLogs?.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["ListPage","formatMessage","useIntl","permissions","useTypedSelector","state","admin_app","settings","allowedActions","canRead","canReadAuditLogs","canReadUsers","isLoading","isLoadingRBAC","useRBAC","auditLogs","readUsers","users","read","query","setQuery","useQueryParams","isLoadingData","hasError","useAuditLogsData","formatTimeStamp","useFormatTimeStamp","displayedFilters","getDisplayedFilters","headers","name","label","id","defaultMessage","sortable","cellFormatter","user","displayName","_jsx","Page","Error","results","_jsxs","Main","aria-busy","Title","Layouts","Header","title","subtitle","Action","startActions","Filters","Root","options","Trigger","Popover","List","Content","Table","rows","Head","map","header","HeaderCell","Empty","Loading","Body","log","Row","onClick","Cell","Typography","textColor","action","getDefaultMessage","model","payload","date","e","stopPropagation","Flex","justifyContent","IconButton","withTooltip","target","variant","Eye","Pagination","pagination","PageSize","Links","Modal","handleClose","logId","toString","ProtectedListPage","main","Protect"],"mappings":"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"}
1
+ {"version":3,"file":"ListPage.js","sources":["../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.tsx"],"sourcesContent":["import { Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Eye } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Filters } from '../../../../../../../admin/src/components/Filters';\nimport { Layouts } from '../../../../../../../admin/src/components/Layouts/Layout';\nimport { Page } from '../../../../../../../admin/src/components/PageHelpers';\nimport { Pagination } from '../../../../../../../admin/src/components/Pagination';\nimport { Table } from '../../../../../../../admin/src/components/Table';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useQueryParams } from '../../../../../../../admin/src/hooks/useQueryParams';\nimport { useRBAC } from '../../../../../../../admin/src/hooks/useRBAC';\nimport { AuditLog } from '../../../../../../../shared/contracts/audit-logs';\n\nimport { Modal } from './components/Modal';\nimport { useAuditLogsData } from './hooks/useAuditLogsData';\nimport { useFormatTimeStamp } from './hooks/useFormatTimeStamp';\nimport { getDefaultMessage } from './utils/getActionTypesDefaultMessages';\nimport { getDisplayedFilters } from './utils/getDisplayedFilters';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings);\n\n const {\n allowedActions: { canRead: canReadAuditLogs, canReadUsers },\n isLoading: isLoadingRBAC,\n } = useRBAC({\n ...permissions?.auditLogs,\n readUsers: permissions?.users.read || [],\n });\n\n const [{ query }, setQuery] = useQueryParams<{ id?: AuditLog['id'] }>();\n const {\n auditLogs,\n users,\n isLoading: isLoadingData,\n hasError,\n } = useAuditLogsData({\n canReadAuditLogs,\n canReadUsers,\n });\n\n const formatTimeStamp = useFormatTimeStamp();\n\n const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });\n\n const headers: Table.Header<AuditLog, object>[] = [\n {\n name: 'action',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n sortable: true,\n },\n {\n name: 'date',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n sortable: true,\n },\n {\n name: 'user',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n sortable: false,\n // In this case, the passed parameter cannot and shouldn't be something else than User\n cellFormatter: ({ user }) => (user ? user.displayName : ''),\n },\n ];\n\n if (hasError) {\n return <Page.Error />;\n }\n\n const isLoading = isLoadingData || isLoadingRBAC;\n\n const { results = [] } = auditLogs ?? {};\n\n return (\n <Page.Main aria-busy={isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Layouts.Action\n startActions={\n <Filters.Root options={displayedFilters}>\n <Filters.Trigger />\n <Filters.Popover zIndex={499} />\n <Filters.List />\n </Filters.Root>\n }\n />\n <Layouts.Content>\n <Table.Root rows={results} headers={headers} isLoading={isLoading}>\n <Table.Content>\n <Table.Head>\n {headers.map((header) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Empty />\n <Table.Loading />\n <Table.Body>\n {results.map((log) => (\n <Table.Row key={log.id} onClick={() => setQuery({ id: log.id })}>\n {headers.map((header) => {\n const { name, cellFormatter } = header;\n\n switch (name) {\n case 'action':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatMessage(\n {\n id: `Settings.permissions.auditLogs.${log.action}`,\n // @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.\n defaultMessage: getDefaultMessage(log.action),\n },\n { model: (log.payload?.model as string) ?? '' }\n )}\n </Typography>\n </Table.Cell>\n );\n case 'date':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatTimeStamp(log.date)}\n </Typography>\n </Table.Cell>\n );\n case 'user':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {cellFormatter ? cellFormatter(log, header) : '-'}\n </Typography>\n </Table.Cell>\n );\n default:\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {(log[name as keyof AuditLog] as string) || '-'}\n </Typography>\n </Table.Cell>\n );\n }\n })}\n <Table.Cell onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => setQuery({ id: log.id })}\n withTooltip={false}\n label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${log.action} action` }\n )}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Pagination.Root {...auditLogs?.pagination}>\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n {query?.id && (\n <Modal handleClose={() => setQuery({ id: '' }, 'remove')} logId={query.id.toString()} />\n )}\n </Page.Main>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.auditLogs?.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["ListPage","formatMessage","useIntl","permissions","useTypedSelector","state","admin_app","settings","allowedActions","canRead","canReadAuditLogs","canReadUsers","isLoading","isLoadingRBAC","useRBAC","auditLogs","readUsers","users","read","query","setQuery","useQueryParams","isLoadingData","hasError","useAuditLogsData","formatTimeStamp","useFormatTimeStamp","displayedFilters","getDisplayedFilters","headers","name","label","id","defaultMessage","sortable","cellFormatter","user","displayName","_jsx","Page","Error","results","_jsxs","Main","aria-busy","Title","Layouts","Header","title","subtitle","Action","startActions","Filters","Root","options","Trigger","Popover","zIndex","List","Content","Table","rows","Head","map","header","HeaderCell","Empty","Loading","Body","log","Row","onClick","Cell","Typography","textColor","action","getDefaultMessage","model","payload","date","e","stopPropagation","Flex","justifyContent","IconButton","withTooltip","target","variant","Eye","Pagination","pagination","PageSize","Links","Modal","handleClose","logId","toString","ProtectedListPage","main","Protect"],"mappings":";;;;;;;;;;;;;;;;;;;;AAoBA,MAAMA,QAAW,GAAA,IAAA;IACf,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;IAC1B,MAAMC,WAAAA,GAAcC,uBAAiB,CAACC,KAAAA,GAAUA,MAAMC,SAAS,CAACH,WAAW,CAACI,QAAQ,CAAA;AAEpF,IAAA,MAAM,EACJC,cAAAA,EAAgB,EAAEC,OAAAA,EAASC,gBAAgB,EAAEC,YAAY,EAAE,EAC3DC,SAAAA,EAAWC,aAAa,EACzB,GAAGC,eAAQ,CAAA;AACV,QAAA,GAAGX,aAAaY,SAAS;QACzBC,SAAWb,EAAAA,WAAAA,EAAac,KAAMC,CAAAA,IAAAA,IAAQ;AACxC,KAAA,CAAA;AAEA,IAAA,MAAM,CAAC,EAAEC,KAAK,EAAE,EAAEC,SAAS,GAAGC,6BAAAA,EAAAA;IAC9B,MAAM,EACJN,SAAS,EACTE,KAAK,EACLL,SAAWU,EAAAA,aAAa,EACxBC,QAAQ,EACT,GAAGC,iCAAiB,CAAA;AACnBd,QAAAA,gBAAAA;AACAC,QAAAA;AACF,KAAA,CAAA;AAEA,IAAA,MAAMc,eAAkBC,GAAAA,qCAAAA,EAAAA;AAExB,IAAA,MAAMC,mBAAmBC,uCAAoB,CAAA;AAAE3B,QAAAA,aAAAA;AAAegB,QAAAA,KAAAA;AAAON,QAAAA;AAAa,KAAA,CAAA;AAElF,IAAA,MAAMkB,OAA4C,GAAA;AAChD,QAAA;YACEC,IAAM,EAAA,QAAA;AACNC,YAAAA,KAAAA,EAAO9B,aAAc,CAAA;gBACnB+B,EAAI,EAAA,uCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAC,QAAU,EAAA;AACZ,SAAA;AACA,QAAA;YACEJ,IAAM,EAAA,MAAA;AACNC,YAAAA,KAAAA,EAAO9B,aAAc,CAAA;gBACnB+B,EAAI,EAAA,qCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAC,QAAU,EAAA;AACZ,SAAA;AACA,QAAA;YACEJ,IAAM,EAAA,MAAA;AACNC,YAAAA,KAAAA,EAAO9B,aAAc,CAAA;gBACnB+B,EAAI,EAAA,qCAAA;gBACJC,cAAgB,EAAA;AAClB,aAAA,CAAA;YACAC,QAAU,EAAA,KAAA;;YAEVC,aAAe,EAAA,CAAC,EAAEC,IAAI,EAAE,GAAMA,IAAOA,GAAAA,IAAAA,CAAKC,WAAW,GAAG;AAC1D;AACD,KAAA;AAED,IAAA,IAAId,QAAU,EAAA;QACZ,qBAAOe,cAAA,CAACC,iBAAKC,KAAK,EAAA,EAAA,CAAA;AACpB;AAEA,IAAA,MAAM5B,YAAYU,aAAiBT,IAAAA,aAAAA;AAEnC,IAAA,MAAM,EAAE4B,OAAU,GAAA,EAAE,EAAE,GAAG1B,aAAa,EAAC;IAEvC,qBACE2B,eAAA,CAACH,iBAAKI,IAAI,EAAA;QAACC,WAAWhC,EAAAA,SAAAA;;AACpB,0BAAA0B,cAAA,CAACC,iBAAKM,KAAK,EAAA;0BACR5C,aACC,CAAA;oBAAE+B,EAAI,EAAA,oBAAA;oBAAsBC,cAAgB,EAAA;iBAC5C,EAAA;AACEH,oBAAAA,IAAAA,EAAM7B,aAAc,CAAA;wBAClB+B,EAAI,EAAA,kBAAA;wBACJC,cAAgB,EAAA;AAClB,qBAAA;AACF,iBAAA;;AAGJ,0BAAAK,cAAA,CAACQ,eAAQC,MAAM,EAAA;AACbC,gBAAAA,KAAAA,EAAO/C,aAAc,CAAA;oBACnB+B,EAAI,EAAA,kBAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA,CAAA;AACAgB,gBAAAA,QAAAA,EAAUhD,aAAc,CAAA;oBACtB+B,EAAI,EAAA,yDAAA;oBACJC,cAAgB,EAAA;AAClB,iBAAA;;AAEF,0BAAAK,cAAA,CAACQ,eAAQI,MAAM,EAAA;gBACbC,YACE,gBAAAT,eAAA,CAACU,gBAAQC,IAAI,EAAA;oBAACC,OAAS3B,EAAAA,gBAAAA;;AACrB,sCAAAW,cAAA,CAACc,gBAAQG,OAAO,EAAA,EAAA,CAAA;AAChB,sCAAAjB,cAAA,CAACc,gBAAQI,OAAO,EAAA;4BAACC,MAAQ,EAAA;;AACzB,sCAAAnB,cAAA,CAACc,gBAAQM,IAAI,EAAA,EAAA;;;;AAInB,0BAAAhB,eAAA,CAACI,eAAQa,OAAO,EAAA;;AACd,kCAAArB,cAAA,CAACsB,YAAMP,IAAI,EAAA;wBAACQ,IAAMpB,EAAAA,OAAAA;wBAASZ,OAASA,EAAAA,OAAAA;wBAASjB,SAAWA,EAAAA,SAAAA;gDACtD8B,eAAA,CAACkB,YAAMD,OAAO,EAAA;;AACZ,8CAAArB,cAAA,CAACsB,YAAME,IAAI,EAAA;AACRjC,oCAAAA,QAAAA,EAAAA,OAAAA,CAAQkC,GAAG,CAAC,CAACC,MACZ,iBAAA1B,cAAA,CAACsB,YAAMK,UAAU,EAAA;AAAoB,4CAAA,GAAGD;AAAjBA,yCAAAA,EAAAA,MAAAA,CAAOlC,IAAI,CAAA;;AAGtC,8CAAAQ,cAAA,CAACsB,YAAMM,KAAK,EAAA,EAAA,CAAA;AACZ,8CAAA5B,cAAA,CAACsB,YAAMO,OAAO,EAAA,EAAA,CAAA;AACd,8CAAA7B,cAAA,CAACsB,YAAMQ,IAAI,EAAA;AACR3B,oCAAAA,QAAAA,EAAAA,OAAAA,CAAQsB,GAAG,CAAC,CAACM,GACZ,iBAAA3B,eAAA,CAACkB,YAAMU,GAAG,EAAA;AAAcC,4CAAAA,OAAAA,EAAS,IAAMnD,QAAS,CAAA;AAAEY,oDAAAA,EAAAA,EAAIqC,IAAIrC;AAAG,iDAAA,CAAA;;gDAC1DH,OAAQkC,CAAAA,GAAG,CAAC,CAACC,MAAAA,GAAAA;AACZ,oDAAA,MAAM,EAAElC,IAAI,EAAEK,aAAa,EAAE,GAAG6B,MAAAA;oDAEhC,OAAQlC,IAAAA;wDACN,KAAK,QAAA;4DACH,qBACEQ,cAAA,CAACsB,YAAMY,IAAI,EAAA;AACT,gEAAA,QAAA,gBAAAlC,cAACmC,CAAAA,uBAAAA,EAAAA;oEAAWC,SAAU,EAAA,YAAA;8EACnBzE,aACC,CAAA;AACE+B,wEAAAA,EAAAA,EAAI,CAAC,+BAA+B,EAAEqC,GAAIM,CAAAA,MAAM,CAAC,CAAC;;wEAElD1C,cAAgB2C,EAAAA,+CAAAA,CAAkBP,IAAIM,MAAM;qEAE9C,EAAA;AAAEE,wEAAAA,KAAAA,EAAO,GAACR,CAAIS,OAAO,EAAED,KAAoB,IAAA;AAAG,qEAAA;;AARnC/C,6DAAAA,EAAAA,IAAAA,CAAAA;wDAarB,KAAK,MAAA;4DACH,qBACEQ,cAAA,CAACsB,YAAMY,IAAI,EAAA;AACT,gEAAA,QAAA,gBAAAlC,cAACmC,CAAAA,uBAAAA,EAAAA;oEAAWC,SAAU,EAAA,YAAA;AACnBjD,oEAAAA,QAAAA,EAAAA,eAAAA,CAAgB4C,IAAIU,IAAI;;AAFZjD,6DAAAA,EAAAA,IAAAA,CAAAA;wDAMrB,KAAK,MAAA;4DACH,qBACEQ,cAAA,CAACsB,YAAMY,IAAI,EAAA;AACT,gEAAA,QAAA,gBAAAlC,cAACmC,CAAAA,uBAAAA,EAAAA;oEAAWC,SAAU,EAAA,YAAA;8EACnBvC,aAAgBA,GAAAA,aAAAA,CAAckC,KAAKL,MAAU,CAAA,GAAA;;AAFjClC,6DAAAA,EAAAA,IAAAA,CAAAA;AAMrB,wDAAA;4DACE,qBACEQ,cAAA,CAACsB,YAAMY,IAAI,EAAA;AACT,gEAAA,QAAA,gBAAAlC,cAACmC,CAAAA,uBAAAA,EAAAA;oEAAWC,SAAU,EAAA,YAAA;8EACnB,GAAI,CAAC5C,IAAAA,CAAuB,IAAe;;AAF/BA,6DAAAA,EAAAA,IAAAA,CAAAA;AAMvB;AACF,iDAAA,CAAA;AACA,8DAAAQ,cAAA,CAACsB,YAAMY,IAAI,EAAA;oDAACD,OAAS,EAAA,CAACS,CAAMA,GAAAA,CAAAA,CAAEC,eAAe,EAAA;AAC3C,oDAAA,QAAA,gBAAA3C,cAAC4C,CAAAA,iBAAAA,EAAAA;wDAAKC,cAAe,EAAA,KAAA;AACnB,wDAAA,QAAA,gBAAA7C,cAAC8C,CAAAA,uBAAAA,EAAAA;AACCb,4DAAAA,OAAAA,EAAS,IAAMnD,QAAS,CAAA;AAAEY,oEAAAA,EAAAA,EAAIqC,IAAIrC;AAAG,iEAAA,CAAA;4DACrCqD,WAAa,EAAA,KAAA;AACbtD,4DAAAA,KAAAA,EAAO9B,aACL,CAAA;gEAAE+B,EAAI,EAAA,0BAAA;gEAA4BC,cAAgB,EAAA;6DAClD,EAAA;AAAEqD,gEAAAA,MAAAA,EAAQ,CAAC,EAAEjB,GAAAA,CAAIM,MAAM,CAAC,OAAO;AAAE,6DAAA,CAAA;4DAEnCY,OAAQ,EAAA,OAAA;AAER,4DAAA,QAAA,gBAAAjD,cAACkD,CAAAA,SAAAA,EAAAA,EAAAA;;;;;AAzDOnB,yCAAAA,EAAAA,GAAAA,CAAIrC,EAAE,CAAA;;;;;AAmE9B,kCAAAU,eAAA,CAAC+C,sBAAWpC,IAAI,EAAA;AAAE,wBAAA,GAAGtC,WAAW2E,UAAU;;AACxC,0CAAApD,cAAA,CAACmD,sBAAWE,QAAQ,EAAA,EAAA,CAAA;AACpB,0CAAArD,cAAA,CAACmD,sBAAWG,KAAK,EAAA,EAAA;;;;;AAGpBzE,YAAAA,KAAAA,EAAOa,oBACNM,cAACuD,CAAAA,WAAAA,EAAAA;AAAMC,gBAAAA,WAAAA,EAAa,IAAM1E,QAAS,CAAA;wBAAEY,EAAI,EAAA;qBAAM,EAAA,QAAA,CAAA;gBAAW+D,KAAO5E,EAAAA,KAAAA,CAAMa,EAAE,CAACgE,QAAQ;;;;AAI1F;AAEA,MAAMC,iBAAoB,GAAA,IAAA;IACxB,MAAM9F,WAAAA,GAAcC,sBAClB,CAAA,CAACC,KAAUA,GAAAA,KAAAA,CAAMC,SAAS,CAACH,WAAW,CAACI,QAAQ,EAAEQ,SAAWmF,EAAAA,IAAAA,CAAAA;IAG9D,qBACE5D,cAAA,CAACC,iBAAK4D,OAAO,EAAA;QAAChG,WAAaA,EAAAA,WAAAA;AACzB,QAAA,QAAA,gBAAAmC,cAACtC,CAAAA,QAAAA,EAAAA,EAAAA;;AAGP;;;;;"}
@@ -96,7 +96,9 @@ const ListPage = ()=>{
96
96
  options: displayedFilters,
97
97
  children: [
98
98
  /*#__PURE__*/ jsx(Filters.Trigger, {}),
99
- /*#__PURE__*/ jsx(Filters.Popover, {}),
99
+ /*#__PURE__*/ jsx(Filters.Popover, {
100
+ zIndex: 499
101
+ }),
100
102
  /*#__PURE__*/ jsx(Filters.List, {})
101
103
  ]
102
104
  })
@@ -1 +1 @@
1
- {"version":3,"file":"ListPage.mjs","sources":["../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.tsx"],"sourcesContent":["import { Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Eye } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Filters } from '../../../../../../../admin/src/components/Filters';\nimport { Layouts } from '../../../../../../../admin/src/components/Layouts/Layout';\nimport { Page } from '../../../../../../../admin/src/components/PageHelpers';\nimport { Pagination } from '../../../../../../../admin/src/components/Pagination';\nimport { Table } from '../../../../../../../admin/src/components/Table';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useQueryParams } from '../../../../../../../admin/src/hooks/useQueryParams';\nimport { useRBAC } from '../../../../../../../admin/src/hooks/useRBAC';\nimport { AuditLog } from '../../../../../../../shared/contracts/audit-logs';\n\nimport { Modal } from './components/Modal';\nimport { useAuditLogsData } from './hooks/useAuditLogsData';\nimport { useFormatTimeStamp } from './hooks/useFormatTimeStamp';\nimport { getDefaultMessage } from './utils/getActionTypesDefaultMessages';\nimport { getDisplayedFilters } from './utils/getDisplayedFilters';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings);\n\n const {\n allowedActions: { canRead: canReadAuditLogs, canReadUsers },\n isLoading: isLoadingRBAC,\n } = useRBAC({\n ...permissions?.auditLogs,\n readUsers: permissions?.users.read || [],\n });\n\n const [{ query }, setQuery] = useQueryParams<{ id?: AuditLog['id'] }>();\n const {\n auditLogs,\n users,\n isLoading: isLoadingData,\n hasError,\n } = useAuditLogsData({\n canReadAuditLogs,\n canReadUsers,\n });\n\n const formatTimeStamp = useFormatTimeStamp();\n\n const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });\n\n const headers: Table.Header<AuditLog, object>[] = [\n {\n name: 'action',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n sortable: true,\n },\n {\n name: 'date',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n sortable: true,\n },\n {\n name: 'user',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n sortable: false,\n // In this case, the passed parameter cannot and shouldn't be something else than User\n cellFormatter: ({ user }) => (user ? user.displayName : ''),\n },\n ];\n\n if (hasError) {\n return <Page.Error />;\n }\n\n const isLoading = isLoadingData || isLoadingRBAC;\n\n const { results = [] } = auditLogs ?? {};\n\n return (\n <Page.Main aria-busy={isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Layouts.Action\n startActions={\n <Filters.Root options={displayedFilters}>\n <Filters.Trigger />\n <Filters.Popover />\n <Filters.List />\n </Filters.Root>\n }\n />\n <Layouts.Content>\n <Table.Root rows={results} headers={headers} isLoading={isLoading}>\n <Table.Content>\n <Table.Head>\n {headers.map((header) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Empty />\n <Table.Loading />\n <Table.Body>\n {results.map((log) => (\n <Table.Row key={log.id} onClick={() => setQuery({ id: log.id })}>\n {headers.map((header) => {\n const { name, cellFormatter } = header;\n\n switch (name) {\n case 'action':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatMessage(\n {\n id: `Settings.permissions.auditLogs.${log.action}`,\n // @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.\n defaultMessage: getDefaultMessage(log.action),\n },\n { model: (log.payload?.model as string) ?? '' }\n )}\n </Typography>\n </Table.Cell>\n );\n case 'date':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatTimeStamp(log.date)}\n </Typography>\n </Table.Cell>\n );\n case 'user':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {cellFormatter ? cellFormatter(log, header) : '-'}\n </Typography>\n </Table.Cell>\n );\n default:\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {(log[name as keyof AuditLog] as string) || '-'}\n </Typography>\n </Table.Cell>\n );\n }\n })}\n <Table.Cell onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => setQuery({ id: log.id })}\n withTooltip={false}\n label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${log.action} action` }\n )}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Pagination.Root {...auditLogs?.pagination}>\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n {query?.id && (\n <Modal handleClose={() => setQuery({ id: '' }, 'remove')} logId={query.id.toString()} />\n )}\n </Page.Main>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.auditLogs?.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["ListPage","formatMessage","useIntl","permissions","useTypedSelector","state","admin_app","settings","allowedActions","canRead","canReadAuditLogs","canReadUsers","isLoading","isLoadingRBAC","useRBAC","auditLogs","readUsers","users","read","query","setQuery","useQueryParams","isLoadingData","hasError","useAuditLogsData","formatTimeStamp","useFormatTimeStamp","displayedFilters","getDisplayedFilters","headers","name","label","id","defaultMessage","sortable","cellFormatter","user","displayName","_jsx","Page","Error","results","_jsxs","Main","aria-busy","Title","Layouts","Header","title","subtitle","Action","startActions","Filters","Root","options","Trigger","Popover","List","Content","Table","rows","Head","map","header","HeaderCell","Empty","Loading","Body","log","Row","onClick","Cell","Typography","textColor","action","getDefaultMessage","model","payload","date","e","stopPropagation","Flex","justifyContent","IconButton","withTooltip","target","variant","Eye","Pagination","pagination","PageSize","Links","Modal","handleClose","logId","toString","ProtectedListPage","main","Protect"],"mappings":"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"}
1
+ {"version":3,"file":"ListPage.mjs","sources":["../../../../../../../../../ee/admin/src/pages/SettingsPage/pages/AuditLogs/ListPage.tsx"],"sourcesContent":["import { Flex, IconButton, Typography } from '@strapi/design-system';\nimport { Eye } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { Filters } from '../../../../../../../admin/src/components/Filters';\nimport { Layouts } from '../../../../../../../admin/src/components/Layouts/Layout';\nimport { Page } from '../../../../../../../admin/src/components/PageHelpers';\nimport { Pagination } from '../../../../../../../admin/src/components/Pagination';\nimport { Table } from '../../../../../../../admin/src/components/Table';\nimport { useTypedSelector } from '../../../../../../../admin/src/core/store/hooks';\nimport { useQueryParams } from '../../../../../../../admin/src/hooks/useQueryParams';\nimport { useRBAC } from '../../../../../../../admin/src/hooks/useRBAC';\nimport { AuditLog } from '../../../../../../../shared/contracts/audit-logs';\n\nimport { Modal } from './components/Modal';\nimport { useAuditLogsData } from './hooks/useAuditLogsData';\nimport { useFormatTimeStamp } from './hooks/useFormatTimeStamp';\nimport { getDefaultMessage } from './utils/getActionTypesDefaultMessages';\nimport { getDisplayedFilters } from './utils/getDisplayedFilters';\n\nconst ListPage = () => {\n const { formatMessage } = useIntl();\n const permissions = useTypedSelector((state) => state.admin_app.permissions.settings);\n\n const {\n allowedActions: { canRead: canReadAuditLogs, canReadUsers },\n isLoading: isLoadingRBAC,\n } = useRBAC({\n ...permissions?.auditLogs,\n readUsers: permissions?.users.read || [],\n });\n\n const [{ query }, setQuery] = useQueryParams<{ id?: AuditLog['id'] }>();\n const {\n auditLogs,\n users,\n isLoading: isLoadingData,\n hasError,\n } = useAuditLogsData({\n canReadAuditLogs,\n canReadUsers,\n });\n\n const formatTimeStamp = useFormatTimeStamp();\n\n const displayedFilters = getDisplayedFilters({ formatMessage, users, canReadUsers });\n\n const headers: Table.Header<AuditLog, object>[] = [\n {\n name: 'action',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.action',\n defaultMessage: 'Action',\n }),\n sortable: true,\n },\n {\n name: 'date',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.date',\n defaultMessage: 'Date',\n }),\n sortable: true,\n },\n {\n name: 'user',\n label: formatMessage({\n id: 'Settings.permissions.auditLogs.user',\n defaultMessage: 'User',\n }),\n sortable: false,\n // In this case, the passed parameter cannot and shouldn't be something else than User\n cellFormatter: ({ user }) => (user ? user.displayName : ''),\n },\n ];\n\n if (hasError) {\n return <Page.Error />;\n }\n\n const isLoading = isLoadingData || isLoadingRBAC;\n\n const { results = [] } = auditLogs ?? {};\n\n return (\n <Page.Main aria-busy={isLoading}>\n <Page.Title>\n {formatMessage(\n { id: 'Settings.PageTitle', defaultMessage: 'Settings - {name}' },\n {\n name: formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n }),\n }\n )}\n </Page.Title>\n <Layouts.Header\n title={formatMessage({\n id: 'global.auditLogs',\n defaultMessage: 'Audit Logs',\n })}\n subtitle={formatMessage({\n id: 'Settings.permissions.auditLogs.listview.header.subtitle',\n defaultMessage: 'Logs of all the activities that happened in your environment',\n })}\n />\n <Layouts.Action\n startActions={\n <Filters.Root options={displayedFilters}>\n <Filters.Trigger />\n <Filters.Popover zIndex={499} />\n <Filters.List />\n </Filters.Root>\n }\n />\n <Layouts.Content>\n <Table.Root rows={results} headers={headers} isLoading={isLoading}>\n <Table.Content>\n <Table.Head>\n {headers.map((header) => (\n <Table.HeaderCell key={header.name} {...header} />\n ))}\n </Table.Head>\n <Table.Empty />\n <Table.Loading />\n <Table.Body>\n {results.map((log) => (\n <Table.Row key={log.id} onClick={() => setQuery({ id: log.id })}>\n {headers.map((header) => {\n const { name, cellFormatter } = header;\n\n switch (name) {\n case 'action':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatMessage(\n {\n id: `Settings.permissions.auditLogs.${log.action}`,\n // @ts-expect-error – getDefaultMessage probably doesn't benefit from being so strongly typed unless we just add string at the end.\n defaultMessage: getDefaultMessage(log.action),\n },\n { model: (log.payload?.model as string) ?? '' }\n )}\n </Typography>\n </Table.Cell>\n );\n case 'date':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {formatTimeStamp(log.date)}\n </Typography>\n </Table.Cell>\n );\n case 'user':\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {cellFormatter ? cellFormatter(log, header) : '-'}\n </Typography>\n </Table.Cell>\n );\n default:\n return (\n <Table.Cell key={name}>\n <Typography textColor=\"neutral800\">\n {(log[name as keyof AuditLog] as string) || '-'}\n </Typography>\n </Table.Cell>\n );\n }\n })}\n <Table.Cell onClick={(e) => e.stopPropagation()}>\n <Flex justifyContent=\"end\">\n <IconButton\n onClick={() => setQuery({ id: log.id })}\n withTooltip={false}\n label={formatMessage(\n { id: 'app.component.table.view', defaultMessage: '{target} details' },\n { target: `${log.action} action` }\n )}\n variant=\"ghost\"\n >\n <Eye />\n </IconButton>\n </Flex>\n </Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Content>\n </Table.Root>\n\n <Pagination.Root {...auditLogs?.pagination}>\n <Pagination.PageSize />\n <Pagination.Links />\n </Pagination.Root>\n </Layouts.Content>\n {query?.id && (\n <Modal handleClose={() => setQuery({ id: '' }, 'remove')} logId={query.id.toString()} />\n )}\n </Page.Main>\n );\n};\n\nconst ProtectedListPage = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.settings?.auditLogs?.main\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListPage />\n </Page.Protect>\n );\n};\n\nexport { ListPage, ProtectedListPage };\n"],"names":["ListPage","formatMessage","useIntl","permissions","useTypedSelector","state","admin_app","settings","allowedActions","canRead","canReadAuditLogs","canReadUsers","isLoading","isLoadingRBAC","useRBAC","auditLogs","readUsers","users","read","query","setQuery","useQueryParams","isLoadingData","hasError","useAuditLogsData","formatTimeStamp","useFormatTimeStamp","displayedFilters","getDisplayedFilters","headers","name","label","id","defaultMessage","sortable","cellFormatter","user","displayName","_jsx","Page","Error","results","_jsxs","Main","aria-busy","Title","Layouts","Header","title","subtitle","Action","startActions","Filters","Root","options","Trigger","Popover","zIndex","List","Content","Table","rows","Head","map","header","HeaderCell","Empty","Loading","Body","log","Row","onClick","Cell","Typography","textColor","action","getDefaultMessage","model","payload","date","e","stopPropagation","Flex","justifyContent","IconButton","withTooltip","target","variant","Eye","Pagination","pagination","PageSize","Links","Modal","handleClose","logId","toString","ProtectedListPage","main","Protect"],"mappings":"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"}
@@ -16,8 +16,7 @@ var Table = require('./admin/src/components/Table.js');
16
16
  var ContentBox = require('./admin/src/components/ContentBox.js');
17
17
  var SubNav = require('./admin/src/components/SubNav.js');
18
18
  var GradientBadge = require('./admin/src/components/GradientBadge.js');
19
- var Provider = require('./admin/src/components/GuidedTour/Provider.js');
20
- var Tours = require('./admin/src/components/UnstableGuidedTour/Tours.js');
19
+ var Tours = require('./admin/src/components/GuidedTour/Tours.js');
21
20
  var Tracking = require('./admin/src/features/Tracking.js');
22
21
  var StrapiApp = require('./admin/src/features/StrapiApp.js');
23
22
  var Notifications = require('./admin/src/features/Notifications.js');
@@ -63,8 +62,7 @@ exports.useTable = Table.useTable;
63
62
  exports.ContentBox = ContentBox.ContentBox;
64
63
  exports.SubNav = SubNav.SubNav;
65
64
  exports.GradientBadge = GradientBadge.GradientBadge;
66
- exports.useGuidedTour = Provider.useGuidedTour;
67
- exports.unstable_tours = Tours.tours;
65
+ exports.tours = Tours.tours;
68
66
  exports.useTracking = Tracking.useTracking;
69
67
  exports.useStrapiApp = StrapiApp.useStrapiApp;
70
68
  exports.NotificationsProvider = Notifications.NotificationsProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -14,8 +14,7 @@ export { Table, useTable } from './admin/src/components/Table.mjs';
14
14
  export { ContentBox } from './admin/src/components/ContentBox.mjs';
15
15
  export { SubNav } from './admin/src/components/SubNav.mjs';
16
16
  export { GradientBadge } from './admin/src/components/GradientBadge.mjs';
17
- export { useGuidedTour } from './admin/src/components/GuidedTour/Provider.mjs';
18
- export { tours as unstable_tours } from './admin/src/components/UnstableGuidedTour/Tours.mjs';
17
+ export { tours } from './admin/src/components/GuidedTour/Tours.mjs';
19
18
  export { useTracking } from './admin/src/features/Tracking.mjs';
20
19
  export { useStrapiApp } from './admin/src/features/StrapiApp.mjs';
21
20
  export { NotificationsProvider, useNotification } from './admin/src/features/Notifications.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -18,7 +18,9 @@ interface RootProps extends Partial<FitlersContextValue>, Popover.Props {
18
18
  }
19
19
  declare const Filters: {
20
20
  List: () => import("react/jsx-runtime").JSX.Element | null;
21
- Popover: () => import("react/jsx-runtime").JSX.Element | null;
21
+ Popover: ({ zIndex }: {
22
+ zIndex?: number;
23
+ }) => import("react/jsx-runtime").JSX.Element | null;
22
24
  Root: ({ children, disabled, onChange, options, onOpenChange, open: openProp, defaultOpen, ...restProps }: RootProps) => import("react/jsx-runtime").JSX.Element;
23
25
  Trigger: React.ForwardRefExoticComponent<Filters.TriggerProps & React.RefAttributes<HTMLButtonElement>>;
24
26
  };
@@ -14,6 +14,8 @@ type Action = {
14
14
  payload: ExtendedCompletedActions;
15
15
  } | {
16
16
  type: 'skip_all_tours';
17
+ } | {
18
+ type: 'reset_all_tours';
17
19
  };
18
20
  type Tour = Record<ValidTourName, {
19
21
  currentStep: number;
@@ -25,14 +27,14 @@ type State = {
25
27
  enabled: boolean;
26
28
  completedActions: ExtendedCompletedActions;
27
29
  };
28
- declare const unstableUseGuidedTour: <Selected, ShouldThrow extends boolean = true>(consumerName: string, selector: (value: {
30
+ declare const useGuidedTour: <Selected, ShouldThrow extends boolean = true>(consumerName: string, selector: (value: {
29
31
  state: State;
30
32
  dispatch: React.Dispatch<Action>;
31
33
  }) => Selected, shouldThrowOnMissingContext?: ShouldThrow | undefined) => ShouldThrow extends true ? Selected : Selected | undefined;
32
34
  declare function reducer(state: State, action: Action): State;
33
- declare const UnstableGuidedTourContext: ({ children, enabled, }: {
35
+ declare const GuidedTourContext: ({ children, enabled, }: {
34
36
  children: React.ReactNode;
35
37
  enabled?: boolean;
36
38
  }) => import("react/jsx-runtime").JSX.Element;
37
39
  export type { Action, State, ValidTourName };
38
- export { UnstableGuidedTourContext, unstableUseGuidedTour, reducer };
40
+ export { GuidedTourContext, useGuidedTour, reducer };
@@ -0,0 +1 @@
1
+ export declare const GuidedTourHomepageOverview: () => import("react/jsx-runtime").JSX.Element | null;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Popover, FlexProps } from '@strapi/design-system';
3
3
  import { type MessageDescriptor } from 'react-intl';
4
- import { ValidTourName } from './Context';
4
+ import { type ValidTourName } from './Context';
5
5
  type WithChildren = {
6
6
  children: React.ReactNode;
7
7
  id?: never;
@@ -17,13 +17,14 @@ export declare const SubNav: {
17
17
  children: React.ReactNode[];
18
18
  [key: string]: any;
19
19
  }) => import("react/jsx-runtime").JSX.Element;
20
- Section: ({ label, children, link, }: {
20
+ Section: ({ label, children, link, sectionId, }: {
21
21
  label: string;
22
22
  children: React.ReactNode[];
23
23
  link?: {
24
24
  label: string;
25
25
  onClik: () => void;
26
26
  };
27
+ sectionId?: string;
27
28
  }) => import("react/jsx-runtime").JSX.Element;
28
29
  SubSection: ({ label, children }: {
29
30
  label: string;
@@ -16,14 +16,17 @@ type WidgetArgs = {
16
16
  id: string;
17
17
  permissions?: Array<Pick<Permission, 'action'> & Partial<Omit<Permission, 'action'>>>;
18
18
  };
19
- type Widget = Omit<WidgetArgs, 'id' | 'pluginId'> & {
19
+ type WidgetWithUID = Omit<WidgetArgs, 'id' | 'pluginId'> & {
20
20
  uid: WidgetUID;
21
21
  };
22
+ type DescriptionReducer = (prev: WidgetArgs[]) => WidgetArgs[];
22
23
  declare class Widgets {
23
- widgets: Record<string, Widget>;
24
+ widgets: WidgetArgs[];
24
25
  constructor();
25
- register: (widget: WidgetArgs | WidgetArgs[]) => void;
26
- getAll: () => Widget[];
26
+ private generateUid;
27
+ private checkWidgets;
28
+ register(widgets: WidgetArgs | WidgetArgs[] | DescriptionReducer): void;
29
+ getAll: () => WidgetWithUID[];
27
30
  }
28
31
  export { Widgets };
29
- export type { WidgetArgs, Widget };
32
+ export type { WidgetArgs, WidgetWithUID };
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { AxiosResponse } from 'axios';
3
+ import { Tours } from '../components/GuidedTour/Tours';
3
4
  export interface TelemetryProperties {
4
5
  useTypescriptOnServer?: boolean;
5
6
  useTypescriptOnAdmin?: boolean;
@@ -23,8 +24,8 @@ declare const TrackingProvider: ({ children }: TrackingProviderProps) => import(
23
24
  * Meanwhile those with properties have different property shapes corresponding to the specific
24
25
  * event so understanding which properties go with which event is very helpful.
25
26
  */
26
- interface EventWithoutProperties {
27
- name: 'changeComponentsOrder' | 'didAddComponentToDynamicZone' | 'didBulkDeleteEntries' | 'didNotBulkDeleteEntries' | 'didChangeDisplayedFields' | 'didCheckDraftRelations' | 'didClickGuidedTourHomepageApiTokens' | 'didClickGuidedTourHomepageContentManager' | 'didClickGuidedTourHomepageContentTypeBuilder' | 'didClickGuidedTourStep1CollectionType' | 'didClickGuidedTourStep2ContentManager' | 'didClickGuidedTourStep3ApiTokens' | 'didClickonBlogSection' | 'didClickonCodeExampleSection' | 'didClickonReadTheDocumentationSection' | 'didClickOnTryStrapiCloudSection' | 'didClickonTutorialSection' | 'didCreateGuidedTourCollectionType' | 'didCreateGuidedTourEntry' | 'didCreateNewRole' | 'didCreateRole' | 'didDeleteToken' | 'didDuplicateRole' | 'didEditEditSettings' | 'didEditEmailTemplates' | 'didEditFieldNameOnContentType' | 'didEditListSettings' | 'didEditMediaLibraryConfig' | 'didEditNameOfContentType' | 'didGenerateGuidedTourApiTokens' | 'didGoToMarketplace' | 'didLaunchGuidedtour' | 'didMissMarketplacePlugin' | 'didNotCreateFirstAdmin' | 'didNotSaveComponent' | 'didPluginLearnMore' | 'didBulkPublishEntries' | 'didNotBulkPublishEntries' | 'didUnpublishEntry' | 'didBulkUnpublishEntries' | 'didNotBulkUnpublishEntries' | 'didSaveComponent' | 'didSaveContentType' | 'didSearch' | 'didSkipGuidedtour' | 'didSubmitPlugin' | 'didSubmitProvider' | 'didUpdateConditions' | 'didSelectAllMediaLibraryElements' | 'didSelectContentTypeFieldSettings' | 'didSelectContentTypeSettings' | 'didEditAuthenticationProvider' | 'didRestoreHistoryVersion' | 'hasClickedCTBAddFieldBanner' | 'removeComponentFromDynamicZone' | 'willAddMoreFieldToContentType' | 'willBulkDeleteEntries' | 'willBulkPublishEntries' | 'willBulkUnpublishEntries' | 'willChangeNumberOfEntriesPerPage' | 'willCheckDraftRelations' | 'willCreateComponent' | 'willCreateComponentFromAttributesModal' | 'willCreateContentType' | 'willCreateFirstAdmin' | 'willCreateNewRole' | 'willCreateRole' | 'willCreateSingleType' | 'willCreateStage' | 'willCreateWorkflow' | 'willDeleteEntryFromList' | 'willDeleteFieldOfContentType' | 'willDuplicateRole' | 'willEditEditLayout' | 'willEditEmailTemplates' | 'willEditEntryFromButton' | 'willEditEntryFromHome' | 'willEditEntryFromList' | 'willEditFieldOfContentType' | 'willEditMediaLibraryConfig' | 'willEditNameOfContentType' | 'willEditNameOfSingleType' | 'willEditAuthenticationProvider' | 'willEditFieldNameOnContentType' | 'willEditStage' | 'willFilterEntries' | 'willInstallPlugin' | 'willUnpublishEntry' | 'willSaveComponent' | 'willSaveContentType' | 'willSaveContentTypeLayout' | 'didEditFieldNameOnContentType' | 'didCreateRelease';
27
+ export interface EventWithoutProperties {
28
+ name: 'changeComponentsOrder' | 'didAddComponentToDynamicZone' | 'didBulkDeleteEntries' | 'didNotBulkDeleteEntries' | 'didChangeDisplayedFields' | 'didCheckDraftRelations' | 'didClickGuidedTourHomepageApiTokens' | 'didClickGuidedTourHomepageContentManager' | 'didClickGuidedTourHomepageContentTypeBuilder' | 'didClickGuidedTourStep1CollectionType' | 'didClickGuidedTourStep2ContentManager' | 'didClickGuidedTourStep3ApiTokens' | 'didClickonBlogSection' | 'didClickonCodeExampleSection' | 'didClickonReadTheDocumentationSection' | 'didClickOnTryStrapiCloudSection' | 'didClickonTutorialSection' | 'didCreateGuidedTourCollectionType' | 'didCreateGuidedTourEntry' | 'didCreateNewRole' | 'didCreateRole' | 'didDeleteToken' | 'didDuplicateRole' | 'didEditEditSettings' | 'didEditEmailTemplates' | 'didEditFieldNameOnContentType' | 'didEditListSettings' | 'didEditMediaLibraryConfig' | 'didEditNameOfContentType' | 'didGenerateGuidedTourApiTokens' | 'didGoToMarketplace' | 'didLaunchGuidedtour' | 'didMissMarketplacePlugin' | 'didNotCreateFirstAdmin' | 'didNotSaveComponent' | 'didPluginLearnMore' | 'didBulkPublishEntries' | 'didNotBulkPublishEntries' | 'didUnpublishEntry' | 'didBulkUnpublishEntries' | 'didNotBulkUnpublishEntries' | 'didSaveComponent' | 'didSaveContentType' | 'didSearch' | 'didSkipGuidedtour' | 'didSubmitPlugin' | 'didSubmitProvider' | 'didUpdateConditions' | 'didSelectAllMediaLibraryElements' | 'didSelectContentTypeFieldSettings' | 'didSelectContentTypeSettings' | 'didEditAuthenticationProvider' | 'didRestoreHistoryVersion' | 'hasClickedCTBAddFieldBanner' | 'removeComponentFromDynamicZone' | 'willAddMoreFieldToContentType' | 'willBulkDeleteEntries' | 'willBulkPublishEntries' | 'willBulkUnpublishEntries' | 'willChangeNumberOfEntriesPerPage' | 'willCheckDraftRelations' | 'willCreateComponent' | 'willCreateComponentFromAttributesModal' | 'willCreateContentType' | 'willCreateFirstAdmin' | 'willCreateNewRole' | 'willCreateRole' | 'willCreateSingleType' | 'willCreateStage' | 'willCreateWorkflow' | 'willDeleteEntryFromList' | 'willDeleteFieldOfContentType' | 'willDuplicateRole' | 'willEditEditLayout' | 'willEditEmailTemplates' | 'willEditEntryFromButton' | 'willEditEntryFromHome' | 'willEditEntryFromList' | 'willEditFieldOfContentType' | 'willEditMediaLibraryConfig' | 'willEditNameOfContentType' | 'willEditNameOfSingleType' | 'willEditAuthenticationProvider' | 'willEditFieldNameOnContentType' | 'willEditStage' | 'willFilterEntries' | 'willInstallPlugin' | 'willUnpublishEntry' | 'willSaveComponent' | 'willSaveContentType' | 'willSaveContentTypeLayout' | 'didEditFieldNameOnContentType' | 'didCreateRelease' | 'didLaunchGuidedtour';
28
29
  properties?: never;
29
30
  }
30
31
  interface DidAccessAuthenticatedAdministrationEvent {
@@ -186,7 +187,25 @@ interface DidUpdateCTBSchema {
186
187
  deletedFields: number;
187
188
  };
188
189
  }
189
- type EventsWithProperties = CreateEntryEvents | PublishEntryEvents | DidAccessAuthenticatedAdministrationEvent | DidAccessTokenListEvent | DidChangeModeEvent | DidCropFileEvent | DeleteEntryEvents | DidEditMediaLibraryElementsEvent | DidFilterMediaLibraryElementsEvent | DidFilterEntriesEvent | DidSelectContentTypeFieldTypeEvent | DidSelectFile | DidSortMediaLibraryElementsEvent | DidSubmitWithErrorsFirstAdminEvent | LogoEvent | TokenEvents | UpdateEntryEvents | WillModifyTokenEvent | WillNavigateEvent | DidPublishRelease | MediaEvents | DidUpdateCTBSchema;
190
+ interface DidSkipGuidedTour {
191
+ name: 'didSkipGuidedTour';
192
+ properties: {
193
+ name: keyof Tours | 'all';
194
+ };
195
+ }
196
+ interface DidCompleteGuidedTour {
197
+ name: 'didCompleteGuidedTour';
198
+ properties: {
199
+ name: keyof Tours;
200
+ };
201
+ }
202
+ interface DidStartGuidedTour {
203
+ name: 'didStartGuidedTourFromHomepage';
204
+ properties: {
205
+ name: keyof Tours;
206
+ };
207
+ }
208
+ type EventsWithProperties = CreateEntryEvents | PublishEntryEvents | DidAccessAuthenticatedAdministrationEvent | DidAccessTokenListEvent | DidChangeModeEvent | DidCropFileEvent | DeleteEntryEvents | DidEditMediaLibraryElementsEvent | DidFilterMediaLibraryElementsEvent | DidFilterEntriesEvent | DidSelectContentTypeFieldTypeEvent | DidSelectFile | DidSortMediaLibraryElementsEvent | DidSubmitWithErrorsFirstAdminEvent | LogoEvent | TokenEvents | UpdateEntryEvents | WillModifyTokenEvent | WillNavigateEvent | DidPublishRelease | MediaEvents | DidUpdateCTBSchema | DidSkipGuidedTour | DidCompleteGuidedTour | DidStartGuidedTour;
190
209
  export type TrackingEvent = EventWithoutProperties | EventsWithProperties;
191
210
  export interface UseTrackingReturn {
192
211
  /**
@@ -1,3 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  declare const usePersistentState: <T>(key: string, defaultValue: T) => readonly [T, import("react").Dispatch<import("react").SetStateAction<T>>];
3
- export { usePersistentState };
3
+ declare const useScopedPersistentState: <T>(key: string, defaultValue: T) => readonly [T, import("react").Dispatch<import("react").SetStateAction<T>>];
4
+ export { usePersistentState, useScopedPersistentState };
@@ -22,8 +22,7 @@ export * from './components/Table';
22
22
  export * from './components/ContentBox';
23
23
  export * from './components/SubNav';
24
24
  export * from './components/GradientBadge';
25
- export { useGuidedTour } from './components/GuidedTour/Provider';
26
- export { tours as unstable_tours } from './components/UnstableGuidedTour/Tours';
25
+ export { tours } from './components/GuidedTour/Tours';
27
26
  /**
28
27
  * Features
29
28
  */
@@ -54,7 +53,7 @@ export type { Plugin, PluginConfig } from './core/apis/Plugin';
54
53
  export type { MenuItem, StrapiAppSetting, StrapiAppSettingLink } from './core/apis/router';
55
54
  export type { SanitizedAdminUser, AdminUser, SanitizedAdminRole, AdminRole, Entity, } from '../../shared/contracts/shared';
56
55
  export type { RBACContext, RBACMiddleware } from './core/apis/rbac';
57
- export type { Widget as WidgetType } from './core/apis/Widgets';
56
+ export type { WidgetWithUID as WidgetType, WidgetArgs } from './core/apis/Widgets';
58
57
  /**
59
58
  * Utils
60
59
  */
@@ -2,6 +2,6 @@ interface TokenBoxProps {
2
2
  token?: string;
3
3
  tokenType: 'transfer-token' | 'api-token';
4
4
  }
5
- export declare const UnstableApiTokenBox: ({ token, tokenType }: TokenBoxProps) => import("react/jsx-runtime").JSX.Element;
5
+ export declare const ApiTokenBox: ({ token, tokenType }: TokenBoxProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export declare const TokenBox: ({ token, tokenType }: TokenBoxProps) => import("react/jsx-runtime").JSX.Element;
7
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycles.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/audit-logs/services/lifecycles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAkE1C;;;GAGG;AACH,QAAA,MAAM,+BAA+B,WAAY,KAAK,MAAM;;;;CAoH3D,CAAC;AAEF,OAAO,EAAE,+BAA+B,EAAE,CAAC"}
1
+ {"version":3,"file":"lifecycles.d.ts","sourceRoot":"","sources":["../../../../../../ee/server/src/audit-logs/services/lifecycles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAiE1C;;;GAGG;AACH,QAAA,MAAM,+BAA+B,WAAY,KAAK,MAAM;;;;CAwH3D,CAAC;AAEF,OAAO,EAAE,+BAA+B,EAAE,CAAC"}
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var nodeSchedule = require('node-schedule');
4
-
5
3
  const DEFAULT_RETENTION_DAYS = 90;
6
4
  const defaultEvents = [
7
5
  'entry.create',
@@ -135,9 +133,14 @@ const getRetentionDays = (strapi)=>{
135
133
  state.eventHubUnsubscribe = strapi.eventHub.subscribe(handleEvent);
136
134
  // Manage audit logs auto deletion
137
135
  const retentionDays = getRetentionDays(strapi);
138
- state.deleteExpiredJob = nodeSchedule.scheduleJob('0 0 * * *', ()=>{
139
- const expirationDate = new Date(Date.now() - retentionDays * 24 * 60 * 60 * 1000);
140
- auditLogsService.deleteExpiredEvents(expirationDate);
136
+ strapi.cron.add({
137
+ deleteExpiredAuditLogs: {
138
+ task: async ()=>{
139
+ const expirationDate = new Date(Date.now() - retentionDays * 24 * 60 * 60 * 1000);
140
+ auditLogsService.deleteExpiredEvents(expirationDate);
141
+ },
142
+ options: '0 0 * * *'
143
+ }
141
144
  });
142
145
  return this;
143
146
  },
@@ -148,9 +151,7 @@ const getRetentionDays = (strapi)=>{
148
151
  if (state.eventHubUnsubscribe) {
149
152
  state.eventHubUnsubscribe();
150
153
  }
151
- if (state.deleteExpiredJob) {
152
- state.deleteExpiredJob.cancel();
153
- }
154
+ strapi.cron.remove('deleteExpiredAuditLogs');
154
155
  return this;
155
156
  },
156
157
  destroy () {