@keycloak/keycloak-admin-ui 26.1.0 → 26.1.1

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.
Files changed (25) hide show
  1. package/lib/.vite/manifest.json +23 -23
  2. package/lib/App.d.ts +2 -0
  3. package/lib/{CreateFlow--atMTNJc.js → CreateFlow-BP640UYh.js} +2 -2
  4. package/lib/{CreateFlow--atMTNJc.js.map → CreateFlow-BP640UYh.js.map} +1 -1
  5. package/lib/{DetailOrganization-az4NPzMy.js → DetailOrganization-DmvcJpiT.js} +2 -2
  6. package/lib/{DetailOrganization-az4NPzMy.js.map → DetailOrganization-DmvcJpiT.js.map} +1 -1
  7. package/lib/{ExecutorForm-DaRc7uVA.js → ExecutorForm-Ckr_3kCd.js} +2 -2
  8. package/lib/{ExecutorForm-DaRc7uVA.js.map → ExecutorForm-Ckr_3kCd.js.map} +1 -1
  9. package/lib/{FlowDetails-qeT2t76N.js → FlowDetails-CxTTxsRh.js} +2 -2
  10. package/lib/{FlowDetails-qeT2t76N.js.map → FlowDetails-CxTTxsRh.js.map} +1 -1
  11. package/lib/{NewOrganization-DPk2Gzku.js → NewOrganization-B8QaQm9K.js} +2 -2
  12. package/lib/{NewOrganization-DPk2Gzku.js.map → NewOrganization-B8QaQm9K.js.map} +1 -1
  13. package/lib/{PermissionDetails-CnvNqBCb.js → PermissionDetails-DpwcCYaB.js} +2 -2
  14. package/lib/{PermissionDetails-CnvNqBCb.js.map → PermissionDetails-DpwcCYaB.js.map} +1 -1
  15. package/lib/{ResourceDetails-Cfnqq1uy.js → ResourceDetails-o5cgUkTJ.js} +2 -2
  16. package/lib/{ResourceDetails-Cfnqq1uy.js.map → ResourceDetails-o5cgUkTJ.js.map} +1 -1
  17. package/lib/{ScopeDetails-_i-3BNjz.js → ScopeDetails-DgvIDlC8.js} +2 -2
  18. package/lib/{ScopeDetails-_i-3BNjz.js.map → ScopeDetails-DgvIDlC8.js.map} +1 -1
  19. package/lib/{browser-ponyfill-uH6p8znu.js → browser-ponyfill-C_ISF2Ak.js} +2 -2
  20. package/lib/{browser-ponyfill-uH6p8znu.js.map → browser-ponyfill-C_ISF2Ak.js.map} +1 -1
  21. package/lib/{index-BIuvk4Xf.js → index-BJcywEEJ.js} +17 -19
  22. package/lib/{index-BIuvk4Xf.js.map → index-BJcywEEJ.js.map} +1 -1
  23. package/lib/index.d.ts +2 -1
  24. package/lib/keycloak-admin-ui.js +278 -277
  25. package/package.json +4 -4
@@ -1,17 +1,17 @@
1
1
  {
2
- "_browser-ponyfill-uH6p8znu.js": {
3
- "file": "browser-ponyfill-uH6p8znu.js",
2
+ "_browser-ponyfill-C_ISF2Ak.js": {
3
+ "file": "browser-ponyfill-C_ISF2Ak.js",
4
4
  "name": "browser-ponyfill",
5
5
  "isDynamicEntry": true,
6
6
  "imports": [
7
- "_index-BIuvk4Xf.js"
7
+ "_index-BJcywEEJ.js"
8
8
  ]
9
9
  },
10
- "_index-BIuvk4Xf.js": {
11
- "file": "index-BIuvk4Xf.js",
10
+ "_index-BJcywEEJ.js": {
11
+ "file": "index-BJcywEEJ.js",
12
12
  "name": "index",
13
13
  "dynamicImports": [
14
- "_browser-ponyfill-uH6p8znu.js",
14
+ "_browser-ponyfill-C_ISF2Ak.js",
15
15
  "src/authentication/FlowDetails.tsx",
16
16
  "src/authentication/form/CreateFlow.tsx",
17
17
  "src/organizations/DetailOrganization.tsx",
@@ -27,48 +27,48 @@
27
27
  ]
28
28
  },
29
29
  "src/authentication/FlowDetails.tsx": {
30
- "file": "FlowDetails-qeT2t76N.js",
30
+ "file": "FlowDetails-CxTTxsRh.js",
31
31
  "name": "FlowDetails",
32
32
  "src": "src/authentication/FlowDetails.tsx",
33
33
  "isDynamicEntry": true,
34
34
  "imports": [
35
- "_index-BIuvk4Xf.js"
35
+ "_index-BJcywEEJ.js"
36
36
  ]
37
37
  },
38
38
  "src/authentication/form/CreateFlow.tsx": {
39
- "file": "CreateFlow--atMTNJc.js",
39
+ "file": "CreateFlow-BP640UYh.js",
40
40
  "name": "CreateFlow",
41
41
  "src": "src/authentication/form/CreateFlow.tsx",
42
42
  "isDynamicEntry": true,
43
43
  "imports": [
44
- "_index-BIuvk4Xf.js"
44
+ "_index-BJcywEEJ.js"
45
45
  ]
46
46
  },
47
47
  "src/clients/authorization/PermissionDetails.tsx": {
48
- "file": "PermissionDetails-CnvNqBCb.js",
48
+ "file": "PermissionDetails-DpwcCYaB.js",
49
49
  "name": "PermissionDetails",
50
50
  "src": "src/clients/authorization/PermissionDetails.tsx",
51
51
  "isDynamicEntry": true,
52
52
  "imports": [
53
- "_index-BIuvk4Xf.js"
53
+ "_index-BJcywEEJ.js"
54
54
  ]
55
55
  },
56
56
  "src/clients/authorization/ResourceDetails.tsx": {
57
- "file": "ResourceDetails-Cfnqq1uy.js",
57
+ "file": "ResourceDetails-o5cgUkTJ.js",
58
58
  "name": "ResourceDetails",
59
59
  "src": "src/clients/authorization/ResourceDetails.tsx",
60
60
  "isDynamicEntry": true,
61
61
  "imports": [
62
- "_index-BIuvk4Xf.js"
62
+ "_index-BJcywEEJ.js"
63
63
  ]
64
64
  },
65
65
  "src/clients/authorization/ScopeDetails.tsx": {
66
- "file": "ScopeDetails-_i-3BNjz.js",
66
+ "file": "ScopeDetails-DgvIDlC8.js",
67
67
  "name": "ScopeDetails",
68
68
  "src": "src/clients/authorization/ScopeDetails.tsx",
69
69
  "isDynamicEntry": true,
70
70
  "imports": [
71
- "_index-BIuvk4Xf.js"
71
+ "_index-BJcywEEJ.js"
72
72
  ]
73
73
  },
74
74
  "src/index.ts": {
@@ -77,34 +77,34 @@
77
77
  "src": "src/index.ts",
78
78
  "isEntry": true,
79
79
  "imports": [
80
- "_index-BIuvk4Xf.js"
80
+ "_index-BJcywEEJ.js"
81
81
  ]
82
82
  },
83
83
  "src/organizations/DetailOrganization.tsx": {
84
- "file": "DetailOrganization-az4NPzMy.js",
84
+ "file": "DetailOrganization-DmvcJpiT.js",
85
85
  "name": "DetailOrganization",
86
86
  "src": "src/organizations/DetailOrganization.tsx",
87
87
  "isDynamicEntry": true,
88
88
  "imports": [
89
- "_index-BIuvk4Xf.js"
89
+ "_index-BJcywEEJ.js"
90
90
  ]
91
91
  },
92
92
  "src/organizations/NewOrganization.tsx": {
93
- "file": "NewOrganization-DPk2Gzku.js",
93
+ "file": "NewOrganization-B8QaQm9K.js",
94
94
  "name": "NewOrganization",
95
95
  "src": "src/organizations/NewOrganization.tsx",
96
96
  "isDynamicEntry": true,
97
97
  "imports": [
98
- "_index-BIuvk4Xf.js"
98
+ "_index-BJcywEEJ.js"
99
99
  ]
100
100
  },
101
101
  "src/realm-settings/ExecutorForm.tsx": {
102
- "file": "ExecutorForm-DaRc7uVA.js",
102
+ "file": "ExecutorForm-Ckr_3kCd.js",
103
103
  "name": "ExecutorForm",
104
104
  "src": "src/realm-settings/ExecutorForm.tsx",
105
105
  "isDynamicEntry": true,
106
106
  "imports": [
107
- "_index-BIuvk4Xf.js"
107
+ "_index-BJcywEEJ.js"
108
108
  ]
109
109
  },
110
110
  "style.css": {
package/lib/App.d.ts CHANGED
@@ -1 +1,3 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export declare const AppContexts: ({ children }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
1
3
  export declare const App: () => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { jsxs as r, Fragment as w, jsx as t } from "react/jsx-runtime";
2
- import { u as h, a as F, B as b, b as v, V as y, P as g, F as S, c as A, N as C, $ as I, A as T, z, d as B, t as H, e as i, f as N } from "./index-BIuvk4Xf.js";
2
+ import { u as h, a as F, B as b, b as v, V as y, P as g, F as S, c as A, N as C, $ as I, A as T, z, d as B, t as H, e as i, f as N } from "./index-BJcywEEJ.js";
3
3
  import { useTranslation as P } from "react-i18next";
4
4
  import { useNavigate as V, Link as k } from "react-router-dom";
5
5
  const c = ["basic-flow", "client-flow"];
@@ -77,4 +77,4 @@ function E() {
77
77
  export {
78
78
  E as default
79
79
  };
80
- //# sourceMappingURL=CreateFlow--atMTNJc.js.map
80
+ //# sourceMappingURL=CreateFlow-BP640UYh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateFlow--atMTNJc.js","sources":["../src/authentication/form/CreateFlow.tsx"],"sourcesContent":["import type AuthenticationFlowRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/authenticationFlowRepresentation\";\nimport {\n ActionGroup,\n AlertVariant,\n Button,\n PageSection,\n} from \"@patternfly/react-core\";\nimport { FormProvider, useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { FormSubmitButton, SelectControl } from \"@keycloak/keycloak-ui-shared\";\nimport { useAdminClient } from \"../../admin-client\";\nimport { useAlerts } from \"@keycloak/keycloak-ui-shared\";\nimport { FormAccess } from \"../../components/form/FormAccess\";\nimport { ViewHeader } from \"../../components/view-header/ViewHeader\";\nimport { useRealm } from \"../../context/realm-context/RealmContext\";\nimport { toAuthentication } from \"../routes/Authentication\";\nimport { toFlow } from \"../routes/Flow\";\nimport { NameDescription } from \"./NameDescription\";\n\nconst TYPES = [\"basic-flow\", \"client-flow\"] as const;\n\nexport default function CreateFlow() {\n const { adminClient } = useAdminClient();\n\n const { t } = useTranslation();\n const navigate = useNavigate();\n const { realm } = useRealm();\n const { addAlert } = useAlerts();\n const form = useForm<AuthenticationFlowRepresentation>();\n const { handleSubmit, formState } = form;\n\n const onSubmit = async (formValues: AuthenticationFlowRepresentation) => {\n const flow = { ...formValues, builtIn: false, topLevel: true };\n\n try {\n const { id } =\n await adminClient.authenticationManagement.createFlow(flow);\n addAlert(t(\"flowCreatedSuccess\"), AlertVariant.success);\n navigate(\n toFlow({\n realm,\n id: id!,\n usedBy: \"notInUse\",\n }),\n );\n } catch (error: any) {\n addAlert(\n t(\"flowCreateError\", {\n error: error.response?.data?.errorMessage || error,\n }),\n AlertVariant.danger,\n );\n }\n };\n\n return (\n <>\n <ViewHeader titleKey=\"createFlow\" subKey=\"authenticationCreateFlowHelp\" />\n <PageSection variant=\"light\">\n <FormProvider {...form}>\n <FormAccess\n isHorizontal\n role=\"manage-authorization\"\n onSubmit={handleSubmit(onSubmit)}\n >\n <NameDescription />\n <SelectControl\n name=\"providerId\"\n label={t(\"flowType\")}\n labelIcon={t(\"topLevelFlowTypeHelp\")}\n aria-label={t(\"selectFlowType\")}\n controller={{ defaultValue: TYPES[0] }}\n options={TYPES.map((type) => ({\n key: type,\n value: t(`top-level-flow-type.${type}`),\n }))}\n />\n <ActionGroup>\n <FormSubmitButton\n formState={formState}\n data-testid=\"create\"\n allowInvalid\n allowNonDirty\n >\n {t(\"create\")}\n </FormSubmitButton>\n <Button\n data-testid=\"cancel\"\n variant=\"link\"\n component={(props) => (\n <Link {...props} to={toAuthentication({ realm })}></Link>\n )}\n >\n {t(\"cancel\")}\n </Button>\n </ActionGroup>\n </FormAccess>\n </FormProvider>\n </PageSection>\n </>\n );\n}\n"],"names":["TYPES","CreateFlow","adminClient","useAdminClient","t","useTranslation","navigate","useNavigate","realm","useRealm","addAlert","useAlerts","form","useForm","handleSubmit","formState","jsxs","Fragment","jsx","ViewHeader","PageSection","FormProvider","FormAccess","formValues","flow","id","AlertVariant","toFlow","error","NameDescription","SelectControl","type","ActionGroup","FormSubmitButton","Button","props","Link","toAuthentication"],"mappings":";;;;AAoBA,MAAMA,IAAQ,CAAC,cAAc,aAAa;AAE1C,SAAwBC,IAAa;AAC7B,QAAA,EAAE,aAAAC,EAAY,IAAIC,EAAe,GAEjC,EAAE,GAAAC,EAAE,IAAIC,EAAe,GACvBC,IAAWC,EAAY,GACvB,EAAE,OAAAC,EAAM,IAAIC,EAAS,GACrB,EAAE,UAAAC,EAAS,IAAIC,EAAU,GACzBC,IAAOC,EAA0C,GACjD,EAAE,cAAAC,GAAc,WAAAC,EAAA,IAAcH;AA0BpC,SAEI,gBAAAI,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAW,EAAA,UAAS,cAAa,QAAO,gCAA+B;AAAA,sBACvEC,GAAY,EAAA,SAAQ,SACnB,UAAC,gBAAAF,EAAAG,GAAA,EAAc,GAAGT,GAChB,UAAA,gBAAAI;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,cAAY;AAAA,QACZ,MAAK;AAAA,QACL,UAAUR,EAhCH,OAAOS,MAAiD;AACvE,gBAAMC,IAAO,EAAE,GAAGD,GAAY,SAAS,IAAO,UAAU,GAAK;AAEzD,cAAA;AACF,kBAAM,EAAE,IAAAE,EAAG,IACT,MAAMvB,EAAY,yBAAyB,WAAWsB,CAAI;AAC5D,YAAAd,EAASN,EAAE,oBAAoB,GAAGsB,EAAa,OAAO,GACtDpB;AAAA,cACEqB,EAAO;AAAA,gBACL,OAAAnB;AAAA,gBACA,IAAAiB;AAAA,gBACA,QAAQ;AAAA,cACT,CAAA;AAAA,YACH;AAAA,mBACOG,GAAY;AACnB,YAAAlB;AAAA,cACEN,EAAE,mBAAmB;AAAA,gBACnB,OAAOwB,EAAM,UAAU,MAAM,gBAAgBA;AAAA,cAAA,CAC9C;AAAA,cACDF,EAAa;AAAA,YACf;AAAA,UAAA;AAAA,QAEJ,CAUyC;AAAA,QAE/B,UAAA;AAAA,UAAA,gBAAAR,EAACW,GAAgB,EAAA;AAAA,UACjB,gBAAAX;AAAA,YAACY;AAAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,OAAO1B,EAAE,UAAU;AAAA,cACnB,WAAWA,EAAE,sBAAsB;AAAA,cACnC,cAAYA,EAAE,gBAAgB;AAAA,cAC9B,YAAY,EAAE,cAAcJ,EAAM,CAAC,EAAE;AAAA,cACrC,SAASA,EAAM,IAAI,CAAC+B,OAAU;AAAA,gBAC5B,KAAKA;AAAA,gBACL,OAAO3B,EAAE,uBAAuB2B,CAAI,EAAE;AAAA,cAAA,EACtC;AAAA,YAAA;AAAA,UACJ;AAAA,4BACCC,GACC,EAAA,UAAA;AAAA,YAAA,gBAAAd;AAAA,cAACe;AAAAA,cAAA;AAAA,gBACC,WAAAlB;AAAA,gBACA,eAAY;AAAA,gBACZ,cAAY;AAAA,gBACZ,eAAa;AAAA,gBAEZ,YAAE,QAAQ;AAAA,cAAA;AAAA,YACb;AAAA,YACA,gBAAAG;AAAA,cAACgB;AAAA,cAAA;AAAA,gBACC,eAAY;AAAA,gBACZ,SAAQ;AAAA,gBACR,WAAW,CAACC,MACV,gBAAAjB,EAACkB,GAAM,EAAA,GAAGD,GAAO,IAAIE,EAAiB,EAAE,OAAA7B,EAAM,CAAC,EAAG,CAAA;AAAA,gBAGnD,YAAE,QAAQ;AAAA,cAAA;AAAA,YAAA;AAAA,UACb,EACF,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,OAEJ,EACF,CAAA;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"CreateFlow-BP640UYh.js","sources":["../src/authentication/form/CreateFlow.tsx"],"sourcesContent":["import type AuthenticationFlowRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/authenticationFlowRepresentation\";\nimport {\n ActionGroup,\n AlertVariant,\n Button,\n PageSection,\n} from \"@patternfly/react-core\";\nimport { FormProvider, useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { FormSubmitButton, SelectControl } from \"@keycloak/keycloak-ui-shared\";\nimport { useAdminClient } from \"../../admin-client\";\nimport { useAlerts } from \"@keycloak/keycloak-ui-shared\";\nimport { FormAccess } from \"../../components/form/FormAccess\";\nimport { ViewHeader } from \"../../components/view-header/ViewHeader\";\nimport { useRealm } from \"../../context/realm-context/RealmContext\";\nimport { toAuthentication } from \"../routes/Authentication\";\nimport { toFlow } from \"../routes/Flow\";\nimport { NameDescription } from \"./NameDescription\";\n\nconst TYPES = [\"basic-flow\", \"client-flow\"] as const;\n\nexport default function CreateFlow() {\n const { adminClient } = useAdminClient();\n\n const { t } = useTranslation();\n const navigate = useNavigate();\n const { realm } = useRealm();\n const { addAlert } = useAlerts();\n const form = useForm<AuthenticationFlowRepresentation>();\n const { handleSubmit, formState } = form;\n\n const onSubmit = async (formValues: AuthenticationFlowRepresentation) => {\n const flow = { ...formValues, builtIn: false, topLevel: true };\n\n try {\n const { id } =\n await adminClient.authenticationManagement.createFlow(flow);\n addAlert(t(\"flowCreatedSuccess\"), AlertVariant.success);\n navigate(\n toFlow({\n realm,\n id: id!,\n usedBy: \"notInUse\",\n }),\n );\n } catch (error: any) {\n addAlert(\n t(\"flowCreateError\", {\n error: error.response?.data?.errorMessage || error,\n }),\n AlertVariant.danger,\n );\n }\n };\n\n return (\n <>\n <ViewHeader titleKey=\"createFlow\" subKey=\"authenticationCreateFlowHelp\" />\n <PageSection variant=\"light\">\n <FormProvider {...form}>\n <FormAccess\n isHorizontal\n role=\"manage-authorization\"\n onSubmit={handleSubmit(onSubmit)}\n >\n <NameDescription />\n <SelectControl\n name=\"providerId\"\n label={t(\"flowType\")}\n labelIcon={t(\"topLevelFlowTypeHelp\")}\n aria-label={t(\"selectFlowType\")}\n controller={{ defaultValue: TYPES[0] }}\n options={TYPES.map((type) => ({\n key: type,\n value: t(`top-level-flow-type.${type}`),\n }))}\n />\n <ActionGroup>\n <FormSubmitButton\n formState={formState}\n data-testid=\"create\"\n allowInvalid\n allowNonDirty\n >\n {t(\"create\")}\n </FormSubmitButton>\n <Button\n data-testid=\"cancel\"\n variant=\"link\"\n component={(props) => (\n <Link {...props} to={toAuthentication({ realm })}></Link>\n )}\n >\n {t(\"cancel\")}\n </Button>\n </ActionGroup>\n </FormAccess>\n </FormProvider>\n </PageSection>\n </>\n );\n}\n"],"names":["TYPES","CreateFlow","adminClient","useAdminClient","t","useTranslation","navigate","useNavigate","realm","useRealm","addAlert","useAlerts","form","useForm","handleSubmit","formState","jsxs","Fragment","jsx","ViewHeader","PageSection","FormProvider","FormAccess","formValues","flow","id","AlertVariant","toFlow","error","NameDescription","SelectControl","type","ActionGroup","FormSubmitButton","Button","props","Link","toAuthentication"],"mappings":";;;;AAoBA,MAAMA,IAAQ,CAAC,cAAc,aAAa;AAE1C,SAAwBC,IAAa;AAC7B,QAAA,EAAE,aAAAC,EAAY,IAAIC,EAAe,GAEjC,EAAE,GAAAC,EAAE,IAAIC,EAAe,GACvBC,IAAWC,EAAY,GACvB,EAAE,OAAAC,EAAM,IAAIC,EAAS,GACrB,EAAE,UAAAC,EAAS,IAAIC,EAAU,GACzBC,IAAOC,EAA0C,GACjD,EAAE,cAAAC,GAAc,WAAAC,EAAA,IAAcH;AA0BpC,SAEI,gBAAAI,EAAAC,GAAA,EAAA,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAW,EAAA,UAAS,cAAa,QAAO,gCAA+B;AAAA,sBACvEC,GAAY,EAAA,SAAQ,SACnB,UAAC,gBAAAF,EAAAG,GAAA,EAAc,GAAGT,GAChB,UAAA,gBAAAI;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,cAAY;AAAA,QACZ,MAAK;AAAA,QACL,UAAUR,EAhCH,OAAOS,MAAiD;AACvE,gBAAMC,IAAO,EAAE,GAAGD,GAAY,SAAS,IAAO,UAAU,GAAK;AAEzD,cAAA;AACF,kBAAM,EAAE,IAAAE,EAAG,IACT,MAAMvB,EAAY,yBAAyB,WAAWsB,CAAI;AAC5D,YAAAd,EAASN,EAAE,oBAAoB,GAAGsB,EAAa,OAAO,GACtDpB;AAAA,cACEqB,EAAO;AAAA,gBACL,OAAAnB;AAAA,gBACA,IAAAiB;AAAA,gBACA,QAAQ;AAAA,cACT,CAAA;AAAA,YACH;AAAA,mBACOG,GAAY;AACnB,YAAAlB;AAAA,cACEN,EAAE,mBAAmB;AAAA,gBACnB,OAAOwB,EAAM,UAAU,MAAM,gBAAgBA;AAAA,cAAA,CAC9C;AAAA,cACDF,EAAa;AAAA,YACf;AAAA,UAAA;AAAA,QAEJ,CAUyC;AAAA,QAE/B,UAAA;AAAA,UAAA,gBAAAR,EAACW,GAAgB,EAAA;AAAA,UACjB,gBAAAX;AAAA,YAACY;AAAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,OAAO1B,EAAE,UAAU;AAAA,cACnB,WAAWA,EAAE,sBAAsB;AAAA,cACnC,cAAYA,EAAE,gBAAgB;AAAA,cAC9B,YAAY,EAAE,cAAcJ,EAAM,CAAC,EAAE;AAAA,cACrC,SAASA,EAAM,IAAI,CAAC+B,OAAU;AAAA,gBAC5B,KAAKA;AAAA,gBACL,OAAO3B,EAAE,uBAAuB2B,CAAI,EAAE;AAAA,cAAA,EACtC;AAAA,YAAA;AAAA,UACJ;AAAA,4BACCC,GACC,EAAA,UAAA;AAAA,YAAA,gBAAAd;AAAA,cAACe;AAAAA,cAAA;AAAA,gBACC,WAAAlB;AAAA,gBACA,eAAY;AAAA,gBACZ,cAAY;AAAA,gBACZ,eAAa;AAAA,gBAEZ,YAAE,QAAQ;AAAA,cAAA;AAAA,YACb;AAAA,YACA,gBAAAG;AAAA,cAACgB;AAAA,cAAA;AAAA,gBACC,eAAY;AAAA,gBACZ,SAAQ;AAAA,gBACR,WAAW,CAACC,MACV,gBAAAjB,EAACkB,GAAM,EAAA,GAAGD,GAAO,IAAIE,EAAiB,EAAE,OAAA7B,EAAM,CAAC,EAAG,CAAA;AAAA,gBAGnD,YAAE,QAAQ;AAAA,cAAA;AAAA,YAAA;AAAA,UACb,EACF,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,OAEJ,EACF,CAAA;AAAA,EAAA,GACF;AAEJ;"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as t, jsxs as c } from "react/jsx-runtime";
2
- import { u as F, B as O, a as x, b9 as B, b as w, n as C, ba as K, P as l, F as R, bs as D, bt as V, bu as n, bv as r, c as j, bw as k, A as H, z as I, d as $, bx as G, by as M, bz as N, bA as _, bB as u, bC as q, bD as J, bE as L, bF as Q } from "./index-BIuvk4Xf.js";
2
+ import { u as F, B as O, a as x, b9 as B, b as w, n as C, ba as K, P as l, F as R, bs as D, bt as V, bu as n, bv as r, c as j, bw as k, A as H, z as I, d as $, bx as G, by as M, bz as N, bA as _, bB as u, bC as q, bD as J, bE as L, bF as Q } from "./index-BJcywEEJ.js";
3
3
  import { useTranslation as U } from "react-i18next";
4
4
  import { useState as W } from "react";
5
5
  function et() {
@@ -161,4 +161,4 @@ function et() {
161
161
  export {
162
162
  et as default
163
163
  };
164
- //# sourceMappingURL=DetailOrganization-az4NPzMy.js.map
164
+ //# sourceMappingURL=DetailOrganization-DmvcJpiT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DetailOrganization-az4NPzMy.js","sources":["../src/organizations/DetailOrganization.tsx"],"sourcesContent":["import {\n FormSubmitButton,\n useAlerts,\n useFetch,\n} from \"@keycloak/keycloak-ui-shared\";\nimport {\n ActionGroup,\n Button,\n PageSection,\n Tab,\n Tabs,\n TabTitleText,\n} from \"@patternfly/react-core\";\nimport { FormProvider, useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { useAdminClient } from \"../admin-client\";\nimport { FormAccess } from \"../components/form/FormAccess\";\nimport { AttributesForm } from \"../components/key-value-form/AttributeForm\";\nimport { arrayToKeyValue } from \"../components/key-value-form/key-value-convert\";\nimport {\n RoutableTabs,\n useRoutableTab,\n} from \"../components/routable-tabs/RoutableTabs\";\nimport { useRealm } from \"../context/realm-context/RealmContext\";\nimport { useParams } from \"../utils/useParams\";\nimport { DetailOrganizationHeader } from \"./DetailOraganzationHeader\";\nimport { IdentityProviders } from \"./IdentityProviders\";\nimport { Members } from \"./Members\";\nimport {\n OrganizationForm,\n OrganizationFormType,\n convertToOrg,\n} from \"./OrganizationForm\";\nimport {\n EditOrganizationParams,\n OrganizationTab,\n toEditOrganization,\n} from \"./routes/EditOrganization\";\nimport { useAccess } from \"../context/access/Access\";\nimport { AdminEvents } from \"../events/AdminEvents\";\nimport { useState } from \"react\";\n\nexport default function DetailOrganization() {\n const { adminClient } = useAdminClient();\n const { addAlert, addError } = useAlerts();\n\n const { realm, realmRepresentation } = useRealm();\n const { id } = useParams<EditOrganizationParams>();\n const { t } = useTranslation();\n\n const form = useForm<OrganizationFormType>();\n\n const save = async (org: OrganizationFormType) => {\n try {\n const organization = convertToOrg(org);\n await adminClient.organizations.updateById({ id }, organization);\n addAlert(t(\"organizationSaveSuccess\"));\n } catch (error) {\n addError(\"organizationSaveError\", error);\n }\n };\n\n useFetch(\n () => adminClient.organizations.findOne({ id }),\n (org) => {\n if (!org) {\n throw new Error(t(\"notFound\"));\n }\n form.reset({\n ...org,\n domains: org.domains?.map((d) => d.name),\n attributes: arrayToKeyValue(org.attributes),\n });\n },\n [id],\n );\n\n const useTab = (tab: OrganizationTab) =>\n useRoutableTab(\n toEditOrganization({\n realm,\n id,\n tab,\n }),\n );\n\n const settingsTab = useTab(\"settings\");\n const attributesTab = useTab(\"attributes\");\n const membersTab = useTab(\"members\");\n const identityProvidersTab = useTab(\"identityProviders\");\n const eventsTab = useTab(\"events\");\n\n const { hasAccess } = useAccess();\n const [activeEventsTab, setActiveEventsTab] = useState(\"adminEvents\");\n\n return (\n <PageSection variant=\"light\" className=\"pf-v5-u-p-0\">\n <FormProvider {...form}>\n <DetailOrganizationHeader save={() => save(form.getValues())} />\n <RoutableTabs\n data-testid=\"organization-tabs\"\n aria-label={t(\"organization\")}\n isBox\n mountOnEnter\n >\n <Tab\n id=\"settings\"\n data-testid=\"settingsTab\"\n title={<TabTitleText>{t(\"settings\")}</TabTitleText>}\n {...settingsTab}\n >\n <PageSection>\n <FormAccess\n role=\"anyone\"\n onSubmit={form.handleSubmit(save)}\n isHorizontal\n >\n <OrganizationForm readOnly />\n <ActionGroup>\n <FormSubmitButton\n formState={form.formState}\n data-testid=\"save\"\n >\n {t(\"save\")}\n </FormSubmitButton>\n <Button\n onClick={() => form.reset()}\n data-testid=\"reset\"\n variant=\"link\"\n >\n {t(\"reset\")}\n </Button>\n </ActionGroup>\n </FormAccess>\n </PageSection>\n </Tab>\n <Tab\n id=\"attributes\"\n data-testid=\"attributeTab\"\n title={<TabTitleText>{t(\"attributes\")}</TabTitleText>}\n {...attributesTab}\n >\n <PageSection variant=\"light\">\n <AttributesForm\n form={form}\n save={save}\n reset={() =>\n form.reset({\n ...form.getValues(),\n })\n }\n name=\"attributes\"\n />\n </PageSection>\n </Tab>\n <Tab\n id=\"members\"\n data-testid=\"membersTab\"\n title={<TabTitleText>{t(\"members\")}</TabTitleText>}\n {...membersTab}\n >\n <Members />\n </Tab>\n <Tab\n id=\"identityProviders\"\n data-testid=\"identityProvidersTab\"\n title={<TabTitleText>{t(\"identityProviders\")}</TabTitleText>}\n {...identityProvidersTab}\n >\n <IdentityProviders />\n </Tab>\n {realmRepresentation?.adminEventsEnabled &&\n hasAccess(\"view-events\") && (\n <Tab\n data-testid=\"admin-events-tab\"\n title={<TabTitleText>{t(\"adminEvents\")}</TabTitleText>}\n {...eventsTab}\n >\n <Tabs\n activeKey={activeEventsTab}\n onSelect={(_, key) => setActiveEventsTab(key as string)}\n >\n <Tab\n eventKey=\"adminEvents\"\n title={<TabTitleText>{t(\"adminEvents\")}</TabTitleText>}\n >\n <AdminEvents resourcePath={`organizations/${id}`} />\n </Tab>\n <Tab\n eventKey=\"membershipEvents\"\n title={<TabTitleText>{t(\"membershipEvents\")}</TabTitleText>}\n >\n <AdminEvents resourcePath={`organizations/${id}/members`} />\n </Tab>\n </Tabs>\n </Tab>\n )}\n </RoutableTabs>\n </FormProvider>\n </PageSection>\n );\n}\n"],"names":["DetailOrganization","adminClient","useAdminClient","addAlert","addError","useAlerts","realm","realmRepresentation","useRealm","id","useParams","t","useTranslation","form","useForm","save","org","organization","convertToOrg","error","useFetch","d","arrayToKeyValue","useTab","tab","useRoutableTab","toEditOrganization","settingsTab","attributesTab","membersTab","identityProvidersTab","eventsTab","hasAccess","useAccess","activeEventsTab","setActiveEventsTab","useState","jsx","PageSection","jsxs","FormProvider","DetailOrganizationHeader","RoutableTabs","Tab","TabTitleText","FormAccess","OrganizationForm","ActionGroup","FormSubmitButton","Button","AttributesForm","Members","IdentityProviders","Tabs","_","key","AdminEvents"],"mappings":"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"}
1
+ {"version":3,"file":"DetailOrganization-DmvcJpiT.js","sources":["../src/organizations/DetailOrganization.tsx"],"sourcesContent":["import {\n FormSubmitButton,\n useAlerts,\n useFetch,\n} from \"@keycloak/keycloak-ui-shared\";\nimport {\n ActionGroup,\n Button,\n PageSection,\n Tab,\n Tabs,\n TabTitleText,\n} from \"@patternfly/react-core\";\nimport { FormProvider, useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { useAdminClient } from \"../admin-client\";\nimport { FormAccess } from \"../components/form/FormAccess\";\nimport { AttributesForm } from \"../components/key-value-form/AttributeForm\";\nimport { arrayToKeyValue } from \"../components/key-value-form/key-value-convert\";\nimport {\n RoutableTabs,\n useRoutableTab,\n} from \"../components/routable-tabs/RoutableTabs\";\nimport { useRealm } from \"../context/realm-context/RealmContext\";\nimport { useParams } from \"../utils/useParams\";\nimport { DetailOrganizationHeader } from \"./DetailOraganzationHeader\";\nimport { IdentityProviders } from \"./IdentityProviders\";\nimport { Members } from \"./Members\";\nimport {\n OrganizationForm,\n OrganizationFormType,\n convertToOrg,\n} from \"./OrganizationForm\";\nimport {\n EditOrganizationParams,\n OrganizationTab,\n toEditOrganization,\n} from \"./routes/EditOrganization\";\nimport { useAccess } from \"../context/access/Access\";\nimport { AdminEvents } from \"../events/AdminEvents\";\nimport { useState } from \"react\";\n\nexport default function DetailOrganization() {\n const { adminClient } = useAdminClient();\n const { addAlert, addError } = useAlerts();\n\n const { realm, realmRepresentation } = useRealm();\n const { id } = useParams<EditOrganizationParams>();\n const { t } = useTranslation();\n\n const form = useForm<OrganizationFormType>();\n\n const save = async (org: OrganizationFormType) => {\n try {\n const organization = convertToOrg(org);\n await adminClient.organizations.updateById({ id }, organization);\n addAlert(t(\"organizationSaveSuccess\"));\n } catch (error) {\n addError(\"organizationSaveError\", error);\n }\n };\n\n useFetch(\n () => adminClient.organizations.findOne({ id }),\n (org) => {\n if (!org) {\n throw new Error(t(\"notFound\"));\n }\n form.reset({\n ...org,\n domains: org.domains?.map((d) => d.name),\n attributes: arrayToKeyValue(org.attributes),\n });\n },\n [id],\n );\n\n const useTab = (tab: OrganizationTab) =>\n useRoutableTab(\n toEditOrganization({\n realm,\n id,\n tab,\n }),\n );\n\n const settingsTab = useTab(\"settings\");\n const attributesTab = useTab(\"attributes\");\n const membersTab = useTab(\"members\");\n const identityProvidersTab = useTab(\"identityProviders\");\n const eventsTab = useTab(\"events\");\n\n const { hasAccess } = useAccess();\n const [activeEventsTab, setActiveEventsTab] = useState(\"adminEvents\");\n\n return (\n <PageSection variant=\"light\" className=\"pf-v5-u-p-0\">\n <FormProvider {...form}>\n <DetailOrganizationHeader save={() => save(form.getValues())} />\n <RoutableTabs\n data-testid=\"organization-tabs\"\n aria-label={t(\"organization\")}\n isBox\n mountOnEnter\n >\n <Tab\n id=\"settings\"\n data-testid=\"settingsTab\"\n title={<TabTitleText>{t(\"settings\")}</TabTitleText>}\n {...settingsTab}\n >\n <PageSection>\n <FormAccess\n role=\"anyone\"\n onSubmit={form.handleSubmit(save)}\n isHorizontal\n >\n <OrganizationForm readOnly />\n <ActionGroup>\n <FormSubmitButton\n formState={form.formState}\n data-testid=\"save\"\n >\n {t(\"save\")}\n </FormSubmitButton>\n <Button\n onClick={() => form.reset()}\n data-testid=\"reset\"\n variant=\"link\"\n >\n {t(\"reset\")}\n </Button>\n </ActionGroup>\n </FormAccess>\n </PageSection>\n </Tab>\n <Tab\n id=\"attributes\"\n data-testid=\"attributeTab\"\n title={<TabTitleText>{t(\"attributes\")}</TabTitleText>}\n {...attributesTab}\n >\n <PageSection variant=\"light\">\n <AttributesForm\n form={form}\n save={save}\n reset={() =>\n form.reset({\n ...form.getValues(),\n })\n }\n name=\"attributes\"\n />\n </PageSection>\n </Tab>\n <Tab\n id=\"members\"\n data-testid=\"membersTab\"\n title={<TabTitleText>{t(\"members\")}</TabTitleText>}\n {...membersTab}\n >\n <Members />\n </Tab>\n <Tab\n id=\"identityProviders\"\n data-testid=\"identityProvidersTab\"\n title={<TabTitleText>{t(\"identityProviders\")}</TabTitleText>}\n {...identityProvidersTab}\n >\n <IdentityProviders />\n </Tab>\n {realmRepresentation?.adminEventsEnabled &&\n hasAccess(\"view-events\") && (\n <Tab\n data-testid=\"admin-events-tab\"\n title={<TabTitleText>{t(\"adminEvents\")}</TabTitleText>}\n {...eventsTab}\n >\n <Tabs\n activeKey={activeEventsTab}\n onSelect={(_, key) => setActiveEventsTab(key as string)}\n >\n <Tab\n eventKey=\"adminEvents\"\n title={<TabTitleText>{t(\"adminEvents\")}</TabTitleText>}\n >\n <AdminEvents resourcePath={`organizations/${id}`} />\n </Tab>\n <Tab\n eventKey=\"membershipEvents\"\n title={<TabTitleText>{t(\"membershipEvents\")}</TabTitleText>}\n >\n <AdminEvents resourcePath={`organizations/${id}/members`} />\n </Tab>\n </Tabs>\n </Tab>\n )}\n </RoutableTabs>\n </FormProvider>\n </PageSection>\n );\n}\n"],"names":["DetailOrganization","adminClient","useAdminClient","addAlert","addError","useAlerts","realm","realmRepresentation","useRealm","id","useParams","t","useTranslation","form","useForm","save","org","organization","convertToOrg","error","useFetch","d","arrayToKeyValue","useTab","tab","useRoutableTab","toEditOrganization","settingsTab","attributesTab","membersTab","identityProvidersTab","eventsTab","hasAccess","useAccess","activeEventsTab","setActiveEventsTab","useState","jsx","PageSection","jsxs","FormProvider","DetailOrganizationHeader","RoutableTabs","Tab","TabTitleText","FormAccess","OrganizationForm","ActionGroup","FormSubmitButton","Button","AttributesForm","Members","IdentityProviders","Tabs","_","key","AdminEvents"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsxs as u, Fragment as _, jsx as o } from "react/jsx-runtime";
2
- import { u as q, b9 as k, B as J, bH as Q, b as U, n as W, V as X, P as Y, c as Z, bf as $, bg as V, b6 as ee, b7 as te, b8 as oe, aP as re, F as ce, aL as ae, A as se, d as g, bI as b, e as ne } from "./index-BIuvk4Xf.js";
2
+ import { u as q, b9 as k, B as J, bH as Q, b as U, n as W, V as X, P as Y, c as Z, bf as $, bg as V, b6 as ee, b7 as te, b8 as oe, aP as re, F as ce, aL as ae, A as se, d as g, bI as b, e as ne } from "./index-BJcywEEJ.js";
3
3
  import { useState as l } from "react";
4
4
  import { useTranslation as ie } from "react-i18next";
5
5
  import { useNavigate as le, Link as I } from "react-router-dom";
@@ -195,4 +195,4 @@ function ge() {
195
195
  export {
196
196
  ge as default
197
197
  };
198
- //# sourceMappingURL=ExecutorForm-DaRc7uVA.js.map
198
+ //# sourceMappingURL=ExecutorForm-Ckr_3kCd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutorForm-DaRc7uVA.js","sources":["../src/realm-settings/ExecutorForm.tsx"],"sourcesContent":["import type { ConfigPropertyRepresentation } from \"@keycloak/keycloak-admin-client/lib/defs/authenticatorConfigInfoRepresentation\";\nimport type ClientProfileRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/clientProfileRepresentation\";\nimport type ComponentTypeRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/componentTypeRepresentation\";\nimport {\n HelpItem,\n KeycloakSelect,\n SelectVariant,\n useAlerts,\n useFetch,\n} from \"@keycloak/keycloak-ui-shared\";\nimport {\n ActionGroup,\n AlertVariant,\n Button,\n FormGroup,\n PageSection,\n SelectOption,\n} from \"@patternfly/react-core\";\nimport { useState } from \"react\";\nimport { Controller, FormProvider, useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { useAdminClient } from \"../admin-client\";\nimport { DynamicComponents } from \"../components/dynamic/DynamicComponents\";\nimport { FormAccess } from \"../components/form/FormAccess\";\nimport { ViewHeader } from \"../components/view-header/ViewHeader\";\nimport { useServerInfo } from \"../context/server-info/ServerInfoProvider\";\nimport { useParams } from \"../utils/useParams\";\nimport { ClientProfileParams, toClientProfile } from \"./routes/ClientProfile\";\nimport type { ExecutorParams } from \"./routes/Executor\";\n\ntype ExecutorForm = {\n config?: object;\n executor: string;\n};\n\nconst defaultValues: ExecutorForm = {\n config: {},\n executor: \"\",\n};\n\nexport default function ExecutorForm() {\n const { adminClient } = useAdminClient();\n\n const { t } = useTranslation();\n const navigate = useNavigate();\n const { realm, profileName } = useParams<ClientProfileParams>();\n const { executorName } = useParams<ExecutorParams>();\n const { addAlert, addError } = useAlerts();\n const [selectExecutorTypeOpen, setSelectExecutorTypeOpen] = useState(false);\n const serverInfo = useServerInfo();\n const executorTypes =\n serverInfo.componentTypes?.[\n \"org.keycloak.services.clientpolicy.executor.ClientPolicyExecutorProvider\"\n ];\n const [executors, setExecutors] = useState<ComponentTypeRepresentation[]>([]);\n const [executorProperties, setExecutorProperties] = useState<\n ConfigPropertyRepresentation[]\n >([]);\n const [globalProfiles, setGlobalProfiles] = useState<\n ClientProfileRepresentation[]\n >([]);\n const [profiles, setProfiles] = useState<ClientProfileRepresentation[]>([]);\n const form = useForm({ defaultValues });\n const { control, reset, handleSubmit } = form;\n const editMode = !!executorName;\n\n const setupForm = (profiles: ClientProfileRepresentation[]) => {\n const profile = profiles.find((profile) => profile.name === profileName);\n const executor = profile?.executors?.find(\n (executor) => executor.executor === executorName,\n );\n if (executor) reset({ config: executor.configuration });\n };\n\n useFetch(\n () =>\n adminClient.clientPolicies.listProfiles({ includeGlobalProfiles: true }),\n (profiles) => {\n setGlobalProfiles(profiles.globalProfiles!);\n setProfiles(profiles.profiles!);\n\n setupForm(profiles.profiles!);\n setupForm(profiles.globalProfiles!);\n },\n [],\n );\n\n const save = async () => {\n const formValues = form.getValues();\n const updatedProfiles = profiles.map((profile) => {\n if (profile.name !== profileName) {\n return profile;\n }\n\n const executors = (profile.executors ?? []).concat({\n executor: formValues.executor,\n configuration: formValues.config || {},\n });\n\n if (editMode) {\n const profileExecutor = profile.executors!.find(\n (executor) => executor.executor === executorName,\n );\n profileExecutor!.configuration = {\n ...profileExecutor!.configuration,\n ...formValues.config,\n };\n }\n\n if (editMode) {\n return profile;\n }\n return {\n ...profile,\n executors,\n };\n });\n try {\n await adminClient.clientPolicies.createProfiles({\n profiles: updatedProfiles,\n globalProfiles: globalProfiles,\n });\n addAlert(\n editMode ? t(\"updateExecutorSuccess\") : t(\"addExecutorSuccess\"),\n AlertVariant.success,\n );\n\n navigate(toClientProfile({ realm, profileName }));\n } catch (error) {\n addError(editMode ? \"updateExecutorError\" : \"addExecutorError\", error);\n }\n };\n\n const globalProfile = globalProfiles.find(\n (globalProfile) => globalProfile.name === profileName,\n );\n\n const profileExecutorType = executorTypes?.find(\n (executor) => executor.id === executorName,\n );\n\n const editedProfileExecutors =\n profileExecutorType?.properties.map<ConfigPropertyRepresentation>(\n (property) => {\n const globalDefaultValues = editMode ? property.defaultValue : \"\";\n return {\n ...property,\n defaultValue: globalDefaultValues,\n };\n },\n );\n\n return (\n <>\n <ViewHeader\n titleKey={editMode ? executorName : t(\"addExecutor\")}\n divider\n />\n <PageSection variant=\"light\">\n <FormAccess\n isHorizontal\n role=\"manage-realm\"\n className=\"pf-v5-u-mt-lg\"\n isReadOnly={!!globalProfile}\n >\n <FormGroup\n label={t(\"executorType\")}\n fieldId=\"kc-executorType\"\n labelIcon={\n executors.length > 0 && executors[0].helpText! !== \"\" ? (\n <HelpItem\n helpText={executors[0].helpText}\n fieldLabelId=\"executorTypeHelpText\"\n />\n ) : editMode ? (\n <HelpItem\n helpText={profileExecutorType?.helpText}\n fieldLabelId=\"executorTypeHelpText\"\n />\n ) : undefined\n }\n >\n <Controller\n name=\"executor\"\n defaultValue=\"\"\n control={control}\n render={({ field }) => (\n <KeycloakSelect\n toggleId=\"kc-executor\"\n placeholderText=\"Select an executor\"\n onToggle={(isOpen) => setSelectExecutorTypeOpen(isOpen)}\n onSelect={(value) => {\n reset({ ...defaultValues, executor: value.toString() });\n const selectedExecutor = executorTypes?.filter(\n (type) => type.id === value,\n );\n setExecutors(selectedExecutor ?? []);\n setExecutorProperties(\n selectedExecutor?.[0].properties ?? [],\n );\n setSelectExecutorTypeOpen(false);\n }}\n selections={editMode ? executorName : field.value}\n variant={SelectVariant.single}\n data-testid=\"executorType-select\"\n aria-label={t(\"executorType\")}\n isOpen={selectExecutorTypeOpen}\n maxHeight={580}\n isDisabled={editMode}\n >\n {executorTypes?.map((option) => (\n <SelectOption\n selected={option.id === field.value}\n key={option.id}\n value={option.id}\n description={option.helpText}\n >\n {option.id}\n </SelectOption>\n ))}\n </KeycloakSelect>\n )}\n />\n </FormGroup>\n <FormProvider {...form}>\n <DynamicComponents\n properties={\n editMode ? editedProfileExecutors! : executorProperties\n }\n />\n </FormProvider>\n {!globalProfile && (\n <ActionGroup>\n <Button\n variant=\"primary\"\n onClick={() => handleSubmit(save)()}\n data-testid=\"addExecutor-saveBtn\"\n >\n {editMode ? t(\"save\") : t(\"add\")}\n </Button>\n <Button\n variant=\"link\"\n component={(props) => (\n <Link\n {...props}\n to={toClientProfile({ realm, profileName })}\n />\n )}\n data-testid=\"addExecutor-cancelBtn\"\n >\n {t(\"cancel\")}\n </Button>\n </ActionGroup>\n )}\n </FormAccess>\n {editMode && globalProfile && (\n <div className=\"kc-backToProfile\">\n <Button\n component={(props) => (\n <Link {...props} to={toClientProfile({ realm, profileName })} />\n )}\n variant=\"primary\"\n >\n {t(\"back\")}\n </Button>\n </div>\n )}\n </PageSection>\n </>\n );\n}\n"],"names":["defaultValues","ExecutorForm","adminClient","useAdminClient","t","useTranslation","navigate","useNavigate","realm","profileName","useParams","executorName","addAlert","addError","useAlerts","selectExecutorTypeOpen","setSelectExecutorTypeOpen","useState","executorTypes","useServerInfo","executors","setExecutors","executorProperties","setExecutorProperties","globalProfiles","setGlobalProfiles","profiles","setProfiles","form","useForm","control","reset","handleSubmit","editMode","setupForm","executor","profile","useFetch","save","formValues","updatedProfiles","profileExecutor","AlertVariant","toClientProfile","error","globalProfile","profileExecutorType","editedProfileExecutors","property","globalDefaultValues","jsxs","Fragment","jsx","ViewHeader","PageSection","FormAccess","FormGroup","HelpItem","Controller","field","KeycloakSelect","isOpen","value","selectedExecutor","type","SelectVariant","option","SelectOption","FormProvider","DynamicComponents","ActionGroup","Button","props","Link"],"mappings":"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"}
1
+ {"version":3,"file":"ExecutorForm-Ckr_3kCd.js","sources":["../src/realm-settings/ExecutorForm.tsx"],"sourcesContent":["import type { ConfigPropertyRepresentation } from \"@keycloak/keycloak-admin-client/lib/defs/authenticatorConfigInfoRepresentation\";\nimport type ClientProfileRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/clientProfileRepresentation\";\nimport type ComponentTypeRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/componentTypeRepresentation\";\nimport {\n HelpItem,\n KeycloakSelect,\n SelectVariant,\n useAlerts,\n useFetch,\n} from \"@keycloak/keycloak-ui-shared\";\nimport {\n ActionGroup,\n AlertVariant,\n Button,\n FormGroup,\n PageSection,\n SelectOption,\n} from \"@patternfly/react-core\";\nimport { useState } from \"react\";\nimport { Controller, FormProvider, useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { useAdminClient } from \"../admin-client\";\nimport { DynamicComponents } from \"../components/dynamic/DynamicComponents\";\nimport { FormAccess } from \"../components/form/FormAccess\";\nimport { ViewHeader } from \"../components/view-header/ViewHeader\";\nimport { useServerInfo } from \"../context/server-info/ServerInfoProvider\";\nimport { useParams } from \"../utils/useParams\";\nimport { ClientProfileParams, toClientProfile } from \"./routes/ClientProfile\";\nimport type { ExecutorParams } from \"./routes/Executor\";\n\ntype ExecutorForm = {\n config?: object;\n executor: string;\n};\n\nconst defaultValues: ExecutorForm = {\n config: {},\n executor: \"\",\n};\n\nexport default function ExecutorForm() {\n const { adminClient } = useAdminClient();\n\n const { t } = useTranslation();\n const navigate = useNavigate();\n const { realm, profileName } = useParams<ClientProfileParams>();\n const { executorName } = useParams<ExecutorParams>();\n const { addAlert, addError } = useAlerts();\n const [selectExecutorTypeOpen, setSelectExecutorTypeOpen] = useState(false);\n const serverInfo = useServerInfo();\n const executorTypes =\n serverInfo.componentTypes?.[\n \"org.keycloak.services.clientpolicy.executor.ClientPolicyExecutorProvider\"\n ];\n const [executors, setExecutors] = useState<ComponentTypeRepresentation[]>([]);\n const [executorProperties, setExecutorProperties] = useState<\n ConfigPropertyRepresentation[]\n >([]);\n const [globalProfiles, setGlobalProfiles] = useState<\n ClientProfileRepresentation[]\n >([]);\n const [profiles, setProfiles] = useState<ClientProfileRepresentation[]>([]);\n const form = useForm({ defaultValues });\n const { control, reset, handleSubmit } = form;\n const editMode = !!executorName;\n\n const setupForm = (profiles: ClientProfileRepresentation[]) => {\n const profile = profiles.find((profile) => profile.name === profileName);\n const executor = profile?.executors?.find(\n (executor) => executor.executor === executorName,\n );\n if (executor) reset({ config: executor.configuration });\n };\n\n useFetch(\n () =>\n adminClient.clientPolicies.listProfiles({ includeGlobalProfiles: true }),\n (profiles) => {\n setGlobalProfiles(profiles.globalProfiles!);\n setProfiles(profiles.profiles!);\n\n setupForm(profiles.profiles!);\n setupForm(profiles.globalProfiles!);\n },\n [],\n );\n\n const save = async () => {\n const formValues = form.getValues();\n const updatedProfiles = profiles.map((profile) => {\n if (profile.name !== profileName) {\n return profile;\n }\n\n const executors = (profile.executors ?? []).concat({\n executor: formValues.executor,\n configuration: formValues.config || {},\n });\n\n if (editMode) {\n const profileExecutor = profile.executors!.find(\n (executor) => executor.executor === executorName,\n );\n profileExecutor!.configuration = {\n ...profileExecutor!.configuration,\n ...formValues.config,\n };\n }\n\n if (editMode) {\n return profile;\n }\n return {\n ...profile,\n executors,\n };\n });\n try {\n await adminClient.clientPolicies.createProfiles({\n profiles: updatedProfiles,\n globalProfiles: globalProfiles,\n });\n addAlert(\n editMode ? t(\"updateExecutorSuccess\") : t(\"addExecutorSuccess\"),\n AlertVariant.success,\n );\n\n navigate(toClientProfile({ realm, profileName }));\n } catch (error) {\n addError(editMode ? \"updateExecutorError\" : \"addExecutorError\", error);\n }\n };\n\n const globalProfile = globalProfiles.find(\n (globalProfile) => globalProfile.name === profileName,\n );\n\n const profileExecutorType = executorTypes?.find(\n (executor) => executor.id === executorName,\n );\n\n const editedProfileExecutors =\n profileExecutorType?.properties.map<ConfigPropertyRepresentation>(\n (property) => {\n const globalDefaultValues = editMode ? property.defaultValue : \"\";\n return {\n ...property,\n defaultValue: globalDefaultValues,\n };\n },\n );\n\n return (\n <>\n <ViewHeader\n titleKey={editMode ? executorName : t(\"addExecutor\")}\n divider\n />\n <PageSection variant=\"light\">\n <FormAccess\n isHorizontal\n role=\"manage-realm\"\n className=\"pf-v5-u-mt-lg\"\n isReadOnly={!!globalProfile}\n >\n <FormGroup\n label={t(\"executorType\")}\n fieldId=\"kc-executorType\"\n labelIcon={\n executors.length > 0 && executors[0].helpText! !== \"\" ? (\n <HelpItem\n helpText={executors[0].helpText}\n fieldLabelId=\"executorTypeHelpText\"\n />\n ) : editMode ? (\n <HelpItem\n helpText={profileExecutorType?.helpText}\n fieldLabelId=\"executorTypeHelpText\"\n />\n ) : undefined\n }\n >\n <Controller\n name=\"executor\"\n defaultValue=\"\"\n control={control}\n render={({ field }) => (\n <KeycloakSelect\n toggleId=\"kc-executor\"\n placeholderText=\"Select an executor\"\n onToggle={(isOpen) => setSelectExecutorTypeOpen(isOpen)}\n onSelect={(value) => {\n reset({ ...defaultValues, executor: value.toString() });\n const selectedExecutor = executorTypes?.filter(\n (type) => type.id === value,\n );\n setExecutors(selectedExecutor ?? []);\n setExecutorProperties(\n selectedExecutor?.[0].properties ?? [],\n );\n setSelectExecutorTypeOpen(false);\n }}\n selections={editMode ? executorName : field.value}\n variant={SelectVariant.single}\n data-testid=\"executorType-select\"\n aria-label={t(\"executorType\")}\n isOpen={selectExecutorTypeOpen}\n maxHeight={580}\n isDisabled={editMode}\n >\n {executorTypes?.map((option) => (\n <SelectOption\n selected={option.id === field.value}\n key={option.id}\n value={option.id}\n description={option.helpText}\n >\n {option.id}\n </SelectOption>\n ))}\n </KeycloakSelect>\n )}\n />\n </FormGroup>\n <FormProvider {...form}>\n <DynamicComponents\n properties={\n editMode ? editedProfileExecutors! : executorProperties\n }\n />\n </FormProvider>\n {!globalProfile && (\n <ActionGroup>\n <Button\n variant=\"primary\"\n onClick={() => handleSubmit(save)()}\n data-testid=\"addExecutor-saveBtn\"\n >\n {editMode ? t(\"save\") : t(\"add\")}\n </Button>\n <Button\n variant=\"link\"\n component={(props) => (\n <Link\n {...props}\n to={toClientProfile({ realm, profileName })}\n />\n )}\n data-testid=\"addExecutor-cancelBtn\"\n >\n {t(\"cancel\")}\n </Button>\n </ActionGroup>\n )}\n </FormAccess>\n {editMode && globalProfile && (\n <div className=\"kc-backToProfile\">\n <Button\n component={(props) => (\n <Link {...props} to={toClientProfile({ realm, profileName })} />\n )}\n variant=\"primary\"\n >\n {t(\"back\")}\n </Button>\n </div>\n )}\n </PageSection>\n </>\n );\n}\n"],"names":["defaultValues","ExecutorForm","adminClient","useAdminClient","t","useTranslation","navigate","useNavigate","realm","profileName","useParams","executorName","addAlert","addError","useAlerts","selectExecutorTypeOpen","setSelectExecutorTypeOpen","useState","executorTypes","useServerInfo","executors","setExecutors","executorProperties","setExecutorProperties","globalProfiles","setGlobalProfiles","profiles","setProfiles","form","useForm","control","reset","handleSubmit","editMode","setupForm","executor","profile","useFetch","save","formValues","updatedProfiles","profileExecutor","AlertVariant","toClientProfile","error","globalProfile","profileExecutorType","editedProfileExecutors","property","globalDefaultValues","jsxs","Fragment","jsx","ViewHeader","PageSection","FormAccess","FormGroup","HelpItem","Controller","field","KeycloakSelect","isOpen","value","selectedExecutor","type","SelectVariant","option","SelectOption","FormProvider","DynamicComponents","ActionGroup","Button","props","Link"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as k, jsxs as re, Fragment as Ee } from "react/jsx-runtime";
2
- import { _ as Ps, g as wt, d as be, h as nt, i as Om, s as wr, j as mh, L as vh, C as Pm, u as Bt, B as Ds, b as jn, M as un, k as cn, F as Qn, l as ln, N as Dm, e as st, m as Fm, n as dn, o as $m, p as Bm, P as yh, R as zm, q as Dn, $ as qu, y as Hm, r as Ru, v as Tu, T as Vm, w as Gm, x as Um, D as Km, E as bh, G as Wm, H as zt, I as Jn, J as fn, K as _h, O as _e, Q as er, S as hn, U as Ym, W as Fs, X as Xm, Y as wh, Z as tr, a0 as Zm, a1 as pn, a2 as xh, a3 as $s, a4 as Bs, a5 as zs, a6 as jm, a7 as Qm, a8 as nr, a9 as Jm, aa as gn, ab as Eh, ac as mn, ad as Sh, ae as ev, af as Ch, ag as Hs, ah as Vs, ai as Nh, aj as tv, ak as Ih, al as nv, am as Gs, an as rv, ao as Us, ap as Mh, aq as Ks, ar as iv, as as ov, at as av, au as sv, av as uv, aw as Ah, ax as qh, ay as Rh, az as Th, aA as kh, aB as kt, aC as rr, aD as cv, aE as Lh, aF as lv, aG as yt, aH as vs, aI as dv, aJ as fv, aK as hv, aL as pv, A as gv, aM as Oh, aN as mv, aO as vv, aP as yv, aQ as bv, aR as _v, aS as wv, aT as xv, aU as Ph, aV as Dh, aW as Ev, aX as Sv, a as Cv, aY as ku, t as Nv, aZ as Iv, f as Mv, a_ as Av, V as qv, a$ as Rv, b0 as Tv, b1 as xr, b2 as kv, b3 as Lv, b4 as Ov } from "./index-BIuvk4Xf.js";
2
+ import { _ as Ps, g as wt, d as be, h as nt, i as Om, s as wr, j as mh, L as vh, C as Pm, u as Bt, B as Ds, b as jn, M as un, k as cn, F as Qn, l as ln, N as Dm, e as st, m as Fm, n as dn, o as $m, p as Bm, P as yh, R as zm, q as Dn, $ as qu, y as Hm, r as Ru, v as Tu, T as Vm, w as Gm, x as Um, D as Km, E as bh, G as Wm, H as zt, I as Jn, J as fn, K as _h, O as _e, Q as er, S as hn, U as Ym, W as Fs, X as Xm, Y as wh, Z as tr, a0 as Zm, a1 as pn, a2 as xh, a3 as $s, a4 as Bs, a5 as zs, a6 as jm, a7 as Qm, a8 as nr, a9 as Jm, aa as gn, ab as Eh, ac as mn, ad as Sh, ae as ev, af as Ch, ag as Hs, ah as Vs, ai as Nh, aj as tv, ak as Ih, al as nv, am as Gs, an as rv, ao as Us, ap as Mh, aq as Ks, ar as iv, as as ov, at as av, au as sv, av as uv, aw as Ah, ax as qh, ay as Rh, az as Th, aA as kh, aB as kt, aC as rr, aD as cv, aE as Lh, aF as lv, aG as yt, aH as vs, aI as dv, aJ as fv, aK as hv, aL as pv, A as gv, aM as Oh, aN as mv, aO as vv, aP as yv, aQ as bv, aR as _v, aS as wv, aT as xv, aU as Ph, aV as Dh, aW as Ev, aX as Sv, a as Cv, aY as ku, t as Nv, aZ as Iv, f as Mv, a_ as Av, V as qv, a$ as Rv, b0 as Tv, b1 as xr, b2 as kv, b3 as Lv, b4 as Ov } from "./index-BJcywEEJ.js";
3
3
  import * as Ie from "react";
4
4
  import D, { useEffect as se, useState as ae, useMemo as Oe, createContext as Fh, memo as ue, forwardRef as $h, useRef as ee, useContext as ir, useCallback as ge } from "react";
5
5
  import { useTranslation as Pe, Trans as Lu } from "react-i18next";
@@ -10783,4 +10783,4 @@ export {
10783
10783
  eC as default,
10784
10784
  Zn as providerConditionFilter
10785
10785
  };
10786
- //# sourceMappingURL=FlowDetails-qeT2t76N.js.map
10786
+ //# sourceMappingURL=FlowDetails-CxTTxsRh.js.map