@keycloak/keycloak-admin-ui 26.4.7 → 26.5.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/lib/.vite/manifest.json +53 -43
- package/lib/AddJWTAuthorizationGrant-BxV7hzzZ.js +69 -0
- package/lib/AddJWTAuthorizationGrant-BxV7hzzZ.js.map +1 -0
- package/lib/{AddKubernetesConnect-TKm82MxO.js → AddKubernetesConnect-Bc_kTuYx.js} +4 -4
- package/lib/{AddKubernetesConnect-TKm82MxO.js.map → AddKubernetesConnect-Bc_kTuYx.js.map} +1 -1
- package/lib/{AddOAuth2-Bg_V5CMD.js → AddOAuth2-BEs8BWjo.js} +15 -15
- package/lib/{AddOAuth2-Bg_V5CMD.js.map → AddOAuth2-BEs8BWjo.js.map} +1 -1
- package/lib/{AddSpiffeConnect-gH8LxYcP.js → AddSpiffeConnect-RhW-jzlK.js} +5 -5
- package/lib/{AddSpiffeConnect-gH8LxYcP.js.map → AddSpiffeConnect-RhW-jzlK.js.map} +1 -1
- package/lib/{CreateFlow-6M8Wg_2H.js → CreateFlow-Bwuqra7c.js} +2 -2
- package/lib/{CreateFlow-6M8Wg_2H.js.map → CreateFlow-Bwuqra7c.js.map} +1 -1
- package/lib/DetailOrganization-6dzeU8qG.js +194 -0
- package/lib/DetailOrganization-6dzeU8qG.js.map +1 -0
- package/lib/{ExecutorForm-BYCH7c3u.js → ExecutorForm-ytEjIbpP.js} +2 -2
- package/lib/{ExecutorForm-BYCH7c3u.js.map → ExecutorForm-ytEjIbpP.js.map} +1 -1
- package/lib/{FlowDetails-Dkl-8lLX.js → FlowDetails-tBxTv6wK.js} +1021 -1048
- package/lib/{FlowDetails-Dkl-8lLX.js.map → FlowDetails-tBxTv6wK.js.map} +1 -1
- package/lib/{NewOrganization-CBaP7xLv.js → NewOrganization-BI9VQI6o.js} +12 -12
- package/lib/{NewOrganization-CBaP7xLv.js.map → NewOrganization-BI9VQI6o.js.map} +1 -1
- package/lib/{PermissionConfigurationDetails-C0sgaW6Y.js → PermissionConfigurationDetails-q-Ms8reY.js} +18 -18
- package/lib/{PermissionConfigurationDetails-C0sgaW6Y.js.map → PermissionConfigurationDetails-q-Ms8reY.js.map} +1 -1
- package/lib/{PermissionDetails-CCdfBuaW.js → PermissionDetails-BW_lN8ii.js} +2 -2
- package/lib/{PermissionDetails-CCdfBuaW.js.map → PermissionDetails-BW_lN8ii.js.map} +1 -1
- package/lib/{RealmSection-CbqC2up8.js → RealmSection-D40zPuIt.js} +7 -7
- package/lib/{RealmSection-CbqC2up8.js.map → RealmSection-D40zPuIt.js.map} +1 -1
- package/lib/{ResourceDetails-DWXjggUc.js → ResourceDetails-DmjAj-MN.js} +3 -3
- package/lib/{ResourceDetails-DWXjggUc.js.map → ResourceDetails-DmjAj-MN.js.map} +1 -1
- package/lib/{ScopeDetails-dcHTfc9f.js → ScopeDetails-CmZtEhXo.js} +2 -2
- package/lib/{ScopeDetails-dcHTfc9f.js.map → ScopeDetails-CmZtEhXo.js.map} +1 -1
- package/lib/{ScopePicker-DNYZfIbU.js → ScopePicker-p78XHCTm.js} +7 -7
- package/lib/{ScopePicker-DNYZfIbU.js.map → ScopePicker-p78XHCTm.js.map} +1 -1
- package/lib/WorkflowDetailForm-BN-XL1FE.js +4938 -0
- package/lib/WorkflowDetailForm-BN-XL1FE.js.map +1 -0
- package/lib/WorkflowsSection-BfykdcZr.js +135 -0
- package/lib/WorkflowsSection-BfykdcZr.js.map +1 -0
- package/lib/client-scopes/details/SearchFilter.d.ts +1 -1
- package/lib/clients/constants.d.ts +2 -0
- package/lib/clients/keys/ImportKeyDialog.d.ts +3 -1
- package/lib/components/dynamic/ClaimDisplayComponent.d.ts +2 -0
- package/lib/components/dynamic/IdentityProviderMultiSelectComponent.d.ts +2 -0
- package/lib/components/dynamic/MultivaluedListComponent.d.ts +6 -1
- package/lib/components/dynamic/components.d.ts +2 -1
- package/lib/components/identity-provider/IdentityProviderSelect.d.ts +10 -0
- package/lib/components/users/UserDataTableAttributeSearchForm.d.ts +2 -1
- package/lib/identity-providers/add/AddJWTAuthorizationGrant.d.ts +1 -0
- package/lib/identity-providers/add/JWTAuthorizationGrantAssertionSettings.d.ts +1 -0
- package/lib/identity-providers/add/JWTAuthorizationGrantSettings.d.ts +1 -0
- package/lib/identity-providers/add/JwksSettings.d.ts +5 -0
- package/lib/identity-providers/routes/IdentityProviderJWTAuthorizationGrant.d.ts +7 -0
- package/lib/{index-YEmLy1gM.js → index-aTEFJb4J.js} +28869 -27313
- package/lib/{index-YEmLy1gM.js.map → index-aTEFJb4J.js.map} +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/keycloak-admin-ui.js +147 -145
- package/lib/organizations/Invitations.d.ts +1 -0
- package/lib/organizations/MembersSection.d.ts +1 -0
- package/lib/realm-settings/TokensTab.d.ts +2 -2
- package/lib/utils/useIsFeatureEnabled.d.ts +1 -0
- package/lib/workflows/WorkflowDetailForm.d.ts +1 -0
- package/lib/workflows/routes/WorkflowDetail.d.ts +9 -0
- package/package.json +34 -22
- package/lib/CreateWorkflow-zbDnQ8Gr.js +0 -86
- package/lib/CreateWorkflow-zbDnQ8Gr.js.map +0 -1
- package/lib/DetailOrganization-DfVZ7YOx.js +0 -164
- package/lib/DetailOrganization-DfVZ7YOx.js.map +0 -1
- package/lib/WorkflowsSection-DZtAH1DA.js +0 -92
- package/lib/WorkflowsSection-DZtAH1DA.js.map +0 -1
- package/lib/workflows/CreateWorkflow.d.ts +0 -1
- package/lib/workflows/routes/AddWorkflow.d.ts +0 -7
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { jsxs as y, Fragment as B, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { u as S, a as x, _ as A, aa as E, m as R, d as p, V as U, bH as V, P as I, a_ as P, v as L, bI as r, av as T, B as _ } from "./index-aTEFJb4J.js";
|
|
3
|
+
import { useState as g } from "react";
|
|
4
|
+
import { useTranslation as j } from "react-i18next";
|
|
5
|
+
import { useNavigate as H, Link as b } from "react-router-dom";
|
|
6
|
+
function z() {
|
|
7
|
+
const { adminClient: l } = S(), { realm: a } = x(), { t } = j(), m = H(), { addAlert: w, addError: f } = A(), [u, h] = g(0), k = () => h(u + 1), [s, i] = g(), C = async () => (await l.workflows.find()).sort(
|
|
8
|
+
(d, n) => {
|
|
9
|
+
const c = d.name ?? "", v = n.name ?? "";
|
|
10
|
+
return c.localeCompare(v);
|
|
11
|
+
}
|
|
12
|
+
), D = async (e) => {
|
|
13
|
+
const d = !(e.enabled ?? !0), n = { ...e, enabled: d };
|
|
14
|
+
try {
|
|
15
|
+
await l.workflows.update(
|
|
16
|
+
{ id: e.id },
|
|
17
|
+
n
|
|
18
|
+
), w(
|
|
19
|
+
n.enabled ? t("workflowEnabled") : t("workflowDisabled"),
|
|
20
|
+
p.success
|
|
21
|
+
), k();
|
|
22
|
+
} catch (c) {
|
|
23
|
+
f("workflowUpdateError", c);
|
|
24
|
+
}
|
|
25
|
+
}, [K, W] = E({
|
|
26
|
+
titleKey: "workflowDeleteConfirm",
|
|
27
|
+
messageKey: t("workflowDeleteConfirmDialog", {
|
|
28
|
+
selectedRoleName: s ? s.name : ""
|
|
29
|
+
}),
|
|
30
|
+
continueButtonLabel: "delete",
|
|
31
|
+
continueButtonVariant: R.danger,
|
|
32
|
+
onConfirm: async () => {
|
|
33
|
+
try {
|
|
34
|
+
await l.workflows.delById({ id: s.id }), i(void 0), w(t("workflowDeletedSuccess"), p.success), k();
|
|
35
|
+
} catch (e) {
|
|
36
|
+
f("workflowDeleteError", e);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
return /* @__PURE__ */ y(B, { children: [
|
|
41
|
+
/* @__PURE__ */ o(
|
|
42
|
+
U,
|
|
43
|
+
{
|
|
44
|
+
titleKey: "titleWorkflows",
|
|
45
|
+
subKey: "workflowsExplain",
|
|
46
|
+
helpUrl: V.workflowsUrl
|
|
47
|
+
}
|
|
48
|
+
),
|
|
49
|
+
/* @__PURE__ */ y(I, { variant: "light", padding: { default: "noPadding" }, children: [
|
|
50
|
+
/* @__PURE__ */ o(W, {}),
|
|
51
|
+
/* @__PURE__ */ o(
|
|
52
|
+
P,
|
|
53
|
+
{
|
|
54
|
+
toolbarItem: /* @__PURE__ */ o(
|
|
55
|
+
_,
|
|
56
|
+
{
|
|
57
|
+
"data-testid": "create-workflow",
|
|
58
|
+
component: (e) => /* @__PURE__ */ o(
|
|
59
|
+
b,
|
|
60
|
+
{
|
|
61
|
+
...e,
|
|
62
|
+
to: r({ realm: a, mode: "create", id: "new" })
|
|
63
|
+
}
|
|
64
|
+
),
|
|
65
|
+
children: t("createWorkflow")
|
|
66
|
+
}
|
|
67
|
+
),
|
|
68
|
+
columns: [
|
|
69
|
+
{
|
|
70
|
+
name: "name",
|
|
71
|
+
displayKey: "name",
|
|
72
|
+
cellRenderer: (e) => /* @__PURE__ */ o(
|
|
73
|
+
b,
|
|
74
|
+
{
|
|
75
|
+
to: r({ realm: a, mode: "update", id: e.id }),
|
|
76
|
+
children: e.name
|
|
77
|
+
}
|
|
78
|
+
)
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
name: "id",
|
|
82
|
+
displayKey: "id"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: "status",
|
|
86
|
+
displayKey: "status",
|
|
87
|
+
cellRenderer: (e) => /* @__PURE__ */ o(
|
|
88
|
+
T,
|
|
89
|
+
{
|
|
90
|
+
"data-testid": `toggle-enabled-${e.name}`,
|
|
91
|
+
label: t("enabled"),
|
|
92
|
+
labelOff: t("disabled"),
|
|
93
|
+
isChecked: e.enabled ?? !0,
|
|
94
|
+
onChange: () => D(e)
|
|
95
|
+
}
|
|
96
|
+
)
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
actions: [
|
|
100
|
+
{
|
|
101
|
+
title: t("delete"),
|
|
102
|
+
onRowClick: (e) => {
|
|
103
|
+
i(e), K();
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
title: t("copy"),
|
|
108
|
+
onRowClick: (e) => {
|
|
109
|
+
i(e), m(
|
|
110
|
+
r({ realm: a, mode: "copy", id: e.id })
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
loader: C,
|
|
116
|
+
ariaLabelKey: "workflows",
|
|
117
|
+
emptyState: /* @__PURE__ */ o(
|
|
118
|
+
L,
|
|
119
|
+
{
|
|
120
|
+
message: t("emptyWorkflows"),
|
|
121
|
+
instructions: t("emptyWorkflowsInstructions"),
|
|
122
|
+
primaryActionText: t("createWorkflow"),
|
|
123
|
+
onPrimaryAction: () => m(r({ realm: a, mode: "create", id: "new" }))
|
|
124
|
+
}
|
|
125
|
+
)
|
|
126
|
+
},
|
|
127
|
+
u
|
|
128
|
+
)
|
|
129
|
+
] })
|
|
130
|
+
] });
|
|
131
|
+
}
|
|
132
|
+
export {
|
|
133
|
+
z as default
|
|
134
|
+
};
|
|
135
|
+
//# sourceMappingURL=WorkflowsSection-BfykdcZr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkflowsSection-BfykdcZr.js","sources":["../src/workflows/WorkflowsSection.tsx"],"sourcesContent":["import {\n AlertVariant,\n Button,\n ButtonVariant,\n PageSection,\n Switch,\n} from \"@patternfly/react-core\";\nimport {\n Action,\n KeycloakDataTable,\n ListEmptyState,\n useAlerts,\n} from \"@keycloak/keycloak-ui-shared\";\nimport WorkflowRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/workflowRepresentation\";\nimport { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { useAdminClient } from \"../admin-client\";\nimport { ViewHeader } from \"../components/view-header/ViewHeader\";\nimport { useRealm } from \"../context/realm-context/RealmContext\";\nimport helpUrls from \"../help-urls\";\nimport { useConfirmDialog } from \"../components/confirm-dialog/ConfirmDialog\";\nimport { toWorkflowDetail } from \"./routes/WorkflowDetail\";\n\nexport default function WorkflowsSection() {\n const { adminClient } = useAdminClient();\n\n const { realm } = useRealm();\n const { t } = useTranslation();\n const navigate = useNavigate();\n const { addAlert, addError } = useAlerts();\n\n const [key, setKey] = useState(0);\n const refresh = () => setKey(key + 1);\n\n const [selectedWorkflow, setSelectedWorkflow] =\n useState<WorkflowRepresentation>();\n\n const loader = async () => {\n const workflows = await adminClient.workflows.find();\n return workflows.sort(\n (a: WorkflowRepresentation, b: WorkflowRepresentation) => {\n const nameA = a.name ?? \"\";\n const nameB = b.name ?? \"\";\n return nameA.localeCompare(nameB);\n },\n );\n };\n\n const toggleEnabled = async (workflow: WorkflowRepresentation) => {\n const enabled = !(workflow.enabled ?? true);\n const workflowToUpdate = { ...workflow, enabled };\n try {\n await adminClient.workflows.update(\n { id: workflow.id! },\n workflowToUpdate,\n );\n\n addAlert(\n workflowToUpdate.enabled ? t(\"workflowEnabled\") : t(\"workflowDisabled\"),\n AlertVariant.success,\n );\n refresh();\n } catch (error) {\n addError(\"workflowUpdateError\", error);\n }\n };\n\n const [toggleDeleteDialog, DeleteConfirm] = useConfirmDialog({\n titleKey: \"workflowDeleteConfirm\",\n messageKey: t(\"workflowDeleteConfirmDialog\", {\n selectedRoleName: selectedWorkflow ? selectedWorkflow!.name : \"\",\n }),\n continueButtonLabel: \"delete\",\n continueButtonVariant: ButtonVariant.danger,\n onConfirm: async () => {\n try {\n await adminClient.workflows.delById({ id: selectedWorkflow!.id! });\n setSelectedWorkflow(undefined);\n addAlert(t(\"workflowDeletedSuccess\"), AlertVariant.success);\n refresh();\n } catch (error) {\n addError(\"workflowDeleteError\", error);\n }\n },\n });\n\n return (\n <>\n <ViewHeader\n titleKey=\"titleWorkflows\"\n subKey=\"workflowsExplain\"\n helpUrl={helpUrls.workflowsUrl}\n />\n <PageSection variant=\"light\" padding={{ default: \"noPadding\" }}>\n <DeleteConfirm />\n <KeycloakDataTable\n key={key}\n toolbarItem={\n <Button\n data-testid=\"create-workflow\"\n component={(props) => (\n <Link\n {...props}\n to={toWorkflowDetail({ realm, mode: \"create\", id: \"new\" })}\n />\n )}\n >\n {t(\"createWorkflow\")}\n </Button>\n }\n columns={[\n {\n name: \"name\",\n displayKey: \"name\",\n cellRenderer: (row: WorkflowRepresentation) => (\n <Link\n to={toWorkflowDetail({ realm, mode: \"update\", id: row.id! })}\n >\n {row.name}\n </Link>\n ),\n },\n {\n name: \"id\",\n displayKey: \"id\",\n },\n {\n name: \"status\",\n displayKey: \"status\",\n cellRenderer: (workflow: WorkflowRepresentation) => (\n <Switch\n data-testid={`toggle-enabled-${workflow.name}`}\n label={t(\"enabled\")}\n labelOff={t(\"disabled\")}\n isChecked={workflow.enabled ?? true}\n onChange={() => toggleEnabled(workflow)}\n />\n ),\n },\n ]}\n actions={[\n {\n title: t(\"delete\"),\n onRowClick: (workflow) => {\n setSelectedWorkflow(workflow);\n toggleDeleteDialog();\n },\n } as Action<WorkflowRepresentation>,\n {\n title: t(\"copy\"),\n onRowClick: (workflow) => {\n setSelectedWorkflow(workflow);\n navigate(\n toWorkflowDetail({ realm, mode: \"copy\", id: workflow.id! }),\n );\n },\n } as Action<WorkflowRepresentation>,\n ]}\n loader={loader}\n ariaLabelKey=\"workflows\"\n emptyState={\n <ListEmptyState\n message={t(\"emptyWorkflows\")}\n instructions={t(\"emptyWorkflowsInstructions\")}\n primaryActionText={t(\"createWorkflow\")}\n onPrimaryAction={() =>\n navigate(toWorkflowDetail({ realm, mode: \"create\", id: \"new\" }))\n }\n />\n }\n />\n </PageSection>\n </>\n );\n}\n"],"names":["WorkflowsSection","adminClient","useAdminClient","realm","useRealm","useTranslation","navigate","useNavigate","addAlert","addError","useAlerts","key","setKey","useState","refresh","selectedWorkflow","setSelectedWorkflow","loader","a","b","nameA","nameB","toggleEnabled","workflow","enabled","workflowToUpdate","AlertVariant","error","toggleDeleteDialog","DeleteConfirm","useConfirmDialog","ButtonVariant","jsxs","Fragment","jsx","ViewHeader","helpUrls","PageSection","KeycloakDataTable","Button","props","Link","toWorkflowDetail","row","Switch","ListEmptyState"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { AllClientScopes, AllClientScopeType } from '../../components/client-sco
|
|
|
2
2
|
import { Row } from '../../clients/scopes/ClientScopes';
|
|
3
3
|
export type SearchType = "name" | "type" | "protocol";
|
|
4
4
|
export declare const PROTOCOLS: readonly ["all", "saml", "openid-connect"];
|
|
5
|
-
export type ProtocolType = (typeof PROTOCOLS)[number];
|
|
5
|
+
export type ProtocolType = (typeof PROTOCOLS)[number] | "oid4vc";
|
|
6
6
|
export declare const nameFilter: (search?: string) => (scope: Row) => boolean | undefined;
|
|
7
7
|
export declare const typeFilter: (type: AllClientScopeType) => (scope: Row) => boolean;
|
|
8
8
|
export declare const protocolFilter: (protocol: ProtocolType) => (scope: Row) => boolean;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
type ImportKeyDialogProps = {
|
|
2
2
|
toggleDialog: () => void;
|
|
3
3
|
save: (importFile: ImportFile) => void;
|
|
4
|
+
title?: string;
|
|
5
|
+
description?: string;
|
|
4
6
|
};
|
|
5
7
|
export type ImportFile = {
|
|
6
8
|
keystoreFormat: string;
|
|
@@ -8,5 +10,5 @@ export type ImportFile = {
|
|
|
8
10
|
storePassword: string;
|
|
9
11
|
file: File | string;
|
|
10
12
|
};
|
|
11
|
-
export declare const ImportKeyDialog: ({ save, toggleDialog, }: ImportKeyDialogProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare const ImportKeyDialog: ({ save, toggleDialog, title, description, }: ImportKeyDialogProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
14
|
export {};
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
import { SelectVariant } from '@keycloak/keycloak-ui-shared';
|
|
1
2
|
import { ComponentProps } from './components';
|
|
2
|
-
|
|
3
|
+
type MultiValuedListComponentProps = ComponentProps & {
|
|
4
|
+
variant?: `${SelectVariant}`;
|
|
5
|
+
};
|
|
6
|
+
export declare const MultiValuedListComponent: ({ name, label, helpText, defaultValue, options, isDisabled, stringify, required, convertToName, onSearch, variant, }: MultiValuedListComponentProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -5,12 +5,13 @@ export type ComponentProps = Omit<ConfigPropertyRepresentation, "type"> & {
|
|
|
5
5
|
isNew?: boolean;
|
|
6
6
|
stringify?: boolean;
|
|
7
7
|
convertToName: (name: string) => string;
|
|
8
|
+
onSearch?: (search: string) => void;
|
|
8
9
|
};
|
|
9
10
|
export type NumberComponentProps = ComponentProps & {
|
|
10
11
|
min?: number;
|
|
11
12
|
max?: number;
|
|
12
13
|
};
|
|
13
|
-
type ComponentType = "String" | "Text" | "Integer" | "Number" | "boolean" | "List" | "Role" | "Script" | "Map" | "Group" | "MultivaluedList" | "ClientList" | "UserProfileAttributeList" | "MultivaluedString" | "File" | "Password" | "Url";
|
|
14
|
+
type ComponentType = "String" | "Text" | "Integer" | "Number" | "boolean" | "List" | "Role" | "Script" | "Map" | "Group" | "MultivaluedList" | "ClientList" | "IdentityProviderMultiList" | "UserProfileAttributeList" | "MultivaluedString" | "File" | "Password" | "Url" | "ClaimDisplay";
|
|
14
15
|
export declare const COMPONENTS: {
|
|
15
16
|
[index in ComponentType]: FunctionComponent<ComponentProps>;
|
|
16
17
|
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IdentityProviderType } from '@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation';
|
|
2
|
+
import { SelectVariant } from '@keycloak/keycloak-ui-shared';
|
|
3
|
+
import { ComponentProps } from '../dynamic/components';
|
|
4
|
+
type IdentityProviderSelectProps = ComponentProps & {
|
|
5
|
+
variant?: `${SelectVariant}`;
|
|
6
|
+
identityProviderType?: IdentityProviderType;
|
|
7
|
+
realmOnly?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const IdentityProviderSelect: ({ identityProviderType, realmOnly, ...props }: IdentityProviderSelectProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -7,6 +7,7 @@ type UserDataTableAttributeSearchFormProps = {
|
|
|
7
7
|
profile: UserProfileConfig;
|
|
8
8
|
createAttributeSearchChips: () => ReactNode;
|
|
9
9
|
searchUserWithAttributes: () => void;
|
|
10
|
+
clearAllFilters: () => void;
|
|
10
11
|
};
|
|
11
|
-
export declare function UserDataTableAttributeSearchForm({ activeFilters, setActiveFilters, profile, createAttributeSearchChips, searchUserWithAttributes, }: UserDataTableAttributeSearchFormProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare function UserDataTableAttributeSearchForm({ activeFilters, setActiveFilters, profile, createAttributeSearchChips, searchUserWithAttributes, clearAllFilters, }: UserDataTableAttributeSearchFormProps): import("react/jsx-runtime").JSX.Element;
|
|
12
13
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function AddJWTAuthorizationGrantConnect(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const JWTAuthorizationGrantAssertionSettings: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function JWTAuthorizationGrantSettings(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Path } from 'react-router-dom';
|
|
2
|
+
import { AppRouteObject } from '../../routes';
|
|
3
|
+
export type IdentityProviderJWTAuthorizationGrantParams = {
|
|
4
|
+
realm: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const IdentityProviderJWTAuthorizationGrantRoute: AppRouteObject;
|
|
7
|
+
export declare const toIdentityProviderJWTAuthorizationGrant: (params: IdentityProviderJWTAuthorizationGrantParams) => Partial<Path>;
|