UNPKG

@keycloakify/keycloak-admin-ui

Version:
31 lines 1.34 kB
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