@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
31 lines • 1.34 kB
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { SelectControl, useFetch, } from "../../ui-shared";
import { useState } from "react";
import { useTranslation } from "react-i18next";
import { useAdminClient } from "../../admin-client";
export const ClientSelect = ({ name, label, helpText, defaultValue, isDisabled = false, required = false, variant = "typeahead", }) => {
const { adminClient } = useAdminClient();
const { t } = useTranslation();
const [clients, setClients] = useState([]);
const [search, setSearch] = useState("");
useFetch(() => {
const params = {
max: 20,
};
if (search) {
params.clientId = search;
params.search = true;
}
return adminClient.clients.find(params);
}, (clients) => setClients(clients), [search]);
return (_jsx(SelectControl, { name: name, label: t(label), labelIcon: t(helpText), controller: {
defaultValue: defaultValue || "",
rules: {
required: {
value: required,
message: t("required"),
},
},
}, onFilter: (value) => setSearch(value), variant: variant, isDisabled: isDisabled, options: clients.map(({ clientId }) => clientId) }));
};
//# sourceMappingURL=ClientSelect.js.map