diff --git a/packages/web_ui/src/BaseWebPlugin.ts b/packages/web_ui/src/BaseWebPlugin.ts
index a55a5920..77cf51ff 100644
--- a/packages/web_ui/src/BaseWebPlugin.ts
+++ b/packages/web_ui/src/BaseWebPlugin.ts
@@ -123,6 +123,13 @@ export type ExtensionSlotProps = {
role: lib.Role;
search?: string;
};
+ /**
+ * Placed on each role page between the role details and the permissions.
+ * `role` is the role the page is displayed for.
+ */
+ RoleViewPageBeforePermissions: {
+ role: lib.Role;
+ };
};
export type PluginExtensionSlot = keyof ExtensionSlotProps;
diff --git a/packages/web_ui/src/components/RoleViewPage.tsx b/packages/web_ui/src/components/RoleViewPage.tsx
index a2aa53a4..ddd18535 100644
--- a/packages/web_ui/src/components/RoleViewPage.tsx
+++ b/packages/web_ui/src/components/RoleViewPage.tsx
@@ -295,6 +295,8 @@ export default function RoleViewPage() {
setDescription(e.target.value)} />
+