+
+
+ {roleMessage && intl.formatMessage(roleMessage)}
+ {currentUserEmail === email && (
+ {intl.formatMessage(messages.roleYou)}
+ )}
+
+ {userName}
+ {email}
+
+
+ {onMakeAdmin && (
+
+ )}
+ {onMakeAuthor && (
+
+ )}
+ {onMakeReader && (
+
+ )}
+ {onDeleteRole && (
+ onDeleteRole(email)}
+ iconAs={Icon}
+ alt={intl.formatMessage(messages.deleteMember)}
+ data-testid="delete-button"
+ />
+ )}
+
+
+ );
+};
+
+export default LibraryTeamMember;
diff --git a/src/library-authoring/library-team/LibraryTeamModal.tsx b/src/library-authoring/library-team/LibraryTeamModal.tsx
new file mode 100644
index 0000000000..d9c5643b8e
--- /dev/null
+++ b/src/library-authoring/library-team/LibraryTeamModal.tsx
@@ -0,0 +1,47 @@
+import React from 'react';
+
+import { ActionRow, ModalDialog } from '@openedx/paragon';
+import { useIntl } from '@edx/frontend-platform/i18n';
+
+import { useLibraryContext } from '../common/context';
+import LibraryTeam from './LibraryTeam';
+import messages from './messages';
+
+export const LibraryTeamModal: React.FC