@keycloakify/keycloak-account-ui 25.0.1-rc.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.
Files changed (349) hide show
  1. package/KeycloakAccountUi.d.ts +3 -0
  2. package/KeycloakAccountUi.js +29 -0
  3. package/KeycloakAccountUi.js.map +1 -0
  4. package/LICENSE +2 -0
  5. package/README.md +39 -0
  6. package/account-security/AccountRow.d.ts +8 -0
  7. package/account-security/AccountRow.js +36 -0
  8. package/account-security/AccountRow.js.map +1 -0
  9. package/account-security/DeviceActivity.d.ts +2 -0
  10. package/account-security/DeviceActivity.js +70 -0
  11. package/account-security/DeviceActivity.js.map +1 -0
  12. package/account-security/LinkedAccounts.d.ts +2 -0
  13. package/account-security/LinkedAccounts.js +25 -0
  14. package/account-security/LinkedAccounts.js.map +1 -0
  15. package/account-security/SigningIn.d.ts +2 -0
  16. package/account-security/SigningIn.js +65 -0
  17. package/account-security/SigningIn.js.map +1 -0
  18. package/api/constants.d.ts +2 -0
  19. package/api/constants.js +3 -0
  20. package/api/constants.js.map +1 -0
  21. package/api/methods.d.ts +25 -0
  22. package/api/methods.js +73 -0
  23. package/api/methods.js.map +1 -0
  24. package/api/parse-links.d.ts +5 -0
  25. package/api/parse-links.js +23 -0
  26. package/api/parse-links.js.map +1 -0
  27. package/api/parse-response.d.ts +3 -0
  28. package/api/parse-response.js +40 -0
  29. package/api/parse-response.js.map +1 -0
  30. package/api/representations.d.ts +202 -0
  31. package/api/representations.js +3 -0
  32. package/api/representations.js.map +1 -0
  33. package/api/request.d.ts +12 -0
  34. package/api/request.js +33 -0
  35. package/api/request.js.map +1 -0
  36. package/api.d.ts +13 -0
  37. package/api.js +52 -0
  38. package/api.js.map +1 -0
  39. package/applications/Applications.d.ts +2 -0
  40. package/applications/Applications.js +52 -0
  41. package/applications/Applications.js.map +1 -0
  42. package/components/datalist/EmptyRow.d.ts +5 -0
  43. package/components/datalist/EmptyRow.js +20 -0
  44. package/components/datalist/EmptyRow.js.map +1 -0
  45. package/components/page/Page.d.ts +7 -0
  46. package/components/page/Page.js +6 -0
  47. package/components/page/Page.js.map +1 -0
  48. package/content/ContentComponent.d.ts +2 -0
  49. package/content/ContentComponent.js +36 -0
  50. package/content/ContentComponent.js.map +1 -0
  51. package/content/fetchContent.d.ts +3 -0
  52. package/content/fetchContent.js +6 -0
  53. package/content/fetchContent.js.map +1 -0
  54. package/environment.d.ts +25 -0
  55. package/environment.js +3 -0
  56. package/environment.js.map +1 -0
  57. package/groups/Groups.d.ts +2 -0
  58. package/groups/Groups.js +45 -0
  59. package/groups/Groups.js.map +1 -0
  60. package/i18n.d.ts +4 -0
  61. package/i18n.js +31 -0
  62. package/i18n.js.map +1 -0
  63. package/oid4vci/Oid4Vci.d.ts +2 -0
  64. package/oid4vci/Oid4Vci.js +54 -0
  65. package/oid4vci/Oid4Vci.js.map +1 -0
  66. package/package.json +428 -0
  67. package/personal-info/PersonalInfo.d.ts +2 -0
  68. package/personal-info/PersonalInfo.js +63 -0
  69. package/personal-info/PersonalInfo.js.map +1 -0
  70. package/resources/EditTheResource.d.ts +8 -0
  71. package/resources/EditTheResource.js +36 -0
  72. package/resources/EditTheResource.js.map +1 -0
  73. package/resources/PermissionRequest.d.ts +7 -0
  74. package/resources/PermissionRequest.js +39 -0
  75. package/resources/PermissionRequest.js.map +1 -0
  76. package/resources/ResourceToolbar.d.ts +12 -0
  77. package/resources/ResourceToolbar.js +24 -0
  78. package/resources/ResourceToolbar.js.map +1 -0
  79. package/resources/Resources.d.ts +2 -0
  80. package/resources/Resources.js +13 -0
  81. package/resources/Resources.js.map +1 -0
  82. package/resources/ResourcesTab.d.ts +5 -0
  83. package/resources/ResourcesTab.js +103 -0
  84. package/resources/ResourcesTab.js.map +1 -0
  85. package/resources/ShareTheResource.d.ts +9 -0
  86. package/resources/ShareTheResource.js +70 -0
  87. package/resources/ShareTheResource.js.map +1 -0
  88. package/resources/SharedWith.d.ts +6 -0
  89. package/resources/SharedWith.js +8 -0
  90. package/resources/SharedWith.js.map +1 -0
  91. package/root/ErrorPage.d.ts +5 -0
  92. package/root/ErrorPage.js +29 -0
  93. package/root/ErrorPage.js.map +1 -0
  94. package/root/Header.d.ts +1 -0
  95. package/root/Header.js +31 -0
  96. package/root/Header.js.map +1 -0
  97. package/root/PageNav.d.ts +23 -0
  98. package/root/PageNav.js +44 -0
  99. package/root/PageNav.js.map +1 -0
  100. package/root/Root.d.ts +1 -0
  101. package/root/Root.js +12 -0
  102. package/root/Root.js.map +1 -0
  103. package/root/header.module.css +3 -0
  104. package/routes.d.ts +15 -0
  105. package/routes.js +69 -0
  106. package/routes.js.map +1 -0
  107. package/src/KeycloakAccountUi.tsx +36 -0
  108. package/src/account-security/AccountRow.tsx +136 -0
  109. package/src/account-security/DeviceActivity.tsx +253 -0
  110. package/src/account-security/LinkedAccounts.tsx +86 -0
  111. package/src/account-security/SigningIn.tsx +251 -0
  112. package/src/api/constants.ts +2 -0
  113. package/src/api/methods.ts +158 -0
  114. package/src/api/parse-links.ts +28 -0
  115. package/src/api/parse-response.ts +53 -0
  116. package/src/api/representations.ts +219 -0
  117. package/src/api/request.ts +74 -0
  118. package/src/api.ts +127 -0
  119. package/src/applications/Applications.tsx +282 -0
  120. package/src/components/datalist/EmptyRow.tsx +26 -0
  121. package/src/components/page/Page.tsx +27 -0
  122. package/src/content/ContentComponent.tsx +62 -0
  123. package/src/content/fetchContent.ts +13 -0
  124. package/src/environment.ts +31 -0
  125. package/src/global.d.ts +4 -0
  126. package/src/groups/Groups.tsx +142 -0
  127. package/src/i18n.ts +47 -0
  128. package/src/i18next.d.ts +10 -0
  129. package/src/oid4vci/Oid4Vci.tsx +136 -0
  130. package/src/personal-info/PersonalInfo.tsx +184 -0
  131. package/src/resources/EditTheResource.tsx +101 -0
  132. package/src/resources/PermissionRequest.tsx +129 -0
  133. package/src/resources/ResourceToolbar.tsx +87 -0
  134. package/src/resources/Resources.tsx +39 -0
  135. package/src/resources/ResourcesTab.tsx +410 -0
  136. package/src/resources/ShareTheResource.tsx +217 -0
  137. package/src/resources/SharedWith.tsx +26 -0
  138. package/src/root/ErrorPage.tsx +65 -0
  139. package/src/root/Header.tsx +62 -0
  140. package/src/root/PageNav.tsx +154 -0
  141. package/src/root/Root.tsx +20 -0
  142. package/src/root/header.module.css +3 -0
  143. package/src/routes.tsx +85 -0
  144. package/src/ui-shared/alerts/Alerts.tsx +86 -0
  145. package/src/ui-shared/buttons/FormSubmitButton.tsx +47 -0
  146. package/src/ui-shared/context/ErrorPage.tsx +60 -0
  147. package/src/ui-shared/context/HelpContext.tsx +30 -0
  148. package/src/ui-shared/context/KeycloakContext.tsx +97 -0
  149. package/src/ui-shared/context/environment.ts +50 -0
  150. package/src/ui-shared/continue-cancel/ContinueCancelModal.tsx +75 -0
  151. package/src/ui-shared/controls/FormErrorText.tsx +23 -0
  152. package/src/ui-shared/controls/FormLabel.tsx +40 -0
  153. package/src/ui-shared/controls/HelpItem.tsx +43 -0
  154. package/src/ui-shared/controls/NumberControl.tsx +89 -0
  155. package/src/ui-shared/controls/PasswordControl.tsx +71 -0
  156. package/src/ui-shared/controls/PasswordInput.tsx +50 -0
  157. package/src/ui-shared/controls/SwitchControl.tsx +67 -0
  158. package/src/ui-shared/controls/TextAreaControl.tsx +60 -0
  159. package/src/ui-shared/controls/TextControl.tsx +74 -0
  160. package/src/ui-shared/controls/keycloak-text-area/KeycloakTextArea.tsx +23 -0
  161. package/src/ui-shared/controls/select-control/SelectControl.tsx +75 -0
  162. package/src/ui-shared/controls/select-control/SingleSelectControl.tsx +107 -0
  163. package/src/ui-shared/controls/select-control/TypeaheadSelectControl.tsx +283 -0
  164. package/src/ui-shared/icons/IconMapper.tsx +63 -0
  165. package/src/ui-shared/index.ts +1 -0
  166. package/src/ui-shared/main.ts +62 -0
  167. package/src/ui-shared/masthead/DefaultAvatar.tsx +109 -0
  168. package/src/ui-shared/masthead/KeycloakDropdown.tsx +47 -0
  169. package/src/ui-shared/masthead/Masthead.tsx +145 -0
  170. package/src/ui-shared/scroll-form/FormPanel.tsx +29 -0
  171. package/src/ui-shared/scroll-form/FormTitle.tsx +28 -0
  172. package/src/ui-shared/scroll-form/ScrollForm.tsx +98 -0
  173. package/src/ui-shared/scroll-form/ScrollPanel.tsx +21 -0
  174. package/src/ui-shared/scroll-form/form-title.module.css +4 -0
  175. package/src/ui-shared/scroll-form/scroll-form.module.css +8 -0
  176. package/src/ui-shared/select/KeycloakSelect.tsx +49 -0
  177. package/src/ui-shared/select/SingleSelect.tsx +85 -0
  178. package/src/ui-shared/select/TypeaheadSelect.tsx +196 -0
  179. package/src/ui-shared/user-profile/LocaleSelector.tsx +51 -0
  180. package/src/ui-shared/user-profile/MultiInputComponent.tsx +146 -0
  181. package/src/ui-shared/user-profile/OptionsComponent.tsx +60 -0
  182. package/src/ui-shared/user-profile/SelectComponent.tsx +106 -0
  183. package/src/ui-shared/user-profile/TextAreaComponent.tsx +23 -0
  184. package/src/ui-shared/user-profile/TextComponent.tsx +30 -0
  185. package/src/ui-shared/user-profile/UserProfileFields.tsx +246 -0
  186. package/src/ui-shared/user-profile/UserProfileGroup.tsx +70 -0
  187. package/src/ui-shared/user-profile/utils.ts +161 -0
  188. package/src/ui-shared/utils/createNamedContext.ts +11 -0
  189. package/src/ui-shared/utils/isDefined.ts +3 -0
  190. package/src/ui-shared/utils/useRequiredContext.ts +24 -0
  191. package/src/ui-shared/utils/useStorageItem.ts +51 -0
  192. package/src/ui-shared/utils/useStoredState.ts +38 -0
  193. package/src/utils/formatDate.ts +18 -0
  194. package/src/utils/isRecord.ts +2 -0
  195. package/src/utils/joinPath.ts +22 -0
  196. package/src/utils/usePromise.ts +74 -0
  197. package/ui-shared/alerts/Alerts.d.ts +17 -0
  198. package/ui-shared/alerts/Alerts.js +27 -0
  199. package/ui-shared/alerts/Alerts.js.map +1 -0
  200. package/ui-shared/buttons/FormSubmitButton.d.ts +10 -0
  201. package/ui-shared/buttons/FormSubmitButton.js +26 -0
  202. package/ui-shared/buttons/FormSubmitButton.js.map +1 -0
  203. package/ui-shared/context/ErrorPage.d.ts +5 -0
  204. package/ui-shared/context/ErrorPage.js +24 -0
  205. package/ui-shared/context/ErrorPage.js.map +1 -0
  206. package/ui-shared/context/HelpContext.d.ts +9 -0
  207. package/ui-shared/context/HelpContext.js +14 -0
  208. package/ui-shared/context/HelpContext.js.map +1 -0
  209. package/ui-shared/context/KeycloakContext.d.ts +12 -0
  210. package/ui-shared/context/KeycloakContext.js +53 -0
  211. package/ui-shared/context/KeycloakContext.js.map +1 -0
  212. package/ui-shared/context/environment.d.ts +36 -0
  213. package/ui-shared/context/environment.js +27 -0
  214. package/ui-shared/context/environment.js.map +1 -0
  215. package/ui-shared/continue-cancel/ContinueCancelModal.d.ts +15 -0
  216. package/ui-shared/continue-cancel/ContinueCancelModal.js +27 -0
  217. package/ui-shared/continue-cancel/ContinueCancelModal.js.map +1 -0
  218. package/ui-shared/controls/FormErrorText.d.ts +5 -0
  219. package/ui-shared/controls/FormErrorText.js +19 -0
  220. package/ui-shared/controls/FormErrorText.js.map +1 -0
  221. package/ui-shared/controls/FormLabel.d.ts +13 -0
  222. package/ui-shared/controls/FormLabel.js +20 -0
  223. package/ui-shared/controls/FormLabel.js.map +1 -0
  224. package/ui-shared/controls/HelpItem.d.ts +9 -0
  225. package/ui-shared/controls/HelpItem.js +9 -0
  226. package/ui-shared/controls/HelpItem.js.map +1 -0
  227. package/ui-shared/controls/NumberControl.d.ts +13 -0
  228. package/ui-shared/controls/NumberControl.js +32 -0
  229. package/ui-shared/controls/NumberControl.js.map +1 -0
  230. package/ui-shared/controls/PasswordControl.d.ts +9 -0
  231. package/ui-shared/controls/PasswordControl.js +25 -0
  232. package/ui-shared/controls/PasswordControl.js.map +1 -0
  233. package/ui-shared/controls/PasswordInput.d.ts +7 -0
  234. package/ui-shared/controls/PasswordInput.js +25 -0
  235. package/ui-shared/controls/PasswordInput.js.map +1 -0
  236. package/ui-shared/controls/SwitchControl.d.ts +11 -0
  237. package/ui-shared/controls/SwitchControl.js +29 -0
  238. package/ui-shared/controls/SwitchControl.js.map +1 -0
  239. package/ui-shared/controls/TextAreaControl.d.ts +8 -0
  240. package/ui-shared/controls/TextAreaControl.js +12 -0
  241. package/ui-shared/controls/TextAreaControl.js.map +1 -0
  242. package/ui-shared/controls/TextControl.d.ts +10 -0
  243. package/ui-shared/controls/TextControl.js +24 -0
  244. package/ui-shared/controls/TextControl.js.map +1 -0
  245. package/ui-shared/controls/keycloak-text-area/KeycloakTextArea.d.ts +4 -0
  246. package/ui-shared/controls/keycloak-text-area/KeycloakTextArea.js +5 -0
  247. package/ui-shared/controls/keycloak-text-area/KeycloakTextArea.js.map +1 -0
  248. package/ui-shared/controls/select-control/SelectControl.d.ts +31 -0
  249. package/ui-shared/controls/select-control/SelectControl.js +28 -0
  250. package/ui-shared/controls/select-control/SelectControl.js.map +1 -0
  251. package/ui-shared/controls/select-control/SingleSelectControl.d.ts +3 -0
  252. package/ui-shared/controls/select-control/SingleSelectControl.js +41 -0
  253. package/ui-shared/controls/select-control/SingleSelectControl.js.map +1 -0
  254. package/ui-shared/controls/select-control/TypeaheadSelectControl.d.ts +3 -0
  255. package/ui-shared/controls/select-control/TypeaheadSelectControl.js +138 -0
  256. package/ui-shared/controls/select-control/TypeaheadSelectControl.js.map +1 -0
  257. package/ui-shared/icons/IconMapper.d.ts +5 -0
  258. package/ui-shared/icons/IconMapper.js +40 -0
  259. package/ui-shared/icons/IconMapper.js.map +1 -0
  260. package/ui-shared/index.d.ts +1 -0
  261. package/ui-shared/index.js +2 -0
  262. package/ui-shared/index.js.map +1 -0
  263. package/ui-shared/main.d.ts +31 -0
  264. package/ui-shared/main.js +29 -0
  265. package/ui-shared/main.js.map +1 -0
  266. package/ui-shared/masthead/DefaultAvatar.d.ts +7 -0
  267. package/ui-shared/masthead/DefaultAvatar.js +26 -0
  268. package/ui-shared/masthead/DefaultAvatar.js.map +1 -0
  269. package/ui-shared/masthead/KeycloakDropdown.d.ts +10 -0
  270. package/ui-shared/masthead/KeycloakDropdown.js +23 -0
  271. package/ui-shared/masthead/KeycloakDropdown.js.map +1 -0
  272. package/ui-shared/masthead/Masthead.d.ts +22 -0
  273. package/ui-shared/masthead/Masthead.js +55 -0
  274. package/ui-shared/masthead/Masthead.js.map +1 -0
  275. package/ui-shared/scroll-form/FormPanel.d.ts +8 -0
  276. package/ui-shared/scroll-form/FormPanel.js +9 -0
  277. package/ui-shared/scroll-form/FormPanel.js.map +1 -0
  278. package/ui-shared/scroll-form/FormTitle.d.ts +8 -0
  279. package/ui-shared/scroll-form/FormTitle.js +19 -0
  280. package/ui-shared/scroll-form/FormTitle.js.map +1 -0
  281. package/ui-shared/scroll-form/ScrollForm.d.ts +15 -0
  282. package/ui-shared/scroll-form/ScrollForm.js +38 -0
  283. package/ui-shared/scroll-form/ScrollForm.js.map +1 -0
  284. package/ui-shared/scroll-form/ScrollPanel.d.ts +7 -0
  285. package/ui-shared/scroll-form/ScrollPanel.js +18 -0
  286. package/ui-shared/scroll-form/ScrollPanel.js.map +1 -0
  287. package/ui-shared/select/KeycloakSelect.d.ts +30 -0
  288. package/ui-shared/select/KeycloakSelect.js +31 -0
  289. package/ui-shared/select/KeycloakSelect.js.map +1 -0
  290. package/ui-shared/select/SingleSelect.d.ts +4 -0
  291. package/ui-shared/select/SingleSelect.js +46 -0
  292. package/ui-shared/select/SingleSelect.js.map +1 -0
  293. package/ui-shared/select/TypeaheadSelect.d.ts +2 -0
  294. package/ui-shared/select/TypeaheadSelect.js +96 -0
  295. package/ui-shared/select/TypeaheadSelect.js.map +1 -0
  296. package/ui-shared/user-profile/LocaleSelector.d.ts +7 -0
  297. package/ui-shared/user-profile/LocaleSelector.js +28 -0
  298. package/ui-shared/user-profile/LocaleSelector.js.map +1 -0
  299. package/ui-shared/user-profile/MultiInputComponent.d.ts +15 -0
  300. package/ui-shared/user-profile/MultiInputComponent.js +61 -0
  301. package/ui-shared/user-profile/MultiInputComponent.js.map +1 -0
  302. package/ui-shared/user-profile/OptionsComponent.d.ts +2 -0
  303. package/ui-shared/user-profile/OptionsComponent.js +28 -0
  304. package/ui-shared/user-profile/OptionsComponent.js.map +1 -0
  305. package/ui-shared/user-profile/SelectComponent.d.ts +2 -0
  306. package/ui-shared/user-profile/SelectComponent.js +55 -0
  307. package/ui-shared/user-profile/SelectComponent.js.map +1 -0
  308. package/ui-shared/user-profile/TextAreaComponent.d.ts +2 -0
  309. package/ui-shared/user-profile/TextAreaComponent.js +11 -0
  310. package/ui-shared/user-profile/TextAreaComponent.js.map +1 -0
  311. package/ui-shared/user-profile/TextComponent.d.ts +2 -0
  312. package/ui-shared/user-profile/TextComponent.js +14 -0
  313. package/ui-shared/user-profile/TextComponent.js.map +1 -0
  314. package/ui-shared/user-profile/UserProfileFields.d.ts +39 -0
  315. package/ui-shared/user-profile/UserProfileFields.js +112 -0
  316. package/ui-shared/user-profile/UserProfileFields.js.map +1 -0
  317. package/ui-shared/user-profile/UserProfileGroup.d.ts +12 -0
  318. package/ui-shared/user-profile/UserProfileGroup.js +15 -0
  319. package/ui-shared/user-profile/UserProfileGroup.js.map +1 -0
  320. package/ui-shared/user-profile/utils.d.ts +32 -0
  321. package/ui-shared/user-profile/utils.js +79 -0
  322. package/ui-shared/user-profile/utils.js.map +1 -0
  323. package/ui-shared/utils/createNamedContext.d.ts +3 -0
  324. package/ui-shared/utils/createNamedContext.js +7 -0
  325. package/ui-shared/utils/createNamedContext.js.map +1 -0
  326. package/ui-shared/utils/isDefined.d.ts +1 -0
  327. package/ui-shared/utils/isDefined.js +4 -0
  328. package/ui-shared/utils/isDefined.js.map +1 -0
  329. package/ui-shared/utils/useRequiredContext.d.ts +9 -0
  330. package/ui-shared/utils/useRequiredContext.js +17 -0
  331. package/ui-shared/utils/useRequiredContext.js.map +1 -0
  332. package/ui-shared/utils/useStorageItem.d.ts +10 -0
  333. package/ui-shared/utils/useStorageItem.js +40 -0
  334. package/ui-shared/utils/useStorageItem.js.map +1 -0
  335. package/ui-shared/utils/useStoredState.d.ts +13 -0
  336. package/ui-shared/utils/useStoredState.js +21 -0
  337. package/ui-shared/utils/useStoredState.js.map +1 -0
  338. package/utils/formatDate.d.ts +4 -0
  339. package/utils/formatDate.js +12 -0
  340. package/utils/formatDate.js.map +1 -0
  341. package/utils/isRecord.d.ts +1 -0
  342. package/utils/isRecord.js +2 -0
  343. package/utils/isRecord.js.map +1 -0
  344. package/utils/joinPath.d.ts +1 -0
  345. package/utils/joinPath.js +18 -0
  346. package/utils/joinPath.js.map +1 -0
  347. package/utils/usePromise.d.ts +41 -0
  348. package/utils/usePromise.js +55 -0
  349. package/utils/usePromise.js.map +1 -0
package/i18n.js ADDED
@@ -0,0 +1,31 @@
1
+ import { createInstance } from "i18next";
2
+ import HttpBackend from "i18next-http-backend";
3
+ import { initReactI18next } from "react-i18next";
4
+ import { environment } from "./environment";
5
+ import { joinPath } from "./utils/joinPath";
6
+ const DEFAULT_LOCALE = "en";
7
+ export const keycloakLanguageDetector = {
8
+ type: "languageDetector",
9
+ detect() {
10
+ return environment.locale;
11
+ },
12
+ };
13
+ export const i18n = createInstance({
14
+ fallbackLng: DEFAULT_LOCALE,
15
+ interpolation: {
16
+ escapeValue: false,
17
+ },
18
+ backend: {
19
+ loadPath: joinPath(environment.serverBaseUrl, `resources/${environment.realm}/account/{{lng}}`),
20
+ parse: (data) => {
21
+ const messages = JSON.parse(data);
22
+ const result = {};
23
+ messages.forEach((v) => (result[v.key] = v.value));
24
+ return result;
25
+ },
26
+ },
27
+ });
28
+ i18n.use(HttpBackend);
29
+ i18n.use(keycloakLanguageDetector);
30
+ i18n.use(initReactI18next);
31
+ //# sourceMappingURL=i18n.js.map
package/i18n.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["src/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,cAAc,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,WAAW,EAAE,MAAM,8CAA8C,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAC;AAE3E,MAAM,cAAc,GAAG,IAAI,CAAC;AAS5B,MAAM,CAAC,MAAM,wBAAwB,GAA2B;IAC9D,IAAI,EAAE,kBAAkB;IAExB,MAAM;QACJ,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,cAAc,CAAC;IACjC,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE;QACb,WAAW,EAAE,KAAK;KACnB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,QAAQ,CAChB,WAAW,CAAC,aAAa,EACzB,aAAa,WAAW,CAAC,KAAK,kBAAkB,CACjD;QACD,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAElC,MAAM,MAAM,GAA2B,EAAE,CAAC;YAC1C,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAW,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC;QAChB,CAAC;KACF;CACF,CAAC,CAAC;AAEH,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACtB,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;AACnC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const Oid4Vci: () => import("react/jsx-runtime").JSX.Element;
2
+ export default Oid4Vci;
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEnvironment } from "../ui-shared";
3
+ import { ActionList, ActionListItem, List, ListItem, MenuToggle, PageSection, PageSectionVariants, Select, SelectList, SelectOption, } from "@patternfly/react-core";
4
+ import { useEffect, useMemo, useState } from "react";
5
+ import { useTranslation } from "react-i18next";
6
+ import { getIssuer, requestVCOffer } from "../api";
7
+ import { Page } from "../components/page/Page";
8
+ import { usePromise } from "../utils/usePromise";
9
+ export const Oid4Vci = () => {
10
+ const context = useEnvironment();
11
+ const { t } = useTranslation();
12
+ const initialSelected = t("verifiableCredentialsSelectionDefault");
13
+ const [selected, setSelected] = useState(initialSelected);
14
+ const [qrCode, setQrCode] = useState("");
15
+ const [isOpen, setIsOpen] = useState(false);
16
+ const [offerQRVisible, setOfferQRVisible] = useState(false);
17
+ const [credentialsIssuer, setCredentialsIssuer] = useState();
18
+ usePromise(() => getIssuer(context), setCredentialsIssuer);
19
+ const selectOptions = useMemo(() => {
20
+ if (typeof credentialsIssuer !== "undefined") {
21
+ return credentialsIssuer.credential_configurations_supported;
22
+ }
23
+ return {};
24
+ }, [credentialsIssuer]);
25
+ const dropdownItems = useMemo(() => {
26
+ if (typeof selectOptions !== "undefined") {
27
+ return Array.from(Object.keys(selectOptions));
28
+ }
29
+ return [];
30
+ }, [selectOptions]);
31
+ useEffect(() => {
32
+ if (initialSelected !== selected && credentialsIssuer !== undefined) {
33
+ requestVCOffer(context, selectOptions[selected], credentialsIssuer).then((blob) => {
34
+ const reader = new FileReader();
35
+ reader.readAsDataURL(blob);
36
+ reader.onloadend = function () {
37
+ const result = reader.result;
38
+ if (typeof result === "string") {
39
+ setQrCode(result);
40
+ setOfferQRVisible(true);
41
+ setIsOpen(false);
42
+ }
43
+ };
44
+ });
45
+ }
46
+ }, [selected]);
47
+ const onToggleClick = () => {
48
+ setIsOpen(!isOpen);
49
+ };
50
+ const toggle = (toggleRef) => (_jsx(MenuToggle, { ref: toggleRef, onClick: onToggleClick, isExpanded: isOpen, "data-testid": "menu-toggle", children: selected }));
51
+ return (_jsx(Page, { title: t("verifiableCredentialsTitle"), description: t("verifiableCredentialsDescription"), children: _jsx(PageSection, { isFilled: true, variant: PageSectionVariants.light, children: _jsxs(List, { isPlain: true, children: [_jsx(ListItem, { children: _jsx(Select, { "data-testid": "credential-select", onOpenChange: (isOpen) => setIsOpen(isOpen), onSelect: (_event, val) => setSelected(val), isOpen: isOpen, selected: selected, toggle: toggle, shouldFocusToggleOnSelect: true, children: _jsx(SelectList, { children: dropdownItems.map((option) => (_jsx(SelectOption, { value: option, "data-testid": option, children: option }, option))) }) }) }), _jsx(ListItem, { children: _jsx(ActionList, { children: offerQRVisible && (_jsx(ActionListItem, { children: _jsx("img", { width: "500", height: "500", src: qrCode, "data-testid": "qr-code" }) })) }) })] }) }) }));
52
+ };
53
+ export default Oid4Vci;
54
+ //# sourceMappingURL=Oid4Vci.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Oid4Vci.js","sourceRoot":"","sources":["../src/oid4vci/Oid4Vci.tsx"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,428 @@
1
+ {
2
+ "name": "@keycloakify/keycloak-account-ui",
3
+ "version": "25.0.1-rc.0",
4
+ "description": "",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git://github.com/keycloakify/keycloak-account-ui.git"
8
+ },
9
+ "main": "./KeycloakAccountUi.js",
10
+ "types": "./KeycloakAccountUi.d.ts",
11
+ "lint-staged": {
12
+ "*.{ts,tsx,json,md}": [
13
+ "prettier --write"
14
+ ]
15
+ },
16
+ "husky": {
17
+ "hooks": {
18
+ "pre-commit": "lint-staged -v"
19
+ }
20
+ },
21
+ "author": "The Keycloak Team, re-packaged by u/garronej",
22
+ "license": "Apache-2.0",
23
+ "files": [
24
+ "src/KeycloakAccountUi.tsx",
25
+ "src/account-security/AccountRow.tsx",
26
+ "src/account-security/DeviceActivity.tsx",
27
+ "src/account-security/LinkedAccounts.tsx",
28
+ "src/account-security/SigningIn.tsx",
29
+ "src/api/constants.ts",
30
+ "src/api/methods.ts",
31
+ "src/api/parse-links.ts",
32
+ "src/api/parse-response.ts",
33
+ "src/api/representations.ts",
34
+ "src/api/request.ts",
35
+ "src/api.ts",
36
+ "src/applications/Applications.tsx",
37
+ "src/components/datalist/EmptyRow.tsx",
38
+ "src/components/page/Page.tsx",
39
+ "src/content/ContentComponent.tsx",
40
+ "src/content/fetchContent.ts",
41
+ "src/environment.ts",
42
+ "src/global.d.ts",
43
+ "src/groups/Groups.tsx",
44
+ "src/i18n.ts",
45
+ "src/i18next.d.ts",
46
+ "src/oid4vci/Oid4Vci.tsx",
47
+ "src/personal-info/PersonalInfo.tsx",
48
+ "src/resources/EditTheResource.tsx",
49
+ "src/resources/PermissionRequest.tsx",
50
+ "src/resources/ResourceToolbar.tsx",
51
+ "src/resources/Resources.tsx",
52
+ "src/resources/ResourcesTab.tsx",
53
+ "src/resources/ShareTheResource.tsx",
54
+ "src/resources/SharedWith.tsx",
55
+ "src/root/ErrorPage.tsx",
56
+ "src/root/Header.tsx",
57
+ "src/root/PageNav.tsx",
58
+ "src/root/Root.tsx",
59
+ "src/root/header.module.css",
60
+ "src/routes.tsx",
61
+ "src/ui-shared/alerts/Alerts.tsx",
62
+ "src/ui-shared/buttons/FormSubmitButton.tsx",
63
+ "src/ui-shared/context/ErrorPage.tsx",
64
+ "src/ui-shared/context/HelpContext.tsx",
65
+ "src/ui-shared/context/KeycloakContext.tsx",
66
+ "src/ui-shared/context/environment.ts",
67
+ "src/ui-shared/continue-cancel/ContinueCancelModal.tsx",
68
+ "src/ui-shared/controls/FormErrorText.tsx",
69
+ "src/ui-shared/controls/FormLabel.tsx",
70
+ "src/ui-shared/controls/HelpItem.tsx",
71
+ "src/ui-shared/controls/NumberControl.tsx",
72
+ "src/ui-shared/controls/PasswordControl.tsx",
73
+ "src/ui-shared/controls/PasswordInput.tsx",
74
+ "src/ui-shared/controls/SwitchControl.tsx",
75
+ "src/ui-shared/controls/TextAreaControl.tsx",
76
+ "src/ui-shared/controls/TextControl.tsx",
77
+ "src/ui-shared/controls/keycloak-text-area/KeycloakTextArea.tsx",
78
+ "src/ui-shared/controls/select-control/SelectControl.tsx",
79
+ "src/ui-shared/controls/select-control/SingleSelectControl.tsx",
80
+ "src/ui-shared/controls/select-control/TypeaheadSelectControl.tsx",
81
+ "src/ui-shared/icons/IconMapper.tsx",
82
+ "src/ui-shared/index.ts",
83
+ "src/ui-shared/main.ts",
84
+ "src/ui-shared/masthead/DefaultAvatar.tsx",
85
+ "src/ui-shared/masthead/KeycloakDropdown.tsx",
86
+ "src/ui-shared/masthead/Masthead.tsx",
87
+ "src/ui-shared/scroll-form/FormPanel.tsx",
88
+ "src/ui-shared/scroll-form/FormTitle.tsx",
89
+ "src/ui-shared/scroll-form/ScrollForm.tsx",
90
+ "src/ui-shared/scroll-form/ScrollPanel.tsx",
91
+ "src/ui-shared/scroll-form/form-title.module.css",
92
+ "src/ui-shared/scroll-form/scroll-form.module.css",
93
+ "src/ui-shared/select/KeycloakSelect.tsx",
94
+ "src/ui-shared/select/SingleSelect.tsx",
95
+ "src/ui-shared/select/TypeaheadSelect.tsx",
96
+ "src/ui-shared/user-profile/LocaleSelector.tsx",
97
+ "src/ui-shared/user-profile/MultiInputComponent.tsx",
98
+ "src/ui-shared/user-profile/OptionsComponent.tsx",
99
+ "src/ui-shared/user-profile/SelectComponent.tsx",
100
+ "src/ui-shared/user-profile/TextAreaComponent.tsx",
101
+ "src/ui-shared/user-profile/TextComponent.tsx",
102
+ "src/ui-shared/user-profile/UserProfileFields.tsx",
103
+ "src/ui-shared/user-profile/UserProfileGroup.tsx",
104
+ "src/ui-shared/user-profile/utils.ts",
105
+ "src/ui-shared/utils/createNamedContext.ts",
106
+ "src/ui-shared/utils/isDefined.ts",
107
+ "src/ui-shared/utils/useRequiredContext.ts",
108
+ "src/ui-shared/utils/useStorageItem.ts",
109
+ "src/ui-shared/utils/useStoredState.ts",
110
+ "src/utils/formatDate.ts",
111
+ "src/utils/isRecord.ts",
112
+ "src/utils/joinPath.ts",
113
+ "src/utils/usePromise.ts",
114
+ "KeycloakAccountUi.d.ts",
115
+ "KeycloakAccountUi.js",
116
+ "KeycloakAccountUi.js.map",
117
+ "account-security/AccountRow.d.ts",
118
+ "account-security/AccountRow.js",
119
+ "account-security/AccountRow.js.map",
120
+ "account-security/DeviceActivity.d.ts",
121
+ "account-security/DeviceActivity.js",
122
+ "account-security/DeviceActivity.js.map",
123
+ "account-security/LinkedAccounts.d.ts",
124
+ "account-security/LinkedAccounts.js",
125
+ "account-security/LinkedAccounts.js.map",
126
+ "account-security/SigningIn.d.ts",
127
+ "account-security/SigningIn.js",
128
+ "account-security/SigningIn.js.map",
129
+ "api/constants.d.ts",
130
+ "api/constants.js",
131
+ "api/constants.js.map",
132
+ "api/methods.d.ts",
133
+ "api/methods.js",
134
+ "api/methods.js.map",
135
+ "api/parse-links.d.ts",
136
+ "api/parse-links.js",
137
+ "api/parse-links.js.map",
138
+ "api/parse-response.d.ts",
139
+ "api/parse-response.js",
140
+ "api/parse-response.js.map",
141
+ "api/representations.d.ts",
142
+ "api/representations.js",
143
+ "api/representations.js.map",
144
+ "api/request.d.ts",
145
+ "api/request.js",
146
+ "api/request.js.map",
147
+ "api.d.ts",
148
+ "api.js",
149
+ "api.js.map",
150
+ "applications/Applications.d.ts",
151
+ "applications/Applications.js",
152
+ "applications/Applications.js.map",
153
+ "components/datalist/EmptyRow.d.ts",
154
+ "components/datalist/EmptyRow.js",
155
+ "components/datalist/EmptyRow.js.map",
156
+ "components/page/Page.d.ts",
157
+ "components/page/Page.js",
158
+ "components/page/Page.js.map",
159
+ "content/ContentComponent.d.ts",
160
+ "content/ContentComponent.js",
161
+ "content/ContentComponent.js.map",
162
+ "content/fetchContent.d.ts",
163
+ "content/fetchContent.js",
164
+ "content/fetchContent.js.map",
165
+ "environment.d.ts",
166
+ "environment.js",
167
+ "environment.js.map",
168
+ "groups/Groups.d.ts",
169
+ "groups/Groups.js",
170
+ "groups/Groups.js.map",
171
+ "i18n.d.ts",
172
+ "i18n.js",
173
+ "i18n.js.map",
174
+ "oid4vci/Oid4Vci.d.ts",
175
+ "oid4vci/Oid4Vci.js",
176
+ "oid4vci/Oid4Vci.js.map",
177
+ "personal-info/PersonalInfo.d.ts",
178
+ "personal-info/PersonalInfo.js",
179
+ "personal-info/PersonalInfo.js.map",
180
+ "resources/EditTheResource.d.ts",
181
+ "resources/EditTheResource.js",
182
+ "resources/EditTheResource.js.map",
183
+ "resources/PermissionRequest.d.ts",
184
+ "resources/PermissionRequest.js",
185
+ "resources/PermissionRequest.js.map",
186
+ "resources/ResourceToolbar.d.ts",
187
+ "resources/ResourceToolbar.js",
188
+ "resources/ResourceToolbar.js.map",
189
+ "resources/Resources.d.ts",
190
+ "resources/Resources.js",
191
+ "resources/Resources.js.map",
192
+ "resources/ResourcesTab.d.ts",
193
+ "resources/ResourcesTab.js",
194
+ "resources/ResourcesTab.js.map",
195
+ "resources/ShareTheResource.d.ts",
196
+ "resources/ShareTheResource.js",
197
+ "resources/ShareTheResource.js.map",
198
+ "resources/SharedWith.d.ts",
199
+ "resources/SharedWith.js",
200
+ "resources/SharedWith.js.map",
201
+ "root/ErrorPage.d.ts",
202
+ "root/ErrorPage.js",
203
+ "root/ErrorPage.js.map",
204
+ "root/Header.d.ts",
205
+ "root/Header.js",
206
+ "root/Header.js.map",
207
+ "root/PageNav.d.ts",
208
+ "root/PageNav.js",
209
+ "root/PageNav.js.map",
210
+ "root/Root.d.ts",
211
+ "root/Root.js",
212
+ "root/Root.js.map",
213
+ "root/header.module.css",
214
+ "routes.d.ts",
215
+ "routes.js",
216
+ "routes.js.map",
217
+ "ui-shared/alerts/Alerts.d.ts",
218
+ "ui-shared/alerts/Alerts.js",
219
+ "ui-shared/alerts/Alerts.js.map",
220
+ "ui-shared/buttons/FormSubmitButton.d.ts",
221
+ "ui-shared/buttons/FormSubmitButton.js",
222
+ "ui-shared/buttons/FormSubmitButton.js.map",
223
+ "ui-shared/context/ErrorPage.d.ts",
224
+ "ui-shared/context/ErrorPage.js",
225
+ "ui-shared/context/ErrorPage.js.map",
226
+ "ui-shared/context/HelpContext.d.ts",
227
+ "ui-shared/context/HelpContext.js",
228
+ "ui-shared/context/HelpContext.js.map",
229
+ "ui-shared/context/KeycloakContext.d.ts",
230
+ "ui-shared/context/KeycloakContext.js",
231
+ "ui-shared/context/KeycloakContext.js.map",
232
+ "ui-shared/context/environment.d.ts",
233
+ "ui-shared/context/environment.js",
234
+ "ui-shared/context/environment.js.map",
235
+ "ui-shared/continue-cancel/ContinueCancelModal.d.ts",
236
+ "ui-shared/continue-cancel/ContinueCancelModal.js",
237
+ "ui-shared/continue-cancel/ContinueCancelModal.js.map",
238
+ "ui-shared/controls/FormErrorText.d.ts",
239
+ "ui-shared/controls/FormErrorText.js",
240
+ "ui-shared/controls/FormErrorText.js.map",
241
+ "ui-shared/controls/FormLabel.d.ts",
242
+ "ui-shared/controls/FormLabel.js",
243
+ "ui-shared/controls/FormLabel.js.map",
244
+ "ui-shared/controls/HelpItem.d.ts",
245
+ "ui-shared/controls/HelpItem.js",
246
+ "ui-shared/controls/HelpItem.js.map",
247
+ "ui-shared/controls/NumberControl.d.ts",
248
+ "ui-shared/controls/NumberControl.js",
249
+ "ui-shared/controls/NumberControl.js.map",
250
+ "ui-shared/controls/PasswordControl.d.ts",
251
+ "ui-shared/controls/PasswordControl.js",
252
+ "ui-shared/controls/PasswordControl.js.map",
253
+ "ui-shared/controls/PasswordInput.d.ts",
254
+ "ui-shared/controls/PasswordInput.js",
255
+ "ui-shared/controls/PasswordInput.js.map",
256
+ "ui-shared/controls/SwitchControl.d.ts",
257
+ "ui-shared/controls/SwitchControl.js",
258
+ "ui-shared/controls/SwitchControl.js.map",
259
+ "ui-shared/controls/TextAreaControl.d.ts",
260
+ "ui-shared/controls/TextAreaControl.js",
261
+ "ui-shared/controls/TextAreaControl.js.map",
262
+ "ui-shared/controls/TextControl.d.ts",
263
+ "ui-shared/controls/TextControl.js",
264
+ "ui-shared/controls/TextControl.js.map",
265
+ "ui-shared/controls/keycloak-text-area/KeycloakTextArea.d.ts",
266
+ "ui-shared/controls/keycloak-text-area/KeycloakTextArea.js",
267
+ "ui-shared/controls/keycloak-text-area/KeycloakTextArea.js.map",
268
+ "ui-shared/controls/select-control/SelectControl.d.ts",
269
+ "ui-shared/controls/select-control/SelectControl.js",
270
+ "ui-shared/controls/select-control/SelectControl.js.map",
271
+ "ui-shared/controls/select-control/SingleSelectControl.d.ts",
272
+ "ui-shared/controls/select-control/SingleSelectControl.js",
273
+ "ui-shared/controls/select-control/SingleSelectControl.js.map",
274
+ "ui-shared/controls/select-control/TypeaheadSelectControl.d.ts",
275
+ "ui-shared/controls/select-control/TypeaheadSelectControl.js",
276
+ "ui-shared/controls/select-control/TypeaheadSelectControl.js.map",
277
+ "ui-shared/icons/IconMapper.d.ts",
278
+ "ui-shared/icons/IconMapper.js",
279
+ "ui-shared/icons/IconMapper.js.map",
280
+ "ui-shared/index.d.ts",
281
+ "ui-shared/index.js",
282
+ "ui-shared/index.js.map",
283
+ "ui-shared/main.d.ts",
284
+ "ui-shared/main.js",
285
+ "ui-shared/main.js.map",
286
+ "ui-shared/masthead/DefaultAvatar.d.ts",
287
+ "ui-shared/masthead/DefaultAvatar.js",
288
+ "ui-shared/masthead/DefaultAvatar.js.map",
289
+ "ui-shared/masthead/KeycloakDropdown.d.ts",
290
+ "ui-shared/masthead/KeycloakDropdown.js",
291
+ "ui-shared/masthead/KeycloakDropdown.js.map",
292
+ "ui-shared/masthead/Masthead.d.ts",
293
+ "ui-shared/masthead/Masthead.js",
294
+ "ui-shared/masthead/Masthead.js.map",
295
+ "ui-shared/scroll-form/FormPanel.d.ts",
296
+ "ui-shared/scroll-form/FormPanel.js",
297
+ "ui-shared/scroll-form/FormPanel.js.map",
298
+ "ui-shared/scroll-form/FormTitle.d.ts",
299
+ "ui-shared/scroll-form/FormTitle.js",
300
+ "ui-shared/scroll-form/FormTitle.js.map",
301
+ "ui-shared/scroll-form/ScrollForm.d.ts",
302
+ "ui-shared/scroll-form/ScrollForm.js",
303
+ "ui-shared/scroll-form/ScrollForm.js.map",
304
+ "ui-shared/scroll-form/ScrollPanel.d.ts",
305
+ "ui-shared/scroll-form/ScrollPanel.js",
306
+ "ui-shared/scroll-form/ScrollPanel.js.map",
307
+ "ui-shared/select/KeycloakSelect.d.ts",
308
+ "ui-shared/select/KeycloakSelect.js",
309
+ "ui-shared/select/KeycloakSelect.js.map",
310
+ "ui-shared/select/SingleSelect.d.ts",
311
+ "ui-shared/select/SingleSelect.js",
312
+ "ui-shared/select/SingleSelect.js.map",
313
+ "ui-shared/select/TypeaheadSelect.d.ts",
314
+ "ui-shared/select/TypeaheadSelect.js",
315
+ "ui-shared/select/TypeaheadSelect.js.map",
316
+ "ui-shared/user-profile/LocaleSelector.d.ts",
317
+ "ui-shared/user-profile/LocaleSelector.js",
318
+ "ui-shared/user-profile/LocaleSelector.js.map",
319
+ "ui-shared/user-profile/MultiInputComponent.d.ts",
320
+ "ui-shared/user-profile/MultiInputComponent.js",
321
+ "ui-shared/user-profile/MultiInputComponent.js.map",
322
+ "ui-shared/user-profile/OptionsComponent.d.ts",
323
+ "ui-shared/user-profile/OptionsComponent.js",
324
+ "ui-shared/user-profile/OptionsComponent.js.map",
325
+ "ui-shared/user-profile/SelectComponent.d.ts",
326
+ "ui-shared/user-profile/SelectComponent.js",
327
+ "ui-shared/user-profile/SelectComponent.js.map",
328
+ "ui-shared/user-profile/TextAreaComponent.d.ts",
329
+ "ui-shared/user-profile/TextAreaComponent.js",
330
+ "ui-shared/user-profile/TextAreaComponent.js.map",
331
+ "ui-shared/user-profile/TextComponent.d.ts",
332
+ "ui-shared/user-profile/TextComponent.js",
333
+ "ui-shared/user-profile/TextComponent.js.map",
334
+ "ui-shared/user-profile/UserProfileFields.d.ts",
335
+ "ui-shared/user-profile/UserProfileFields.js",
336
+ "ui-shared/user-profile/UserProfileFields.js.map",
337
+ "ui-shared/user-profile/UserProfileGroup.d.ts",
338
+ "ui-shared/user-profile/UserProfileGroup.js",
339
+ "ui-shared/user-profile/UserProfileGroup.js.map",
340
+ "ui-shared/user-profile/utils.d.ts",
341
+ "ui-shared/user-profile/utils.js",
342
+ "ui-shared/user-profile/utils.js.map",
343
+ "ui-shared/utils/createNamedContext.d.ts",
344
+ "ui-shared/utils/createNamedContext.js",
345
+ "ui-shared/utils/createNamedContext.js.map",
346
+ "ui-shared/utils/isDefined.d.ts",
347
+ "ui-shared/utils/isDefined.js",
348
+ "ui-shared/utils/isDefined.js.map",
349
+ "ui-shared/utils/useRequiredContext.d.ts",
350
+ "ui-shared/utils/useRequiredContext.js",
351
+ "ui-shared/utils/useRequiredContext.js.map",
352
+ "ui-shared/utils/useStorageItem.d.ts",
353
+ "ui-shared/utils/useStorageItem.js",
354
+ "ui-shared/utils/useStorageItem.js.map",
355
+ "ui-shared/utils/useStoredState.d.ts",
356
+ "ui-shared/utils/useStoredState.js",
357
+ "ui-shared/utils/useStoredState.js.map",
358
+ "utils/formatDate.d.ts",
359
+ "utils/formatDate.js",
360
+ "utils/formatDate.js.map",
361
+ "utils/isRecord.d.ts",
362
+ "utils/isRecord.js",
363
+ "utils/isRecord.js.map",
364
+ "utils/joinPath.d.ts",
365
+ "utils/joinPath.js",
366
+ "utils/joinPath.js.map",
367
+ "utils/usePromise.d.ts",
368
+ "utils/usePromise.js",
369
+ "utils/usePromise.js.map"
370
+ ],
371
+ "keywords": [],
372
+ "homepage": "https://github.com/keycloakify/keycloak-account-ui",
373
+ "peerDependencies": {
374
+ "@patternfly/patternfly": "^5.3.1",
375
+ "@patternfly/react-core": "^5.3.3",
376
+ "@patternfly/react-icons": "^5.3.2",
377
+ "@patternfly/react-table": "^5.3.3",
378
+ "i18next": "^23.11.5",
379
+ "i18next-http-backend": "^2.5.2",
380
+ "lodash-es": "^4.17.21",
381
+ "react-hook-form": "7.51.5",
382
+ "react-i18next": "^14.1.2",
383
+ "react-router-dom": "^6.23.1",
384
+ "keycloak-js": "25.0.1",
385
+ "@patternfly/react-styles": "^5.3.1",
386
+ "@keycloak/keycloak-admin-client": "25.0.1"
387
+ },
388
+ "devDependencies": {
389
+ "react": "^18.3.1",
390
+ "@types/react": "^18.3.3",
391
+ "@types/make-fetch-happen": "^10.0.1",
392
+ "@types/node": "^20.14.10",
393
+ "@types/yauzl": "^2.10.3",
394
+ "husky": "^4.3.8",
395
+ "lint-staged": "^11.1.1",
396
+ "make-fetch-happen": "^11.0.3",
397
+ "prettier": "^3.3.2",
398
+ "tsafe": "^1.7.2",
399
+ "tsc-alias": "^1.8.10",
400
+ "tsx": "^4.16.2",
401
+ "typescript": "^5.5.3",
402
+ "yauzl": "^2.10.0",
403
+ "chalk": "^4.1.2",
404
+ "evt": "^2.5.7",
405
+ "react-dom": "^18.3.1",
406
+ "copyfiles": "^2.4.1",
407
+ "@types/lodash-es": "^4.17.12",
408
+ "@patternfly/patternfly": "^5.3.1",
409
+ "@patternfly/react-core": "^5.3.3",
410
+ "@patternfly/react-icons": "^5.3.2",
411
+ "@patternfly/react-table": "^5.3.3",
412
+ "i18next": "^23.11.5",
413
+ "i18next-http-backend": "^2.5.2",
414
+ "lodash-es": "^4.17.21",
415
+ "react-hook-form": "7.51.5",
416
+ "react-i18next": "^14.1.2",
417
+ "react-router-dom": "^6.23.1",
418
+ "keycloak-js": "25.0.1",
419
+ "@patternfly/react-styles": "^5.3.1",
420
+ "@keycloak/keycloak-admin-client": "25.0.1"
421
+ },
422
+ "publishConfig": {
423
+ "access": "public"
424
+ },
425
+ "resolutions": {
426
+ "@types/lodash": "4.17.1"
427
+ }
428
+ }
@@ -0,0 +1,2 @@
1
+ export declare const PersonalInfo: () => import("react/jsx-runtime").JSX.Element;
2
+ export default PersonalInfo;
@@ -0,0 +1,63 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { UserProfileFields, beerify, debeerify, setUserProfileServerError, useAlerts, useEnvironment, } from "../ui-shared";
3
+ import { ActionGroup, Alert, Button, ExpandableSection, Form, Spinner, } from "@patternfly/react-core";
4
+ import { ExternalLinkSquareAltIcon } from "@patternfly/react-icons";
5
+ import { useState } from "react";
6
+ import { useForm } from "react-hook-form";
7
+ import { useTranslation } from "react-i18next";
8
+ import { getPersonalInfo, getSupportedLocales, savePersonalInfo, } from "../api/methods";
9
+ import { Page } from "../components/page/Page";
10
+ import { i18n } from "../i18n";
11
+ import { usePromise } from "../utils/usePromise";
12
+ export const PersonalInfo = () => {
13
+ const { t } = useTranslation();
14
+ const context = useEnvironment();
15
+ const [userProfileMetadata, setUserProfileMetadata] = useState();
16
+ const [supportedLocales, setSupportedLocales] = useState([]);
17
+ const form = useForm({ mode: "onChange" });
18
+ const { handleSubmit, reset, setValue, setError } = form;
19
+ const { addAlert, addError } = useAlerts();
20
+ usePromise((signal) => Promise.all([
21
+ getPersonalInfo({ signal, context }),
22
+ getSupportedLocales({ signal, context }),
23
+ ]), ([personalInfo, supportedLocales]) => {
24
+ setUserProfileMetadata(personalInfo.userProfileMetadata);
25
+ setSupportedLocales(supportedLocales);
26
+ reset(personalInfo);
27
+ Object.entries(personalInfo.attributes || {}).forEach(([k, v]) => setValue(`attributes[${beerify(k)}]`, v));
28
+ });
29
+ const onSubmit = async (user) => {
30
+ var _a;
31
+ try {
32
+ const attributes = Object.fromEntries(Object.entries(user.attributes || {}).map(([k, v]) => [
33
+ debeerify(k),
34
+ v,
35
+ ]));
36
+ await savePersonalInfo(context, Object.assign(Object.assign({}, user), { attributes }));
37
+ const locale = (_a = attributes["locale"]) === null || _a === void 0 ? void 0 : _a.toString();
38
+ i18n.changeLanguage(locale, (error) => {
39
+ if (error) {
40
+ console.warn("Error(s) loading locale", locale, error);
41
+ }
42
+ });
43
+ context.keycloak.updateToken();
44
+ addAlert(t("accountUpdatedMessage"));
45
+ }
46
+ catch (error) {
47
+ addError(t("accountUpdatedError").toString());
48
+ setUserProfileServerError({ responseData: { errors: error } }, (name, error) => setError(name, error), ((key, param) => t(key, param)));
49
+ }
50
+ };
51
+ if (!userProfileMetadata) {
52
+ return _jsx(Spinner, {});
53
+ }
54
+ const { updateEmailFeatureEnabled, updateEmailActionEnabled, isRegistrationEmailAsUsername, isEditUserNameAllowed, } = context.environment.features;
55
+ return (_jsx(Page, { title: t("personalInfo"), description: t("personalInfoDescription"), children: _jsxs(Form, { isHorizontal: true, onSubmit: handleSubmit(onSubmit), children: [_jsx(UserProfileFields, { form: form, userProfileMetadata: userProfileMetadata, supportedLocales: supportedLocales, currentLocale: context.environment.locale, t: ((key, params) => t(key, params)), renderer: (attribute) => attribute.name === "email" &&
56
+ updateEmailFeatureEnabled &&
57
+ updateEmailActionEnabled &&
58
+ (!isRegistrationEmailAsUsername || isEditUserNameAllowed) ? (_jsx(Button, { id: "update-email-btn", variant: "link", onClick: () => context.keycloak.login({ action: "UPDATE_EMAIL" }), icon: _jsx(ExternalLinkSquareAltIcon, {}), iconPosition: "right", children: t("updateEmail") })) : undefined }), _jsxs(ActionGroup, { children: [_jsx(Button, { "data-testid": "save", type: "submit", id: "save-btn", variant: "primary", children: t("save") }), _jsx(Button, { "data-testid": "cancel", id: "cancel-btn", variant: "link", onClick: () => reset(), children: t("cancel") })] }), context.environment.features.deleteAccountAllowed && (_jsx(ExpandableSection, { "data-testid": "delete-account", toggleText: t("deleteAccount"), children: _jsx(Alert, { isInline: true, title: t("deleteAccount"), variant: "danger", actionLinks: _jsx(Button, { id: "delete-account-btn", variant: "danger", onClick: () => context.keycloak.login({
59
+ action: "delete_account",
60
+ }), className: "delete-button", children: t("delete") }), children: t("deleteAccountWarning") }) }))] }) }));
61
+ };
62
+ export default PersonalInfo;
63
+ //# sourceMappingURL=PersonalInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PersonalInfo.js","sourceRoot":"","sources":["../src/personal-info/PersonalInfo.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Permission, Resource } from "../api/representations";
2
+ type EditTheResourceProps = {
3
+ resource: Resource;
4
+ permissions?: Permission[];
5
+ onClose: () => void;
6
+ };
7
+ export declare const EditTheResource: ({ resource, permissions, onClose, }: EditTheResourceProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};