@keycloakify/keycloak-account-ui 26.0.0-rc.3 → 260007.0.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 (464) hide show
  1. package/KcAccountUiLoader.d.ts +2 -4
  2. package/KcAccountUiLoader.js +34 -41
  3. package/KcAccountUiLoader.js.map +1 -1
  4. package/README.md +1 -50
  5. package/index.js.map +1 -1
  6. package/{KcAccountUi.js → keycloak-theme/account/KcAccountUi.tsx} +15 -7
  7. package/keycloak-theme/account/KcContext.ts +8 -0
  8. package/keycloak-theme/account/KcPage.tsx +11 -0
  9. package/{src → keycloak-theme/account}/account-security/AccountRow.tsx +8 -4
  10. package/{src → keycloak-theme/account}/account-security/DeviceActivity.tsx +11 -7
  11. package/{src → keycloak-theme/account}/account-security/LinkedAccounts.tsx +12 -8
  12. package/{src → keycloak-theme/account}/account-security/LinkedAccountsToolbar.tsx +4 -0
  13. package/{src → keycloak-theme/account}/account-security/SigningIn.tsx +12 -8
  14. package/{src → keycloak-theme/account}/api/constants.ts +4 -0
  15. package/{src → keycloak-theme/account}/api/methods.ts +9 -5
  16. package/{src → keycloak-theme/account}/api/parse-links.ts +4 -0
  17. package/{src → keycloak-theme/account}/api/parse-response.ts +6 -2
  18. package/{src → keycloak-theme/account}/api/representations.ts +4 -0
  19. package/{src → keycloak-theme/account}/api/request.ts +7 -3
  20. package/{src → keycloak-theme/account}/api.ts +11 -7
  21. package/{src → keycloak-theme/account}/applications/Applications.tsx +12 -8
  22. package/{src/public → keycloak-theme/account/assets}/content.ts +14 -20
  23. package/keycloak-theme/account/assets/favicon.svg +63 -0
  24. package/{src → keycloak-theme/account}/components/datalist/EmptyRow.tsx +4 -0
  25. package/{src → keycloak-theme/account}/components/page/Page.tsx +4 -0
  26. package/{src → keycloak-theme/account}/content/ContentComponent.tsx +10 -6
  27. package/keycloak-theme/account/content/fetchContent.ts +13 -0
  28. package/{src → keycloak-theme/account}/environment.ts +5 -1
  29. package/{src → keycloak-theme/account}/groups/Groups.tsx +9 -5
  30. package/{src → keycloak-theme/account/i18n}/i18n.ts +7 -5
  31. package/keycloak-theme/account/i18n/index.ts +5 -0
  32. package/{messages → keycloak-theme/account/i18n}/messages_ar.properties +8 -0
  33. package/{messages → keycloak-theme/account/i18n}/messages_ca.properties +8 -0
  34. package/{messages → keycloak-theme/account/i18n}/messages_cs.properties +8 -0
  35. package/{messages → keycloak-theme/account/i18n}/messages_da.properties +8 -0
  36. package/{messages → keycloak-theme/account/i18n}/messages_de.properties +8 -0
  37. package/{messages → keycloak-theme/account/i18n}/messages_el.properties +8 -0
  38. package/{messages → keycloak-theme/account/i18n}/messages_en.properties +8 -0
  39. package/{messages → keycloak-theme/account/i18n}/messages_es.properties +8 -0
  40. package/{messages → keycloak-theme/account/i18n}/messages_fa.properties +8 -0
  41. package/{messages → keycloak-theme/account/i18n}/messages_fi.properties +8 -0
  42. package/{messages → keycloak-theme/account/i18n}/messages_fr.properties +8 -0
  43. package/{messages → keycloak-theme/account/i18n}/messages_hu.properties +8 -0
  44. package/{messages → keycloak-theme/account/i18n}/messages_it.properties +8 -0
  45. package/{messages → keycloak-theme/account/i18n}/messages_ja.properties +8 -0
  46. package/{messages → keycloak-theme/account/i18n}/messages_ka.properties +8 -0
  47. package/{messages → keycloak-theme/account/i18n}/messages_lt.properties +8 -0
  48. package/{messages → keycloak-theme/account/i18n}/messages_lv.properties +8 -0
  49. package/{messages → keycloak-theme/account/i18n}/messages_nl.properties +8 -0
  50. package/{messages → keycloak-theme/account/i18n}/messages_no.properties +8 -0
  51. package/{messages → keycloak-theme/account/i18n}/messages_pl.properties +8 -0
  52. package/{messages → keycloak-theme/account/i18n}/messages_pt.properties +8 -0
  53. package/{messages → keycloak-theme/account/i18n}/messages_pt_BR.properties +8 -0
  54. package/{messages → keycloak-theme/account/i18n}/messages_ru.properties +8 -0
  55. package/{messages → keycloak-theme/account/i18n}/messages_sk.properties +8 -0
  56. package/{messages → keycloak-theme/account/i18n}/messages_sv.properties +8 -0
  57. package/{messages → keycloak-theme/account/i18n}/messages_th.properties +8 -0
  58. package/{messages → keycloak-theme/account/i18n}/messages_tr.properties +8 -0
  59. package/{messages → keycloak-theme/account/i18n}/messages_uk.properties +8 -0
  60. package/{messages → keycloak-theme/account/i18n}/messages_zh_CN.properties +8 -0
  61. package/{messages → keycloak-theme/account/i18n}/messages_zh_TW.properties +8 -0
  62. package/{src → keycloak-theme/account}/i18next.d.ts +4 -0
  63. package/{src → keycloak-theme/account}/oid4vci/Oid4Vci.tsx +9 -5
  64. package/{src → keycloak-theme/account}/organizations/Organizations.tsx +9 -5
  65. package/{src → keycloak-theme/account}/personal-info/PersonalInfo.tsx +13 -10
  66. package/{src → keycloak-theme/account}/resources/EditTheResource.tsx +8 -4
  67. package/{src → keycloak-theme/account}/resources/PermissionRequest.tsx +8 -4
  68. package/{src → keycloak-theme/account}/resources/ResourceToolbar.tsx +4 -0
  69. package/{src → keycloak-theme/account}/resources/Resources.tsx +6 -2
  70. package/{src → keycloak-theme/account}/resources/ResourcesTab.tsx +16 -12
  71. package/{src → keycloak-theme/account}/resources/ShareTheResource.tsx +9 -5
  72. package/{src → keycloak-theme/account}/resources/SharedWith.tsx +5 -1
  73. package/{src → keycloak-theme/account}/root/ErrorPage.tsx +4 -0
  74. package/{src → keycloak-theme/account}/root/Header.tsx +11 -6
  75. package/{src → keycloak-theme/account}/root/PageNav.tsx +9 -5
  76. package/{src → keycloak-theme/account}/root/Root.tsx +8 -4
  77. package/{src → keycloak-theme/account}/routes.tsx +18 -14
  78. package/{src → keycloak-theme/account}/utils/formatDate.ts +6 -3
  79. package/{src → keycloak-theme/account}/utils/joinPath.ts +4 -0
  80. package/{src → keycloak-theme/account}/utils/useAccountAlerts.ts +6 -2
  81. package/{src → keycloak-theme/account}/utils/usePromise.ts +4 -0
  82. package/package.json +18 -525
  83. package/src/KcAccountUiLoader.tsx +391 -370
  84. package/src/zKcContextLike.ts +31 -74
  85. package/tsconfig.tsbuildinfo +1 -0
  86. package/zKcContextLike.js +7 -7
  87. package/zKcContextLike.js.map +1 -1
  88. package/KcAccountUi.d.ts +0 -3
  89. package/KcAccountUi.js.map +0 -1
  90. package/account-security/AccountRow.d.ts +0 -8
  91. package/account-security/AccountRow.js +0 -37
  92. package/account-security/AccountRow.js.map +0 -1
  93. package/account-security/DeviceActivity.d.ts +0 -2
  94. package/account-security/DeviceActivity.js +0 -71
  95. package/account-security/DeviceActivity.js.map +0 -1
  96. package/account-security/LinkedAccounts.d.ts +0 -2
  97. package/account-security/LinkedAccounts.js +0 -40
  98. package/account-security/LinkedAccounts.js.map +0 -1
  99. package/account-security/LinkedAccountsToolbar.d.ts +0 -12
  100. package/account-security/LinkedAccountsToolbar.js +0 -24
  101. package/account-security/LinkedAccountsToolbar.js.map +0 -1
  102. package/account-security/SigningIn.d.ts +0 -2
  103. package/account-security/SigningIn.js +0 -65
  104. package/account-security/SigningIn.js.map +0 -1
  105. package/api/constants.d.ts +0 -2
  106. package/api/constants.js +0 -3
  107. package/api/constants.js.map +0 -1
  108. package/api/methods.d.ts +0 -31
  109. package/api/methods.js +0 -80
  110. package/api/methods.js.map +0 -1
  111. package/api/parse-links.d.ts +0 -5
  112. package/api/parse-links.js +0 -23
  113. package/api/parse-links.js.map +0 -1
  114. package/api/parse-response.d.ts +0 -5
  115. package/api/parse-response.js +0 -36
  116. package/api/parse-response.js.map +0 -1
  117. package/api/representations.d.ts +0 -202
  118. package/api/representations.js +0 -3
  119. package/api/representations.js.map +0 -1
  120. package/api/request.d.ts +0 -12
  121. package/api/request.js +0 -33
  122. package/api/request.js.map +0 -1
  123. package/api.d.ts +0 -13
  124. package/api.js +0 -46
  125. package/api.js.map +0 -1
  126. package/applications/Applications.d.ts +0 -2
  127. package/applications/Applications.js +0 -53
  128. package/applications/Applications.js.map +0 -1
  129. package/components/datalist/EmptyRow.d.ts +0 -5
  130. package/components/datalist/EmptyRow.js +0 -20
  131. package/components/datalist/EmptyRow.js.map +0 -1
  132. package/components/page/Page.d.ts +0 -7
  133. package/components/page/Page.js +0 -6
  134. package/components/page/Page.js.map +0 -1
  135. package/content/ContentComponent.d.ts +0 -2
  136. package/content/ContentComponent.js +0 -36
  137. package/content/ContentComponent.js.map +0 -1
  138. package/content/fetchContent.d.ts +0 -3
  139. package/content/fetchContent.js +0 -6
  140. package/content/fetchContent.js.map +0 -1
  141. package/environment.d.ts +0 -26
  142. package/environment.js +0 -3
  143. package/environment.js.map +0 -1
  144. package/groups/Groups.d.ts +0 -2
  145. package/groups/Groups.js +0 -45
  146. package/groups/Groups.js.map +0 -1
  147. package/i18n.d.ts +0 -4
  148. package/i18n.js +0 -32
  149. package/i18n.js.map +0 -1
  150. package/oid4vci/Oid4Vci.d.ts +0 -2
  151. package/oid4vci/Oid4Vci.js +0 -54
  152. package/oid4vci/Oid4Vci.js.map +0 -1
  153. package/organizations/Organizations.d.ts +0 -2
  154. package/organizations/Organizations.js +0 -19
  155. package/organizations/Organizations.js.map +0 -1
  156. package/personal-info/PersonalInfo.d.ts +0 -2
  157. package/personal-info/PersonalInfo.js +0 -69
  158. package/personal-info/PersonalInfo.js.map +0 -1
  159. package/public/content.d.ts +0 -37
  160. package/public/content.js +0 -50
  161. package/public/content.js.map +0 -1
  162. package/resources/EditTheResource.d.ts +0 -8
  163. package/resources/EditTheResource.js +0 -37
  164. package/resources/EditTheResource.js.map +0 -1
  165. package/resources/PermissionRequest.d.ts +0 -7
  166. package/resources/PermissionRequest.js +0 -40
  167. package/resources/PermissionRequest.js.map +0 -1
  168. package/resources/ResourceToolbar.d.ts +0 -12
  169. package/resources/ResourceToolbar.js +0 -24
  170. package/resources/ResourceToolbar.js.map +0 -1
  171. package/resources/Resources.d.ts +0 -2
  172. package/resources/Resources.js +0 -13
  173. package/resources/Resources.js.map +0 -1
  174. package/resources/ResourcesTab.d.ts +0 -5
  175. package/resources/ResourcesTab.js +0 -104
  176. package/resources/ResourcesTab.js.map +0 -1
  177. package/resources/ShareTheResource.d.ts +0 -9
  178. package/resources/ShareTheResource.js +0 -71
  179. package/resources/ShareTheResource.js.map +0 -1
  180. package/resources/SharedWith.d.ts +0 -6
  181. package/resources/SharedWith.js +0 -8
  182. package/resources/SharedWith.js.map +0 -1
  183. package/root/ErrorPage.d.ts +0 -5
  184. package/root/ErrorPage.js +0 -29
  185. package/root/ErrorPage.js.map +0 -1
  186. package/root/Header.d.ts +0 -1
  187. package/root/Header.js +0 -31
  188. package/root/Header.js.map +0 -1
  189. package/root/PageNav.d.ts +0 -22
  190. package/root/PageNav.js +0 -47
  191. package/root/PageNav.js.map +0 -1
  192. package/root/Root.d.ts +0 -1
  193. package/root/Root.js +0 -12
  194. package/root/Root.js.map +0 -1
  195. package/routes.d.ts +0 -16
  196. package/routes.js +0 -75
  197. package/routes.js.map +0 -1
  198. package/src/KcAccountUi.tsx +0 -25
  199. package/src/content/fetchContent.ts +0 -13
  200. package/src/global.d.ts +0 -9
  201. package/src/public/logo.svg +0 -1
  202. package/src/root/header.module.css +0 -3
  203. package/src/ui-shared/alerts/AlertPanel.tsx +0 -43
  204. package/src/ui-shared/alerts/Alerts.tsx +0 -82
  205. package/src/ui-shared/buttons/FormSubmitButton.tsx +0 -47
  206. package/src/ui-shared/context/ErrorPage.tsx +0 -60
  207. package/src/ui-shared/context/HelpContext.tsx +0 -30
  208. package/src/ui-shared/context/KeycloakContext.tsx +0 -97
  209. package/src/ui-shared/context/environment.ts +0 -50
  210. package/src/ui-shared/continue-cancel/ContinueCancelModal.tsx +0 -75
  211. package/src/ui-shared/controls/FormErrorText.tsx +0 -23
  212. package/src/ui-shared/controls/FormLabel.tsx +0 -40
  213. package/src/ui-shared/controls/HelpItem.tsx +0 -43
  214. package/src/ui-shared/controls/KeycloakSpinner.tsx +0 -12
  215. package/src/ui-shared/controls/NumberControl.tsx +0 -93
  216. package/src/ui-shared/controls/OrganizationTable.tsx +0 -122
  217. package/src/ui-shared/controls/PasswordControl.tsx +0 -71
  218. package/src/ui-shared/controls/PasswordInput.tsx +0 -50
  219. package/src/ui-shared/controls/SwitchControl.tsx +0 -67
  220. package/src/ui-shared/controls/TextAreaControl.tsx +0 -60
  221. package/src/ui-shared/controls/TextControl.tsx +0 -75
  222. package/src/ui-shared/controls/keycloak-text-area/KeycloakTextArea.tsx +0 -23
  223. package/src/ui-shared/controls/select-control/SelectControl.tsx +0 -75
  224. package/src/ui-shared/controls/select-control/SingleSelectControl.tsx +0 -109
  225. package/src/ui-shared/controls/select-control/TypeaheadSelectControl.tsx +0 -285
  226. package/src/ui-shared/controls/table/KeycloakDataTable.tsx +0 -597
  227. package/src/ui-shared/controls/table/ListEmptyState.tsx +0 -86
  228. package/src/ui-shared/controls/table/PaginatingTableToolbar.tsx +0 -106
  229. package/src/ui-shared/controls/table/TableToolbar.tsx +0 -92
  230. package/src/ui-shared/icons/IconMapper.tsx +0 -63
  231. package/src/ui-shared/index.ts +0 -1
  232. package/src/ui-shared/main.ts +0 -96
  233. package/src/ui-shared/masthead/DefaultAvatar.tsx +0 -109
  234. package/src/ui-shared/masthead/KeycloakDropdown.tsx +0 -48
  235. package/src/ui-shared/masthead/Masthead.tsx +0 -161
  236. package/src/ui-shared/scroll-form/FormPanel.tsx +0 -29
  237. package/src/ui-shared/scroll-form/FormTitle.tsx +0 -28
  238. package/src/ui-shared/scroll-form/ScrollForm.tsx +0 -98
  239. package/src/ui-shared/scroll-form/ScrollPanel.tsx +0 -21
  240. package/src/ui-shared/scroll-form/form-title.module.css +0 -4
  241. package/src/ui-shared/scroll-form/scroll-form.module.css +0 -8
  242. package/src/ui-shared/select/KeycloakSelect.tsx +0 -49
  243. package/src/ui-shared/select/SingleSelect.tsx +0 -87
  244. package/src/ui-shared/select/TypeaheadSelect.tsx +0 -198
  245. package/src/ui-shared/user-profile/LocaleSelector.tsx +0 -51
  246. package/src/ui-shared/user-profile/MultiInputComponent.tsx +0 -146
  247. package/src/ui-shared/user-profile/OptionsComponent.tsx +0 -63
  248. package/src/ui-shared/user-profile/SelectComponent.tsx +0 -109
  249. package/src/ui-shared/user-profile/TextAreaComponent.tsx +0 -23
  250. package/src/ui-shared/user-profile/TextComponent.tsx +0 -32
  251. package/src/ui-shared/user-profile/UserProfileFields.tsx +0 -243
  252. package/src/ui-shared/user-profile/UserProfileGroup.tsx +0 -71
  253. package/src/ui-shared/user-profile/utils.ts +0 -170
  254. package/src/ui-shared/utils/ErrorBoundary.tsx +0 -77
  255. package/src/ui-shared/utils/createNamedContext.ts +0 -11
  256. package/src/ui-shared/utils/darkMode.ts +0 -19
  257. package/src/ui-shared/utils/errors.ts +0 -55
  258. package/src/ui-shared/utils/generateId.ts +0 -1
  259. package/src/ui-shared/utils/getRuleValue.ts +0 -17
  260. package/src/ui-shared/utils/isDefined.ts +0 -3
  261. package/src/ui-shared/utils/useFetch.ts +0 -44
  262. package/src/ui-shared/utils/useRequiredContext.ts +0 -24
  263. package/src/ui-shared/utils/useSetTimeout.ts +0 -40
  264. package/src/ui-shared/utils/useStorageItem.ts +0 -51
  265. package/src/ui-shared/utils/useStoredState.ts +0 -38
  266. package/ui-shared/alerts/AlertPanel.d.ts +0 -6
  267. package/ui-shared/alerts/AlertPanel.js +0 -6
  268. package/ui-shared/alerts/AlertPanel.js.map +0 -1
  269. package/ui-shared/alerts/Alerts.d.ts +0 -16
  270. package/ui-shared/alerts/Alerts.js +0 -37
  271. package/ui-shared/alerts/Alerts.js.map +0 -1
  272. package/ui-shared/buttons/FormSubmitButton.d.ts +0 -10
  273. package/ui-shared/buttons/FormSubmitButton.js +0 -26
  274. package/ui-shared/buttons/FormSubmitButton.js.map +0 -1
  275. package/ui-shared/context/ErrorPage.d.ts +0 -5
  276. package/ui-shared/context/ErrorPage.js +0 -24
  277. package/ui-shared/context/ErrorPage.js.map +0 -1
  278. package/ui-shared/context/HelpContext.d.ts +0 -9
  279. package/ui-shared/context/HelpContext.js +0 -14
  280. package/ui-shared/context/HelpContext.js.map +0 -1
  281. package/ui-shared/context/KeycloakContext.d.ts +0 -12
  282. package/ui-shared/context/KeycloakContext.js +0 -53
  283. package/ui-shared/context/KeycloakContext.js.map +0 -1
  284. package/ui-shared/context/environment.d.ts +0 -36
  285. package/ui-shared/context/environment.js +0 -27
  286. package/ui-shared/context/environment.js.map +0 -1
  287. package/ui-shared/continue-cancel/ContinueCancelModal.d.ts +0 -15
  288. package/ui-shared/continue-cancel/ContinueCancelModal.js +0 -27
  289. package/ui-shared/continue-cancel/ContinueCancelModal.js.map +0 -1
  290. package/ui-shared/controls/FormErrorText.d.ts +0 -5
  291. package/ui-shared/controls/FormErrorText.js +0 -19
  292. package/ui-shared/controls/FormErrorText.js.map +0 -1
  293. package/ui-shared/controls/FormLabel.d.ts +0 -13
  294. package/ui-shared/controls/FormLabel.js +0 -20
  295. package/ui-shared/controls/FormLabel.js.map +0 -1
  296. package/ui-shared/controls/HelpItem.d.ts +0 -9
  297. package/ui-shared/controls/HelpItem.js +0 -9
  298. package/ui-shared/controls/HelpItem.js.map +0 -1
  299. package/ui-shared/controls/KeycloakSpinner.d.ts +0 -1
  300. package/ui-shared/controls/KeycloakSpinner.js +0 -8
  301. package/ui-shared/controls/KeycloakSpinner.js.map +0 -1
  302. package/ui-shared/controls/NumberControl.d.ts +0 -13
  303. package/ui-shared/controls/NumberControl.js +0 -33
  304. package/ui-shared/controls/NumberControl.js.map +0 -1
  305. package/ui-shared/controls/OrganizationTable.d.ts +0 -16
  306. package/ui-shared/controls/OrganizationTable.js +0 -45
  307. package/ui-shared/controls/OrganizationTable.js.map +0 -1
  308. package/ui-shared/controls/PasswordControl.d.ts +0 -9
  309. package/ui-shared/controls/PasswordControl.js +0 -25
  310. package/ui-shared/controls/PasswordControl.js.map +0 -1
  311. package/ui-shared/controls/PasswordInput.d.ts +0 -7
  312. package/ui-shared/controls/PasswordInput.js +0 -25
  313. package/ui-shared/controls/PasswordInput.js.map +0 -1
  314. package/ui-shared/controls/SwitchControl.d.ts +0 -11
  315. package/ui-shared/controls/SwitchControl.js +0 -29
  316. package/ui-shared/controls/SwitchControl.js.map +0 -1
  317. package/ui-shared/controls/TextAreaControl.d.ts +0 -8
  318. package/ui-shared/controls/TextAreaControl.js +0 -12
  319. package/ui-shared/controls/TextAreaControl.js.map +0 -1
  320. package/ui-shared/controls/TextControl.d.ts +0 -11
  321. package/ui-shared/controls/TextControl.js +0 -24
  322. package/ui-shared/controls/TextControl.js.map +0 -1
  323. package/ui-shared/controls/keycloak-text-area/KeycloakTextArea.d.ts +0 -4
  324. package/ui-shared/controls/keycloak-text-area/KeycloakTextArea.js +0 -5
  325. package/ui-shared/controls/keycloak-text-area/KeycloakTextArea.js.map +0 -1
  326. package/ui-shared/controls/select-control/SelectControl.d.ts +0 -31
  327. package/ui-shared/controls/select-control/SelectControl.js +0 -28
  328. package/ui-shared/controls/select-control/SelectControl.js.map +0 -1
  329. package/ui-shared/controls/select-control/SingleSelectControl.d.ts +0 -3
  330. package/ui-shared/controls/select-control/SingleSelectControl.js +0 -43
  331. package/ui-shared/controls/select-control/SingleSelectControl.js.map +0 -1
  332. package/ui-shared/controls/select-control/TypeaheadSelectControl.d.ts +0 -3
  333. package/ui-shared/controls/select-control/TypeaheadSelectControl.js +0 -140
  334. package/ui-shared/controls/select-control/TypeaheadSelectControl.js.map +0 -1
  335. package/ui-shared/controls/table/KeycloakDataTable.d.ts +0 -64
  336. package/ui-shared/controls/table/KeycloakDataTable.js +0 -279
  337. package/ui-shared/controls/table/KeycloakDataTable.js.map +0 -1
  338. package/ui-shared/controls/table/ListEmptyState.d.ts +0 -20
  339. package/ui-shared/controls/table/ListEmptyState.js +0 -11
  340. package/ui-shared/controls/table/ListEmptyState.js.map +0 -1
  341. package/ui-shared/controls/table/PaginatingTableToolbar.d.ts +0 -21
  342. package/ui-shared/controls/table/PaginatingTableToolbar.js +0 -27
  343. package/ui-shared/controls/table/PaginatingTableToolbar.js.map +0 -1
  344. package/ui-shared/controls/table/TableToolbar.d.ts +0 -12
  345. package/ui-shared/controls/table/TableToolbar.js +0 -30
  346. package/ui-shared/controls/table/TableToolbar.js.map +0 -1
  347. package/ui-shared/icons/IconMapper.d.ts +0 -5
  348. package/ui-shared/icons/IconMapper.js +0 -40
  349. package/ui-shared/icons/IconMapper.js.map +0 -1
  350. package/ui-shared/index.d.ts +0 -1
  351. package/ui-shared/index.js +0 -2
  352. package/ui-shared/index.js.map +0 -1
  353. package/ui-shared/main.d.ts +0 -45
  354. package/ui-shared/main.js +0 -41
  355. package/ui-shared/main.js.map +0 -1
  356. package/ui-shared/masthead/DefaultAvatar.d.ts +0 -7
  357. package/ui-shared/masthead/DefaultAvatar.js +0 -26
  358. package/ui-shared/masthead/DefaultAvatar.js.map +0 -1
  359. package/ui-shared/masthead/KeycloakDropdown.d.ts +0 -10
  360. package/ui-shared/masthead/KeycloakDropdown.js +0 -23
  361. package/ui-shared/masthead/KeycloakDropdown.js.map +0 -1
  362. package/ui-shared/masthead/Masthead.d.ts +0 -19
  363. package/ui-shared/masthead/Masthead.js +0 -55
  364. package/ui-shared/masthead/Masthead.js.map +0 -1
  365. package/ui-shared/scroll-form/FormPanel.d.ts +0 -8
  366. package/ui-shared/scroll-form/FormPanel.js +0 -9
  367. package/ui-shared/scroll-form/FormPanel.js.map +0 -1
  368. package/ui-shared/scroll-form/FormTitle.d.ts +0 -8
  369. package/ui-shared/scroll-form/FormTitle.js +0 -19
  370. package/ui-shared/scroll-form/FormTitle.js.map +0 -1
  371. package/ui-shared/scroll-form/ScrollForm.d.ts +0 -15
  372. package/ui-shared/scroll-form/ScrollForm.js +0 -38
  373. package/ui-shared/scroll-form/ScrollForm.js.map +0 -1
  374. package/ui-shared/scroll-form/ScrollPanel.d.ts +0 -7
  375. package/ui-shared/scroll-form/ScrollPanel.js +0 -18
  376. package/ui-shared/scroll-form/ScrollPanel.js.map +0 -1
  377. package/ui-shared/scroll-form/form-title.module.css +0 -4
  378. package/ui-shared/scroll-form/scroll-form.module.css +0 -8
  379. package/ui-shared/select/KeycloakSelect.d.ts +0 -30
  380. package/ui-shared/select/KeycloakSelect.js +0 -31
  381. package/ui-shared/select/KeycloakSelect.js.map +0 -1
  382. package/ui-shared/select/SingleSelect.d.ts +0 -4
  383. package/ui-shared/select/SingleSelect.js +0 -46
  384. package/ui-shared/select/SingleSelect.js.map +0 -1
  385. package/ui-shared/select/TypeaheadSelect.d.ts +0 -2
  386. package/ui-shared/select/TypeaheadSelect.js +0 -96
  387. package/ui-shared/select/TypeaheadSelect.js.map +0 -1
  388. package/ui-shared/user-profile/LocaleSelector.d.ts +0 -7
  389. package/ui-shared/user-profile/LocaleSelector.js +0 -28
  390. package/ui-shared/user-profile/LocaleSelector.js.map +0 -1
  391. package/ui-shared/user-profile/MultiInputComponent.d.ts +0 -15
  392. package/ui-shared/user-profile/MultiInputComponent.js +0 -61
  393. package/ui-shared/user-profile/MultiInputComponent.js.map +0 -1
  394. package/ui-shared/user-profile/OptionsComponent.d.ts +0 -2
  395. package/ui-shared/user-profile/OptionsComponent.js +0 -29
  396. package/ui-shared/user-profile/OptionsComponent.js.map +0 -1
  397. package/ui-shared/user-profile/SelectComponent.d.ts +0 -2
  398. package/ui-shared/user-profile/SelectComponent.js +0 -56
  399. package/ui-shared/user-profile/SelectComponent.js.map +0 -1
  400. package/ui-shared/user-profile/TextAreaComponent.d.ts +0 -2
  401. package/ui-shared/user-profile/TextAreaComponent.js +0 -11
  402. package/ui-shared/user-profile/TextAreaComponent.js.map +0 -1
  403. package/ui-shared/user-profile/TextComponent.d.ts +0 -2
  404. package/ui-shared/user-profile/TextComponent.js +0 -14
  405. package/ui-shared/user-profile/TextComponent.js.map +0 -1
  406. package/ui-shared/user-profile/UserProfileFields.d.ts +0 -37
  407. package/ui-shared/user-profile/UserProfileFields.js +0 -94
  408. package/ui-shared/user-profile/UserProfileFields.js.map +0 -1
  409. package/ui-shared/user-profile/UserProfileGroup.d.ts +0 -12
  410. package/ui-shared/user-profile/UserProfileGroup.js +0 -15
  411. package/ui-shared/user-profile/UserProfileGroup.js.map +0 -1
  412. package/ui-shared/user-profile/utils.d.ts +0 -32
  413. package/ui-shared/user-profile/utils.js +0 -84
  414. package/ui-shared/user-profile/utils.js.map +0 -1
  415. package/ui-shared/utils/ErrorBoundary.d.ts +0 -26
  416. package/ui-shared/utils/ErrorBoundary.js +0 -29
  417. package/ui-shared/utils/ErrorBoundary.js.map +0 -1
  418. package/ui-shared/utils/createNamedContext.d.ts +0 -3
  419. package/ui-shared/utils/createNamedContext.js +0 -7
  420. package/ui-shared/utils/createNamedContext.js.map +0 -1
  421. package/ui-shared/utils/darkMode.d.ts +0 -1
  422. package/ui-shared/utils/darkMode.js +0 -16
  423. package/ui-shared/utils/darkMode.js.map +0 -1
  424. package/ui-shared/utils/errors.d.ts +0 -4
  425. package/ui-shared/utils/errors.js +0 -42
  426. package/ui-shared/utils/errors.js.map +0 -1
  427. package/ui-shared/utils/generateId.d.ts +0 -1
  428. package/ui-shared/utils/generateId.js +0 -2
  429. package/ui-shared/utils/generateId.js.map +0 -1
  430. package/ui-shared/utils/getRuleValue.d.ts +0 -2
  431. package/ui-shared/utils/getRuleValue.js +0 -12
  432. package/ui-shared/utils/getRuleValue.js.map +0 -1
  433. package/ui-shared/utils/isDefined.d.ts +0 -1
  434. package/ui-shared/utils/isDefined.js +0 -4
  435. package/ui-shared/utils/isDefined.js.map +0 -1
  436. package/ui-shared/utils/useFetch.d.ts +0 -17
  437. package/ui-shared/utils/useFetch.js +0 -38
  438. package/ui-shared/utils/useFetch.js.map +0 -1
  439. package/ui-shared/utils/useRequiredContext.d.ts +0 -9
  440. package/ui-shared/utils/useRequiredContext.js +0 -17
  441. package/ui-shared/utils/useRequiredContext.js.map +0 -1
  442. package/ui-shared/utils/useSetTimeout.d.ts +0 -1
  443. package/ui-shared/utils/useSetTimeout.js +0 -32
  444. package/ui-shared/utils/useSetTimeout.js.map +0 -1
  445. package/ui-shared/utils/useStorageItem.d.ts +0 -10
  446. package/ui-shared/utils/useStorageItem.js +0 -40
  447. package/ui-shared/utils/useStorageItem.js.map +0 -1
  448. package/ui-shared/utils/useStoredState.d.ts +0 -13
  449. package/ui-shared/utils/useStoredState.js +0 -21
  450. package/ui-shared/utils/useStoredState.js.map +0 -1
  451. package/utils/formatDate.d.ts +0 -4
  452. package/utils/formatDate.js +0 -12
  453. package/utils/formatDate.js.map +0 -1
  454. package/utils/joinPath.d.ts +0 -1
  455. package/utils/joinPath.js +0 -18
  456. package/utils/joinPath.js.map +0 -1
  457. package/utils/useAccountAlerts.d.ts +0 -4
  458. package/utils/useAccountAlerts.js +0 -19
  459. package/utils/useAccountAlerts.js.map +0 -1
  460. package/utils/usePromise.d.ts +0 -41
  461. package/utils/usePromise.js +0 -59
  462. package/utils/usePromise.js.map +0 -1
  463. /package/{public → keycloak-theme/account/assets}/logo.svg +0 -0
  464. /package/{root → keycloak-theme/account/root}/header.module.css +0 -0
@@ -1,28 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useMemo } from "react";
3
- import { FormProvider } from "react-hook-form";
4
- import { SelectControl } from "../../ui-shared/controls/select-control/SelectControl";
5
- const localeToDisplayName = (locale) => {
6
- try {
7
- return new Intl.DisplayNames([locale], { type: "language" }).of(locale);
8
- }
9
- catch (_a) {
10
- return locale;
11
- }
12
- };
13
- export const LocaleSelector = ({ t, form, supportedLocales, currentLocale, }) => {
14
- const locales = useMemo(() => supportedLocales
15
- .map((locale) => {
16
- var _a;
17
- return ({
18
- key: locale,
19
- value: t(`locale_${locale}`, (_a = localeToDisplayName(locale)) !== null && _a !== void 0 ? _a : locale),
20
- });
21
- })
22
- .sort((a, b) => a.value.localeCompare(b.value, currentLocale)), [supportedLocales, currentLocale, t]);
23
- if (!locales.length) {
24
- return null;
25
- }
26
- return (_jsx(FormProvider, Object.assign({}, form, { children: _jsx(SelectControl, { "data-testid": "locale-select", name: "attributes.locale", label: t("selectALocale"), controller: { defaultValue: "" }, options: locales, variant: locales.length >= 10 ? "typeahead" : "single" }) })));
27
- };
28
- //# sourceMappingURL=LocaleSelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LocaleSelector.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/LocaleSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kFAAkF,CAAC;AAGjH,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAE,EAAE;IAC7C,IAAI,CAAC;QACH,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,CAAC,EACD,IAAI,EACJ,gBAAgB,EAChB,aAAa,GACO,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,gBAAgB;SACb,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;;QAAC,OAAA,CAAC;YAChB,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,CAAC,CAAC,UAAU,MAAM,EAAE,EAAE,MAAA,mBAAmB,CAAC,MAAM,CAAC,mCAAI,MAAM,CAAC;SACpE,CAAC,CAAA;KAAA,CAAC;SACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,EAClE,CAAC,gBAAgB,EAAE,aAAa,EAAE,CAAC,CAAC,CACrC,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CACL,KAAC,YAAY,oBAAK,IAAI,cACpB,KAAC,aAAa,mBACA,eAAe,EAC3B,IAAI,EAAC,mBAAmB,EACxB,KAAK,EAAE,CAAC,CAAC,eAAe,CAAC,EACzB,UAAU,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAChC,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,GACtD,IACW,CAChB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,15 +0,0 @@
1
- import { TextInputProps } from "@patternfly/react-core";
2
- import { type TFunction } from "i18next";
3
- import { FieldPath, UseFormReturn } from "react-hook-form";
4
- import { InputType, UserProfileFieldProps } from "../../ui-shared/user-profile/UserProfileFields";
5
- import { UserFormFields } from "../../ui-shared/user-profile/utils";
6
- export declare const MultiInputComponent: ({ t, form, attribute, renderer, ...rest }: UserProfileFieldProps) => import("react/jsx-runtime").JSX.Element;
7
- export type MultiLineInputProps = Omit<TextInputProps, "form"> & {
8
- t: TFunction;
9
- name: FieldPath<UserFormFields>;
10
- form: UseFormReturn<UserFormFields>;
11
- addButtonLabel?: string;
12
- isDisabled?: boolean;
13
- defaultValue?: string[];
14
- inputType: InputType;
15
- };
@@ -1,61 +0,0 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- import { Button, ButtonVariant, InputGroup, TextInput, InputGroupItem, } from "@patternfly/react-core";
14
- import { MinusCircleIcon, PlusCircleIcon } from "@patternfly/react-icons";
15
- import { Fragment, useEffect, useMemo } from "react";
16
- import { useWatch } from "react-hook-form";
17
- import { UserProfileGroup } from "../../ui-shared/user-profile/UserProfileGroup";
18
- import { fieldName, labelAttribute } from "../../ui-shared/user-profile/utils";
19
- export const MultiInputComponent = (_a) => {
20
- var { t, form, attribute, renderer } = _a, rest = __rest(_a, ["t", "form", "attribute", "renderer"]);
21
- return (_jsx(UserProfileGroup, { t: t, form: form, attribute: attribute, renderer: renderer, children: _jsx(MultiLineInput, Object.assign({ t: t, form: form, "aria-label": labelAttribute(t, attribute), name: fieldName(attribute.name), addButtonLabel: t("addMultivaluedLabel", {
22
- fieldLabel: labelAttribute(t, attribute),
23
- }) }, rest)) }));
24
- };
25
- const MultiLineInput = (_a) => {
26
- var { t, name, inputType, form, addButtonLabel, isDisabled = false, defaultValue, id } = _a, rest = __rest(_a, ["t", "name", "inputType", "form", "addButtonLabel", "isDisabled", "defaultValue", "id"]);
27
- const { register, setValue, control } = form;
28
- const value = useWatch({
29
- name,
30
- control,
31
- defaultValue: defaultValue || "",
32
- });
33
- const fields = useMemo(() => {
34
- return Array.isArray(value) && value.length !== 0
35
- ? value
36
- : defaultValue || [""];
37
- }, [value]);
38
- const remove = (index) => {
39
- update([...fields.slice(0, index), ...fields.slice(index + 1)]);
40
- };
41
- const append = () => {
42
- update([...fields, ""]);
43
- };
44
- const updateValue = (index, value) => {
45
- update([...fields.slice(0, index), value, ...fields.slice(index + 1)]);
46
- };
47
- const update = (values) => {
48
- const fieldValue = values.flatMap((field) => field);
49
- setValue(name, fieldValue, {
50
- shouldDirty: true,
51
- });
52
- };
53
- const type = inputType.startsWith("html")
54
- ? inputType.substring("html".length + 2)
55
- : "text";
56
- useEffect(() => {
57
- register(name);
58
- }, [register]);
59
- return (_jsx("div", { id: id, children: fields.map((value, index) => (_jsxs(Fragment, { children: [_jsxs(InputGroup, { children: [_jsx(InputGroupItem, { isFill: true, children: _jsx(TextInput, Object.assign({ "data-testid": name + index, onChange: (_event, value) => updateValue(index, value), name: `${name}.${index}.value`, value: value, isDisabled: isDisabled, type: type }, rest)) }), _jsx(InputGroupItem, { children: _jsx(Button, { "data-testid": "remove" + index, variant: ButtonVariant.link, onClick: () => remove(index), tabIndex: -1, "aria-label": t("remove"), isDisabled: fields.length === 1 || isDisabled, children: _jsx(MinusCircleIcon, {}) }) })] }), index === fields.length - 1 && (_jsxs(Button, { variant: ButtonVariant.link, onClick: append, tabIndex: -1, "aria-label": t("add"), "data-testid": "addValue", isDisabled: !value || isDisabled, children: [_jsx(PlusCircleIcon, {}), " ", t(addButtonLabel || "add")] }))] }, index))) }));
60
- };
61
- //# sourceMappingURL=MultiInputComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MultiInputComponent.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/MultiInputComponent.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { UserProfileFieldProps } from "../../ui-shared/user-profile/UserProfileFields";
2
- export declare const OptionComponent: (props: UserProfileFieldProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,29 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Checkbox, Radio } from "@patternfly/react-core";
3
- import { Controller } from "react-hook-form";
4
- import { UserProfileGroup } from "../../ui-shared/user-profile/UserProfileGroup";
5
- import { fieldName, isRequiredAttribute, label } from "../../ui-shared/user-profile/utils";
6
- export const OptionComponent = (props) => {
7
- var _a, _b, _c, _d;
8
- const { form, inputType, attribute } = props;
9
- const isRequired = isRequiredAttribute(attribute);
10
- const isMultiSelect = inputType.startsWith("multiselect");
11
- const Component = isMultiSelect ? Checkbox : Radio;
12
- const options = ((_b = (_a = attribute.validators) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.options) || [];
13
- const optionLabel = ((_c = attribute.annotations) === null || _c === void 0 ? void 0 : _c["inputOptionLabels"]) || {};
14
- const prefix = (_d = attribute.annotations) === null || _d === void 0 ? void 0 : _d["inputOptionLabelsI18nPrefix"];
15
- return (_jsx(UserProfileGroup, Object.assign({}, props, { children: _jsx(Controller, { name: fieldName(attribute.name), control: form.control, defaultValue: "", render: ({ field }) => (_jsx(_Fragment, { children: options.map((option) => (_jsx(Component, { id: option, "data-testid": option, label: label(props.t, optionLabel[option], option, prefix), value: option, isChecked: field.value.includes(option), onChange: () => {
16
- if (isMultiSelect) {
17
- if (field.value.includes(option)) {
18
- field.onChange(field.value.filter((item) => item !== option));
19
- }
20
- else {
21
- field.onChange([...field.value, option]);
22
- }
23
- }
24
- else {
25
- field.onChange([option]);
26
- }
27
- }, readOnly: attribute.readOnly, isRequired: isRequired }, option))) })) }) })));
28
- };
29
- //# sourceMappingURL=OptionsComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptionsComponent.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/OptionsComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAM7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0EAA0E,CAAC;AAC5G,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,+DAA+D,CAAC;AAEtH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA4B,EAAE,EAAE;;IAC9D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC7C,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;IACnD,MAAM,OAAO,GACX,CAAA,MAAC,MAAA,SAAS,CAAC,UAAU,0CAAE,OAA+B,0CAAE,OAAO,KAAI,EAAE,CAAC;IAExE,MAAM,WAAW,GACf,CAAC,MAAA,SAAS,CAAC,WAAW,0CAAG,mBAAmB,CAAiB,KAAI,EAAE,CAAC;IACtE,MAAM,MAAM,GAAG,MAAA,SAAS,CAAC,WAAW,0CAClC,6BAA6B,CACpB,CAAC;IAEZ,OAAO,CACL,KAAC,gBAAgB,oBAAK,KAAK,cACzB,KAAC,UAAU,IACT,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,YAAY,EAAC,EAAE,EACf,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrB,4BACG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,SAAS,IAER,EAAE,EAAE,MAAM,iBACG,MAAM,EACnB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAC1D,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EACvC,QAAQ,EAAE,GAAG,EAAE;wBACb,IAAI,aAAa,EAAE,CAAC;4BAClB,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gCACjC,KAAK,CAAC,QAAQ,CACZ,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CACtD,CAAC;4BACJ,CAAC;iCAAM,CAAC;gCACN,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;4BAC3C,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACN,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;wBAC3B,CAAC;oBACH,CAAC,EACD,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,UAAU,EAAE,UAAU,IApBjB,MAAM,CAqBX,CACH,CAAC,GACD,CACJ,GACD,IACe,CACpB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import { UserProfileFieldProps } from "../../ui-shared/user-profile/UserProfileFields";
2
- export declare const SelectComponent: (props: UserProfileFieldProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,56 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { SelectOption } from "@patternfly/react-core";
3
- import { useState } from "react";
4
- import { Controller } from "react-hook-form";
5
- import { KeycloakSelect, SelectVariant } from "../../ui-shared/select/KeycloakSelect";
6
- import { UserProfileGroup } from "../../ui-shared/user-profile/UserProfileGroup";
7
- import { fieldName, label } from "../../ui-shared/user-profile/utils";
8
- export const SelectComponent = (props) => {
9
- var _a, _b, _c, _d;
10
- const { t, form, inputType, attribute } = props;
11
- const [open, setOpen] = useState(false);
12
- const [filter, setFilter] = useState("");
13
- const isMultiValue = inputType === "multiselect";
14
- const setValue = (value, field) => {
15
- if (isMultiValue) {
16
- if (field.value.includes(value)) {
17
- field.onChange(field.value.filter((item) => item !== value));
18
- }
19
- else {
20
- if (Array.isArray(field.value)) {
21
- field.onChange([...field.value, value]);
22
- }
23
- else {
24
- field.onChange([value]);
25
- }
26
- }
27
- }
28
- else {
29
- field.onChange(value === field.value ? "" : value);
30
- }
31
- };
32
- const options = ((_b = (_a = attribute.validators) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.options) || [];
33
- const optionLabel = ((_c = attribute.annotations) === null || _c === void 0 ? void 0 : _c["inputOptionLabels"]) || {};
34
- const prefix = (_d = attribute.annotations) === null || _d === void 0 ? void 0 : _d["inputOptionLabelsI18nPrefix"];
35
- const fetchLabel = (option) => label(props.t, optionLabel[option], option, prefix);
36
- const convertOptions = (selected) => options
37
- .filter((o) => fetchLabel(o).toLowerCase().includes(filter.toLowerCase()))
38
- .map((option) => (_jsx(SelectOption, { selected: selected === option, value: option, children: fetchLabel(option) }, option)));
39
- return (_jsx(UserProfileGroup, Object.assign({}, props, { children: _jsx(Controller, { name: fieldName(attribute.name), defaultValue: "", control: form.control, render: ({ field }) => (_jsx(KeycloakSelect, { toggleId: attribute.name, onToggle: (b) => setOpen(b), onClear: () => setValue("", field), onSelect: (value) => {
40
- const option = value.toString();
41
- setValue(option, field);
42
- if (!Array.isArray(field.value)) {
43
- setOpen(false);
44
- }
45
- }, selections: isMultiValue && Array.isArray(field.value)
46
- ? field.value
47
- : fetchLabel(field.value), variant: isMultiValue
48
- ? SelectVariant.typeaheadMulti
49
- : options.length >= 10
50
- ? SelectVariant.typeahead
51
- : SelectVariant.single, "aria-label": t("selectOne"), isOpen: open, isDisabled: attribute.readOnly, onFilter: (value) => {
52
- setFilter(value);
53
- return convertOptions(field.value);
54
- }, children: convertOptions(field.value) })) }) })));
55
- };
56
- //# sourceMappingURL=SelectComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SelectComponent.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/SelectComponent.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { UserProfileFieldProps } from "../../ui-shared/user-profile/UserProfileFields";
2
- export declare const TextAreaComponent: (props: UserProfileFieldProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { KeycloakTextArea } from "../../ui-shared/controls/keycloak-text-area/KeycloakTextArea";
3
- import { UserProfileGroup } from "../../ui-shared/user-profile/UserProfileGroup";
4
- import { fieldName, isRequiredAttribute } from "../../ui-shared/user-profile/utils";
5
- export const TextAreaComponent = (props) => {
6
- var _a, _b;
7
- const { form, attribute } = props;
8
- const isRequired = isRequiredAttribute(attribute);
9
- return (_jsx(UserProfileGroup, Object.assign({}, props, { children: _jsx(KeycloakTextArea, Object.assign({ id: attribute.name, "data-testid": attribute.name }, form.register(fieldName(attribute.name)), { cols: (_a = attribute.annotations) === null || _a === void 0 ? void 0 : _a["inputTypeCols"], rows: (_b = attribute.annotations) === null || _b === void 0 ? void 0 : _b["inputTypeRows"], readOnly: attribute.readOnly, isRequired: isRequired })) })));
10
- };
11
- //# sourceMappingURL=TextAreaComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextAreaComponent.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/TextAreaComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yFAAyF,CAAC;AAE3H,OAAO,EAAE,gBAAgB,EAAE,MAAM,0EAA0E,CAAC;AAC5G,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAC;AAE/G,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAA4B,EAAE,EAAE;;IAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAElD,OAAO,CACL,KAAC,gBAAgB,oBAAK,KAAK,cACzB,KAAC,gBAAgB,kBACf,EAAE,EAAE,SAAS,CAAC,IAAI,iBACL,SAAS,CAAC,IAAI,IACvB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,IAC5C,IAAI,EAAE,MAAA,SAAS,CAAC,WAAW,0CAAG,eAAe,CAAW,EACxD,IAAI,EAAE,MAAA,SAAS,CAAC,WAAW,0CAAG,eAAe,CAAW,EACxD,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,UAAU,EAAE,UAAU,IACtB,IACe,CACpB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import { UserProfileFieldProps } from "../../ui-shared/user-profile/UserProfileFields";
2
- export declare const TextComponent: (props: UserProfileFieldProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,14 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { TextInput } from "@patternfly/react-core";
3
- import { UserProfileGroup } from "../../ui-shared/user-profile/UserProfileGroup";
4
- import { fieldName, isRequiredAttribute, label } from "../../ui-shared/user-profile/utils";
5
- export const TextComponent = (props) => {
6
- var _a, _b;
7
- const { form, inputType, attribute } = props;
8
- const isRequired = isRequiredAttribute(attribute);
9
- const type = inputType.startsWith("html")
10
- ? inputType.substring("html".length + 2)
11
- : "text";
12
- return (_jsx(UserProfileGroup, Object.assign({}, props, { children: _jsx(TextInput, Object.assign({ id: attribute.name, "data-testid": attribute.name, type: type, placeholder: label(props.t, (_a = attribute.annotations) === null || _a === void 0 ? void 0 : _a["inputTypePlaceholder"], attribute.name, (_b = attribute.annotations) === null || _b === void 0 ? void 0 : _b["inputOptionLabelsI18nPrefix"]), readOnly: attribute.readOnly, isRequired: isRequired }, form.register(fieldName(attribute.name)))) })));
13
- };
14
- //# sourceMappingURL=TextComponent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextComponent.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/TextComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,wBAAwB,CAAC;AAGnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0EAA0E,CAAC;AAC5G,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,+DAA+D,CAAC;AAEtH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAA4B,EAAE,EAAE;;IAC5D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC7C,MAAM,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;QACvC,CAAC,CAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAoB;QAC5D,CAAC,CAAC,MAAM,CAAC;IAEX,OAAO,CACL,KAAC,gBAAgB,oBAAK,KAAK,cACzB,KAAC,SAAS,kBACR,EAAE,EAAE,SAAS,CAAC,IAAI,iBACL,SAAS,CAAC,IAAI,EAC3B,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,KAAK,CAChB,KAAK,CAAC,CAAC,EACP,MAAA,SAAS,CAAC,WAAW,0CAAG,sBAAsB,CAAW,EACzD,SAAS,CAAC,IAAI,EACd,MAAA,SAAS,CAAC,WAAW,0CAAG,6BAA6B,CAAW,CACjE,EACD,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,UAAU,EAAE,UAAU,IAClB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAC5C,IACe,CACpB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,37 +0,0 @@
1
- import { UserProfileAttributeMetadata, UserProfileMetadata } from "@keycloak/keycloak-admin-client/lib/defs/userProfileMetadata";
2
- import { TFunction } from "i18next";
3
- import { ReactNode, type JSX } from "react";
4
- import { UseFormReturn } from "react-hook-form";
5
- import { UserFormFields } from "../../ui-shared/user-profile/utils";
6
- export type UserProfileError = {
7
- responseData: {
8
- errors?: {
9
- errorMessage: string;
10
- }[];
11
- };
12
- };
13
- export type Options = {
14
- options?: string[];
15
- };
16
- export type InputType = "text" | "textarea" | "select" | "select-radiobuttons" | "multiselect" | "multiselect-checkboxes" | "html5-email" | "html5-tel" | "html5-url" | "html5-number" | "html5-range" | "html5-datetime-local" | "html5-date" | "html5-month" | "html5-time" | "multi-input";
17
- export type UserProfileFieldProps = {
18
- t: TFunction;
19
- form: UseFormReturn<UserFormFields>;
20
- inputType: InputType;
21
- attribute: UserProfileAttributeMetadata;
22
- renderer?: (attribute: UserProfileAttributeMetadata) => ReactNode;
23
- };
24
- export type OptionLabel = Record<string, string> | undefined;
25
- export declare const FIELDS: {
26
- [type in InputType]: (props: UserProfileFieldProps) => JSX.Element;
27
- };
28
- export type UserProfileFieldsProps = {
29
- t: TFunction;
30
- form: UseFormReturn<UserFormFields>;
31
- userProfileMetadata: UserProfileMetadata;
32
- supportedLocales: string[];
33
- currentLocale: string;
34
- hideReadOnly?: boolean;
35
- renderer?: (attribute: UserProfileAttributeMetadata) => JSX.Element | undefined;
36
- };
37
- export declare const UserProfileFields: ({ t, form, userProfileMetadata, supportedLocales, currentLocale, hideReadOnly, renderer, }: UserProfileFieldsProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,94 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Text } from "@patternfly/react-core";
3
- import { useMemo } from "react";
4
- import { ScrollForm } from "../../ui-shared/main";
5
- import { LocaleSelector } from "../../ui-shared/user-profile/LocaleSelector";
6
- import { MultiInputComponent } from "../../ui-shared/user-profile/MultiInputComponent";
7
- import { OptionComponent } from "../../ui-shared/user-profile/OptionsComponent";
8
- import { SelectComponent } from "../../ui-shared/user-profile/SelectComponent";
9
- import { TextAreaComponent } from "../../ui-shared/user-profile/TextAreaComponent";
10
- import { TextComponent } from "../../ui-shared/user-profile/TextComponent";
11
- import { fieldName, isRootAttribute, label } from "../../ui-shared/user-profile/utils";
12
- export const FIELDS = {
13
- text: TextComponent,
14
- textarea: TextAreaComponent,
15
- select: SelectComponent,
16
- "select-radiobuttons": OptionComponent,
17
- multiselect: SelectComponent,
18
- "multiselect-checkboxes": OptionComponent,
19
- "html5-email": TextComponent,
20
- "html5-tel": TextComponent,
21
- "html5-url": TextComponent,
22
- "html5-number": TextComponent,
23
- "html5-range": TextComponent,
24
- "html5-datetime-local": TextComponent,
25
- "html5-date": TextComponent,
26
- "html5-month": TextComponent,
27
- "html5-time": TextComponent,
28
- "multi-input": MultiInputComponent,
29
- };
30
- export const UserProfileFields = ({ t, form, userProfileMetadata, supportedLocales, currentLocale, hideReadOnly = false, renderer, }) => {
31
- // Group attributes by group, for easier rendering.
32
- const groupsWithAttributes = useMemo(() => {
33
- var _a;
34
- // If there are no attributes, there is no need to group them.
35
- if (!userProfileMetadata.attributes) {
36
- return [];
37
- }
38
- // Hide read-only attributes if 'hideReadOnly' is enabled.
39
- const attributes = hideReadOnly
40
- ? userProfileMetadata.attributes.filter(({ readOnly }) => !readOnly)
41
- : userProfileMetadata.attributes;
42
- return [
43
- // Insert an empty group for attributes without a group.
44
- { name: undefined },
45
- ...((_a = userProfileMetadata.groups) !== null && _a !== void 0 ? _a : []),
46
- ].map((group) => ({
47
- group,
48
- attributes: attributes.filter((attribute) => attribute.group === group.name),
49
- }));
50
- }, [
51
- hideReadOnly,
52
- userProfileMetadata.groups,
53
- userProfileMetadata.attributes,
54
- ]);
55
- if (groupsWithAttributes.length === 0) {
56
- return null;
57
- }
58
- return (_jsx(ScrollForm, { label: t("jumpToSection"), sections: groupsWithAttributes
59
- .filter((group) => group.attributes.length > 0)
60
- .map(({ group, attributes }) => ({
61
- title: label(t, group.displayHeader, group.name) || t("general"),
62
- panel: (_jsxs("div", { className: "pf-v5-c-form", children: [group.displayDescription && (_jsx(Text, { className: "pf-v5-u-pb-lg", children: label(t, group.displayDescription, "") })), attributes.map((attribute) => (_jsx(FormField, { t: t, form: form, supportedLocales: supportedLocales, currentLocale: currentLocale, renderer: renderer, attribute: attribute }, attribute.name)))] })),
63
- })) }));
64
- };
65
- const FormField = ({ t, form, renderer, supportedLocales, currentLocale, attribute, }) => {
66
- var _a;
67
- const value = form.watch(fieldName(attribute.name));
68
- const inputType = useMemo(() => determineInputType(attribute), [attribute]);
69
- const Component = attribute.multivalued ||
70
- (isMultiValue(value) && ((_a = attribute.annotations) === null || _a === void 0 ? void 0 : _a.inputType) === undefined)
71
- ? FIELDS["multi-input"]
72
- : FIELDS[inputType];
73
- if (attribute.name === "locale")
74
- return (_jsx(LocaleSelector, { form: form, supportedLocales: supportedLocales, currentLocale: currentLocale, t: t, attribute: attribute }));
75
- return (_jsx(Component, { t: t, form: form, inputType: inputType, attribute: attribute, renderer: renderer }));
76
- };
77
- const DEFAULT_INPUT_TYPE = "text";
78
- function determineInputType(attribute) {
79
- var _a;
80
- // Always treat the root attributes as a text field.
81
- if (isRootAttribute(attribute.name)) {
82
- return "text";
83
- }
84
- const inputType = (_a = attribute.annotations) === null || _a === void 0 ? void 0 : _a.inputType;
85
- // if we have an valid input type use that to render
86
- if (isValidInputType(inputType)) {
87
- return inputType;
88
- }
89
- // In all other cases use the default
90
- return DEFAULT_INPUT_TYPE;
91
- }
92
- const isValidInputType = (value) => typeof value === "string" && value in FIELDS;
93
- const isMultiValue = (value) => Array.isArray(value) && value.length > 1;
94
- //# sourceMappingURL=UserProfileFields.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserProfileFields.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/UserProfileFields.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { UserProfileAttributeMetadata } from "@keycloak/keycloak-admin-client/lib/defs/userProfileMetadata";
2
- import { TFunction } from "i18next";
3
- import { PropsWithChildren, ReactNode } from "react";
4
- import { UseFormReturn } from "react-hook-form";
5
- import { UserFormFields } from "../../ui-shared/user-profile/utils";
6
- export type UserProfileGroupProps = {
7
- t: TFunction;
8
- form: UseFormReturn<UserFormFields>;
9
- attribute: UserProfileAttributeMetadata;
10
- renderer?: (attribute: UserProfileAttributeMetadata) => ReactNode;
11
- };
12
- export declare const UserProfileGroup: ({ t, form, attribute, renderer, children, }: PropsWithChildren<UserProfileGroupProps>) => import("react/jsx-runtime").JSX.Element;
@@ -1,15 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { FormGroup, InputGroup } from "@patternfly/react-core";
3
- import { get } from "lodash-es";
4
- import { FormErrorText } from "../../ui-shared/controls/FormErrorText";
5
- import { HelpItem } from "../../ui-shared/controls/HelpItem";
6
- import { fieldName, isRequiredAttribute, label, labelAttribute, } from "../../ui-shared/user-profile/utils";
7
- export const UserProfileGroup = ({ t, form, attribute, renderer, children, }) => {
8
- var _a;
9
- const helpText = label(t, (_a = attribute.annotations) === null || _a === void 0 ? void 0 : _a["inputHelperTextBefore"]);
10
- const { formState: { errors }, } = form;
11
- const component = renderer === null || renderer === void 0 ? void 0 : renderer(attribute);
12
- const error = get(errors, fieldName(attribute.name));
13
- return (_jsxs(FormGroup, { label: labelAttribute(t, attribute) || "", fieldId: attribute.name, isRequired: isRequiredAttribute(attribute), labelIcon: helpText ? (_jsx(HelpItem, { helpText: helpText, fieldLabelId: attribute.name })) : undefined, children: [component ? (_jsxs(InputGroup, { children: [children, component] })) : (children), error && (_jsx(FormErrorText, { "data-testid": `${attribute.name}-helper`, message: error.message }))] }, attribute.name));
14
- };
15
- //# sourceMappingURL=UserProfileGroup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserProfileGroup.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/UserProfileGroup.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIhC,OAAO,EAAE,aAAa,EAAE,MAAM,mEAAmE,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,8DAA8D,CAAC;AACxF,OAAO,EAEL,SAAS,EACT,mBAAmB,EACnB,KAAK,EACL,cAAc,GACf,MAAM,+DAA+D,CAAC;AASvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,CAAC,EACD,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,QAAQ,GACiC,EAAE,EAAE;;IAC7C,MAAM,QAAQ,GAAG,KAAK,CACpB,CAAC,EACD,MAAA,SAAS,CAAC,WAAW,0CAAG,uBAAuB,CAAW,CAC3D,CAAC;IACF,MAAM,EACJ,SAAS,EAAE,EAAE,MAAM,EAAE,GACtB,GAAG,IAAI,CAAC;IAET,MAAM,SAAS,GAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,SAAS,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAe,CAAC;IAEnE,OAAO,CACL,MAAC,SAAS,IAER,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,EAAE,EACzC,OAAO,EAAE,SAAS,CAAC,IAAI,EACvB,UAAU,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAC1C,SAAS,EACP,QAAQ,CAAC,CAAC,CAAC,CACT,KAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,IAAK,GAAI,CAChE,CAAC,CAAC,CAAC,SAAS,aAGd,SAAS,CAAC,CAAC,CAAC,CACX,MAAC,UAAU,eACR,QAAQ,EACR,SAAS,IACC,CACd,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,EACA,KAAK,IAAI,CACR,KAAC,aAAa,mBACC,GAAG,SAAS,CAAC,IAAI,SAAS,EACvC,OAAO,EAAE,KAAK,CAAC,OAAiB,GAChC,CACH,KAvBI,SAAS,CAAC,IAAI,CAwBT,CACb,CAAC;AACJ,CAAC,CAAC"}
@@ -1,32 +0,0 @@
1
- import { UserProfileAttributeMetadata } from "@keycloak/keycloak-admin-client/lib/defs/userProfileMetadata";
2
- import UserRepresentation from "@keycloak/keycloak-admin-client/lib/defs/userRepresentation";
3
- import { TFunction } from "i18next";
4
- import { FieldPath } from "react-hook-form";
5
- export type KeyValueType = {
6
- key: string;
7
- value: string;
8
- };
9
- export type UserFormFields = Omit<UserRepresentation, "attributes" | "userProfileMetadata"> & {
10
- attributes?: KeyValueType[] | Record<string, string | string[]>;
11
- };
12
- type FieldError = {
13
- field: string;
14
- errorMessage: string;
15
- params?: string[];
16
- };
17
- type ErrorArray = {
18
- errors?: FieldError[];
19
- };
20
- export type UserProfileError = {
21
- responseData: ErrorArray | FieldError;
22
- };
23
- export declare const label: (t: TFunction, text: string | undefined, fallback?: string, prefix?: string) => string;
24
- export declare const labelAttribute: (t: TFunction, attribute: UserProfileAttributeMetadata) => string;
25
- export declare const isRootAttribute: (attr?: string) => boolean | "" | undefined;
26
- export declare const fieldName: (name?: string) => FieldPath<UserFormFields>;
27
- export declare const beerify: <T extends string>(name: T) => string;
28
- export declare const debeerify: <T extends string>(name: T) => string;
29
- export declare function setUserProfileServerError<T>(error: UserProfileError, setError: (field: keyof T, params: object) => void, t: TFunction): void;
30
- export declare function isRequiredAttribute({ required, validators, }: UserProfileAttributeMetadata): boolean;
31
- export declare function isUserProfileError(error: unknown): error is UserProfileError;
32
- export {};
@@ -1,84 +0,0 @@
1
- const isBundleKey = (displayName) => displayName === null || displayName === void 0 ? void 0 : displayName.includes("${");
2
- const unWrap = (key) => key.substring(2, key.length - 1);
3
- export const label = (t, text, fallback, prefix) => {
4
- const value = text || fallback;
5
- const bundleKey = isBundleKey(value) ? unWrap(value) : value;
6
- const key = prefix ? `${prefix}.${bundleKey}` : bundleKey;
7
- return t(key || "");
8
- };
9
- export const labelAttribute = (t, attribute) => label(t, attribute.displayName, attribute.name);
10
- const ROOT_ATTRIBUTES = ["username", "firstName", "lastName", "email"];
11
- export const isRootAttribute = (attr) => attr && ROOT_ATTRIBUTES.includes(attr);
12
- export const fieldName = (name) => `${isRootAttribute(name) ? "" : "attributes."}${name === null || name === void 0 ? void 0 : name.replaceAll(".", "🍺")}`;
13
- export const beerify = (name) => name.replaceAll(".", "🍺");
14
- export const debeerify = (name) => name.replaceAll("🍺", ".");
15
- export function setUserProfileServerError(error, setError, t) {
16
- (error.responseData.errors !== undefined
17
- ? error.responseData.errors
18
- : [error.responseData]).forEach((e) => {
19
- var _a;
20
- const params = Object.assign({}, (_a = e.params) === null || _a === void 0 ? void 0 : _a.map((p) => (isBundleKey(p.toString()) ? t(unWrap(p)) : p)));
21
- setError(fieldName(e.field), {
22
- message: t(isBundleKey(e.errorMessage) ? unWrap(e.errorMessage) : e.errorMessage, Object.assign(Object.assign({}, params), { defaultValue: e.errorMessage || e.field })),
23
- type: "server",
24
- });
25
- });
26
- }
27
- export function isRequiredAttribute({ required, validators, }) {
28
- // Check if required is true or if the validators include a validation that would make the attribute implicitly required.
29
- return required || hasRequiredValidators(validators);
30
- }
31
- /**
32
- * Checks whether the given validators include a validation that would make the attribute implicitly required.
33
- */
34
- function hasRequiredValidators(validators) {
35
- // If we don't have any validators, the attribute is not required.
36
- if (!validators) {
37
- return false;
38
- }
39
- // If the 'length' validator is defined and has a minimal length greater than zero the attribute is implicitly required.
40
- // We have to do a lot of defensive coding here, because we don't have type information for the validators.
41
- if ("length" in validators &&
42
- "min" in validators.length &&
43
- typeof validators.length.min === "number") {
44
- return validators.length.min > 0;
45
- }
46
- return false;
47
- }
48
- export function isUserProfileError(error) {
49
- // Check if the error is an object with a 'responseData' property.
50
- if (typeof error !== "object" ||
51
- error === null ||
52
- !("responseData" in error)) {
53
- return false;
54
- }
55
- const { responseData } = error;
56
- if (isFieldError(responseData)) {
57
- return true;
58
- }
59
- // Check if 'responseData' is an object with an 'errors' property that is an array.
60
- if (typeof responseData !== "object" ||
61
- responseData === null ||
62
- !("errors" in responseData) ||
63
- !Array.isArray(responseData.errors)) {
64
- return false;
65
- }
66
- // Check if all errors are field errors.
67
- return responseData.errors.every(isFieldError);
68
- }
69
- function isFieldError(error) {
70
- // Check if the error is an object.
71
- if (typeof error !== "object" || error === null) {
72
- return false;
73
- }
74
- // Check if the error object has a 'field' property that is a string.
75
- if (!("field" in error) || typeof error.field !== "string") {
76
- return false;
77
- }
78
- // Check if the error object has an 'errorMessage' property that is a string.
79
- if (!("errorMessage" in error) || typeof error.errorMessage !== "string") {
80
- return false;
81
- }
82
- return true;
83
- }
84
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ui-shared/user-profile/utils.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import { Component, type ComponentType, type FunctionComponent, type GetDerivedStateFromError, type ReactNode } from "react";
2
- export interface ErrorBoundaryContextValue {
3
- error?: Error;
4
- showBoundary: (error: Error) => void;
5
- }
6
- export declare const useErrorBoundary: () => ErrorBoundaryContextValue;
7
- export interface ErrorBoundaryProviderProps {
8
- children: ReactNode;
9
- }
10
- export interface ErrorBoundaryProviderState {
11
- error?: Error;
12
- }
13
- export declare class ErrorBoundaryProvider extends Component<ErrorBoundaryProviderProps, ErrorBoundaryProviderState> {
14
- state: ErrorBoundaryProviderState;
15
- static getDerivedStateFromError: GetDerivedStateFromError<ErrorBoundaryProviderProps, ErrorBoundaryProviderState>;
16
- showBoundary: (error: Error) => void;
17
- render(): import("react/jsx-runtime").JSX.Element;
18
- }
19
- export interface FallbackProps {
20
- error: Error;
21
- }
22
- export interface ErrorBoundaryFallbackProps {
23
- fallback: ComponentType<FallbackProps>;
24
- children: ReactNode;
25
- }
26
- export declare const ErrorBoundaryFallback: FunctionComponent<ErrorBoundaryFallbackProps>;