UNPKG

@keycloakify/keycloak-admin-ui

Version:
65 lines (59 loc) 2.83 kB
import type { ConfigPropertyRepresentation } from "@keycloak/keycloak-admin-client/lib/defs/authenticatorConfigInfoRepresentation"; import { FunctionComponent } from "react"; import { BooleanComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/BooleanComponent"; import { ClientSelectComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/ClientSelectComponent"; import { FileComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/FileComponent"; import { GroupComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/GroupComponent"; import { ListComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/ListComponent"; import { MapComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/MapComponent"; import { MultiValuedListComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/MultivaluedListComponent"; import { MultiValuedStringComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/MultivaluedStringComponent"; import { PasswordComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/PasswordComponent"; import { RoleComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/RoleComponent"; import { ScriptComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/ScriptComponent"; import { StringComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/StringComponent"; import { TextComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/TextComponent"; import { UrlComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/UrlComponent"; import { UserProfileAttributeListComponent } from "@keycloakify/keycloak-admin-ui/components/dynamic/UserProfileAttributeListComponent"; export type ComponentProps = Omit<ConfigPropertyRepresentation, "type"> & { isDisabled?: boolean; isNew?: boolean; stringify?: boolean; }; type ComponentType = | "String" | "Text" | "boolean" | "List" | "Role" | "Script" | "Map" | "Group" | "MultivaluedList" | "ClientList" | "UserProfileAttributeList" | "MultivaluedString" | "File" | "Password" | "Url"; export const COMPONENTS: { [index in ComponentType]: FunctionComponent<ComponentProps>; } = { String: StringComponent, Text: TextComponent, boolean: BooleanComponent, List: ListComponent, Role: RoleComponent, Script: ScriptComponent, Map: MapComponent, Group: GroupComponent, ClientList: ClientSelectComponent, UserProfileAttributeList: UserProfileAttributeListComponent, MultivaluedList: MultiValuedListComponent, MultivaluedString: MultiValuedStringComponent, File: FileComponent, Password: PasswordComponent, Url: UrlComponent, } as const; export const isValidComponentType = (value: string): value is ComponentType => value in COMPONENTS;