From 6c8ea1a62a77fe70ba79a76e728284627e536ff2 Mon Sep 17 00:00:00 2001 From: rax7389 Date: Wed, 8 Apr 2026 16:47:22 +0530 Subject: [PATCH 1/7] feat(core, react): add service, react types, and invitation components --- auth0-myorganization-js-1.0.0-beta.4.tgz | Bin 0 -> 179690 bytes .../src/services/my-organization/index.ts | 1 + .../member-management-types.ts | 111 +++++++ .../organization-invitation-details-modal.tsx | 250 +++++++++++++++ .../organization-invitation-revoke-modal.tsx | 92 ++++++ ...zation-invitation-table-actions-column.tsx | 114 +++++++ .../organization-invitation-table.tsx | 188 +++++++++++ .../organization-invitation-create-modal.tsx | 302 ++++++++++++++++++ .../shared/search-filter/search-filter.tsx | 83 +++++ .../member-management-utils.ts | 25 ++ packages/react/src/types/index.ts | 2 + .../organization-invitation-table-types.ts | 213 ++++++++++++ .../organization-member-management-types.ts | 147 +++++++++ pnpm-lock.yaml | 15 +- 14 files changed, 1536 insertions(+), 7 deletions(-) create mode 100644 auth0-myorganization-js-1.0.0-beta.4.tgz create mode 100644 packages/core/src/services/my-organization/member-management/member-management-types.ts create mode 100644 packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-details/organization-invitation-details-modal.tsx create mode 100644 packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-revoke/organization-invitation-revoke-modal.tsx create mode 100644 packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-table/organization-invitation-table-actions-column.tsx create mode 100644 packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-table/organization-invitation-table.tsx create mode 100644 packages/react/src/components/auth0/my-organization/shared/member-management/shared/invitation-create/organization-invitation-create-modal.tsx create mode 100644 packages/react/src/components/auth0/my-organization/shared/member-management/shared/search-filter/search-filter.tsx create mode 100644 packages/react/src/lib/utils/my-organization/member-management/member-management-utils.ts create mode 100644 packages/react/src/types/my-organization/member-management/organization-invitation-table-types.ts create mode 100644 packages/react/src/types/my-organization/member-management/organization-member-management-types.ts diff --git a/auth0-myorganization-js-1.0.0-beta.4.tgz b/auth0-myorganization-js-1.0.0-beta.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b6675e14dc53667955b082e2dcbbd041093ed61d GIT binary patch literal 179690 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�ML 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 literal 0 HcmV?d00001 diff --git a/packages/core/src/services/my-organization/index.ts b/packages/core/src/services/my-organization/index.ts index deb30e8e6..5e1816d52 100644 --- a/packages/core/src/services/my-organization/index.ts +++ b/packages/core/src/services/my-organization/index.ts @@ -7,4 +7,5 @@ export * from './organization-management'; export * from './idp-management'; export * from './domain-management'; +export * from './member-management/member-management-types'; export * from './config'; diff --git a/packages/core/src/services/my-organization/member-management/member-management-types.ts b/packages/core/src/services/my-organization/member-management/member-management-types.ts new file mode 100644 index 000000000..7c7561743 --- /dev/null +++ b/packages/core/src/services/my-organization/member-management/member-management-types.ts @@ -0,0 +1,111 @@ +/** + * Member management type definitions for organization member and invitation operations. + * @module member-management-types + * @internal + */ +import type { MyOrganization } from '@auth0/myorganization-js'; + +/** + * Organization member ID type. + */ +export type OrgMemberId = MyOrganization.OrgMemberId; + +/** + * Organization member entity. + */ +export type OrgMember = MyOrganization.OrgMember; + +/** + * Organization member role. + */ +export type OrgMemberRole = MyOrganization.OrgMemberRole; + +/** + * Organization member role ID. + */ +export type OrgMemberRoleId = MyOrganization.OrgMemberRoleId; + +/** + * Response content for listing organization members. + */ +export type ListOrganizationMembersResponseContent = + MyOrganization.ListOrganizationMembersResponseContent; + +/** + * Response content for getting a single organization member. + */ +export type GetOrganizationMemberResponseContent = + MyOrganization.GetOrganizationMemberResponseContent; + +/** + * Request parameters for listing organization members. + */ +export type ListOrganizationMembersRequestParameters = + MyOrganization.ListOrganizationMembersRequestParameters; + +/** + * Response content for getting organization member roles. + */ +export type GetOrganizationMemberRolesResponseContent = + MyOrganization.GetOrganizationMemberRolesResponseContent; + +/** + * Request content for assigning a role to an organization member. + */ +export type AssignOrganizationMemberRoleRequestContent = + MyOrganization.AssignOrganizationMemberRoleRequestContent; + +/** + * Response content for assigning a role to an organization member. + */ +export type AssignOrganizationMemberRoleResponseContent = + MyOrganization.AssignOrganizationMemberRoleResponseContent; + +/** + * Invitation ID type. + */ +export type InvitationId = MyOrganization.InvitationId; + +/** + * Member invitation entity. + */ +export type MemberInvitation = MyOrganization.MemberInvitation; + +/** + * Member invitation invitee details. + */ +export type MemberInvitationInvitee = MyOrganization.MemberInvitationInvitee; + +/** + * Member invitation inviter details. + */ +export type MemberInvitationInviter = MyOrganization.MemberInvitationInviter; + +/** + * Response content for listing member invitations. + */ +export type ListMembersInvitationsResponseContent = + MyOrganization.ListMembersInvitationsResponseContent; + +/** + * Request parameters for listing member invitations. + */ +export type ListMemberInvitationsRequestParameters = + MyOrganization.ListMemberInvitationsRequestParameters; + +/** + * Request content for creating a member invitation. + */ +export type CreateMemberInvitationRequestContent = + MyOrganization.CreateMemberInvitationRequestContent; + +/** + * Response content for creating a member invitation. + */ +export type CreateMemberInvitationResponseContent = + MyOrganization.CreateMemberInvitationResponseContent; + +/** + * Response content for getting a member invitation. + */ +export type GetMemberInvitationResponseContent = MyOrganization.GetMemberInvitationResponseContent; diff --git a/packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-details/organization-invitation-details-modal.tsx b/packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-details/organization-invitation-details-modal.tsx new file mode 100644 index 000000000..71897a038 --- /dev/null +++ b/packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-details/organization-invitation-details-modal.tsx @@ -0,0 +1,250 @@ +/** + * Organization invitation details modal component. + * @module organization-invitation-details-modal + */ + +import type { MemberInvitation } from '@auth0/universal-components-core'; +import { Link } from 'lucide-react'; +import * as React from 'react'; + +import { CopyableTextField } from '@/components/auth0/shared/copyable-text-field'; +import { Badge } from '@/components/ui/badge'; +import { Button } from '@/components/ui/button'; +import { + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, +} from '@/components/ui/dialog'; +import { Label } from '@/components/ui/label'; +import { TextField } from '@/components/ui/text-field'; +import { TextFieldGroup } from '@/components/ui/text-field-group'; +import { useTranslator } from '@/hooks/shared/use-translator'; +import { getInvitationStatus } from '@/lib/utils/my-organization/member-management/member-management-utils'; +import type { + InvitationStatus, + RoleOption, + IdentityProviderOption, + OrganizationInvitationTabMessages, +} from '@/types/my-organization/member-management/organization-invitation-table-types'; + +export interface OrganizationInvitationDetailsModalProps { + invitation: MemberInvitation | null; + isOpen: boolean; + isRevoking?: boolean; + isResending?: boolean; + customMessages?: Partial; + availableRoles?: RoleOption[]; + availableProviders?: IdentityProviderOption[]; + readOnly?: boolean; + onClose: () => void; + onCopyUrl?: (invitation: MemberInvitation) => void; + onRevoke?: (invitation?: MemberInvitation) => void; + onResend?: (invitation?: MemberInvitation) => void; + className?: string; +} + +/** + * Returns the badge variant for a given invitation status. + * @param status - The invitation status. + * @returns The badge variant string. + */ +function getStatusBadgeVariant(status: InvitationStatus): 'warning' | 'destructive' { + return status === 'pending' ? 'warning' : 'destructive'; +} + +/** + * Modal for viewing invitation details with revoke and resend actions. + * @param props - The component props. + * @param props.invitation - The invitation to display. + * @param props.isOpen - Whether the modal is open. + * @param props.isRevoking - Whether a revoke action is in progress. + * @param props.isResending - Whether a resend action is in progress. + * @param props.customMessages - Custom translation messages. + * @param props.availableRoles - Available roles for display. + * @param props.availableProviders - Available providers for display. + * @param props.readOnly - Whether in read-only mode. + * @param props.onClose - Callback when modal is closed. + * @param props.onCopyUrl - Callback when copy URL is clicked. + * @param props.onRevoke - Callback when revoke is clicked. + * @param props.onResend - Callback when revoke and resend is clicked. + * @param props.className - Optional CSS class name. + * @returns The modal component. + */ +export function OrganizationInvitationDetailsModal({ + invitation, + isOpen, + isRevoking = false, + isResending = false, + customMessages = {}, + availableRoles = [], + availableProviders = [], + readOnly = false, + onClose, + onCopyUrl, + onRevoke, + onResend, + className, +}: OrganizationInvitationDetailsModalProps): React.JSX.Element { + const { t } = useTranslator('member_management', customMessages); + + const status = invitation ? getInvitationStatus(invitation) : 'pending'; + const isPending = status === 'pending'; + const isActionInProgress = isRevoking || isResending; + + const roleNames = React.useMemo(() => { + if (!invitation?.roles || invitation.roles.length === 0) return []; + return invitation.roles + .map((roleId) => { + const role = availableRoles.find((r) => r.id === roleId); + return role?.name ?? roleId; + }) + .filter(Boolean); + }, [invitation?.roles, availableRoles]); + + const providerName = React.useMemo(() => { + if (!invitation?.identity_provider_id) return null; + const provider = availableProviders.find((p) => p.id === invitation.identity_provider_id); + return provider?.name ?? invitation.identity_provider_id; + }, [invitation?.identity_provider_id, availableProviders]); + + const handleCopyUrl = React.useCallback(() => { + if (invitation) { + onCopyUrl?.(invitation); + } + }, [invitation, onCopyUrl]); + + const handleRevoke = React.useCallback(() => { + if (invitation) { + onRevoke?.(invitation); + } + }, [invitation, onRevoke]); + + const handleResend = React.useCallback(() => { + if (invitation) { + onResend?.(invitation); + } + }, [invitation, onResend]); + + return ( + + + +
+ {t('invitation.details.title')} + + {isPending + ? t('invitation.table.status_pending') + : t('invitation.table.status_expired')} + +
+ {t('invitation.details.title')} +
+ +
+ {/* Email */} +
+ + +
+ + {/* Created At */} +
+ + +
+ + {/* Expires At */} +
+ + +
+ + {/* Roles */} +
+ + {roleNames.length > 0 ? ( + ({ label: name, value: name }))} + summarizeChips={false} + disabled + readOnly + /> + ) : ( + + )} +
+ + {/* Invitation URL */} + {invitation?.invitation_url && ( +
+ + } + /> +
+ )} + + {/* Revoke / Resend Actions (inline, below invitation URL) */} + {!readOnly && ( +
+ + +
+ )} + + {/* Invited By */} +
+ + +
+ + {/* Identity Provider */} + {providerName && ( +
+ + +
+ )} +
+ + + + +
+
+ ); +} diff --git a/packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-revoke/organization-invitation-revoke-modal.tsx b/packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-revoke/organization-invitation-revoke-modal.tsx new file mode 100644 index 000000000..43132ae07 --- /dev/null +++ b/packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-revoke/organization-invitation-revoke-modal.tsx @@ -0,0 +1,92 @@ +/** + * Organization invitation revoke modal component. + * @module organization-invitation-revoke-modal + */ + +import type { MemberInvitation } from '@auth0/universal-components-core'; +import * as React from 'react'; + +import { Button } from '@/components/ui/button'; +import { + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, +} from '@/components/ui/dialog'; +import { useTranslator } from '@/hooks/shared/use-translator'; +import type { OrganizationInvitationTabMessages } from '@/types/my-organization/member-management/organization-invitation-table-types'; + +export interface OrganizationInvitationRevokeModalProps { + invitation: MemberInvitation | null; + isOpen: boolean; + isLoading?: boolean; + isRevokeAndResend?: boolean; + customMessages?: Partial; + onClose: () => void; + onConfirm: (invitation: MemberInvitation) => void; + className?: string; +} + +/** + * Modal for confirming invitation revocation or revoke and resend. + * @param props - The component props. + * @param props.invitation - The invitation to revoke. + * @param props.isOpen - Whether the modal is open. + * @param props.isLoading - Whether the action is in progress. + * @param props.isRevokeAndResend - Whether this is a revoke and resend action. + * @param props.customMessages - Custom translation messages. + * @param props.onClose - Callback when modal is closed. + * @param props.onConfirm - Callback when action is confirmed. + * @param props.className - Optional CSS class name. + * @returns The modal component. + */ +export function OrganizationInvitationRevokeModal({ + invitation, + isOpen, + isLoading = false, + isRevokeAndResend = false, + customMessages = {}, + onClose, + onConfirm, + className, +}: OrganizationInvitationRevokeModalProps): React.JSX.Element { + const { t } = useTranslator('member_management', customMessages); + + const namespace = isRevokeAndResend ? 'invitation.revoke_resend' : 'invitation.revoke'; + + const handleConfirm = React.useCallback(() => { + if (invitation) { + onConfirm(invitation); + } + }, [invitation, onConfirm]); + + return ( + + + + {t(`${namespace}.title`)} + + + <> + {t.trans(`${namespace}.description`, { + components: { + bold: (children: string) => {children}, + }, + vars: { email: invitation?.invitee?.email ?? '' }, + })} + + + + + + + + + ); +} diff --git a/packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-table/organization-invitation-table-actions-column.tsx b/packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-table/organization-invitation-table-actions-column.tsx new file mode 100644 index 000000000..2757176db --- /dev/null +++ b/packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-table/organization-invitation-table-actions-column.tsx @@ -0,0 +1,114 @@ +/** + * Organization invitation table row actions dropdown. + * @module organization-invitation-table-actions-column + * @internal + */ + +import { MoreHorizontal, Eye, Copy, RefreshCcw, Trash2 } from 'lucide-react'; +import * as React from 'react'; + +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, + DropdownMenuPortal, + DropdownMenuSeparator, +} from '@/components/ui/dropdown-menu'; +import { useTranslator } from '@/hooks/shared/use-translator'; +import { getInvitationStatus } from '@/lib/utils/my-organization/member-management/member-management-utils'; +import type { OrganizationInvitationTableActionsColumnProps } from '@/types/my-organization/member-management/organization-invitation-table-types'; + +/** + * OrganizationInvitationTableActionsColumn Component + * Handles the actions column for Invitation table with dropdown menu. + * @param props - Component props. + * @param props.invitation - The invitation to show actions for. + * @param props.customMessages - Custom translation messages to override defaults. + * @param props.readOnly - Whether the component is in read-only mode. + * @param props.onViewDetails - Callback fired when view details action is triggered. + * @param props.onCopyUrl - Callback fired when copy URL action is triggered. + * @param props.onRevokeAndResend - Callback fired when revoke and resend action is triggered. + * @param props.onRevoke - Callback fired when revoke action is triggered. + * @returns JSX element. + */ +export function OrganizationInvitationTableActionsColumn({ + invitation, + customMessages = {}, + readOnly = false, + onViewDetails, + onCopyUrl, + onRevokeAndResend, + onRevoke, +}: OrganizationInvitationTableActionsColumnProps): React.JSX.Element { + const { t } = useTranslator('member_management', customMessages); + const status = getInvitationStatus(invitation); + const isPending = status === 'pending'; + + const handleViewDetails = React.useCallback(() => { + onViewDetails?.(invitation); + }, [invitation, onViewDetails]); + + const handleCopyUrl = React.useCallback(() => { + onCopyUrl?.(invitation); + }, [invitation, onCopyUrl]); + + const handleRevokeAndResend = React.useCallback(() => { + onRevokeAndResend?.(invitation); + }, [invitation, onRevokeAndResend]); + + const handleRevoke = React.useCallback(() => { + onRevoke?.(invitation); + }, [invitation, onRevoke]); + + return ( +
+ + + + {t('invitation.actions.menu_label')} + + + + {/* View Details - always available */} + + + {t('invitation.actions.view_details')} + + + {/* Copy URL - only for pending invitations with URL */} + {isPending && invitation.invitation_url && ( + + + {t('invitation.actions.copy_url')} + + )} + + {!readOnly && ( + + + {t('invitation.actions.revoke_and_resend')} + + )} + + {!readOnly && ( + <> + + + + {t('invitation.actions.revoke')} + + + )} + + + +
+ ); +} diff --git a/packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-table/organization-invitation-table.tsx b/packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-table/organization-invitation-table.tsx new file mode 100644 index 000000000..f68ba2ef0 --- /dev/null +++ b/packages/react/src/components/auth0/my-organization/shared/member-management/invitations/invitation-table/organization-invitation-table.tsx @@ -0,0 +1,188 @@ +/** + * Organization invitation table component. + * @module organization-invitation-table + * @internal + */ + +import type { MemberInvitation } from '@auth0/universal-components-core'; +import * as React from 'react'; + +import { OrganizationInvitationTableActionsColumn } from './organization-invitation-table-actions-column'; + +import { SearchFilter } from '@/components/auth0/my-organization/shared/member-management/shared/search-filter/search-filter'; +import { DataPagination } from '@/components/auth0/shared/data-pagination'; +import { DataTable, type Column } from '@/components/auth0/shared/data-table'; +import { Badge } from '@/components/ui/badge'; +import { useTranslator } from '@/hooks/shared/use-translator'; +import { cn } from '@/lib/utils'; +import { getInvitationStatus } from '@/lib/utils/my-organization/member-management/member-management-utils'; +import type { OrganizationInvitationTableProps } from '@/types/my-organization/member-management/organization-invitation-table-types'; + +/** + * Organization invitation table component. + * Displays invitations with search, filtering, and pagination. + * @param props - The component props. + * @param props.invitations - The list of invitations to display. + * @param props.loading - Whether the table is loading. + * @param props.customMessages - Custom translation messages. + * @param props.pagination - Pagination state. + * @param props.filters - Current filter state. + * @param props.availableRoles - Available roles for filtering. + * @param props.readOnly - Whether the component is in read-only mode. + * @param props.onView - Callback when viewing invitation details. + * @param props.onCopyUrl - Callback when copying invitation URL. + * @param props.onRevokeAndResend - Callback when revoking and resending invitation. + * @param props.onRevoke - Callback when revoking invitation. + * @param props.onPageChange - Callback when page changes. + * @param props.onPageSizeChange - Callback when page size changes. + * @param props.onRoleFilterChange - Callback when role filter changes. + * @param props.className - Optional CSS class name. + * @returns The invitation table component. + */ +export function OrganizationInvitationTable({ + invitations, + loading = false, + customMessages = {}, + pagination, + filters, + availableRoles, + readOnly = false, + sortConfig, + onSortChange, + onView, + onCopyUrl, + onRevokeAndResend, + onRevoke, + onNextPage, + onPreviousPage, + onPageSizeChange, + onRoleFilterChange, + className, +}: OrganizationInvitationTableProps): React.JSX.Element { + const { t } = useTranslator('member_management', customMessages); + + const renderDate = (_invitation: MemberInvitation, value: string | number | Date) => ( + + {new Date(value).toLocaleString(undefined, { + year: 'numeric', + month: 'short', + day: 'numeric', + hour: 'numeric', + minute: '2-digit', + })} + + ); + + const columns: Column[] = React.useMemo( + () => [ + { + type: 'text', + accessorKey: 'invitee', + title: t('invitation.table.columns.email'), + enableSorting: false, + render: (invitation) => ( +
{invitation.invitee?.email}
+ ), + }, + { + type: 'text', + accessorKey: 'organization_id', + title: t('invitation.table.columns.status'), + enableSorting: false, + render: (invitation) => { + const status = getInvitationStatus(invitation); + return ( + + {status === 'pending' + ? t('invitation.table.status_pending') + : t('invitation.table.status_expired')} + + ); + }, + }, + { + type: 'date', + accessorKey: 'created_at', + title: t('invitation.table.columns.created_at'), + enableSorting: true, + format: 'medium', + render: renderDate, + }, + { + type: 'date', + accessorKey: 'expires_at', + title: t('invitation.table.columns.expires_at'), + enableSorting: false, + format: 'medium', + render: renderDate, + }, + { + type: 'text', + accessorKey: 'inviter', + title: t('invitation.table.columns.inviter'), + enableSorting: false, + render: (invitation) => ( + {invitation.inviter?.name ?? '-'} + ), + }, + { + type: 'actions', + title: '', + enableSorting: false, + render: (invitation) => ( + + ), + }, + ], + [t, customMessages, readOnly, onView, onCopyUrl, onRevokeAndResend, onRevoke], + ); + + return ( +
+ + + + + {invitations.length > 0 && ( +
+ +
+ )} +
+ ); +} diff --git a/packages/react/src/components/auth0/my-organization/shared/member-management/shared/invitation-create/organization-invitation-create-modal.tsx b/packages/react/src/components/auth0/my-organization/shared/member-management/shared/invitation-create/organization-invitation-create-modal.tsx new file mode 100644 index 000000000..2ad901088 --- /dev/null +++ b/packages/react/src/components/auth0/my-organization/shared/member-management/shared/invitation-create/organization-invitation-create-modal.tsx @@ -0,0 +1,302 @@ +/** + * Organization invitation create modal component. + * @module organization-invitation-create-modal + */ + +import { + createInvitationCreateSchema, + type InvitationCreateSchemas, +} from '@auth0/universal-components-core'; +import * as React from 'react'; + +import { Button } from '@/components/ui/button'; +import { Combobox } from '@/components/ui/combobox'; +import { + Dialog, + DialogContent, + DialogDescription, + DialogFooter, + DialogHeader, + DialogTitle, +} from '@/components/ui/dialog'; +import { Label } from '@/components/ui/label'; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from '@/components/ui/select'; +import { TextFieldGroup } from '@/components/ui/text-field-group'; +import type { ChipItem } from '@/components/ui/text-field-group'; +import { useTranslator } from '@/hooks/shared/use-translator'; +import type { + CreateInvitationInput, + RoleOption, + IdentityProviderOption, + OrganizationInvitationTabMessages, +} from '@/types/my-organization/member-management/organization-invitation-table-types'; + +export interface OrganizationInvitationCreateModalProps { + isOpen: boolean; + isLoading?: boolean; + customMessages?: Partial; + availableRoles?: RoleOption[]; + availableProviders?: IdentityProviderOption[]; + inviterName?: string; + schema?: InvitationCreateSchemas; + onClose: () => void; + onCreate: (data: CreateInvitationInput) => void; + className?: string; +} + +/** + * Modal for creating a new invitation. + * Supports multiple email addresses, role selection, and provider selection. + * Validation rules can be overridden via the `schema` prop. + * + * @param props - The component props. + * @param props.isOpen - Whether the modal is open. + * @param props.isLoading - Whether the form is loading. + * @param props.customMessages - Custom translation messages. + * @param props.availableRoles - Available roles for selection. + * @param props.availableProviders - Available identity providers. + * @param props.inviterName - Name of the person sending the invitation. + * @param props.schema - Schema overrides for validation (email regex, maxEmails, error messages). + * @param props.onClose - Callback when modal is closed. + * @param props.onCreate - Callback when invitation is created. + * @param props.className - Optional CSS class name. + * @returns The modal component. + */ +export function OrganizationInvitationCreateModal({ + isOpen, + isLoading = false, + customMessages = {}, + availableRoles = [], + availableProviders = [], + inviterName, + schema, + onClose, + onCreate, + className, +}: OrganizationInvitationCreateModalProps): React.JSX.Element { + const { t } = useTranslator('member_management', customMessages); + + const validationConfig = React.useMemo( + () => createInvitationCreateSchema(schema, t('invitation.create.email_invalid_error')), + [schema, t], + ); + + const [emailInput, setEmailInput] = React.useState(''); + const [emailChips, setEmailChips] = React.useState([]); + const [selectedRoles, setSelectedRoles] = React.useState([]); + const [selectedProvider, setSelectedProvider] = React.useState(); + const [emailError, setEmailError] = React.useState(); + + const handleEmailInputChange = React.useCallback((e: React.ChangeEvent) => { + setEmailInput(e.target.value); + setEmailError(undefined); + }, []); + + const hasInvalidChips = React.useMemo( + () => emailChips.some((chip) => chip.variant === 'destructive'), + [emailChips], + ); + + const handleEmailChipAdd = React.useCallback( + (value: string) => { + const trimmedEmail = value.trim().replace(/,/g, ''); + + if (!trimmedEmail) return; + + if (emailChips.length >= validationConfig.maxEmails) { + setEmailError(t('invitation.create.email_limit_error')); + return; + } + + if (emailChips.some((chip) => chip.value === trimmedEmail)) { + setEmailError(t('invitation.create.email_duplicate_error')); + return; + } + + const result = validationConfig.emailSchema.safeParse(trimmedEmail); + if (!result.success) { + setEmailChips((prev) => [ + ...prev, + { label: trimmedEmail, value: trimmedEmail, variant: 'destructive' }, + ]); + setEmailInput(''); + setEmailError(t('invitation.create.email_invalid_error')); + return; + } + + setEmailChips((prev) => [...prev, { label: trimmedEmail, value: trimmedEmail }]); + setEmailInput(''); + setEmailError(undefined); + }, + [emailChips, validationConfig, t], + ); + + const handleEmailChipRemove = React.useCallback((value: string) => { + setEmailChips((prev) => { + const updated = prev.filter((chip) => chip.value !== value); + if (!updated.some((chip) => chip.variant === 'destructive')) { + setEmailError(undefined); + } + return updated; + }); + }, []); + + const handleRoleChange = React.useCallback((value: string | string[]) => { + setSelectedRoles(Array.isArray(value) ? value : value ? [value] : []); + }, []); + + const handleProviderChange = React.useCallback((value: string) => { + setSelectedProvider(value || undefined); + }, []); + + const handleSubmit = React.useCallback( + async (e: React.FormEvent) => { + e.preventDefault(); + + // Add any remaining input to emails + const finalEmails = emailChips.map((chip) => chip.value); + if (emailInput.trim()) { + const trimmedEmail = emailInput.trim(); + const result = validationConfig.emailSchema.safeParse(trimmedEmail); + if (result.success && !finalEmails.includes(trimmedEmail)) { + finalEmails.push(trimmedEmail); + } + } + + if (finalEmails.length === 0) { + setEmailError(t('invitation.create.email_required_error')); + return; + } + + // Create invitations for each email + for (const email of finalEmails) { + const invitationData: CreateInvitationInput = { + invitee: { email }, + roles: selectedRoles.length > 0 ? selectedRoles : undefined, + identity_provider_id: selectedProvider, + }; + + if (inviterName) { + invitationData.inviter = { name: inviterName }; + } + + onCreate(invitationData); + } + }, + [ + emailChips, + emailInput, + validationConfig, + selectedRoles, + selectedProvider, + inviterName, + onCreate, + t, + ], + ); + + const handleClose = React.useCallback(() => { + setEmailInput(''); + setEmailChips([]); + setSelectedRoles([]); + setSelectedProvider(undefined); + setEmailError(undefined); + onClose(); + }, [onClose]); + + const canSubmit = React.useMemo( + () => + !hasInvalidChips && + (emailChips.length > 0 || + (emailInput.trim() !== '' && + validationConfig.emailSchema.safeParse(emailInput.trim()).success)), + [emailChips.length, emailInput, validationConfig, hasInvalidChips], + ); + + const roleOptions = React.useMemo( + () => availableRoles.map((role) => ({ label: role.name, value: role.id })), + [availableRoles], + ); + + return ( + + +
+ + {t('invitation.create.title')} + {t('invitation.create.description')} + + +
+ {/* Email Input */} +
+ + +

{t('invitation.create.email_helper')}

+ {emailError &&

{emailError}

} +
+ + {/* Roles Combobox */} +
+ + +
+ + {/* Provider Dropdown */} +
+ + +

+ {t('invitation.create.provider_helper')} +

+
+
+ + + + + +
+
+
+ ); +} diff --git a/packages/react/src/components/auth0/my-organization/shared/member-management/shared/search-filter/search-filter.tsx b/packages/react/src/components/auth0/my-organization/shared/member-management/shared/search-filter/search-filter.tsx new file mode 100644 index 000000000..73612ad9a --- /dev/null +++ b/packages/react/src/components/auth0/my-organization/shared/member-management/shared/search-filter/search-filter.tsx @@ -0,0 +1,83 @@ +/** + * Search and filter component for invitations. + * @module search-filter + * @internal + */ + +import { X } from 'lucide-react'; +import * as React from 'react'; + +import { Button } from '@/components/ui/button'; +import { + Select, + SelectContent, + SelectItem, + SelectTrigger, + SelectValue, +} from '@/components/ui/select'; +import { useTranslator } from '@/hooks/shared/use-translator'; +import type { SearchFilterProps } from '@/types/my-organization/member-management/organization-invitation-table-types'; + +/** + * Filter bar for invitation table. + * Shows a right-aligned role filter dropdown with a reset button. + * @param props - The component props. + * @param props.filters - Current filter state. + * @param props.availableRoles - Available roles for filtering. + * @param props.customMessages - Custom translation messages. + * @param props.className - Optional CSS class name. + * @param props.onRoleFilterChange - Callback fired when role filter changes. + * @returns The filter bar component. + */ +export function SearchFilter({ + filters, + availableRoles = [], + customMessages = {}, + className, + onRoleFilterChange, +}: SearchFilterProps): React.JSX.Element | null { + const { t } = useTranslator('member_management', customMessages); + + const handleRoleFilterChange = React.useCallback( + (value: string) => { + onRoleFilterChange?.(value === 'all' ? undefined : value); + }, + [onRoleFilterChange], + ); + + const handleReset = React.useCallback(() => { + onRoleFilterChange?.(undefined); + }, [onRoleFilterChange]); + + const hasActiveFilter = !!filters?.roleId; + + if (availableRoles.length === 0) { + return null; + } + + return ( +
+ + + +
+ ); +} diff --git a/packages/react/src/lib/utils/my-organization/member-management/member-management-utils.ts b/packages/react/src/lib/utils/my-organization/member-management/member-management-utils.ts new file mode 100644 index 000000000..9f6c24379 --- /dev/null +++ b/packages/react/src/lib/utils/my-organization/member-management/member-management-utils.ts @@ -0,0 +1,25 @@ +/** + * Member management utility functions. + * @module member-management-utils + * @internal + */ + +import type { MemberInvitation } from '@auth0/universal-components-core'; + +import type { InvitationStatus } from '@/types/my-organization/member-management/organization-invitation-table-types'; + +/** + * Determines the status of an invitation based on `expires_at`. + * @param invitation - The invitation to check. + * @returns The invitation status. + */ +export function getInvitationStatus(invitation: MemberInvitation): InvitationStatus { + if (invitation.expires_at) { + const expiresAt = new Date(invitation.expires_at); + if (expiresAt < new Date()) { + return 'expired'; + } + } + + return 'pending'; +} diff --git a/packages/react/src/types/index.ts b/packages/react/src/types/index.ts index e88c10c02..844caff99 100644 --- a/packages/react/src/types/index.ts +++ b/packages/react/src/types/index.ts @@ -25,3 +25,5 @@ export * from './my-organization/idp-management/sso-provisioning/provisioning-to export * from './my-organization/idp-management/sso-provisioning/sso-provisioning-tab-types'; export * from './my-organization/organization-management/organization-details-edit-types'; export * from './my-organization/organization-management/organization-details-types'; +export * from './my-organization/member-management/organization-invitation-table-types'; +export * from './my-organization/member-management/organization-member-management-types'; diff --git a/packages/react/src/types/my-organization/member-management/organization-invitation-table-types.ts b/packages/react/src/types/my-organization/member-management/organization-invitation-table-types.ts new file mode 100644 index 000000000..1496d3c25 --- /dev/null +++ b/packages/react/src/types/my-organization/member-management/organization-invitation-table-types.ts @@ -0,0 +1,213 @@ +/** + * Organization invitation table types. + * @module organization-invitation-table-types + */ + +import type { + SharedComponentProps, + ComponentAction, + MemberInvitation, +} from '@auth0/universal-components-core'; + +/** Invitation status. */ +export type InvitationStatus = 'pending' | 'expired'; + +/** Role option for invitation. */ +export interface RoleOption { + id: string; + name: string; + description?: string; +} + +/** Identity provider option for invitation. */ +export interface IdentityProviderOption { + id: string; + name: string; + type?: string; +} + +/** Input for creating an invitation. */ +export interface CreateInvitationInput { + invitee: { + email: string; + }; + inviter?: { + name?: string; + }; + roles?: string[]; + identity_provider_id?: string; + /** Time to live in seconds */ + ttl_sec?: number; +} + +/** Pagination state for invitation table (checkpoint-based). */ +export interface InvitationPaginationState { + pageSize: number; + currentPage: number; + totalItems?: number; + hasNextPage: boolean; + hasPreviousPage: boolean; +} + +/** Sort configuration for invitation table. */ +export interface InvitationSortConfig { + key: string | null; + direction: 'asc' | 'desc'; +} + +/** Filter state for invitation table. */ +export interface InvitationFilterState { + searchQuery?: string; + roleId?: string; +} + +/** CSS classes for OrganizationInvitationTab. */ +export interface OrganizationInvitationTabClasses { + 'OrganizationInvitationTab-root'?: string; + 'OrganizationInvitationTab-table'?: string; + 'OrganizationInvitationTab-createModal'?: string; + 'OrganizationInvitationTab-detailsModal'?: string; + 'OrganizationInvitationTab-revokeModal'?: string; + 'OrganizationInvitationTab-revokeResendModal'?: string; + 'OrganizationInvitationTab-searchInput'?: string; + 'OrganizationInvitationTab-filterDropdown'?: string; + 'OrganizationInvitationTab-pagination'?: string; +} + +/** OrganizationInvitationTab translation messages. */ +export interface OrganizationInvitationTabMessages { + table?: { + columns?: { + email?: string; + status?: string; + inviter?: string; + created_at?: string; + expires_at?: string; + roles?: string; + }; + empty_message?: string; + search_placeholder?: string; + filter_by_role?: string; + all_roles?: string; + reset_filter?: string; + showing_results?: string; + status_pending?: string; + status_expired?: string; + }; + actions?: { + menu_label?: string; + view_details?: string; + copy_url?: string; + revoke_and_resend?: string; + revoke?: string; + }; + create?: { + title?: string; + description?: string; + email_label?: string; + email_placeholder?: string; + email_helper?: string; + email_limit_error?: string; + email_invalid_error?: string; + email_duplicate_error?: string; + email_required_error?: string; + roles_label?: string; + roles_placeholder?: string; + provider_label?: string; + provider_placeholder?: string; + submit_button?: string; + creating?: string; + cancel_button?: string; + }; + details?: { + title?: string; + email_label?: string; + status_label?: string; + roles_label?: string; + provider_label?: string; + created_at_label?: string; + expires_at_label?: string; + invited_by_label?: string; + invitation_url_label?: string; + copy_url_button?: string; + close_button?: string; + revoke_button?: string; + resend_button?: string; + }; + revoke?: { + title?: string; + description?: string; + confirm_button?: string; + cancel_button?: string; + }; + revoke_resend?: { + title?: string; + description?: string; + confirm_button?: string; + cancel_button?: string; + }; + success?: { + url_copied?: string; + invitation_resent?: string; + }; + error?: { + fetch_failed?: string; + create_failed?: string; + revoke_failed?: string; + resend_failed?: string; + revoke_resend_failed?: string; + copy_url_failed?: string; + }; +} + +/** Props for OrganizationInvitationTab component. */ +export interface OrganizationInvitationTabProps + extends SharedComponentProps< + OrganizationInvitationTabMessages, + OrganizationInvitationTabClasses + > { + createAction?: ComponentAction; + revokeAction?: ComponentAction; +} + +/** Props for OrganizationInvitationTableActionsColumn component. */ +export interface OrganizationInvitationTableActionsColumnProps { + invitation: MemberInvitation; + customMessages?: Partial; + readOnly?: boolean; + onViewDetails?: (invitation: MemberInvitation) => void; + onCopyUrl?: (invitation: MemberInvitation) => void; + onRevokeAndResend?: (invitation: MemberInvitation) => void; + onRevoke?: (invitation: MemberInvitation) => void; +} + +/** Props for OrganizationInvitationTable component. */ +export interface OrganizationInvitationTableProps { + invitations: MemberInvitation[]; + loading?: boolean; + customMessages?: Partial; + pagination: InvitationPaginationState; + filters?: InvitationFilterState; + sortConfig?: InvitationSortConfig; + availableRoles?: RoleOption[]; + readOnly?: boolean; + onView?: (invitation: MemberInvitation) => void; + onCopyUrl?: (invitation: MemberInvitation) => void; + onRevokeAndResend?: (invitation: MemberInvitation) => void; + onRevoke?: (invitation: MemberInvitation) => void; + onNextPage?: () => void; + onPreviousPage?: () => void; + onPageSizeChange?: (pageSize: number) => void; + onSortChange?: (sortConfig: InvitationSortConfig) => void; + onRoleFilterChange?: (roleId: string | undefined) => void; + className?: string; +} + +/** Props for SearchFilter component. */ +export interface SearchFilterProps { + filters?: InvitationFilterState; + availableRoles?: RoleOption[]; + customMessages?: Partial; + className?: string; + onRoleFilterChange?: (roleId: string | undefined) => void; +} diff --git a/packages/react/src/types/my-organization/member-management/organization-member-management-types.ts b/packages/react/src/types/my-organization/member-management/organization-member-management-types.ts new file mode 100644 index 000000000..07a18b42d --- /dev/null +++ b/packages/react/src/types/my-organization/member-management/organization-member-management-types.ts @@ -0,0 +1,147 @@ +/** + * Organization member management types. + * @module organization-member-management-types + */ + +import type { + ComponentAction, + SharedComponentProps, + MemberInvitation, +} from '@auth0/universal-components-core'; +import type { UseMutationResult, UseQueryResult } from '@tanstack/react-query'; + +import type { + CreateInvitationInput, + IdentityProviderOption, + InvitationFilterState, + InvitationPaginationState, + InvitationSortConfig, + OrganizationInvitationTabClasses, + OrganizationInvitationTabMessages, + RoleOption, +} from './organization-invitation-table-types'; + +export type ActiveTab = 'members' | 'invitations'; + +export interface TableQueryParams { + pageSize: number; + fromToken: string | undefined; + sortConfig: TSort; + filters: TFilter; +} + +export interface UseMemberManagementServiceOptions { + customMessages?: OrganizationMemberManagementMessages; + activeTab: ActiveTab; + createInvitationAction?: ComponentAction; + revokeInvitationAction?: ComponentAction; + resendInvitationAction?: ComponentAction; + invitationParams: TableQueryParams; +} + +export interface MemberManagementServiceResult { + providersQuery: UseQueryResult; + invitationsQuery: UseQueryResult<{ + invitations: MemberInvitation[]; + next: string | null; + total: number | undefined; + }>; + createInvitationMutation: UseMutationResult< + MemberInvitation | undefined, + Error, + CreateInvitationInput + >; + revokeInvitationMutation: UseMutationResult; + resendInvitationMutation: UseMutationResult< + MemberInvitation | undefined, + Error, + MemberInvitation + >; + fetchInvitationDetails: (invitationId: string) => Promise; +} + +export interface UseOrganizationMemberManagementOptions { + customMessages?: OrganizationMemberManagementMessages; + readOnly?: boolean; + /** Action hooks for invitation creation (onBefore/onAfter) */ + createInvitationAction?: ComponentAction; + /** Action hooks for invitation revocation (onBefore/onAfter) */ + revokeInvitationAction?: ComponentAction; + /** Action hooks for invitation revoke-and-resend (onBefore/onAfter) */ + resendInvitationAction?: ComponentAction; +} + +export interface UseOrganizationMemberManagementResult { + activeTab: ActiveTab; + isLoading: boolean; + availableRoles: RoleOption[]; + availableProviders: IdentityProviderOption[]; + + invitations: MemberInvitation[]; + isFetchingInvitations: boolean; + isCreatingInvitation: boolean; + isRevokingInvitation: boolean; + isResendingInvitation: boolean; + invitationPagination: InvitationPaginationState; + invitationFilters: InvitationFilterState; + invitationSortConfig: InvitationSortConfig; + showCreateModal: boolean; + showDetailsModal: boolean; + showRevokeModal: boolean; + showRevokeResendModal: boolean; + selectedInvitation: MemberInvitation | null; + + setActiveTab: (tab: ActiveTab) => void; + handleCreateClick: () => void; + handleCreateSubmit: (data: CreateInvitationInput) => void; + handleCreateCancel: () => void; + handleDetailsClick: (invitation: MemberInvitation) => void; + handleDetailsClose: () => void; + handleRevokeClick: (invitation: MemberInvitation) => void; + handleRevokeConfirm: () => void; + handleRevokeCancel: () => void; + handleRevokeResendClick: (invitation: MemberInvitation) => void; + handleRevokeResendConfirm: () => void; + handleRevokeResendCancel: () => void; + handleCopyUrl: (invitation: MemberInvitation) => Promise; + handleNextPage: () => void; + handlePreviousPage: () => void; + handlePageSizeChange: (pageSize: number) => void; + handleSortChange: (sortConfig: InvitationSortConfig) => void; + handleRoleFilterChange: (roleId: string | undefined) => void; +} + +/** CSS classes for OrganizationMemberManagement. */ +export interface OrganizationMemberManagementClasses extends OrganizationInvitationTabClasses { + 'OrganizationMemberManagement-root'?: string; + 'OrganizationMemberManagement-header'?: string; + 'OrganizationMemberManagement-tabs'?: string; +} + +/** OrganizationMemberManagement translation messages. */ +export interface OrganizationMemberManagementMessages { + header?: { + title?: string; + description?: string; + }; + tabs?: { + members?: string; + invitations?: string; + }; + invitation?: OrganizationInvitationTabMessages; +} + +/** Props for OrganizationMemberManagement component. */ +export interface OrganizationMemberManagementProps + extends SharedComponentProps< + OrganizationMemberManagementMessages, + OrganizationMemberManagementClasses + > { + hideHeader?: boolean; + /** Action hooks for invitation creation (onBefore/onAfter) */ + createInvitationAction?: ComponentAction; + /** Action hooks for invitation revocation (onBefore/onAfter) */ + revokeInvitationAction?: ComponentAction; + /** Action hooks for invitation revoke-and-resend (onBefore/onAfter) */ + resendInvitationAction?: ComponentAction; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c1dd266d0..8d6842bd3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -548,8 +548,8 @@ importers: specifier: 1.0.0-beta.0 version: 1.0.0-beta.0 '@auth0/myorganization-js': - specifier: 1.0.0-beta.6 - version: 1.0.0-beta.6 + specifier: file:../../auth0-myorganization-js-1.0.0-beta.4.tgz + version: file:auth0-myorganization-js-1.0.0-beta.4.tgz zod: specifier: ^3.22.4 version: 3.25.76 @@ -733,9 +733,10 @@ packages: resolution: {integrity: sha512-slj0RtNfieNk1BC1ERrCQw65qMUVKU5qacbTc8BFH8R316CUpsOhZ2MIiV9l3VEkaqY1hmCZm03+ZI6ym+3PZg==} engines: {node: '>=18.0.0'} - '@auth0/myorganization-js@1.0.0-beta.6': - resolution: {integrity: sha512-pHqZ86E3+l1++Aw3TbPLRzuCkZYHlQnmdIJz/Ydij8FrGXfUhS3wDP9ZZrwHnPVXBw91pOhxQR5kOavAYRmi5w==} - engines: {node: '>=20.0.0'} + '@auth0/myorganization-js@file:auth0-myorganization-js-1.0.0-beta.4.tgz': + resolution: {integrity: sha512-yTZbJ0K75WsCGsb9bXBGTs32WLXEXqyTuM9lgmYST8uSag2ILfJdYZPQZkvyKM5v+7Sk5B9vz0mg3tNfv8SFNg==, tarball: file:auth0-myorganization-js-1.0.0-beta.4.tgz} + version: 1.0.0-beta.4 + engines: {node: '>=18.0.0'} '@auth0/nextjs-auth0@4.16.0': resolution: {integrity: sha512-QTQdK+/YL68J7b1tSdvJTT16+r+Dxwy/m0kwl73CEy/QsYCpHE1sCZYgQ4UaFZb5jHQ7d4R2JUkHN5k2fKQ4zg==} @@ -7363,7 +7364,7 @@ snapshots: '@auth0/myaccount-js@1.0.0-beta.0': {} - '@auth0/myorganization-js@1.0.0-beta.6': + '@auth0/myorganization-js@file:auth0-myorganization-js-1.0.0-beta.4.tgz': dependencies: '@auth0/auth0-auth-js': 1.5.0 @@ -12375,7 +12376,7 @@ snapshots: headers-polyfill: 4.0.3 is-node-process: 1.2.0 outvariant: 1.4.3 - path-to-regexp: 6.3.0 + path-to-regexp: 8.4.2 picocolors: 1.1.1 rettime: 0.7.0 strict-event-emitter: 0.5.1 From 53b1407460be03d013eac197a088bead9e49fc2b Mon Sep 17 00:00:00 2001 From: rax7389 Date: Wed, 8 Apr 2026 16:53:33 +0530 Subject: [PATCH 2/7] chore: update core package.json for myorganization-js --- packages/core/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/package.json b/packages/core/package.json index 497130fe8..b71882c24 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -52,7 +52,7 @@ }, "dependencies": { "@auth0/myaccount-js": "1.0.0-beta.0", - "@auth0/myorganization-js": "1.0.0-beta.6", + "@auth0/myorganization-js": "file:../../auth0-myorganization-js-1.0.0-beta.4.tgz", "zod": "^3.22.4" } } From e44e20aa3b1a735e77f44d79ded1038919be4d81 Mon Sep 17 00:00:00 2001 From: rax7389 Date: Mon, 13 Apr 2026 22:53:36 +0530 Subject: [PATCH 3/7] refactor(react): addressed review comments --- .../organization-invitation-create-modal.tsx | 21 ++++++++-------- .../shared/search-filter/search-filter.tsx | 5 +++- .../member-management-utils.ts | 9 ++----- .../organization-member-management-types.ts | 24 +++++++++---------- 4 files changed, 27 insertions(+), 32 deletions(-) diff --git a/packages/react/src/components/auth0/my-organization/shared/member-management/shared/invitation-create/organization-invitation-create-modal.tsx b/packages/react/src/components/auth0/my-organization/shared/member-management/shared/invitation-create/organization-invitation-create-modal.tsx index 2ad901088..758346dcf 100644 --- a/packages/react/src/components/auth0/my-organization/shared/member-management/shared/invitation-create/organization-invitation-create-modal.tsx +++ b/packages/react/src/components/auth0/my-organization/shared/member-management/shared/invitation-create/organization-invitation-create-modal.tsx @@ -174,20 +174,19 @@ export function OrganizationInvitationCreateModal({ return; } - // Create invitations for each email - for (const email of finalEmails) { - const invitationData: CreateInvitationInput = { - invitee: { email }, + const invitationData: CreateInvitationInput = { + invitees: finalEmails.map((email) => ({ + email, roles: selectedRoles.length > 0 ? selectedRoles : undefined, - identity_provider_id: selectedProvider, - }; + })), + identity_provider_id: selectedProvider, + }; - if (inviterName) { - invitationData.inviter = { name: inviterName }; - } - - onCreate(invitationData); + if (inviterName) { + invitationData.inviter = { name: inviterName }; } + + onCreate(invitationData); }, [ emailChips, diff --git a/packages/react/src/components/auth0/my-organization/shared/member-management/shared/search-filter/search-filter.tsx b/packages/react/src/components/auth0/my-organization/shared/member-management/shared/search-filter/search-filter.tsx index 73612ad9a..62da9a66f 100644 --- a/packages/react/src/components/auth0/my-organization/shared/member-management/shared/search-filter/search-filter.tsx +++ b/packages/react/src/components/auth0/my-organization/shared/member-management/shared/search-filter/search-filter.tsx @@ -58,7 +58,10 @@ export function SearchFilter({ return (