@thunderid/react 1.6.0 → 1.8.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.
- package/dist/cjs/components/admin/AgentCreate/AgentCreate.cjs +15 -4
- package/dist/cjs/components/admin/AgentCreate/AgentCreate.cjs.map +1 -1
- package/dist/cjs/components/admin/AgentDetails/AgentDetails.cjs +36 -8
- package/dist/cjs/components/admin/AgentDetails/AgentDetails.cjs.map +1 -1
- package/dist/cjs/components/admin/AgentList/AgentList.cjs +13 -4
- package/dist/cjs/components/admin/AgentList/AgentList.cjs.map +1 -1
- package/dist/cjs/components/admin/ApplicationCreate/ApplicationCreate.cjs +70 -0
- package/dist/cjs/components/admin/ApplicationCreate/ApplicationCreate.cjs.map +1 -0
- package/dist/cjs/components/admin/ApplicationCreate/BaseApplicationCreate.cjs +135 -0
- package/dist/cjs/components/admin/ApplicationCreate/BaseApplicationCreate.cjs.map +1 -0
- package/dist/cjs/components/admin/ApplicationDetails/ApplicationDetails.cjs +82 -0
- package/dist/cjs/components/admin/ApplicationDetails/ApplicationDetails.cjs.map +1 -0
- package/dist/cjs/components/admin/ApplicationDetails/BaseApplicationDetails.cjs +238 -0
- package/dist/cjs/components/admin/ApplicationDetails/BaseApplicationDetails.cjs.map +1 -0
- package/dist/cjs/components/admin/ApplicationList/ApplicationList.cjs +55 -0
- package/dist/cjs/components/admin/ApplicationList/ApplicationList.cjs.map +1 -0
- package/dist/cjs/components/admin/ApplicationList/BaseApplicationList.cjs +95 -0
- package/dist/cjs/components/admin/ApplicationList/BaseApplicationList.cjs.map +1 -0
- package/dist/cjs/components/admin/GroupCreate/GroupCreate.cjs +8 -2
- package/dist/cjs/components/admin/GroupCreate/GroupCreate.cjs.map +1 -1
- package/dist/cjs/components/admin/GroupList/GroupList.cjs +10 -3
- package/dist/cjs/components/admin/GroupList/GroupList.cjs.map +1 -1
- package/dist/cjs/components/admin/GroupMembers/GroupMembers.cjs +47 -10
- package/dist/cjs/components/admin/GroupMembers/GroupMembers.cjs.map +1 -1
- package/dist/cjs/components/admin/RoleAssignments/RoleAssignments.cjs +48 -14
- package/dist/cjs/components/admin/RoleAssignments/RoleAssignments.cjs.map +1 -1
- package/dist/cjs/components/admin/RoleCreate/RoleCreate.cjs +8 -2
- package/dist/cjs/components/admin/RoleCreate/RoleCreate.cjs.map +1 -1
- package/dist/cjs/components/admin/RoleList/RoleList.cjs +10 -3
- package/dist/cjs/components/admin/RoleList/RoleList.cjs.map +1 -1
- package/dist/cjs/components/admin/RolePermissions/RolePermissions.cjs +8 -2
- package/dist/cjs/components/admin/RolePermissions/RolePermissions.cjs.map +1 -1
- package/dist/cjs/components/admin/UserCreate/UserCreate.cjs +15 -4
- package/dist/cjs/components/admin/UserCreate/UserCreate.cjs.map +1 -1
- package/dist/cjs/components/admin/UserDetails/UserDetails.cjs +31 -8
- package/dist/cjs/components/admin/UserDetails/UserDetails.cjs.map +1 -1
- package/dist/cjs/components/admin/UserList/UserList.cjs +13 -4
- package/dist/cjs/components/admin/UserList/UserList.cjs.map +1 -1
- package/dist/cjs/components/admin/shared/ApplicationFormFields.cjs +62 -0
- package/dist/cjs/components/admin/shared/ApplicationFormFields.cjs.map +1 -0
- package/dist/cjs/components/admin/shared/ClientSecretNotice.cjs +49 -0
- package/dist/cjs/components/admin/shared/ClientSecretNotice.cjs.map +1 -0
- package/dist/cjs/components/auth/InviteUser/InviteUser.cjs +1 -1
- package/dist/cjs/components/auth/flow/Consent.cjs +93 -73
- package/dist/cjs/components/auth/flow/Consent.cjs.map +1 -1
- package/dist/cjs/hooks/management/useManagementEndpoint.cjs.map +1 -1
- package/dist/cjs/hooks/management/useManagementRequestConfig.cjs +41 -0
- package/dist/cjs/hooks/management/useManagementRequestConfig.cjs.map +1 -0
- package/dist/cjs/index.cjs +1066 -188
- package/dist/components/admin/AgentCreate/AgentCreate.d.ts.map +1 -1
- package/dist/components/admin/AgentCreate/AgentCreate.js +16 -5
- package/dist/components/admin/AgentCreate/AgentCreate.js.map +1 -1
- package/dist/components/admin/AgentDetails/AgentDetails.d.ts.map +1 -1
- package/dist/components/admin/AgentDetails/AgentDetails.js +37 -9
- package/dist/components/admin/AgentDetails/AgentDetails.js.map +1 -1
- package/dist/components/admin/AgentList/AgentList.d.ts.map +1 -1
- package/dist/components/admin/AgentList/AgentList.js +14 -5
- package/dist/components/admin/AgentList/AgentList.js.map +1 -1
- package/dist/components/admin/ApplicationCreate/ApplicationCreate.d.ts +30 -0
- package/dist/components/admin/ApplicationCreate/ApplicationCreate.d.ts.map +1 -0
- package/dist/components/admin/ApplicationCreate/ApplicationCreate.js +66 -0
- package/dist/components/admin/ApplicationCreate/ApplicationCreate.js.map +1 -0
- package/dist/components/admin/ApplicationCreate/BaseApplicationCreate.d.ts +80 -0
- package/dist/components/admin/ApplicationCreate/BaseApplicationCreate.d.ts.map +1 -0
- package/dist/components/admin/ApplicationCreate/BaseApplicationCreate.js +131 -0
- package/dist/components/admin/ApplicationCreate/BaseApplicationCreate.js.map +1 -0
- package/dist/components/admin/ApplicationDetails/ApplicationDetails.d.ts +50 -0
- package/dist/components/admin/ApplicationDetails/ApplicationDetails.d.ts.map +1 -0
- package/dist/components/admin/ApplicationDetails/ApplicationDetails.js +79 -0
- package/dist/components/admin/ApplicationDetails/ApplicationDetails.js.map +1 -0
- package/dist/components/admin/ApplicationDetails/BaseApplicationDetails.d.ts +92 -0
- package/dist/components/admin/ApplicationDetails/BaseApplicationDetails.d.ts.map +1 -0
- package/dist/components/admin/ApplicationDetails/BaseApplicationDetails.js +234 -0
- package/dist/components/admin/ApplicationDetails/BaseApplicationDetails.js.map +1 -0
- package/dist/components/admin/ApplicationList/ApplicationList.d.ts +18 -0
- package/dist/components/admin/ApplicationList/ApplicationList.d.ts.map +1 -0
- package/dist/components/admin/ApplicationList/ApplicationList.js +51 -0
- package/dist/components/admin/ApplicationList/ApplicationList.js.map +1 -0
- package/dist/components/admin/ApplicationList/BaseApplicationList.d.ts +55 -0
- package/dist/components/admin/ApplicationList/BaseApplicationList.d.ts.map +1 -0
- package/dist/components/admin/ApplicationList/BaseApplicationList.js +93 -0
- package/dist/components/admin/ApplicationList/BaseApplicationList.js.map +1 -0
- package/dist/components/admin/GroupCreate/GroupCreate.d.ts.map +1 -1
- package/dist/components/admin/GroupCreate/GroupCreate.js +9 -3
- package/dist/components/admin/GroupCreate/GroupCreate.js.map +1 -1
- package/dist/components/admin/GroupList/GroupList.d.ts.map +1 -1
- package/dist/components/admin/GroupList/GroupList.js +11 -4
- package/dist/components/admin/GroupList/GroupList.js.map +1 -1
- package/dist/components/admin/GroupMembers/GroupMembers.d.ts.map +1 -1
- package/dist/components/admin/GroupMembers/GroupMembers.js +48 -11
- package/dist/components/admin/GroupMembers/GroupMembers.js.map +1 -1
- package/dist/components/admin/RoleAssignments/RoleAssignments.d.ts.map +1 -1
- package/dist/components/admin/RoleAssignments/RoleAssignments.js +49 -15
- package/dist/components/admin/RoleAssignments/RoleAssignments.js.map +1 -1
- package/dist/components/admin/RoleCreate/RoleCreate.d.ts.map +1 -1
- package/dist/components/admin/RoleCreate/RoleCreate.js +9 -3
- package/dist/components/admin/RoleCreate/RoleCreate.js.map +1 -1
- package/dist/components/admin/RoleList/RoleList.d.ts.map +1 -1
- package/dist/components/admin/RoleList/RoleList.js +11 -4
- package/dist/components/admin/RoleList/RoleList.js.map +1 -1
- package/dist/components/admin/RolePermissions/RolePermissions.d.ts.map +1 -1
- package/dist/components/admin/RolePermissions/RolePermissions.js +9 -3
- package/dist/components/admin/RolePermissions/RolePermissions.js.map +1 -1
- package/dist/components/admin/UserCreate/UserCreate.d.ts.map +1 -1
- package/dist/components/admin/UserCreate/UserCreate.js +16 -5
- package/dist/components/admin/UserCreate/UserCreate.js.map +1 -1
- package/dist/components/admin/UserDetails/UserDetails.d.ts.map +1 -1
- package/dist/components/admin/UserDetails/UserDetails.js +32 -9
- package/dist/components/admin/UserDetails/UserDetails.js.map +1 -1
- package/dist/components/admin/UserList/UserList.d.ts.map +1 -1
- package/dist/components/admin/UserList/UserList.js +14 -5
- package/dist/components/admin/UserList/UserList.js.map +1 -1
- package/dist/components/admin/shared/ApplicationFormFields.d.ts +35 -0
- package/dist/components/admin/shared/ApplicationFormFields.d.ts.map +1 -0
- package/dist/components/admin/shared/ApplicationFormFields.js +59 -0
- package/dist/components/admin/shared/ApplicationFormFields.js.map +1 -0
- package/dist/components/admin/shared/ClientSecretNotice.d.ts +16 -0
- package/dist/components/admin/shared/ClientSecretNotice.d.ts.map +1 -0
- package/dist/components/admin/shared/ClientSecretNotice.js +47 -0
- package/dist/components/admin/shared/ClientSecretNotice.js.map +1 -0
- package/dist/components/auth/InviteUser/InviteUser.js +1 -1
- package/dist/components/auth/flow/Consent.d.ts.map +1 -1
- package/dist/components/auth/flow/Consent.js +94 -75
- package/dist/components/auth/flow/Consent.js.map +1 -1
- package/dist/hooks/management/useManagementEndpoint.d.ts +5 -1
- package/dist/hooks/management/useManagementEndpoint.d.ts.map +1 -1
- package/dist/hooks/management/useManagementEndpoint.js.map +1 -1
- package/dist/hooks/management/useManagementRequestConfig.d.ts +22 -0
- package/dist/hooks/management/useManagementRequestConfig.d.ts.map +1 -0
- package/dist/hooks/management/useManagementRequestConfig.js +39 -0
- package/dist/hooks/management/useManagementRequestConfig.js.map +1 -0
- package/dist/index.d.ts +22 -55
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -41
- package/dist/models/config.d.ts +3 -4
- package/dist/models/config.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/cjs/hooks/management/agents/useCreateAgent.cjs +0 -26
- package/dist/cjs/hooks/management/agents/useCreateAgent.cjs.map +0 -1
- package/dist/cjs/hooks/management/agents/useDeleteAgent.cjs +0 -26
- package/dist/cjs/hooks/management/agents/useDeleteAgent.cjs.map +0 -1
- package/dist/cjs/hooks/management/agents/useGetAgent.cjs +0 -30
- package/dist/cjs/hooks/management/agents/useGetAgent.cjs.map +0 -1
- package/dist/cjs/hooks/management/agents/useGetAgentGroups.cjs +0 -41
- package/dist/cjs/hooks/management/agents/useGetAgentGroups.cjs.map +0 -1
- package/dist/cjs/hooks/management/agents/useGetAgentRoles.cjs +0 -42
- package/dist/cjs/hooks/management/agents/useGetAgentRoles.cjs.map +0 -1
- package/dist/cjs/hooks/management/agents/useGetAgentTypes.cjs +0 -31
- package/dist/cjs/hooks/management/agents/useGetAgentTypes.cjs.map +0 -1
- package/dist/cjs/hooks/management/agents/useGetAgents.cjs +0 -33
- package/dist/cjs/hooks/management/agents/useGetAgents.cjs.map +0 -1
- package/dist/cjs/hooks/management/agents/useUpdateAgent.cjs +0 -27
- package/dist/cjs/hooks/management/agents/useUpdateAgent.cjs.map +0 -1
- package/dist/cjs/hooks/management/applications/useCreateApplication.cjs +0 -31
- package/dist/cjs/hooks/management/applications/useCreateApplication.cjs.map +0 -1
- package/dist/cjs/hooks/management/applications/useDeleteApplication.cjs +0 -26
- package/dist/cjs/hooks/management/applications/useDeleteApplication.cjs.map +0 -1
- package/dist/cjs/hooks/management/applications/useGetApplication.cjs +0 -35
- package/dist/cjs/hooks/management/applications/useGetApplication.cjs.map +0 -1
- package/dist/cjs/hooks/management/applications/useGetApplications.cjs +0 -36
- package/dist/cjs/hooks/management/applications/useGetApplications.cjs.map +0 -1
- package/dist/cjs/hooks/management/applications/useUpdateApplication.cjs +0 -27
- package/dist/cjs/hooks/management/applications/useUpdateApplication.cjs.map +0 -1
- package/dist/cjs/hooks/management/groups/useAddGroupMembers.cjs +0 -32
- package/dist/cjs/hooks/management/groups/useAddGroupMembers.cjs.map +0 -1
- package/dist/cjs/hooks/management/groups/useCreateGroup.cjs +0 -26
- package/dist/cjs/hooks/management/groups/useCreateGroup.cjs.map +0 -1
- package/dist/cjs/hooks/management/groups/useDeleteGroup.cjs +0 -30
- package/dist/cjs/hooks/management/groups/useDeleteGroup.cjs.map +0 -1
- package/dist/cjs/hooks/management/groups/useGetGroup.cjs +0 -30
- package/dist/cjs/hooks/management/groups/useGetGroup.cjs.map +0 -1
- package/dist/cjs/hooks/management/groups/useGetGroupMembers.cjs +0 -40
- package/dist/cjs/hooks/management/groups/useGetGroupMembers.cjs.map +0 -1
- package/dist/cjs/hooks/management/groups/useGetGroups.cjs +0 -31
- package/dist/cjs/hooks/management/groups/useGetGroups.cjs.map +0 -1
- package/dist/cjs/hooks/management/groups/useRemoveGroupMembers.cjs +0 -32
- package/dist/cjs/hooks/management/groups/useRemoveGroupMembers.cjs.map +0 -1
- package/dist/cjs/hooks/management/groups/useUpdateGroup.cjs +0 -31
- package/dist/cjs/hooks/management/groups/useUpdateGroup.cjs.map +0 -1
- package/dist/cjs/hooks/management/roles/useAddRoleAssignments.cjs +0 -27
- package/dist/cjs/hooks/management/roles/useAddRoleAssignments.cjs.map +0 -1
- package/dist/cjs/hooks/management/roles/useCreateRole.cjs +0 -26
- package/dist/cjs/hooks/management/roles/useCreateRole.cjs.map +0 -1
- package/dist/cjs/hooks/management/roles/useDeleteRole.cjs +0 -26
- package/dist/cjs/hooks/management/roles/useDeleteRole.cjs.map +0 -1
- package/dist/cjs/hooks/management/roles/useGetRole.cjs +0 -30
- package/dist/cjs/hooks/management/roles/useGetRole.cjs.map +0 -1
- package/dist/cjs/hooks/management/roles/useGetRoleAssignments.cjs +0 -42
- package/dist/cjs/hooks/management/roles/useGetRoleAssignments.cjs.map +0 -1
- package/dist/cjs/hooks/management/roles/useGetRoles.cjs +0 -31
- package/dist/cjs/hooks/management/roles/useGetRoles.cjs.map +0 -1
- package/dist/cjs/hooks/management/roles/useRemoveRoleAssignments.cjs +0 -27
- package/dist/cjs/hooks/management/roles/useRemoveRoleAssignments.cjs.map +0 -1
- package/dist/cjs/hooks/management/roles/useUpdateRole.cjs +0 -27
- package/dist/cjs/hooks/management/roles/useUpdateRole.cjs.map +0 -1
- package/dist/cjs/hooks/management/users/useCreateUser.cjs +0 -26
- package/dist/cjs/hooks/management/users/useCreateUser.cjs.map +0 -1
- package/dist/cjs/hooks/management/users/useDeleteUser.cjs +0 -26
- package/dist/cjs/hooks/management/users/useDeleteUser.cjs.map +0 -1
- package/dist/cjs/hooks/management/users/useGetUser.cjs +0 -30
- package/dist/cjs/hooks/management/users/useGetUser.cjs.map +0 -1
- package/dist/cjs/hooks/management/users/useGetUserGroups.cjs +0 -41
- package/dist/cjs/hooks/management/users/useGetUserGroups.cjs.map +0 -1
- package/dist/cjs/hooks/management/users/useGetUserTypes.cjs +0 -31
- package/dist/cjs/hooks/management/users/useGetUserTypes.cjs.map +0 -1
- package/dist/cjs/hooks/management/users/useGetUsers.cjs +0 -38
- package/dist/cjs/hooks/management/users/useGetUsers.cjs.map +0 -1
- package/dist/cjs/hooks/management/users/useUpdateUser.cjs +0 -27
- package/dist/cjs/hooks/management/users/useUpdateUser.cjs.map +0 -1
- package/dist/hooks/management/agents/useCreateAgent.d.ts +0 -11
- package/dist/hooks/management/agents/useCreateAgent.d.ts.map +0 -1
- package/dist/hooks/management/agents/useCreateAgent.js +0 -24
- package/dist/hooks/management/agents/useCreateAgent.js.map +0 -1
- package/dist/hooks/management/agents/useDeleteAgent.d.ts +0 -10
- package/dist/hooks/management/agents/useDeleteAgent.d.ts.map +0 -1
- package/dist/hooks/management/agents/useDeleteAgent.js +0 -24
- package/dist/hooks/management/agents/useDeleteAgent.js.map +0 -1
- package/dist/hooks/management/agents/useGetAgent.d.ts +0 -12
- package/dist/hooks/management/agents/useGetAgent.d.ts.map +0 -1
- package/dist/hooks/management/agents/useGetAgent.js +0 -28
- package/dist/hooks/management/agents/useGetAgent.js.map +0 -1
- package/dist/hooks/management/agents/useGetAgentGroups.d.ts +0 -16
- package/dist/hooks/management/agents/useGetAgentGroups.d.ts.map +0 -1
- package/dist/hooks/management/agents/useGetAgentGroups.js +0 -39
- package/dist/hooks/management/agents/useGetAgentGroups.js.map +0 -1
- package/dist/hooks/management/agents/useGetAgentRoles.d.ts +0 -17
- package/dist/hooks/management/agents/useGetAgentRoles.d.ts.map +0 -1
- package/dist/hooks/management/agents/useGetAgentRoles.js +0 -40
- package/dist/hooks/management/agents/useGetAgentRoles.js.map +0 -1
- package/dist/hooks/management/agents/useGetAgentTypes.d.ts +0 -15
- package/dist/hooks/management/agents/useGetAgentTypes.d.ts.map +0 -1
- package/dist/hooks/management/agents/useGetAgentTypes.js +0 -29
- package/dist/hooks/management/agents/useGetAgentTypes.js.map +0 -1
- package/dist/hooks/management/agents/useGetAgents.d.ts +0 -23
- package/dist/hooks/management/agents/useGetAgents.d.ts.map +0 -1
- package/dist/hooks/management/agents/useGetAgents.js +0 -31
- package/dist/hooks/management/agents/useGetAgents.js.map +0 -1
- package/dist/hooks/management/agents/useUpdateAgent.d.ts +0 -18
- package/dist/hooks/management/agents/useUpdateAgent.d.ts.map +0 -1
- package/dist/hooks/management/agents/useUpdateAgent.js +0 -25
- package/dist/hooks/management/agents/useUpdateAgent.js.map +0 -1
- package/dist/hooks/management/applications/useCreateApplication.d.ts +0 -16
- package/dist/hooks/management/applications/useCreateApplication.d.ts.map +0 -1
- package/dist/hooks/management/applications/useCreateApplication.js +0 -29
- package/dist/hooks/management/applications/useCreateApplication.js.map +0 -1
- package/dist/hooks/management/applications/useDeleteApplication.d.ts +0 -10
- package/dist/hooks/management/applications/useDeleteApplication.d.ts.map +0 -1
- package/dist/hooks/management/applications/useDeleteApplication.js +0 -24
- package/dist/hooks/management/applications/useDeleteApplication.js.map +0 -1
- package/dist/hooks/management/applications/useGetApplication.d.ts +0 -17
- package/dist/hooks/management/applications/useGetApplication.d.ts.map +0 -1
- package/dist/hooks/management/applications/useGetApplication.js +0 -33
- package/dist/hooks/management/applications/useGetApplication.js.map +0 -1
- package/dist/hooks/management/applications/useGetApplications.d.ts +0 -24
- package/dist/hooks/management/applications/useGetApplications.d.ts.map +0 -1
- package/dist/hooks/management/applications/useGetApplications.js +0 -34
- package/dist/hooks/management/applications/useGetApplications.js.map +0 -1
- package/dist/hooks/management/applications/useUpdateApplication.d.ts +0 -18
- package/dist/hooks/management/applications/useUpdateApplication.d.ts.map +0 -1
- package/dist/hooks/management/applications/useUpdateApplication.js +0 -25
- package/dist/hooks/management/applications/useUpdateApplication.js.map +0 -1
- package/dist/hooks/management/groups/useAddGroupMembers.d.ts +0 -24
- package/dist/hooks/management/groups/useAddGroupMembers.d.ts.map +0 -1
- package/dist/hooks/management/groups/useAddGroupMembers.js +0 -30
- package/dist/hooks/management/groups/useAddGroupMembers.js.map +0 -1
- package/dist/hooks/management/groups/useCreateGroup.d.ts +0 -11
- package/dist/hooks/management/groups/useCreateGroup.d.ts.map +0 -1
- package/dist/hooks/management/groups/useCreateGroup.js +0 -24
- package/dist/hooks/management/groups/useCreateGroup.js.map +0 -1
- package/dist/hooks/management/groups/useDeleteGroup.d.ts +0 -10
- package/dist/hooks/management/groups/useDeleteGroup.d.ts.map +0 -1
- package/dist/hooks/management/groups/useDeleteGroup.js +0 -28
- package/dist/hooks/management/groups/useDeleteGroup.js.map +0 -1
- package/dist/hooks/management/groups/useGetGroup.d.ts +0 -12
- package/dist/hooks/management/groups/useGetGroup.d.ts.map +0 -1
- package/dist/hooks/management/groups/useGetGroup.js +0 -28
- package/dist/hooks/management/groups/useGetGroup.js.map +0 -1
- package/dist/hooks/management/groups/useGetGroupMembers.d.ts +0 -20
- package/dist/hooks/management/groups/useGetGroupMembers.d.ts.map +0 -1
- package/dist/hooks/management/groups/useGetGroupMembers.js +0 -38
- package/dist/hooks/management/groups/useGetGroupMembers.js.map +0 -1
- package/dist/hooks/management/groups/useGetGroups.d.ts +0 -19
- package/dist/hooks/management/groups/useGetGroups.d.ts.map +0 -1
- package/dist/hooks/management/groups/useGetGroups.js +0 -29
- package/dist/hooks/management/groups/useGetGroups.js.map +0 -1
- package/dist/hooks/management/groups/useRemoveGroupMembers.d.ts +0 -12
- package/dist/hooks/management/groups/useRemoveGroupMembers.d.ts.map +0 -1
- package/dist/hooks/management/groups/useRemoveGroupMembers.js +0 -30
- package/dist/hooks/management/groups/useRemoveGroupMembers.js.map +0 -1
- package/dist/hooks/management/groups/useUpdateGroup.d.ts +0 -24
- package/dist/hooks/management/groups/useUpdateGroup.d.ts.map +0 -1
- package/dist/hooks/management/groups/useUpdateGroup.js +0 -29
- package/dist/hooks/management/groups/useUpdateGroup.js.map +0 -1
- package/dist/hooks/management/roles/useAddRoleAssignments.d.ts +0 -24
- package/dist/hooks/management/roles/useAddRoleAssignments.d.ts.map +0 -1
- package/dist/hooks/management/roles/useAddRoleAssignments.js +0 -25
- package/dist/hooks/management/roles/useAddRoleAssignments.js.map +0 -1
- package/dist/hooks/management/roles/useCreateRole.d.ts +0 -11
- package/dist/hooks/management/roles/useCreateRole.d.ts.map +0 -1
- package/dist/hooks/management/roles/useCreateRole.js +0 -24
- package/dist/hooks/management/roles/useCreateRole.js.map +0 -1
- package/dist/hooks/management/roles/useDeleteRole.d.ts +0 -10
- package/dist/hooks/management/roles/useDeleteRole.d.ts.map +0 -1
- package/dist/hooks/management/roles/useDeleteRole.js +0 -24
- package/dist/hooks/management/roles/useDeleteRole.js.map +0 -1
- package/dist/hooks/management/roles/useGetRole.d.ts +0 -12
- package/dist/hooks/management/roles/useGetRole.d.ts.map +0 -1
- package/dist/hooks/management/roles/useGetRole.js +0 -28
- package/dist/hooks/management/roles/useGetRole.js.map +0 -1
- package/dist/hooks/management/roles/useGetRoleAssignments.d.ts +0 -24
- package/dist/hooks/management/roles/useGetRoleAssignments.d.ts.map +0 -1
- package/dist/hooks/management/roles/useGetRoleAssignments.js +0 -40
- package/dist/hooks/management/roles/useGetRoleAssignments.js.map +0 -1
- package/dist/hooks/management/roles/useGetRoles.d.ts +0 -19
- package/dist/hooks/management/roles/useGetRoles.d.ts.map +0 -1
- package/dist/hooks/management/roles/useGetRoles.js +0 -29
- package/dist/hooks/management/roles/useGetRoles.js.map +0 -1
- package/dist/hooks/management/roles/useRemoveRoleAssignments.d.ts +0 -11
- package/dist/hooks/management/roles/useRemoveRoleAssignments.d.ts.map +0 -1
- package/dist/hooks/management/roles/useRemoveRoleAssignments.js +0 -25
- package/dist/hooks/management/roles/useRemoveRoleAssignments.js.map +0 -1
- package/dist/hooks/management/roles/useUpdateRole.d.ts +0 -24
- package/dist/hooks/management/roles/useUpdateRole.d.ts.map +0 -1
- package/dist/hooks/management/roles/useUpdateRole.js +0 -25
- package/dist/hooks/management/roles/useUpdateRole.js.map +0 -1
- package/dist/hooks/management/users/useCreateUser.d.ts +0 -11
- package/dist/hooks/management/users/useCreateUser.d.ts.map +0 -1
- package/dist/hooks/management/users/useCreateUser.js +0 -24
- package/dist/hooks/management/users/useCreateUser.js.map +0 -1
- package/dist/hooks/management/users/useDeleteUser.d.ts +0 -10
- package/dist/hooks/management/users/useDeleteUser.d.ts.map +0 -1
- package/dist/hooks/management/users/useDeleteUser.js +0 -24
- package/dist/hooks/management/users/useDeleteUser.js.map +0 -1
- package/dist/hooks/management/users/useGetUser.d.ts +0 -12
- package/dist/hooks/management/users/useGetUser.d.ts.map +0 -1
- package/dist/hooks/management/users/useGetUser.js +0 -28
- package/dist/hooks/management/users/useGetUser.js.map +0 -1
- package/dist/hooks/management/users/useGetUserGroups.d.ts +0 -16
- package/dist/hooks/management/users/useGetUserGroups.d.ts.map +0 -1
- package/dist/hooks/management/users/useGetUserGroups.js +0 -39
- package/dist/hooks/management/users/useGetUserGroups.js.map +0 -1
- package/dist/hooks/management/users/useGetUserTypes.d.ts +0 -15
- package/dist/hooks/management/users/useGetUserTypes.d.ts.map +0 -1
- package/dist/hooks/management/users/useGetUserTypes.js +0 -29
- package/dist/hooks/management/users/useGetUserTypes.js.map +0 -1
- package/dist/hooks/management/users/useGetUsers.d.ts +0 -17
- package/dist/hooks/management/users/useGetUsers.d.ts.map +0 -1
- package/dist/hooks/management/users/useGetUsers.js +0 -36
- package/dist/hooks/management/users/useGetUsers.js.map +0 -1
- package/dist/hooks/management/users/useUpdateUser.d.ts +0 -18
- package/dist/hooks/management/users/useUpdateUser.d.ts.map +0 -1
- package/dist/hooks/management/users/useUpdateUser.js +0 -25
- package/dist/hooks/management/users/useUpdateUser.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RolePermissions.js","names":["RolePermissions: FC<RolePermissionsProps>","useTranslation","
|
|
1
|
+
{"version":3,"file":"RolePermissions.js","names":["RolePermissions: FC<RolePermissionsProps>","useTranslation","endpoint: ManagementEndpoint","useManagementEndpoint","role: ResourceQueryResult<Role>","useResourceQuery","BaseRolePermissions"],"sources":["../../../../src/components/admin/RolePermissions/RolePermissions.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {Role, RoleQueryKeys, getRole, toManagementErrorMessage} from '@thunderid/browser';\nimport {FC, ReactElement} from 'react';\nimport BaseRolePermissions, {BaseRolePermissionsProps} from './BaseRolePermissions';\nimport useManagementEndpoint, {ManagementEndpoint} from '../../../hooks/management/useManagementEndpoint';\nimport useResourceQuery, {ResourceQueryResult} from '../../../hooks/management/useResourceQuery';\nimport useTranslation from '../../../hooks/useTranslation';\n\nexport type RolePermissionsProps = Omit<BaseRolePermissionsProps, 'error' | 'isLoading' | 'permissions'> & {\n roleId: string;\n};\n\n/**\n * Shows the permissions a role grants.\n *\n * @example\n * ```tsx\n * <RolePermissions roleId={roleId} />\n * ```\n */\nconst RolePermissions: FC<RolePermissionsProps> = ({\n preferences,\n roleId,\n ...rest\n}: RolePermissionsProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n const endpoint: ManagementEndpoint = useManagementEndpoint('roles');\n const role: ResourceQueryResult<Role> = useResourceQuery(\n [RoleQueryKeys.ROLE, roleId],\n (fetcher) => getRole({...endpoint, fetcher, roleId}),\n {enabled: Boolean(roleId)},\n );\n\n return (\n <BaseRolePermissions\n permissions={role.data?.permissions ?? []}\n isLoading={role.isLoading}\n error={toManagementErrorMessage(t, role.error, 'admin.roles.permissions.error')}\n preferences={preferences}\n {...rest}\n />\n );\n};\n\nexport default RolePermissions;\n"],"mappings":";;;;;;;;;;;;;;;;AAsBA,MAAMA,mBAA6C,EACjD,aACA,OACA,GAAG,WACqC;CACxC,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;CAC7C,MAAMC,WAA+BC,8BAAsB,QAAQ;CACnE,MAAMC,OAAkCC,yBACtC,CAAC,cAAc,MAAM,OAAO,GAC3B,YAAY,QAAQ;EAAC,GAAG;EAAU;EAAS;EAAO,CAAC,EACpD,EAAC,SAAS,QAAQ,OAAO,EAAC,CAC3B;AAED,QACE,oBAACC;EACC,aAAa,KAAK,MAAM,eAAe,EAAE;EACzC,WAAW,KAAK;EAChB,OAAO,yBAAyB,GAAG,KAAK,OAAO,gCAAgC;EAClE;EACb,GAAI;GACJ;;AAIN,8BAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserCreate.d.ts","sourceRoot":"","sources":["../../../../src/components/admin/UserCreate/UserCreate.tsx"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"UserCreate.d.ts","sourceRoot":"","sources":["../../../../src/components/admin/UserCreate/UserCreate.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,WAAW,EAQZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,EAAE,EAAwB,MAAM,OAAO,CAAC;AAChD,OAAuB,EAAC,mBAAmB,EAAuB,MAAM,kBAAkB,CAAC;AAK3F,OAAmB,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAC;AAG7E,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,CAAC,GAAG;IAC7G;;OAEG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACxC;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAwDnC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import useTranslation_default from "../../../hooks/useTranslation.js";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import useManagementEndpoint_default from "../../../hooks/management/useManagementEndpoint.js";
|
|
3
|
+
import useResourceQuery_default from "../../../hooks/management/useResourceQuery.js";
|
|
4
4
|
import InviteUser_default from "../../auth/InviteUser/InviteUser.js";
|
|
5
5
|
import BaseUserCreate_default from "./BaseUserCreate.js";
|
|
6
|
+
import useResourceMutation_default from "../../../hooks/management/useResourceMutation.js";
|
|
6
7
|
import useDefaultOuId_default from "../shared/useDefaultOuId.js";
|
|
7
|
-
import { toManagementErrorMessage } from "@thunderid/browser";
|
|
8
|
+
import { UserQueryKeys, createUser, getUserTypes, toManagementErrorMessage } from "@thunderid/browser";
|
|
8
9
|
import { useMemo } from "react";
|
|
9
10
|
import { jsx } from "react/jsx-runtime";
|
|
10
11
|
|
|
@@ -22,8 +23,18 @@ import { jsx } from "react/jsx-runtime";
|
|
|
22
23
|
const UserCreate = ({ inviteProps, mode = "api", onCreated, ouId, preferences,...rest }) => {
|
|
23
24
|
const { t } = useTranslation_default(preferences?.i18n);
|
|
24
25
|
const resolvedOuId = useDefaultOuId_default(ouId);
|
|
25
|
-
const
|
|
26
|
-
const
|
|
26
|
+
const usersEndpoint = useManagementEndpoint_default("users");
|
|
27
|
+
const userTypesEndpoint = useManagementEndpoint_default("userTypes");
|
|
28
|
+
const { data: userTypes } = useResourceQuery_default([UserQueryKeys.USER_TYPES, { limit: 100 }], (fetcher) => getUserTypes({
|
|
29
|
+
...userTypesEndpoint,
|
|
30
|
+
fetcher,
|
|
31
|
+
limit: 100
|
|
32
|
+
}), { enabled: mode === "api" });
|
|
33
|
+
const { error, isLoading, mutate } = useResourceMutation_default((payload, fetcher) => createUser({
|
|
34
|
+
...usersEndpoint,
|
|
35
|
+
fetcher,
|
|
36
|
+
payload
|
|
37
|
+
}), () => [[UserQueryKeys.USERS]], { onSuccess: onCreated });
|
|
27
38
|
const options = useMemo(() => (userTypes?.types ?? []).map((userType) => ({
|
|
28
39
|
label: userType.displayName ?? userType.handle,
|
|
29
40
|
value: userType.handle
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserCreate.js","names":["UserCreate: FC<UserCreateProps>","useTranslation","resolvedOuId: string | undefined","useDefaultOuId","
|
|
1
|
+
{"version":3,"file":"UserCreate.js","names":["UserCreate: FC<UserCreateProps>","useTranslation","resolvedOuId: string | undefined","useDefaultOuId","usersEndpoint: ManagementEndpoint","useManagementEndpoint","userTypesEndpoint: ManagementEndpoint","useResourceQuery","useResourceMutation","options: SelectOption[]","InviteUser","BaseUserCreate"],"sources":["../../../../src/components/admin/UserCreate/UserCreate.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n CreateManagedUserRequest,\n ManagedUser,\n ManagedUserType,\n ManagedUserTypeListResponse,\n SelectOption,\n UserQueryKeys,\n createUser,\n getUserTypes,\n toManagementErrorMessage,\n} from '@thunderid/browser';\nimport {FC, ReactElement, useMemo} from 'react';\nimport BaseUserCreate, {BaseUserCreateProps, UserCreateSubmission} from './BaseUserCreate';\nimport useManagementEndpoint, {ManagementEndpoint} from '../../../hooks/management/useManagementEndpoint';\nimport useResourceMutation, {ResourceMutationResult} from '../../../hooks/management/useResourceMutation';\nimport useResourceQuery, {ResourceQueryResult} from '../../../hooks/management/useResourceQuery';\nimport useTranslation from '../../../hooks/useTranslation';\nimport InviteUser, {InviteUserProps} from '../../auth/InviteUser/InviteUser';\nimport useDefaultOuId from '../shared/useDefaultOuId';\n\nexport type UserCreateProps = Omit<BaseUserCreateProps, 'error' | 'isSubmitting' | 'onSubmit' | 'userTypes'> & {\n /**\n * Props passed to `InviteUser` when `mode` is `invite`.\n */\n inviteProps?: InviteUserProps;\n /**\n * How the user is added.\n * - `api` creates the user directly through the management API.\n * - `invite` runs the invite user flow, which asks the person to finish setting up their account.\n * Only available where flows run.\n * @default 'api'\n */\n mode?: 'api' | 'invite';\n /**\n * Called with the created user. Not called in `invite` mode, where the flow reports progress\n * through `inviteProps.onFlowChange`.\n */\n onCreated?: (user: ManagedUser) => void;\n /**\n * Organization unit the user is created in. Defaults to the signed-in user's organization unit.\n */\n ouId?: string;\n};\n\n/**\n * Adds a user, either directly through the management API or by inviting them through the invite\n * user flow.\n *\n * @example\n * ```tsx\n * <UserCreate onCreated={(user) => navigate(`/users/${user.id}`)} />\n * <UserCreate mode=\"invite\" />\n * ```\n */\nconst UserCreate: FC<UserCreateProps> = ({\n inviteProps,\n mode = 'api',\n onCreated,\n ouId,\n preferences,\n ...rest\n}: UserCreateProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n const resolvedOuId: string | undefined = useDefaultOuId(ouId);\n const usersEndpoint: ManagementEndpoint = useManagementEndpoint('users');\n const userTypesEndpoint: ManagementEndpoint = useManagementEndpoint('userTypes');\n const {data: userTypes}: ResourceQueryResult<ManagedUserTypeListResponse> = useResourceQuery(\n [UserQueryKeys.USER_TYPES, {limit: 100}],\n (fetcher) => getUserTypes({...userTypesEndpoint, fetcher, limit: 100}),\n {enabled: mode === 'api'},\n );\n const {error, isLoading, mutate}: ResourceMutationResult<ManagedUser, CreateManagedUserRequest> = useResourceMutation(\n (payload: CreateManagedUserRequest, fetcher) => createUser({...usersEndpoint, fetcher, payload}),\n () => [[UserQueryKeys.USERS]],\n {onSuccess: onCreated},\n );\n\n const options: SelectOption[] = useMemo(\n () =>\n (userTypes?.types ?? []).map((userType: ManagedUserType) => ({\n label: userType.displayName ?? userType.handle,\n value: userType.handle,\n })),\n [userTypes],\n );\n\n if (mode === 'invite') {\n return <InviteUser {...inviteProps} />;\n }\n\n const handleSubmit = ({attributes, type}: UserCreateSubmission): void => {\n if (!resolvedOuId) {\n return;\n }\n\n void mutate({attributes, ouId: resolvedOuId, type});\n };\n\n return (\n <BaseUserCreate\n userTypes={options}\n onSubmit={handleSubmit}\n isSubmitting={isLoading}\n error={\n resolvedOuId ? toManagementErrorMessage(t, error, 'admin.users.create.error') : t('admin.common.errors.no_ou')\n }\n preferences={preferences}\n {...rest}\n />\n );\n};\n\nexport default UserCreate;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAyDA,MAAMA,cAAmC,EACvC,aACA,OAAO,OACP,WACA,MACA,YACA,GAAG,WACgC;CACnC,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;CAC7C,MAAMC,eAAmCC,uBAAe,KAAK;CAC7D,MAAMC,gBAAoCC,8BAAsB,QAAQ;CACxE,MAAMC,oBAAwCD,8BAAsB,YAAY;CAChF,MAAM,EAAC,MAAM,cAA+DE,yBAC1E,CAAC,cAAc,YAAY,EAAC,OAAO,KAAI,CAAC,GACvC,YAAY,aAAa;EAAC,GAAG;EAAmB;EAAS,OAAO;EAAI,CAAC,EACtE,EAAC,SAAS,SAAS,OAAM,CAC1B;CACD,MAAM,EAAC,OAAO,WAAW,WAAyEC,6BAC/F,SAAmC,YAAY,WAAW;EAAC,GAAG;EAAe;EAAS;EAAQ,CAAC,QAC1F,CAAC,CAAC,cAAc,MAAM,CAAC,EAC7B,EAAC,WAAW,WAAU,CACvB;CAED,MAAMC,UAA0B,eAE3B,WAAW,SAAS,EAAE,EAAE,KAAK,cAA+B;EAC3D,OAAO,SAAS,eAAe,SAAS;EACxC,OAAO,SAAS;EACjB,EAAE,EACL,CAAC,UAAU,CACZ;AAED,KAAI,SAAS,SACX,QAAO,oBAACC,sBAAW,GAAI,cAAe;CAGxC,MAAM,gBAAgB,EAAC,YAAY,WAAsC;AACvE,MAAI,CAAC,aACH;AAGF,EAAK,OAAO;GAAC;GAAY,MAAM;GAAc;GAAK,CAAC;;AAGrD,QACE,oBAACC;EACC,WAAW;EACX,UAAU;EACV,cAAc;EACd,OACE,eAAe,yBAAyB,GAAG,OAAO,2BAA2B,GAAG,EAAE,4BAA4B;EAEnG;EACb,GAAI;GACJ;;AAIN,yBAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserDetails.d.ts","sourceRoot":"","sources":["../../../../src/components/admin/UserDetails/UserDetails.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserDetails.d.ts","sourceRoot":"","sources":["../../../../src/components/admin/UserDetails/UserDetails.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAC,EAAE,EAAe,MAAM,OAAO,CAAC;AACvC,OAAwB,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAWxE,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,oBAAoB,EACpB,OAAO,GAAG,QAAQ,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAClG,GAAG;IACF;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAqDrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import useTranslation_default from "../../../hooks/useTranslation.js";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import useGetUserGroups_default from "../../../hooks/management/users/useGetUserGroups.js";
|
|
2
|
+
import useManagementEndpoint_default from "../../../hooks/management/useManagementEndpoint.js";
|
|
3
|
+
import useResourceQuery_default from "../../../hooks/management/useResourceQuery.js";
|
|
4
|
+
import useResourceMutation_default from "../../../hooks/management/useResourceMutation.js";
|
|
6
5
|
import BaseUserDetails_default from "./BaseUserDetails.js";
|
|
7
|
-
import { toManagementErrorMessage } from "@thunderid/browser";
|
|
6
|
+
import { GroupQueryKeys, UserQueryKeys, deleteUser, getUser, getUserGroups, toManagementErrorMessage, updateUser } from "@thunderid/browser";
|
|
8
7
|
import { jsx } from "react/jsx-runtime";
|
|
9
8
|
|
|
10
9
|
//#region src/components/admin/UserDetails/UserDetails.tsx
|
|
@@ -18,10 +17,34 @@ import { jsx } from "react/jsx-runtime";
|
|
|
18
17
|
*/
|
|
19
18
|
const UserDetails = ({ deletable = false, editable = false, onDeleted, preferences, userId,...rest }) => {
|
|
20
19
|
const { t } = useTranslation_default(preferences?.i18n);
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
const endpoint = useManagementEndpoint_default("users");
|
|
21
|
+
const user = useResourceQuery_default([UserQueryKeys.USER, userId], (fetcher) => getUser({
|
|
22
|
+
...endpoint,
|
|
23
|
+
fetcher,
|
|
24
|
+
userId
|
|
25
|
+
}), { enabled: Boolean(userId) });
|
|
26
|
+
const groups = useResourceQuery_default([
|
|
27
|
+
GroupQueryKeys.MEMBERSHIPS,
|
|
28
|
+
"user",
|
|
29
|
+
userId,
|
|
30
|
+
{ limit: 100 }
|
|
31
|
+
], (fetcher) => getUserGroups({
|
|
32
|
+
...endpoint,
|
|
33
|
+
fetcher,
|
|
34
|
+
limit: 100,
|
|
35
|
+
userId
|
|
36
|
+
}), { enabled: Boolean(userId) });
|
|
37
|
+
const deletion = useResourceMutation_default((id, fetcher) => deleteUser({
|
|
38
|
+
...endpoint,
|
|
39
|
+
fetcher,
|
|
40
|
+
userId: id
|
|
41
|
+
}), () => [[UserQueryKeys.USERS]], { onSuccess: onDeleted });
|
|
42
|
+
const update = useResourceMutation_default(({ data, userId: id }, fetcher) => updateUser({
|
|
43
|
+
...endpoint,
|
|
44
|
+
fetcher,
|
|
45
|
+
payload: data,
|
|
46
|
+
userId: id
|
|
47
|
+
}), ({ userId: id }) => [[UserQueryKeys.USER, id], [UserQueryKeys.USERS]]);
|
|
25
48
|
return /* @__PURE__ */ jsx(BaseUserDetails_default, {
|
|
26
49
|
user: user.data,
|
|
27
50
|
groups: groups.data?.groups,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserDetails.js","names":["UserDetails: FC<UserDetailsProps>","useTranslation","
|
|
1
|
+
{"version":3,"file":"UserDetails.js","names":["UserDetails: FC<UserDetailsProps>","useTranslation","endpoint: ManagementEndpoint","useManagementEndpoint","user: ResourceQueryResult<ManagedUser>","useResourceQuery","groups: ResourceQueryResult<MembershipGroupListResponse>","deletion: ResourceMutationResult<void, string>","useResourceMutation","update: ResourceMutationResult<ManagedUser, UpdateUserVariables>","BaseUserDetails"],"sources":["../../../../src/components/admin/UserDetails/UserDetails.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n GroupQueryKeys,\n ManagedUser,\n MembershipGroupListResponse,\n UpdateManagedUserRequest,\n UserQueryKeys,\n deleteUser,\n getUser,\n getUserGroups,\n toManagementErrorMessage,\n updateUser,\n} from '@thunderid/browser';\nimport {FC, ReactElement} from 'react';\nimport BaseUserDetails, {BaseUserDetailsProps} from './BaseUserDetails';\nimport useManagementEndpoint, {ManagementEndpoint} from '../../../hooks/management/useManagementEndpoint';\nimport useResourceMutation, {ResourceMutationResult} from '../../../hooks/management/useResourceMutation';\nimport useResourceQuery, {ResourceQueryResult} from '../../../hooks/management/useResourceQuery';\nimport useTranslation from '../../../hooks/useTranslation';\n\ninterface UpdateUserVariables {\n data: UpdateManagedUserRequest;\n userId: string;\n}\n\nexport type UserDetailsProps = Omit<\n BaseUserDetailsProps,\n 'error' | 'groups' | 'isDeleting' | 'isLoading' | 'isUpdating' | 'onDelete' | 'onUpdate' | 'user'\n> & {\n /**\n * Whether the user can be deleted from this view.\n * @default false\n */\n deletable?: boolean;\n /**\n * Whether the user's text attributes can be edited from this view.\n * @default false\n */\n editable?: boolean;\n /**\n * Called after the user has been deleted.\n */\n onDeleted?: () => void;\n userId: string;\n};\n\n/**\n * Shows a user and the groups they belong to, and optionally lets the signed-in user delete them.\n *\n * @example\n * ```tsx\n * <UserDetails userId={userId} deletable onDeleted={() => navigate('/users')} />\n * ```\n */\nconst UserDetails: FC<UserDetailsProps> = ({\n deletable = false,\n editable = false,\n onDeleted,\n preferences,\n userId,\n ...rest\n}: UserDetailsProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n const endpoint: ManagementEndpoint = useManagementEndpoint('users');\n const user: ResourceQueryResult<ManagedUser> = useResourceQuery(\n [UserQueryKeys.USER, userId],\n (fetcher) => getUser({...endpoint, fetcher, userId}),\n {enabled: Boolean(userId)},\n );\n const groups: ResourceQueryResult<MembershipGroupListResponse> = useResourceQuery(\n [GroupQueryKeys.MEMBERSHIPS, 'user', userId, {limit: 100}],\n (fetcher) => getUserGroups({...endpoint, fetcher, limit: 100, userId}),\n {enabled: Boolean(userId)},\n );\n const deletion: ResourceMutationResult<void, string> = useResourceMutation(\n (id: string, fetcher) => deleteUser({...endpoint, fetcher, userId: id}),\n () => [[UserQueryKeys.USERS]],\n {onSuccess: onDeleted},\n );\n const update: ResourceMutationResult<ManagedUser, UpdateUserVariables> = useResourceMutation(\n ({data, userId: id}: UpdateUserVariables, fetcher) => updateUser({...endpoint, fetcher, payload: data, userId: id}),\n ({userId: id}: UpdateUserVariables) => [[UserQueryKeys.USER, id], [UserQueryKeys.USERS]],\n );\n\n return (\n <BaseUserDetails\n user={user.data}\n groups={groups.data?.groups}\n isLoading={user.isLoading}\n error={\n toManagementErrorMessage(t, user.error, 'admin.users.details.error') ??\n toManagementErrorMessage(t, deletion.error, 'admin.users.details.delete.error') ??\n toManagementErrorMessage(t, update.error, 'admin.users.details.edit.error')\n }\n isDeleting={deletion.isLoading}\n onDelete={deletable ? (): void => void deletion.mutate(userId) : undefined}\n isUpdating={update.isLoading}\n onUpdate={\n editable && user.data\n ? (attributes: Record<string, unknown>): void =>\n void update.mutate({data: {attributes, ouId: user.data!.ouId, type: user.data!.type}, userId})\n : undefined\n }\n preferences={preferences}\n {...rest}\n />\n );\n};\n\nexport default UserDetails;\n"],"mappings":";;;;;;;;;;;;;;;;;AAwDA,MAAMA,eAAqC,EACzC,YAAY,OACZ,WAAW,OACX,WACA,aACA,OACA,GAAG,WACiC;CACpC,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;CAC7C,MAAMC,WAA+BC,8BAAsB,QAAQ;CACnE,MAAMC,OAAyCC,yBAC7C,CAAC,cAAc,MAAM,OAAO,GAC3B,YAAY,QAAQ;EAAC,GAAG;EAAU;EAAS;EAAO,CAAC,EACpD,EAAC,SAAS,QAAQ,OAAO,EAAC,CAC3B;CACD,MAAMC,SAA2DD,yBAC/D;EAAC,eAAe;EAAa;EAAQ;EAAQ,EAAC,OAAO,KAAI;EAAC,GACzD,YAAY,cAAc;EAAC,GAAG;EAAU;EAAS,OAAO;EAAK;EAAO,CAAC,EACtE,EAAC,SAAS,QAAQ,OAAO,EAAC,CAC3B;CACD,MAAME,WAAiDC,6BACpD,IAAY,YAAY,WAAW;EAAC,GAAG;EAAU;EAAS,QAAQ;EAAG,CAAC,QACjE,CAAC,CAAC,cAAc,MAAM,CAAC,EAC7B,EAAC,WAAW,WAAU,CACvB;CACD,MAAMC,SAAmED,6BACtE,EAAC,MAAM,QAAQ,MAA0B,YAAY,WAAW;EAAC,GAAG;EAAU;EAAS,SAAS;EAAM,QAAQ;EAAG,CAAC,GAClH,EAAC,QAAQ,SAA6B,CAAC,CAAC,cAAc,MAAM,GAAG,EAAE,CAAC,cAAc,MAAM,CAAC,CACzF;AAED,QACE,oBAACE;EACC,MAAM,KAAK;EACX,QAAQ,OAAO,MAAM;EACrB,WAAW,KAAK;EAChB,OACE,yBAAyB,GAAG,KAAK,OAAO,4BAA4B,IACpE,yBAAyB,GAAG,SAAS,OAAO,mCAAmC,IAC/E,yBAAyB,GAAG,OAAO,OAAO,iCAAiC;EAE7E,YAAY,SAAS;EACrB,UAAU,kBAAwB,KAAK,SAAS,OAAO,OAAO,GAAG;EACjE,YAAY,OAAO;EACnB,UACE,YAAY,KAAK,QACZ,eACC,KAAK,OAAO,OAAO;GAAC,MAAM;IAAC;IAAY,MAAM,KAAK,KAAM;IAAM,MAAM,KAAK,KAAM;IAAK;GAAE;GAAO,CAAC,GAChG;EAEO;EACb,GAAI;GACJ;;AAIN,0BAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserList.d.ts","sourceRoot":"","sources":["../../../../src/components/admin/UserList/UserList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserList.d.ts","sourceRoot":"","sources":["../../../../src/components/admin/UserList/UserList.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAC,EAAE,EAAyB,MAAM,OAAO,CAAC;AACjD,OAAqB,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAM/D,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,iBAAiB,EACjB,OAAO,GAAG,WAAW,GAAG,QAAQ,GAAG,cAAc,GAAG,UAAU,GAAG,QAAQ,GAAG,cAAc,GAAG,OAAO,CACrG,GAAG;IACF;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CA8C/B,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import useTranslation_default from "../../../hooks/useTranslation.js";
|
|
2
|
-
import
|
|
2
|
+
import useManagementEndpoint_default from "../../../hooks/management/useManagementEndpoint.js";
|
|
3
|
+
import useResourceQuery_default from "../../../hooks/management/useResourceQuery.js";
|
|
3
4
|
import BaseUserList_default from "./BaseUserList.js";
|
|
4
|
-
import { toEqualityFilter, toManagementErrorMessage } from "@thunderid/browser";
|
|
5
|
+
import { UserQueryKeys, getUsers, toEqualityFilter, toManagementErrorMessage } from "@thunderid/browser";
|
|
5
6
|
import { useState } from "react";
|
|
6
7
|
import { jsx } from "react/jsx-runtime";
|
|
7
8
|
|
|
@@ -25,11 +26,19 @@ const UserList = ({ filter, limit = 20, preferences, searchable = true, searchAt
|
|
|
25
26
|
label: t("admin.users.list.search.email"),
|
|
26
27
|
value: "email"
|
|
27
28
|
}];
|
|
28
|
-
const
|
|
29
|
-
|
|
29
|
+
const endpoint = useManagementEndpoint_default("users");
|
|
30
|
+
const queryFilter = filter ?? (search ? toEqualityFilter(search.attribute, search.value) : void 0);
|
|
31
|
+
const { data, error, isLoading } = useResourceQuery_default([UserQueryKeys.USERS, {
|
|
32
|
+
filter: queryFilter,
|
|
30
33
|
limit,
|
|
31
34
|
offset
|
|
32
|
-
})
|
|
35
|
+
}], (fetcher) => getUsers({
|
|
36
|
+
...endpoint,
|
|
37
|
+
fetcher,
|
|
38
|
+
filter: queryFilter,
|
|
39
|
+
limit,
|
|
40
|
+
offset
|
|
41
|
+
}));
|
|
33
42
|
return /* @__PURE__ */ jsx(BaseUserList_default, {
|
|
34
43
|
users: data?.users ?? [],
|
|
35
44
|
totalResults: data?.totalResults,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserList.js","names":["UserList: FC<UserListProps>","useTranslation","attributes: SelectOption[]","
|
|
1
|
+
{"version":3,"file":"UserList.js","names":["UserList: FC<UserListProps>","useTranslation","attributes: SelectOption[]","endpoint: ManagementEndpoint","useManagementEndpoint","queryFilter: string | undefined","useResourceQuery","BaseUserList"],"sources":["../../../../src/components/admin/UserList/UserList.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n ManagedUserListResponse,\n SelectOption,\n UserQueryKeys,\n getUsers,\n toEqualityFilter,\n toManagementErrorMessage,\n} from '@thunderid/browser';\nimport {FC, ReactElement, useState} from 'react';\nimport BaseUserList, {BaseUserListProps} from './BaseUserList';\nimport useManagementEndpoint, {ManagementEndpoint} from '../../../hooks/management/useManagementEndpoint';\nimport useResourceQuery, {ResourceQueryResult} from '../../../hooks/management/useResourceQuery';\nimport useTranslation from '../../../hooks/useTranslation';\nimport {AdminSearchValue} from '../shared/AdminSearch';\n\nexport type UserListProps = Omit<\n BaseUserListProps,\n 'error' | 'isLoading' | 'offset' | 'onPageChange' | 'onSearch' | 'search' | 'totalResults' | 'users'\n> & {\n /**\n * Server-side filter expression, for example `username eq \"ada\"`. Hides the search form, since the\n * server takes one expression.\n */\n filter?: string;\n /**\n * Whether to show the search form. The server matches the whole value of the chosen attribute.\n * @default true\n */\n searchable?: boolean;\n};\n\n/**\n * Lists the users the signed-in user is allowed to see, a page at a time.\n *\n * @example\n * ```tsx\n * <UserList onSelect={(user) => setSelectedUserId(user.id)} />\n * ```\n */\nconst UserList: FC<UserListProps> = ({\n filter,\n limit = 20,\n preferences,\n searchable = true,\n searchAttributes,\n ...rest\n}: UserListProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n const [offset, setOffset] = useState<number>(0);\n const [search, setSearch] = useState<AdminSearchValue | null>(null);\n const attributes: SelectOption[] = searchAttributes ?? [\n {label: t('admin.users.list.search.username'), value: 'username'},\n {label: t('admin.users.list.search.email'), value: 'email'},\n ];\n const endpoint: ManagementEndpoint = useManagementEndpoint('users');\n const queryFilter: string | undefined =\n filter ?? (search ? toEqualityFilter(search.attribute, search.value) : undefined);\n const {data, error, isLoading}: ResourceQueryResult<ManagedUserListResponse> = useResourceQuery(\n [UserQueryKeys.USERS, {filter: queryFilter, limit, offset}],\n (fetcher) => getUsers({...endpoint, fetcher, filter: queryFilter, limit, offset}),\n );\n\n return (\n <BaseUserList\n users={data?.users ?? []}\n totalResults={data?.totalResults}\n isLoading={isLoading}\n error={toManagementErrorMessage(t, error, 'admin.users.list.error')}\n limit={limit}\n offset={offset}\n onPageChange={setOffset}\n search={search}\n searchAttributes={attributes}\n onSearch={\n searchable && !filter\n ? (next: AdminSearchValue | null): void => {\n setSearch(next);\n setOffset(0);\n }\n : undefined\n }\n preferences={preferences}\n {...rest}\n />\n );\n};\n\nexport default UserList;\n"],"mappings":";;;;;;;;;;;;;;;;;AA0CA,MAAMA,YAA+B,EACnC,QACA,QAAQ,IACR,aACA,aAAa,MACb,iBACA,GAAG,WAC8B;CACjC,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;CAC7C,MAAM,CAAC,QAAQ,aAAa,SAAiB,EAAE;CAC/C,MAAM,CAAC,QAAQ,aAAa,SAAkC,KAAK;CACnE,MAAMC,aAA6B,oBAAoB,CACrD;EAAC,OAAO,EAAE,mCAAmC;EAAE,OAAO;EAAW,EACjE;EAAC,OAAO,EAAE,gCAAgC;EAAE,OAAO;EAAQ,CAC5D;CACD,MAAMC,WAA+BC,8BAAsB,QAAQ;CACnE,MAAMC,cACJ,WAAW,SAAS,iBAAiB,OAAO,WAAW,OAAO,MAAM,GAAG;CACzE,MAAM,EAAC,MAAM,OAAO,cAA2DC,yBAC7E,CAAC,cAAc,OAAO;EAAC,QAAQ;EAAa;EAAO;EAAO,CAAC,GAC1D,YAAY,SAAS;EAAC,GAAG;EAAU;EAAS,QAAQ;EAAa;EAAO;EAAO,CAAC,CAClF;AAED,QACE,oBAACC;EACC,OAAO,MAAM,SAAS,EAAE;EACxB,cAAc,MAAM;EACT;EACX,OAAO,yBAAyB,GAAG,OAAO,yBAAyB;EAC5D;EACC;EACR,cAAc;EACN;EACR,kBAAkB;EAClB,UACE,cAAc,CAAC,UACV,SAAwC;AACvC,aAAU,KAAK;AACf,aAAU,EAAE;MAEd;EAEO;EACb,GAAI;GACJ;;AAIN,uBAAe"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Preferences } from '@thunderid/browser';
|
|
2
|
+
import { FC } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* The text fields of the application forms.
|
|
5
|
+
*/
|
|
6
|
+
export type ApplicationTextField = 'description' | 'logoUrl' | 'name' | 'redirectUris' | 'url';
|
|
7
|
+
/**
|
|
8
|
+
* The values of the application forms. `redirectUris` is the text of the field, URIs separated by
|
|
9
|
+
* commas.
|
|
10
|
+
*/
|
|
11
|
+
export interface ApplicationFormValues {
|
|
12
|
+
description: string;
|
|
13
|
+
grantTypes: string[];
|
|
14
|
+
logoUrl: string;
|
|
15
|
+
name: string;
|
|
16
|
+
publicClient: boolean;
|
|
17
|
+
redirectUris: string;
|
|
18
|
+
url: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ApplicationFormFieldsProps {
|
|
21
|
+
onGrantTypesChange: (grantTypes: string[]) => void;
|
|
22
|
+
onInputChange: (field: ApplicationTextField, value: string) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Shows the public client choice. Omit it where the client type cannot change.
|
|
25
|
+
*/
|
|
26
|
+
onPublicClientChange?: (publicClient: boolean) => void;
|
|
27
|
+
preferences?: Preferences;
|
|
28
|
+
values: ApplicationFormValues;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The general fields and OAuth basics of an application, shared by the create form and the edit form.
|
|
32
|
+
*/
|
|
33
|
+
declare const ApplicationFormFields: FC<ApplicationFormFieldsProps>;
|
|
34
|
+
export default ApplicationFormFields;
|
|
35
|
+
//# sourceMappingURL=ApplicationFormFields.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApplicationFormFields.d.ts","sourceRoot":"","sources":["../../../../src/components/admin/shared/ApplicationFormFields.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA0B,WAAW,EAAC,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAc,EAAE,EAAe,MAAM,OAAO,CAAC;AAMpD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,cAAc,GAAG,KAAK,CAAC;AAE/F;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,aAAa,EAAE,CAAC,KAAK,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,qBAAqB,CAAC;CAC/B;AAED;;GAEG;AACH,QAAA,MAAM,qBAAqB,EAAE,EAAE,CAAC,0BAA0B,CA0DzD,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import useTranslation_default from "../../../hooks/useTranslation.js";
|
|
2
|
+
import Checkbox_default from "../../primitives/Checkbox/Checkbox.js";
|
|
3
|
+
import TextField_default from "../../primitives/TextField/TextField.js";
|
|
4
|
+
import useAdminPartStyles_default from "./useAdminPartStyles.js";
|
|
5
|
+
import { APPLICATION_GRANT_TYPES } from "@thunderid/browser";
|
|
6
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
//#region src/components/admin/shared/ApplicationFormFields.tsx
|
|
9
|
+
/**
|
|
10
|
+
* The general fields and OAuth basics of an application, shared by the create form and the edit form.
|
|
11
|
+
*/
|
|
12
|
+
const ApplicationFormFields = ({ onGrantTypesChange, onInputChange, onPublicClientChange, preferences, values }) => {
|
|
13
|
+
const styles = useAdminPartStyles_default();
|
|
14
|
+
const { t } = useTranslation_default(preferences?.i18n);
|
|
15
|
+
const text = (field, label, extra = {}) => /* @__PURE__ */ jsx(TextField_default, {
|
|
16
|
+
name: field,
|
|
17
|
+
label,
|
|
18
|
+
value: values[field],
|
|
19
|
+
autoComplete: "off",
|
|
20
|
+
onChange: (event) => onInputChange(field, event.target.value),
|
|
21
|
+
...extra
|
|
22
|
+
});
|
|
23
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
24
|
+
text("name", t("admin.applications.fields.name"), { required: true }),
|
|
25
|
+
text("description", t("admin.applications.fields.description")),
|
|
26
|
+
text("url", t("admin.applications.fields.url")),
|
|
27
|
+
text("logoUrl", t("admin.applications.fields.logo_url")),
|
|
28
|
+
text("redirectUris", t("admin.applications.fields.redirect_uris"), { helperText: t("admin.applications.fields.redirect_uris_hint") }),
|
|
29
|
+
/* @__PURE__ */ jsxs("fieldset", {
|
|
30
|
+
className: styles["row"],
|
|
31
|
+
style: {
|
|
32
|
+
border: 0,
|
|
33
|
+
flexWrap: "wrap",
|
|
34
|
+
margin: 0,
|
|
35
|
+
padding: 0
|
|
36
|
+
},
|
|
37
|
+
children: [/* @__PURE__ */ jsx("legend", {
|
|
38
|
+
className: styles["muted"],
|
|
39
|
+
children: t("admin.applications.fields.grant_types")
|
|
40
|
+
}), APPLICATION_GRANT_TYPES.map((grantType) => /* @__PURE__ */ jsx(Checkbox_default, {
|
|
41
|
+
name: `grantType-${grantType}`,
|
|
42
|
+
label: t(`admin.applications.grant_types.${grantType}`),
|
|
43
|
+
checked: values.grantTypes.includes(grantType),
|
|
44
|
+
onChange: (event) => onGrantTypesChange(event.target.checked ? [...values.grantTypes, grantType] : values.grantTypes.filter((value) => value !== grantType))
|
|
45
|
+
}, grantType))]
|
|
46
|
+
}),
|
|
47
|
+
onPublicClientChange && /* @__PURE__ */ jsx(Checkbox_default, {
|
|
48
|
+
name: "publicClient",
|
|
49
|
+
label: t("admin.applications.fields.public_client"),
|
|
50
|
+
checked: values.publicClient,
|
|
51
|
+
onChange: (event) => onPublicClientChange(event.target.checked)
|
|
52
|
+
})
|
|
53
|
+
] });
|
|
54
|
+
};
|
|
55
|
+
var ApplicationFormFields_default = ApplicationFormFields;
|
|
56
|
+
|
|
57
|
+
//#endregion
|
|
58
|
+
export { ApplicationFormFields_default as default };
|
|
59
|
+
//# sourceMappingURL=ApplicationFormFields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApplicationFormFields.js","names":["ApplicationFormFields: FC<ApplicationFormFieldsProps>","styles: Record<string, string>","useAdminPartStyles","useTranslation","TextField","Checkbox"],"sources":["../../../../src/components/admin/shared/ApplicationFormFields.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {APPLICATION_GRANT_TYPES, Preferences} from '@thunderid/browser';\nimport {ChangeEvent, FC, ReactElement} from 'react';\nimport useAdminPartStyles from './useAdminPartStyles';\nimport useTranslation from '../../../hooks/useTranslation';\nimport Checkbox from '../../primitives/Checkbox/Checkbox';\nimport TextField from '../../primitives/TextField/TextField';\n\n/**\n * The text fields of the application forms.\n */\nexport type ApplicationTextField = 'description' | 'logoUrl' | 'name' | 'redirectUris' | 'url';\n\n/**\n * The values of the application forms. `redirectUris` is the text of the field, URIs separated by\n * commas.\n */\nexport interface ApplicationFormValues {\n description: string;\n grantTypes: string[];\n logoUrl: string;\n name: string;\n publicClient: boolean;\n redirectUris: string;\n url: string;\n}\n\nexport interface ApplicationFormFieldsProps {\n onGrantTypesChange: (grantTypes: string[]) => void;\n onInputChange: (field: ApplicationTextField, value: string) => void;\n /**\n * Shows the public client choice. Omit it where the client type cannot change.\n */\n onPublicClientChange?: (publicClient: boolean) => void;\n preferences?: Preferences;\n values: ApplicationFormValues;\n}\n\n/**\n * The general fields and OAuth basics of an application, shared by the create form and the edit form.\n */\nconst ApplicationFormFields: FC<ApplicationFormFieldsProps> = ({\n onGrantTypesChange,\n onInputChange,\n onPublicClientChange,\n preferences,\n values,\n}: ApplicationFormFieldsProps): ReactElement => {\n const styles: Record<string, string> = useAdminPartStyles();\n const {t} = useTranslation(preferences?.i18n);\n\n const text = (field: ApplicationTextField, label: string, extra: {helperText?: string; required?: boolean} = {}) => (\n <TextField\n name={field}\n label={label}\n value={values[field]}\n autoComplete=\"off\"\n onChange={(event: ChangeEvent<HTMLInputElement>): void => onInputChange(field, event.target.value)}\n {...extra}\n />\n );\n\n return (\n <>\n {text('name', t('admin.applications.fields.name'), {required: true})}\n {text('description', t('admin.applications.fields.description'))}\n {text('url', t('admin.applications.fields.url'))}\n {text('logoUrl', t('admin.applications.fields.logo_url'))}\n {text('redirectUris', t('admin.applications.fields.redirect_uris'), {\n helperText: t('admin.applications.fields.redirect_uris_hint'),\n })}\n <fieldset className={styles['row']} style={{border: 0, flexWrap: 'wrap', margin: 0, padding: 0}}>\n <legend className={styles['muted']}>{t('admin.applications.fields.grant_types')}</legend>\n {APPLICATION_GRANT_TYPES.map((grantType: string) => (\n <Checkbox\n key={grantType}\n name={`grantType-${grantType}`}\n label={t(`admin.applications.grant_types.${grantType}`)}\n checked={values.grantTypes.includes(grantType)}\n onChange={(event: ChangeEvent<HTMLInputElement>): void =>\n onGrantTypesChange(\n event.target.checked\n ? [...values.grantTypes, grantType]\n : values.grantTypes.filter((value: string) => value !== grantType),\n )\n }\n />\n ))}\n </fieldset>\n {onPublicClientChange && (\n <Checkbox\n name=\"publicClient\"\n label={t('admin.applications.fields.public_client')}\n checked={values.publicClient}\n onChange={(event: ChangeEvent<HTMLInputElement>): void => onPublicClientChange(event.target.checked)}\n />\n )}\n </>\n );\n};\n\nexport default ApplicationFormFields;\n"],"mappings":";;;;;;;;;;;AA2CA,MAAMA,yBAAyD,EAC7D,oBACA,eACA,sBACA,aACA,aAC8C;CAC9C,MAAMC,SAAiCC,4BAAoB;CAC3D,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;CAE7C,MAAM,QAAQ,OAA6B,OAAe,QAAmD,EAAE,KAC7G,oBAACC;EACC,MAAM;EACC;EACP,OAAO,OAAO;EACd,cAAa;EACb,WAAW,UAA+C,cAAc,OAAO,MAAM,OAAO,MAAM;EAClG,GAAI;GACJ;AAGJ,QACE;EACG,KAAK,QAAQ,EAAE,iCAAiC,EAAE,EAAC,UAAU,MAAK,CAAC;EACnE,KAAK,eAAe,EAAE,wCAAwC,CAAC;EAC/D,KAAK,OAAO,EAAE,gCAAgC,CAAC;EAC/C,KAAK,WAAW,EAAE,qCAAqC,CAAC;EACxD,KAAK,gBAAgB,EAAE,0CAA0C,EAAE,EAClE,YAAY,EAAE,+CAA+C,EAC9D,CAAC;EACF,qBAAC;GAAS,WAAW,OAAO;GAAQ,OAAO;IAAC,QAAQ;IAAG,UAAU;IAAQ,QAAQ;IAAG,SAAS;IAAE;cAC7F,oBAAC;IAAO,WAAW,OAAO;cAAW,EAAE,wCAAwC;KAAU,EACxF,wBAAwB,KAAK,cAC5B,oBAACC;IAEC,MAAM,aAAa;IACnB,OAAO,EAAE,kCAAkC,YAAY;IACvD,SAAS,OAAO,WAAW,SAAS,UAAU;IAC9C,WAAW,UACT,mBACE,MAAM,OAAO,UACT,CAAC,GAAG,OAAO,YAAY,UAAU,GACjC,OAAO,WAAW,QAAQ,UAAkB,UAAU,UAAU,CACrE;MATE,UAWL,CACF;IACO;EACV,wBACC,oBAACA;GACC,MAAK;GACL,OAAO,EAAE,0CAA0C;GACnD,SAAS,OAAO;GAChB,WAAW,UAA+C,qBAAqB,MAAM,OAAO,QAAQ;IACpG;KAEH;;AAIP,oCAAe"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Preferences } from '@thunderid/browser';
|
|
2
|
+
import { FC } from 'react';
|
|
3
|
+
export interface ClientSecretNoticeProps {
|
|
4
|
+
/**
|
|
5
|
+
* Called once the secret has been copied, after which it cannot be read again.
|
|
6
|
+
*/
|
|
7
|
+
onDismiss?: () => void;
|
|
8
|
+
preferences?: Preferences;
|
|
9
|
+
secret: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Shows a client secret the one time it can be read, masked until revealed, with a copy button.
|
|
13
|
+
*/
|
|
14
|
+
declare const ClientSecretNotice: FC<ClientSecretNoticeProps>;
|
|
15
|
+
export default ClientSecretNotice;
|
|
16
|
+
//# sourceMappingURL=ClientSecretNotice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientSecretNotice.d.ts","sourceRoot":"","sources":["../../../../src/components/admin/shared/ClientSecretNotice.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAC,EAAE,EAAe,MAAM,OAAO,CAAC;AAOvC,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,QAAA,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAqBnD,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import useTranslation_default from "../../../hooks/useTranslation.js";
|
|
2
|
+
import Button_default from "../../primitives/Button/Button.js";
|
|
3
|
+
import Alert_default from "../../primitives/Alert/Alert.js";
|
|
4
|
+
import CopyableText_default from "../../primitives/CopyableText/CopyableText.js";
|
|
5
|
+
import useAdminPartStyles_default from "./useAdminPartStyles.js";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
|
|
8
|
+
//#region src/components/admin/shared/ClientSecretNotice.tsx
|
|
9
|
+
/**
|
|
10
|
+
* Shows a client secret the one time it can be read, masked until revealed, with a copy button.
|
|
11
|
+
*/
|
|
12
|
+
const ClientSecretNotice = ({ onDismiss, preferences, secret }) => {
|
|
13
|
+
const styles = useAdminPartStyles_default();
|
|
14
|
+
const { t } = useTranslation_default(preferences?.i18n);
|
|
15
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
16
|
+
className: styles["row"],
|
|
17
|
+
style: {
|
|
18
|
+
alignItems: "stretch",
|
|
19
|
+
flexDirection: "column"
|
|
20
|
+
},
|
|
21
|
+
children: [
|
|
22
|
+
/* @__PURE__ */ jsx(Alert_default, {
|
|
23
|
+
variant: "warning",
|
|
24
|
+
role: "status",
|
|
25
|
+
children: t("admin.applications.secret.notice")
|
|
26
|
+
}),
|
|
27
|
+
/* @__PURE__ */ jsx(CopyableText_default, {
|
|
28
|
+
label: t("admin.applications.secret.title"),
|
|
29
|
+
value: secret,
|
|
30
|
+
masked: true
|
|
31
|
+
}),
|
|
32
|
+
onDismiss && /* @__PURE__ */ jsx("div", {
|
|
33
|
+
className: styles["row"],
|
|
34
|
+
style: { justifyContent: "flex-end" },
|
|
35
|
+
children: /* @__PURE__ */ jsx(Button_default, {
|
|
36
|
+
onClick: onDismiss,
|
|
37
|
+
children: t("admin.applications.secret.done")
|
|
38
|
+
})
|
|
39
|
+
})
|
|
40
|
+
]
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
var ClientSecretNotice_default = ClientSecretNotice;
|
|
44
|
+
|
|
45
|
+
//#endregion
|
|
46
|
+
export { ClientSecretNotice_default as default };
|
|
47
|
+
//# sourceMappingURL=ClientSecretNotice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientSecretNotice.js","names":["ClientSecretNotice: FC<ClientSecretNoticeProps>","styles: Record<string, string>","useAdminPartStyles","useTranslation","Alert","CopyableText","Button"],"sources":["../../../../src/components/admin/shared/ClientSecretNotice.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {Preferences} from '@thunderid/browser';\nimport {FC, ReactElement} from 'react';\nimport useAdminPartStyles from './useAdminPartStyles';\nimport useTranslation from '../../../hooks/useTranslation';\nimport Alert from '../../primitives/Alert/Alert';\nimport Button from '../../primitives/Button/Button';\nimport CopyableText from '../../primitives/CopyableText/CopyableText';\n\nexport interface ClientSecretNoticeProps {\n /**\n * Called once the secret has been copied, after which it cannot be read again.\n */\n onDismiss?: () => void;\n preferences?: Preferences;\n secret: string;\n}\n\n/**\n * Shows a client secret the one time it can be read, masked until revealed, with a copy button.\n */\nconst ClientSecretNotice: FC<ClientSecretNoticeProps> = ({\n onDismiss,\n preferences,\n secret,\n}: ClientSecretNoticeProps): ReactElement => {\n const styles: Record<string, string> = useAdminPartStyles();\n const {t} = useTranslation(preferences?.i18n);\n\n return (\n <div className={styles['row']} style={{alignItems: 'stretch', flexDirection: 'column'}}>\n <Alert variant=\"warning\" role=\"status\">\n {t('admin.applications.secret.notice')}\n </Alert>\n <CopyableText label={t('admin.applications.secret.title')} value={secret} masked />\n {onDismiss && (\n <div className={styles['row']} style={{justifyContent: 'flex-end'}}>\n <Button onClick={onDismiss}>{t('admin.applications.secret.done')}</Button>\n </div>\n )}\n </div>\n );\n};\n\nexport default ClientSecretNotice;\n"],"mappings":";;;;;;;;;;;AAuBA,MAAMA,sBAAmD,EACvD,WACA,aACA,aAC2C;CAC3C,MAAMC,SAAiCC,4BAAoB;CAC3D,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;AAE7C,QACE,qBAAC;EAAI,WAAW,OAAO;EAAQ,OAAO;GAAC,YAAY;GAAW,eAAe;GAAS;;GACpF,oBAACC;IAAM,SAAQ;IAAU,MAAK;cAC3B,EAAE,mCAAmC;KAChC;GACR,oBAACC;IAAa,OAAO,EAAE,kCAAkC;IAAE,OAAO;IAAQ;KAAS;GAClF,aACC,oBAAC;IAAI,WAAW,OAAO;IAAQ,OAAO,EAAC,gBAAgB,YAAW;cAChE,oBAACC;KAAO,SAAS;eAAY,EAAE,iCAAiC;MAAU;KACtE;;GAEJ;;AAIV,iCAAe"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import useThunderID_default from "../../../contexts/ThunderID/useThunderID.js";
|
|
2
|
-
import useFetchUsers_default from "../../../hooks/management/useFetchUsers.js";
|
|
3
2
|
import useFetchAuthFlows_default from "../../../hooks/auth/useFetchAuthFlows.js";
|
|
3
|
+
import useFetchUsers_default from "../../../hooks/management/useFetchUsers.js";
|
|
4
4
|
import useFetchUserTypes_default from "../../../hooks/management/useFetchUserTypes.js";
|
|
5
5
|
import BaseInviteUser_default from "./BaseInviteUser.js";
|
|
6
6
|
import { EmbeddedFlowType, getOrganizationUnitChildren, resolveResourceEndpoint } from "@thunderid/browser";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Consent.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/flow/Consent.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,kBAAkB,EAAgB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAmB,EAAE,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"Consent.d.ts","sourceRoot":"","sources":["../../../../src/components/auth/flow/Consent.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,kBAAkB,EAAgB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAmB,EAAE,EAAE,SAAS,EAAU,MAAM,OAAO,CAAC;AAM/D,OAAO,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAG7D;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,kEAAkE;IAClE,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,uEAAuE;IACvE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,SAAS,CAAC;IACpD;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,kBAAkB,EAAE,GAAG;QAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAA;KAAC,CAAC;IAC/E;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;;OAEG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAErD;;OAEG;IACH,CAAC,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;CACzB;AAeD;;;;GAIG;AACH,QAAA,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CAyM7B,CAAC;AAEF,eAAe,OAAO,CAAC"}
|