@thunderid/react 1.13.0 → 1.15.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 (668) hide show
  1. package/dist/ThunderIDReactClient.d.ts.map +1 -1
  2. package/dist/ThunderIDReactClient.js +6 -2
  3. package/dist/ThunderIDReactClient.js.map +1 -1
  4. package/dist/api/account/getAccessibleOrganizationUnits.d.ts +27 -0
  5. package/dist/api/account/getAccessibleOrganizationUnits.d.ts.map +1 -0
  6. package/dist/api/account/getAccessibleOrganizationUnits.js +24 -0
  7. package/dist/api/account/getAccessibleOrganizationUnits.js.map +1 -0
  8. package/dist/api/auth/executeEmbeddedSelfFlow.d.ts +36 -0
  9. package/dist/api/auth/executeEmbeddedSelfFlow.d.ts.map +1 -0
  10. package/dist/api/auth/executeEmbeddedSelfFlow.js +30 -0
  11. package/dist/api/auth/executeEmbeddedSelfFlow.js.map +1 -0
  12. package/dist/cjs/ThunderIDReactClient.cjs +6 -2
  13. package/dist/cjs/ThunderIDReactClient.cjs.map +1 -1
  14. package/dist/cjs/api/account/getAccessibleOrganizationUnits.cjs +26 -0
  15. package/dist/cjs/api/account/getAccessibleOrganizationUnits.cjs.map +1 -0
  16. package/dist/cjs/api/auth/executeEmbeddedSelfFlow.cjs +32 -0
  17. package/dist/cjs/api/auth/executeEmbeddedSelfFlow.cjs.map +1 -0
  18. package/dist/cjs/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.cjs +214 -0
  19. package/dist/cjs/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.cjs.map +1 -0
  20. package/dist/cjs/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.cjs +184 -0
  21. package/dist/cjs/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.cjs.map +1 -0
  22. package/dist/cjs/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.cjs +139 -0
  23. package/dist/cjs/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.cjs.map +1 -0
  24. package/dist/cjs/components/account/UserProfile/BaseUserProfile.cjs +195 -46
  25. package/dist/cjs/components/account/UserProfile/BaseUserProfile.cjs.map +1 -1
  26. package/dist/cjs/components/account/UserProfile/BaseUserProfile.styles.cjs +57 -4
  27. package/dist/cjs/components/account/UserProfile/BaseUserProfile.styles.cjs.map +1 -1
  28. package/dist/cjs/components/account/UserProfile/UserProfile.cjs +13 -1
  29. package/dist/cjs/components/account/UserProfile/UserProfile.cjs.map +1 -1
  30. package/dist/cjs/components/account/VerifyAttribute/BaseVerifyAttribute.cjs +358 -0
  31. package/dist/cjs/components/account/VerifyAttribute/BaseVerifyAttribute.cjs.map +1 -0
  32. package/dist/cjs/components/account/VerifyAttribute/BaseVerifyAttribute.styles.cjs +84 -0
  33. package/dist/cjs/components/account/VerifyAttribute/BaseVerifyAttribute.styles.cjs.map +1 -0
  34. package/dist/cjs/components/account/VerifyAttribute/VerifyAttribute.cjs +94 -0
  35. package/dist/cjs/components/account/VerifyAttribute/VerifyAttribute.cjs.map +1 -0
  36. package/dist/cjs/components/auth/SignIn/SignIn.cjs +23 -20
  37. package/dist/cjs/components/auth/SignIn/SignIn.cjs.map +1 -1
  38. package/dist/cjs/components/auth/SignUp/BaseSignUp.cjs +13 -9
  39. package/dist/cjs/components/auth/SignUp/BaseSignUp.cjs.map +1 -1
  40. package/dist/cjs/components/auth/flow/AuthOptionFactory.cjs +22 -2
  41. package/dist/cjs/components/auth/flow/AuthOptionFactory.cjs.map +1 -1
  42. package/dist/cjs/components/common/LanguageSwitcher/BaseLanguageSwitcher.cjs +1 -1
  43. package/dist/cjs/components/{admin → management}/AgentCreate/AgentCreate.cjs +8 -7
  44. package/dist/cjs/components/management/AgentCreate/AgentCreate.cjs.map +1 -0
  45. package/dist/cjs/components/{admin → management}/AgentCreate/BaseAgentCreate.cjs +1 -1
  46. package/dist/cjs/components/management/AgentCreate/BaseAgentCreate.cjs.map +1 -0
  47. package/dist/cjs/components/{admin → management}/AgentDetails/AgentDetails.cjs +1 -1
  48. package/dist/cjs/components/management/AgentDetails/AgentDetails.cjs.map +1 -0
  49. package/dist/cjs/components/{admin → management}/AgentDetails/BaseAgentDetails.cjs +1 -1
  50. package/dist/cjs/components/management/AgentDetails/BaseAgentDetails.cjs.map +1 -0
  51. package/dist/cjs/components/{admin → management}/AgentList/AgentList.cjs +11 -6
  52. package/dist/cjs/components/management/AgentList/AgentList.cjs.map +1 -0
  53. package/dist/cjs/components/{admin → management}/AgentList/BaseAgentList.cjs +1 -1
  54. package/dist/cjs/components/management/AgentList/BaseAgentList.cjs.map +1 -0
  55. package/dist/cjs/components/{admin → management}/ApplicationCreate/ApplicationCreate.cjs +10 -5
  56. package/dist/cjs/components/management/ApplicationCreate/ApplicationCreate.cjs.map +1 -0
  57. package/dist/cjs/components/{admin → management}/ApplicationCreate/BaseApplicationCreate.cjs +1 -1
  58. package/dist/cjs/components/management/ApplicationCreate/BaseApplicationCreate.cjs.map +1 -0
  59. package/dist/cjs/components/{admin → management}/ApplicationDetails/ApplicationDetails.cjs +1 -1
  60. package/dist/cjs/components/management/ApplicationDetails/ApplicationDetails.cjs.map +1 -0
  61. package/dist/cjs/components/{admin → management}/ApplicationDetails/BaseApplicationDetails.cjs +1 -1
  62. package/dist/cjs/components/management/ApplicationDetails/BaseApplicationDetails.cjs.map +1 -0
  63. package/dist/cjs/components/{admin → management}/ApplicationList/ApplicationList.cjs +9 -4
  64. package/dist/cjs/components/management/ApplicationList/ApplicationList.cjs.map +1 -0
  65. package/dist/cjs/components/{admin → management}/ApplicationList/BaseApplicationList.cjs +1 -1
  66. package/dist/cjs/components/management/ApplicationList/BaseApplicationList.cjs.map +1 -0
  67. package/dist/cjs/components/{admin → management}/GroupCreate/BaseGroupCreate.cjs +1 -1
  68. package/dist/cjs/components/management/GroupCreate/BaseGroupCreate.cjs.map +1 -0
  69. package/dist/cjs/components/{admin → management}/GroupCreate/GroupCreate.cjs +1 -1
  70. package/dist/cjs/components/management/GroupCreate/GroupCreate.cjs.map +1 -0
  71. package/dist/cjs/components/management/GroupDetails/BaseGroupDetails.cjs +86 -0
  72. package/dist/cjs/components/management/GroupDetails/BaseGroupDetails.cjs.map +1 -0
  73. package/dist/cjs/components/management/GroupDetails/GroupDetails.cjs +60 -0
  74. package/dist/cjs/components/management/GroupDetails/GroupDetails.cjs.map +1 -0
  75. package/dist/cjs/components/{admin → management}/GroupList/BaseGroupList.cjs +1 -1
  76. package/dist/cjs/components/management/GroupList/BaseGroupList.cjs.map +1 -0
  77. package/dist/cjs/components/{admin → management}/GroupList/GroupList.cjs +1 -1
  78. package/dist/cjs/components/management/GroupList/GroupList.cjs.map +1 -0
  79. package/dist/cjs/components/{admin → management}/GroupMembers/BaseGroupMembers.cjs +1 -1
  80. package/dist/cjs/components/management/GroupMembers/BaseGroupMembers.cjs.map +1 -0
  81. package/dist/cjs/components/{admin → management}/GroupMembers/GroupMembers.cjs +1 -1
  82. package/dist/cjs/components/management/GroupMembers/GroupMembers.cjs.map +1 -0
  83. package/dist/cjs/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.cjs +140 -0
  84. package/dist/cjs/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.cjs.map +1 -0
  85. package/dist/cjs/components/management/OrganizationUnitCreate/OrganizationUnitCreate.cjs +83 -0
  86. package/dist/cjs/components/management/OrganizationUnitCreate/OrganizationUnitCreate.cjs.map +1 -0
  87. package/dist/cjs/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.cjs +276 -0
  88. package/dist/cjs/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.cjs.map +1 -0
  89. package/dist/cjs/components/management/OrganizationUnitDetails/OrganizationUnitDetails.cjs +142 -0
  90. package/dist/cjs/components/management/OrganizationUnitDetails/OrganizationUnitDetails.cjs.map +1 -0
  91. package/dist/cjs/components/management/OrganizationUnitList/BaseOrganizationUnitList.cjs +78 -0
  92. package/dist/cjs/components/management/OrganizationUnitList/BaseOrganizationUnitList.cjs.map +1 -0
  93. package/dist/cjs/components/management/OrganizationUnitList/OrganizationUnitList.cjs +69 -0
  94. package/dist/cjs/components/management/OrganizationUnitList/OrganizationUnitList.cjs.map +1 -0
  95. package/dist/cjs/components/management/ProjectCreate/BaseProjectCreate.cjs +116 -0
  96. package/dist/cjs/components/management/ProjectCreate/BaseProjectCreate.cjs.map +1 -0
  97. package/dist/cjs/components/management/ProjectCreate/ProjectCreate.cjs +43 -0
  98. package/dist/cjs/components/management/ProjectCreate/ProjectCreate.cjs.map +1 -0
  99. package/dist/cjs/components/management/ProjectDetails/BaseProjectDetails.cjs +172 -0
  100. package/dist/cjs/components/management/ProjectDetails/BaseProjectDetails.cjs.map +1 -0
  101. package/dist/cjs/components/management/ProjectDetails/ProjectDetails.cjs +68 -0
  102. package/dist/cjs/components/management/ProjectDetails/ProjectDetails.cjs.map +1 -0
  103. package/dist/cjs/components/management/ProjectList/BaseProjectList.cjs +78 -0
  104. package/dist/cjs/components/management/ProjectList/BaseProjectList.cjs.map +1 -0
  105. package/dist/cjs/components/management/ProjectList/ProjectList.cjs +51 -0
  106. package/dist/cjs/components/management/ProjectList/ProjectList.cjs.map +1 -0
  107. package/dist/cjs/components/management/ProjectSwitcher/BaseProjectSwitcher.cjs +58 -0
  108. package/dist/cjs/components/management/ProjectSwitcher/BaseProjectSwitcher.cjs.map +1 -0
  109. package/dist/cjs/components/management/ProjectSwitcher/ProjectSwitcher.cjs +72 -0
  110. package/dist/cjs/components/management/ProjectSwitcher/ProjectSwitcher.cjs.map +1 -0
  111. package/dist/cjs/components/{admin → management}/RoleAssignments/BaseRoleAssignments.cjs +1 -1
  112. package/dist/cjs/components/management/RoleAssignments/BaseRoleAssignments.cjs.map +1 -0
  113. package/dist/cjs/components/{admin → management}/RoleAssignments/RoleAssignments.cjs +1 -1
  114. package/dist/cjs/components/management/RoleAssignments/RoleAssignments.cjs.map +1 -0
  115. package/dist/cjs/components/{admin → management}/RoleCreate/BaseRoleCreate.cjs +1 -1
  116. package/dist/cjs/components/management/RoleCreate/BaseRoleCreate.cjs.map +1 -0
  117. package/dist/cjs/components/{admin → management}/RoleCreate/RoleCreate.cjs +1 -1
  118. package/dist/cjs/components/management/RoleCreate/RoleCreate.cjs.map +1 -0
  119. package/dist/cjs/components/management/RoleDetails/BaseRoleDetails.cjs +87 -0
  120. package/dist/cjs/components/management/RoleDetails/BaseRoleDetails.cjs.map +1 -0
  121. package/dist/cjs/components/management/RoleDetails/RoleDetails.cjs +68 -0
  122. package/dist/cjs/components/management/RoleDetails/RoleDetails.cjs.map +1 -0
  123. package/dist/cjs/components/{admin → management}/RoleList/BaseRoleList.cjs +1 -1
  124. package/dist/cjs/components/management/RoleList/BaseRoleList.cjs.map +1 -0
  125. package/dist/cjs/components/{admin → management}/RoleList/RoleList.cjs +1 -1
  126. package/dist/cjs/components/management/RoleList/RoleList.cjs.map +1 -0
  127. package/dist/cjs/components/management/RolePermissions/BaseRolePermissions.cjs +181 -0
  128. package/dist/cjs/components/management/RolePermissions/BaseRolePermissions.cjs.map +1 -0
  129. package/dist/cjs/components/management/RolePermissions/RolePermissions.cjs +112 -0
  130. package/dist/cjs/components/management/RolePermissions/RolePermissions.cjs.map +1 -0
  131. package/dist/cjs/components/management/SharingPolicies/BaseSharingPolicies.cjs +308 -0
  132. package/dist/cjs/components/management/SharingPolicies/BaseSharingPolicies.cjs.map +1 -0
  133. package/dist/cjs/components/management/SharingPolicies/SharingPolicies.cjs +126 -0
  134. package/dist/cjs/components/management/SharingPolicies/SharingPolicies.cjs.map +1 -0
  135. package/dist/cjs/components/{admin → management}/UserCreate/BaseUserCreate.cjs +1 -1
  136. package/dist/cjs/components/management/UserCreate/BaseUserCreate.cjs.map +1 -0
  137. package/dist/cjs/components/{admin → management}/UserCreate/UserCreate.cjs +1 -1
  138. package/dist/cjs/components/management/UserCreate/UserCreate.cjs.map +1 -0
  139. package/dist/cjs/components/{admin → management}/UserCreate/userCreateFields.cjs +1 -1
  140. package/dist/cjs/components/management/UserCreate/userCreateFields.cjs.map +1 -0
  141. package/dist/cjs/components/{admin → management}/UserDetails/BaseUserDetails.cjs +1 -1
  142. package/dist/cjs/components/management/UserDetails/BaseUserDetails.cjs.map +1 -0
  143. package/dist/cjs/components/{admin → management}/UserDetails/UserDetails.cjs +1 -1
  144. package/dist/cjs/components/management/UserDetails/UserDetails.cjs.map +1 -0
  145. package/dist/cjs/components/{admin → management}/UserList/BaseUserList.cjs +1 -1
  146. package/dist/cjs/components/management/UserList/BaseUserList.cjs.map +1 -0
  147. package/dist/cjs/components/{admin → management}/UserList/UserList.cjs +1 -1
  148. package/dist/cjs/components/management/UserList/UserList.cjs.map +1 -0
  149. package/dist/cjs/components/{admin → management}/shared/AccountLifecycleParts.cjs +1 -1
  150. package/dist/cjs/components/management/shared/AccountLifecycleParts.cjs.map +1 -0
  151. package/dist/cjs/components/{admin → management}/shared/AdminParts.cjs +1 -1
  152. package/dist/cjs/components/management/shared/AdminParts.cjs.map +1 -0
  153. package/dist/cjs/components/{admin → management}/shared/AdminParts.styles.cjs +1 -1
  154. package/dist/cjs/components/management/shared/AdminParts.styles.cjs.map +1 -0
  155. package/dist/cjs/components/{admin → management}/shared/AdminSearch.cjs +1 -1
  156. package/dist/cjs/components/management/shared/AdminSearch.cjs.map +1 -0
  157. package/dist/cjs/components/{admin → management}/shared/AdminSection.cjs +1 -1
  158. package/dist/cjs/components/management/shared/AdminSection.cjs.map +1 -0
  159. package/dist/cjs/components/{admin → management}/shared/AdminSection.styles.cjs +1 -1
  160. package/dist/cjs/components/management/shared/AdminSection.styles.cjs.map +1 -0
  161. package/dist/cjs/components/{admin → management}/shared/ApplicationFormFields.cjs +1 -1
  162. package/dist/cjs/components/management/shared/ApplicationFormFields.cjs.map +1 -0
  163. package/dist/cjs/components/{admin → management}/shared/ClientSecretNotice.cjs +1 -1
  164. package/dist/cjs/components/management/shared/ClientSecretNotice.cjs.map +1 -0
  165. package/dist/cjs/components/{admin → management}/shared/IdentityPicker.cjs +1 -1
  166. package/dist/cjs/components/management/shared/IdentityPicker.cjs.map +1 -0
  167. package/dist/cjs/components/management/shared/formatTimestamp.cjs +18 -0
  168. package/dist/cjs/components/management/shared/formatTimestamp.cjs.map +1 -0
  169. package/dist/cjs/components/{admin → management}/shared/useAdminPartStyles.cjs +1 -1
  170. package/dist/cjs/components/management/shared/useAdminPartStyles.cjs.map +1 -0
  171. package/dist/cjs/components/{admin → management}/shared/useDefaultOuId.cjs +1 -1
  172. package/dist/cjs/components/management/shared/useDefaultOuId.cjs.map +1 -0
  173. package/dist/cjs/components/management/shared/useProjectPlacement.cjs +23 -0
  174. package/dist/cjs/components/management/shared/useProjectPlacement.cjs.map +1 -0
  175. package/dist/cjs/contexts/ComponentRenderer/ComponentRendererContext.cjs.map +1 -1
  176. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs +5 -0
  177. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs.map +1 -1
  178. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs +41 -1
  179. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -1
  180. package/dist/cjs/contexts/ThunderID/useCurrentProjectState.cjs +33 -0
  181. package/dist/cjs/contexts/ThunderID/useCurrentProjectState.cjs.map +1 -0
  182. package/dist/cjs/hooks/management/useManagementEndpoint.cjs.map +1 -1
  183. package/dist/cjs/index.cjs +407 -33
  184. package/dist/cjs/utils/flowTransformer.cjs +9 -0
  185. package/dist/cjs/utils/flowTransformer.cjs.map +1 -1
  186. package/dist/cjs/utils/getOrganizationUnitSwitchErrorKey.cjs +24 -0
  187. package/dist/cjs/utils/getOrganizationUnitSwitchErrorKey.cjs.map +1 -0
  188. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.d.ts +85 -0
  189. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.d.ts.map +1 -0
  190. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.js +209 -0
  191. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.js.map +1 -0
  192. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.d.ts +11 -0
  193. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.d.ts.map +1 -0
  194. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.js +184 -0
  195. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.js.map +1 -0
  196. package/dist/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.d.ts +54 -0
  197. package/dist/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.d.ts.map +1 -0
  198. package/dist/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.js +135 -0
  199. package/dist/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.js.map +1 -0
  200. package/dist/components/account/UserProfile/BaseUserProfile.d.ts +27 -1
  201. package/dist/components/account/UserProfile/BaseUserProfile.d.ts.map +1 -1
  202. package/dist/components/account/UserProfile/BaseUserProfile.js +197 -48
  203. package/dist/components/account/UserProfile/BaseUserProfile.js.map +1 -1
  204. package/dist/components/account/UserProfile/BaseUserProfile.styles.d.ts.map +1 -1
  205. package/dist/components/account/UserProfile/BaseUserProfile.styles.js +57 -4
  206. package/dist/components/account/UserProfile/BaseUserProfile.styles.js.map +1 -1
  207. package/dist/components/account/UserProfile/UserProfile.d.ts +7 -1
  208. package/dist/components/account/UserProfile/UserProfile.d.ts.map +1 -1
  209. package/dist/components/account/UserProfile/UserProfile.js +14 -2
  210. package/dist/components/account/UserProfile/UserProfile.js.map +1 -1
  211. package/dist/components/account/VerifyAttribute/BaseVerifyAttribute.d.ts +113 -0
  212. package/dist/components/account/VerifyAttribute/BaseVerifyAttribute.d.ts.map +1 -0
  213. package/dist/components/account/VerifyAttribute/BaseVerifyAttribute.js +354 -0
  214. package/dist/components/account/VerifyAttribute/BaseVerifyAttribute.js.map +1 -0
  215. package/dist/components/account/VerifyAttribute/BaseVerifyAttribute.styles.d.ts +10 -0
  216. package/dist/components/account/VerifyAttribute/BaseVerifyAttribute.styles.d.ts.map +1 -0
  217. package/dist/components/account/VerifyAttribute/BaseVerifyAttribute.styles.js +82 -0
  218. package/dist/components/account/VerifyAttribute/BaseVerifyAttribute.styles.js.map +1 -0
  219. package/dist/components/account/VerifyAttribute/VerifyAttribute.d.ts +41 -0
  220. package/dist/components/account/VerifyAttribute/VerifyAttribute.d.ts.map +1 -0
  221. package/dist/components/account/VerifyAttribute/VerifyAttribute.js +90 -0
  222. package/dist/components/account/VerifyAttribute/VerifyAttribute.js.map +1 -0
  223. package/dist/components/auth/SignIn/SignIn.d.ts +5 -0
  224. package/dist/components/auth/SignIn/SignIn.d.ts.map +1 -1
  225. package/dist/components/auth/SignIn/SignIn.js +25 -22
  226. package/dist/components/auth/SignIn/SignIn.js.map +1 -1
  227. package/dist/components/auth/SignUp/BaseSignUp.d.ts.map +1 -1
  228. package/dist/components/auth/SignUp/BaseSignUp.js +14 -10
  229. package/dist/components/auth/SignUp/BaseSignUp.js.map +1 -1
  230. package/dist/components/auth/flow/AuthOptionFactory.d.ts +5 -1
  231. package/dist/components/auth/flow/AuthOptionFactory.d.ts.map +1 -1
  232. package/dist/components/auth/flow/AuthOptionFactory.js +22 -3
  233. package/dist/components/auth/flow/AuthOptionFactory.js.map +1 -1
  234. package/dist/components/common/LanguageSwitcher/BaseLanguageSwitcher.js +1 -1
  235. package/dist/components/{admin → management}/AgentCreate/AgentCreate.d.ts +2 -1
  236. package/dist/components/management/AgentCreate/AgentCreate.d.ts.map +1 -0
  237. package/dist/components/{admin → management}/AgentCreate/AgentCreate.js +8 -7
  238. package/dist/components/management/AgentCreate/AgentCreate.js.map +1 -0
  239. package/dist/components/management/AgentCreate/BaseAgentCreate.d.ts.map +1 -0
  240. package/dist/components/{admin → management}/AgentCreate/BaseAgentCreate.js +1 -1
  241. package/dist/components/management/AgentCreate/BaseAgentCreate.js.map +1 -0
  242. package/dist/components/management/AgentDetails/AgentDetails.d.ts.map +1 -0
  243. package/dist/components/{admin → management}/AgentDetails/AgentDetails.js +1 -1
  244. package/dist/components/management/AgentDetails/AgentDetails.js.map +1 -0
  245. package/dist/components/management/AgentDetails/BaseAgentDetails.d.ts.map +1 -0
  246. package/dist/components/{admin → management}/AgentDetails/BaseAgentDetails.js +1 -1
  247. package/dist/components/management/AgentDetails/BaseAgentDetails.js.map +1 -0
  248. package/dist/components/{admin → management}/AgentList/AgentList.d.ts +7 -1
  249. package/dist/components/management/AgentList/AgentList.d.ts.map +1 -0
  250. package/dist/components/{admin → management}/AgentList/AgentList.js +11 -6
  251. package/dist/components/management/AgentList/AgentList.js.map +1 -0
  252. package/dist/components/management/AgentList/BaseAgentList.d.ts.map +1 -0
  253. package/dist/components/{admin → management}/AgentList/BaseAgentList.js +1 -1
  254. package/dist/components/management/AgentList/BaseAgentList.js.map +1 -0
  255. package/dist/components/{admin → management}/ApplicationCreate/ApplicationCreate.d.ts +2 -1
  256. package/dist/components/management/ApplicationCreate/ApplicationCreate.d.ts.map +1 -0
  257. package/dist/components/{admin → management}/ApplicationCreate/ApplicationCreate.js +10 -5
  258. package/dist/components/management/ApplicationCreate/ApplicationCreate.js.map +1 -0
  259. package/dist/components/management/ApplicationCreate/BaseApplicationCreate.d.ts.map +1 -0
  260. package/dist/components/{admin → management}/ApplicationCreate/BaseApplicationCreate.js +1 -1
  261. package/dist/components/management/ApplicationCreate/BaseApplicationCreate.js.map +1 -0
  262. package/dist/components/management/ApplicationDetails/ApplicationDetails.d.ts.map +1 -0
  263. package/dist/components/{admin → management}/ApplicationDetails/ApplicationDetails.js +1 -1
  264. package/dist/components/management/ApplicationDetails/ApplicationDetails.js.map +1 -0
  265. package/dist/components/management/ApplicationDetails/BaseApplicationDetails.d.ts.map +1 -0
  266. package/dist/components/{admin → management}/ApplicationDetails/BaseApplicationDetails.js +1 -1
  267. package/dist/components/management/ApplicationDetails/BaseApplicationDetails.js.map +1 -0
  268. package/dist/components/{admin → management}/ApplicationList/ApplicationList.d.ts +7 -1
  269. package/dist/components/management/ApplicationList/ApplicationList.d.ts.map +1 -0
  270. package/dist/components/{admin → management}/ApplicationList/ApplicationList.js +9 -4
  271. package/dist/components/management/ApplicationList/ApplicationList.js.map +1 -0
  272. package/dist/components/management/ApplicationList/BaseApplicationList.d.ts.map +1 -0
  273. package/dist/components/{admin → management}/ApplicationList/BaseApplicationList.js +1 -1
  274. package/dist/components/management/ApplicationList/BaseApplicationList.js.map +1 -0
  275. package/dist/components/management/GroupCreate/BaseGroupCreate.d.ts.map +1 -0
  276. package/dist/components/{admin → management}/GroupCreate/BaseGroupCreate.js +1 -1
  277. package/dist/components/management/GroupCreate/BaseGroupCreate.js.map +1 -0
  278. package/dist/components/management/GroupCreate/GroupCreate.d.ts.map +1 -0
  279. package/dist/components/{admin → management}/GroupCreate/GroupCreate.js +1 -1
  280. package/dist/components/management/GroupCreate/GroupCreate.js.map +1 -0
  281. package/dist/components/management/GroupDetails/BaseGroupDetails.d.ts +47 -0
  282. package/dist/components/management/GroupDetails/BaseGroupDetails.d.ts.map +1 -0
  283. package/dist/components/management/GroupDetails/BaseGroupDetails.js +84 -0
  284. package/dist/components/management/GroupDetails/BaseGroupDetails.js.map +1 -0
  285. package/dist/components/management/GroupDetails/GroupDetails.d.ts +37 -0
  286. package/dist/components/management/GroupDetails/GroupDetails.d.ts.map +1 -0
  287. package/dist/components/management/GroupDetails/GroupDetails.js +57 -0
  288. package/dist/components/management/GroupDetails/GroupDetails.js.map +1 -0
  289. package/dist/components/management/GroupList/BaseGroupList.d.ts.map +1 -0
  290. package/dist/components/{admin → management}/GroupList/BaseGroupList.js +1 -1
  291. package/dist/components/management/GroupList/BaseGroupList.js.map +1 -0
  292. package/dist/components/management/GroupList/GroupList.d.ts.map +1 -0
  293. package/dist/components/{admin → management}/GroupList/GroupList.js +1 -1
  294. package/dist/components/management/GroupList/GroupList.js.map +1 -0
  295. package/dist/components/management/GroupMembers/BaseGroupMembers.d.ts.map +1 -0
  296. package/dist/components/{admin → management}/GroupMembers/BaseGroupMembers.js +1 -1
  297. package/dist/components/management/GroupMembers/BaseGroupMembers.js.map +1 -0
  298. package/dist/components/management/GroupMembers/GroupMembers.d.ts.map +1 -0
  299. package/dist/components/{admin → management}/GroupMembers/GroupMembers.js +1 -1
  300. package/dist/components/management/GroupMembers/GroupMembers.js.map +1 -0
  301. package/dist/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.d.ts +85 -0
  302. package/dist/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.d.ts.map +1 -0
  303. package/dist/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.js +137 -0
  304. package/dist/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.js.map +1 -0
  305. package/dist/components/management/OrganizationUnitCreate/OrganizationUnitCreate.d.ts +21 -0
  306. package/dist/components/management/OrganizationUnitCreate/OrganizationUnitCreate.d.ts.map +1 -0
  307. package/dist/components/management/OrganizationUnitCreate/OrganizationUnitCreate.js +79 -0
  308. package/dist/components/management/OrganizationUnitCreate/OrganizationUnitCreate.js.map +1 -0
  309. package/dist/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.d.ts +105 -0
  310. package/dist/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.d.ts.map +1 -0
  311. package/dist/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.js +273 -0
  312. package/dist/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.js.map +1 -0
  313. package/dist/components/management/OrganizationUnitDetails/OrganizationUnitDetails.d.ts +42 -0
  314. package/dist/components/management/OrganizationUnitDetails/OrganizationUnitDetails.d.ts.map +1 -0
  315. package/dist/components/management/OrganizationUnitDetails/OrganizationUnitDetails.js +139 -0
  316. package/dist/components/management/OrganizationUnitDetails/OrganizationUnitDetails.js.map +1 -0
  317. package/dist/components/management/OrganizationUnitList/BaseOrganizationUnitList.d.ts +54 -0
  318. package/dist/components/management/OrganizationUnitList/BaseOrganizationUnitList.d.ts.map +1 -0
  319. package/dist/components/management/OrganizationUnitList/BaseOrganizationUnitList.js +76 -0
  320. package/dist/components/management/OrganizationUnitList/BaseOrganizationUnitList.js.map +1 -0
  321. package/dist/components/management/OrganizationUnitList/OrganizationUnitList.d.ts +19 -0
  322. package/dist/components/management/OrganizationUnitList/OrganizationUnitList.d.ts.map +1 -0
  323. package/dist/components/management/OrganizationUnitList/OrganizationUnitList.js +65 -0
  324. package/dist/components/management/OrganizationUnitList/OrganizationUnitList.js.map +1 -0
  325. package/dist/components/management/ProjectCreate/BaseProjectCreate.d.ts +60 -0
  326. package/dist/components/management/ProjectCreate/BaseProjectCreate.d.ts.map +1 -0
  327. package/dist/components/management/ProjectCreate/BaseProjectCreate.js +113 -0
  328. package/dist/components/management/ProjectCreate/BaseProjectCreate.js.map +1 -0
  329. package/dist/components/management/ProjectCreate/ProjectCreate.d.ts +20 -0
  330. package/dist/components/management/ProjectCreate/ProjectCreate.d.ts.map +1 -0
  331. package/dist/components/management/ProjectCreate/ProjectCreate.js +40 -0
  332. package/dist/components/management/ProjectCreate/ProjectCreate.js.map +1 -0
  333. package/dist/components/management/ProjectDetails/BaseProjectDetails.d.ts +60 -0
  334. package/dist/components/management/ProjectDetails/BaseProjectDetails.d.ts.map +1 -0
  335. package/dist/components/management/ProjectDetails/BaseProjectDetails.js +169 -0
  336. package/dist/components/management/ProjectDetails/BaseProjectDetails.js.map +1 -0
  337. package/dist/components/management/ProjectDetails/ProjectDetails.d.ts +36 -0
  338. package/dist/components/management/ProjectDetails/ProjectDetails.d.ts.map +1 -0
  339. package/dist/components/management/ProjectDetails/ProjectDetails.js +65 -0
  340. package/dist/components/management/ProjectDetails/ProjectDetails.js.map +1 -0
  341. package/dist/components/management/ProjectList/BaseProjectList.d.ts +53 -0
  342. package/dist/components/management/ProjectList/BaseProjectList.d.ts.map +1 -0
  343. package/dist/components/management/ProjectList/BaseProjectList.js +76 -0
  344. package/dist/components/management/ProjectList/BaseProjectList.js.map +1 -0
  345. package/dist/components/management/ProjectList/ProjectList.d.ts +14 -0
  346. package/dist/components/management/ProjectList/ProjectList.d.ts.map +1 -0
  347. package/dist/components/management/ProjectList/ProjectList.js +47 -0
  348. package/dist/components/management/ProjectList/ProjectList.js.map +1 -0
  349. package/dist/components/management/ProjectSwitcher/BaseProjectSwitcher.d.ts +69 -0
  350. package/dist/components/management/ProjectSwitcher/BaseProjectSwitcher.d.ts.map +1 -0
  351. package/dist/components/management/ProjectSwitcher/BaseProjectSwitcher.js +55 -0
  352. package/dist/components/management/ProjectSwitcher/BaseProjectSwitcher.js.map +1 -0
  353. package/dist/components/management/ProjectSwitcher/ProjectSwitcher.d.ts +25 -0
  354. package/dist/components/management/ProjectSwitcher/ProjectSwitcher.d.ts.map +1 -0
  355. package/dist/components/management/ProjectSwitcher/ProjectSwitcher.js +68 -0
  356. package/dist/components/management/ProjectSwitcher/ProjectSwitcher.js.map +1 -0
  357. package/dist/components/management/RoleAssignments/BaseRoleAssignments.d.ts.map +1 -0
  358. package/dist/components/{admin → management}/RoleAssignments/BaseRoleAssignments.js +1 -1
  359. package/dist/components/management/RoleAssignments/BaseRoleAssignments.js.map +1 -0
  360. package/dist/components/management/RoleAssignments/RoleAssignments.d.ts.map +1 -0
  361. package/dist/components/{admin → management}/RoleAssignments/RoleAssignments.js +1 -1
  362. package/dist/components/management/RoleAssignments/RoleAssignments.js.map +1 -0
  363. package/dist/components/management/RoleCreate/BaseRoleCreate.d.ts.map +1 -0
  364. package/dist/components/{admin → management}/RoleCreate/BaseRoleCreate.js +1 -1
  365. package/dist/components/management/RoleCreate/BaseRoleCreate.js.map +1 -0
  366. package/dist/components/management/RoleCreate/RoleCreate.d.ts.map +1 -0
  367. package/dist/components/{admin → management}/RoleCreate/RoleCreate.js +1 -1
  368. package/dist/components/management/RoleCreate/RoleCreate.js.map +1 -0
  369. package/dist/components/management/RoleDetails/BaseRoleDetails.d.ts +51 -0
  370. package/dist/components/management/RoleDetails/BaseRoleDetails.d.ts.map +1 -0
  371. package/dist/components/management/RoleDetails/BaseRoleDetails.js +85 -0
  372. package/dist/components/management/RoleDetails/BaseRoleDetails.js.map +1 -0
  373. package/dist/components/management/RoleDetails/RoleDetails.d.ts +39 -0
  374. package/dist/components/management/RoleDetails/RoleDetails.d.ts.map +1 -0
  375. package/dist/components/management/RoleDetails/RoleDetails.js +65 -0
  376. package/dist/components/management/RoleDetails/RoleDetails.js.map +1 -0
  377. package/dist/components/management/RoleList/BaseRoleList.d.ts.map +1 -0
  378. package/dist/components/{admin → management}/RoleList/BaseRoleList.js +1 -1
  379. package/dist/components/management/RoleList/BaseRoleList.js.map +1 -0
  380. package/dist/components/management/RoleList/RoleList.d.ts.map +1 -0
  381. package/dist/components/{admin → management}/RoleList/RoleList.js +1 -1
  382. package/dist/components/management/RoleList/RoleList.js.map +1 -0
  383. package/dist/components/management/RolePermissions/BaseRolePermissions.d.ts +104 -0
  384. package/dist/components/management/RolePermissions/BaseRolePermissions.d.ts.map +1 -0
  385. package/dist/components/management/RolePermissions/BaseRolePermissions.js +178 -0
  386. package/dist/components/management/RolePermissions/BaseRolePermissions.js.map +1 -0
  387. package/dist/components/management/RolePermissions/RolePermissions.d.ts +29 -0
  388. package/dist/components/management/RolePermissions/RolePermissions.d.ts.map +1 -0
  389. package/dist/components/management/RolePermissions/RolePermissions.js +108 -0
  390. package/dist/components/management/RolePermissions/RolePermissions.js.map +1 -0
  391. package/dist/components/management/SharingPolicies/BaseSharingPolicies.d.ts +124 -0
  392. package/dist/components/management/SharingPolicies/BaseSharingPolicies.d.ts.map +1 -0
  393. package/dist/components/management/SharingPolicies/BaseSharingPolicies.js +304 -0
  394. package/dist/components/management/SharingPolicies/BaseSharingPolicies.js.map +1 -0
  395. package/dist/components/management/SharingPolicies/SharingPolicies.d.ts +36 -0
  396. package/dist/components/management/SharingPolicies/SharingPolicies.d.ts.map +1 -0
  397. package/dist/components/management/SharingPolicies/SharingPolicies.js +122 -0
  398. package/dist/components/management/SharingPolicies/SharingPolicies.js.map +1 -0
  399. package/dist/components/management/UserCreate/BaseUserCreate.d.ts.map +1 -0
  400. package/dist/components/{admin → management}/UserCreate/BaseUserCreate.js +1 -1
  401. package/dist/components/management/UserCreate/BaseUserCreate.js.map +1 -0
  402. package/dist/components/management/UserCreate/UserCreate.d.ts.map +1 -0
  403. package/dist/components/{admin → management}/UserCreate/UserCreate.js +1 -1
  404. package/dist/components/management/UserCreate/UserCreate.js.map +1 -0
  405. package/dist/components/management/UserCreate/userCreateFields.d.ts.map +1 -0
  406. package/dist/components/{admin → management}/UserCreate/userCreateFields.js +1 -1
  407. package/dist/components/management/UserCreate/userCreateFields.js.map +1 -0
  408. package/dist/components/management/UserDetails/BaseUserDetails.d.ts.map +1 -0
  409. package/dist/components/{admin → management}/UserDetails/BaseUserDetails.js +1 -1
  410. package/dist/components/management/UserDetails/BaseUserDetails.js.map +1 -0
  411. package/dist/components/management/UserDetails/UserDetails.d.ts.map +1 -0
  412. package/dist/components/{admin → management}/UserDetails/UserDetails.js +1 -1
  413. package/dist/components/management/UserDetails/UserDetails.js.map +1 -0
  414. package/dist/components/management/UserList/BaseUserList.d.ts.map +1 -0
  415. package/dist/components/{admin → management}/UserList/BaseUserList.js +1 -1
  416. package/dist/components/management/UserList/BaseUserList.js.map +1 -0
  417. package/dist/components/management/UserList/UserList.d.ts.map +1 -0
  418. package/dist/components/{admin → management}/UserList/UserList.js +1 -1
  419. package/dist/components/management/UserList/UserList.js.map +1 -0
  420. package/dist/components/management/shared/AccountLifecycleParts.d.ts.map +1 -0
  421. package/dist/components/{admin → management}/shared/AccountLifecycleParts.js +1 -1
  422. package/dist/components/management/shared/AccountLifecycleParts.js.map +1 -0
  423. package/dist/components/management/shared/AdminListRenderProps.d.ts.map +1 -0
  424. package/dist/components/management/shared/AdminParts.d.ts.map +1 -0
  425. package/dist/components/{admin → management}/shared/AdminParts.js +1 -1
  426. package/dist/components/management/shared/AdminParts.js.map +1 -0
  427. package/dist/components/management/shared/AdminParts.styles.d.ts.map +1 -0
  428. package/dist/components/{admin → management}/shared/AdminParts.styles.js +1 -1
  429. package/dist/components/management/shared/AdminParts.styles.js.map +1 -0
  430. package/dist/components/management/shared/AdminSearch.d.ts.map +1 -0
  431. package/dist/components/{admin → management}/shared/AdminSearch.js +1 -1
  432. package/dist/components/management/shared/AdminSearch.js.map +1 -0
  433. package/dist/components/management/shared/AdminSection.d.ts.map +1 -0
  434. package/dist/components/{admin → management}/shared/AdminSection.js +1 -1
  435. package/dist/components/management/shared/AdminSection.js.map +1 -0
  436. package/dist/components/management/shared/AdminSection.styles.d.ts.map +1 -0
  437. package/dist/components/{admin → management}/shared/AdminSection.styles.js +1 -1
  438. package/dist/components/management/shared/AdminSection.styles.js.map +1 -0
  439. package/dist/components/management/shared/ApplicationFormFields.d.ts.map +1 -0
  440. package/dist/components/{admin → management}/shared/ApplicationFormFields.js +1 -1
  441. package/dist/components/management/shared/ApplicationFormFields.js.map +1 -0
  442. package/dist/components/management/shared/ClientSecretNotice.d.ts.map +1 -0
  443. package/dist/components/{admin → management}/shared/ClientSecretNotice.js +1 -1
  444. package/dist/components/management/shared/ClientSecretNotice.js.map +1 -0
  445. package/dist/components/management/shared/IdentityPicker.d.ts.map +1 -0
  446. package/dist/components/{admin → management}/shared/IdentityPicker.js +1 -1
  447. package/dist/components/management/shared/IdentityPicker.js.map +1 -0
  448. package/dist/components/management/shared/formatTimestamp.d.ts +9 -0
  449. package/dist/components/management/shared/formatTimestamp.d.ts.map +1 -0
  450. package/dist/components/management/shared/formatTimestamp.js +17 -0
  451. package/dist/components/management/shared/formatTimestamp.js.map +1 -0
  452. package/dist/components/management/shared/useAdminPartStyles.d.ts.map +1 -0
  453. package/dist/components/{admin → management}/shared/useAdminPartStyles.js +1 -1
  454. package/dist/components/management/shared/useAdminPartStyles.js.map +1 -0
  455. package/dist/components/management/shared/useDefaultOuId.d.ts.map +1 -0
  456. package/dist/components/{admin → management}/shared/useDefaultOuId.js +1 -1
  457. package/dist/components/management/shared/useDefaultOuId.js.map +1 -0
  458. package/dist/components/management/shared/useProjectPlacement.d.ts +26 -0
  459. package/dist/components/management/shared/useProjectPlacement.d.ts.map +1 -0
  460. package/dist/components/management/shared/useProjectPlacement.js +23 -0
  461. package/dist/components/management/shared/useProjectPlacement.js.map +1 -0
  462. package/dist/contexts/ComponentRenderer/ComponentRendererContext.d.ts +1 -1
  463. package/dist/contexts/ComponentRenderer/ComponentRendererContext.d.ts.map +1 -1
  464. package/dist/contexts/ComponentRenderer/ComponentRendererContext.js.map +1 -1
  465. package/dist/contexts/ThunderID/ThunderIDContext.d.ts +27 -1
  466. package/dist/contexts/ThunderID/ThunderIDContext.d.ts.map +1 -1
  467. package/dist/contexts/ThunderID/ThunderIDContext.js +5 -0
  468. package/dist/contexts/ThunderID/ThunderIDContext.js.map +1 -1
  469. package/dist/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
  470. package/dist/contexts/ThunderID/ThunderIDProvider.js +42 -2
  471. package/dist/contexts/ThunderID/ThunderIDProvider.js.map +1 -1
  472. package/dist/contexts/ThunderID/useCurrentProjectState.d.ts +26 -0
  473. package/dist/contexts/ThunderID/useCurrentProjectState.d.ts.map +1 -0
  474. package/dist/contexts/ThunderID/useCurrentProjectState.js +30 -0
  475. package/dist/contexts/ThunderID/useCurrentProjectState.js.map +1 -0
  476. package/dist/hooks/management/useManagementEndpoint.d.ts +1 -1
  477. package/dist/hooks/management/useManagementEndpoint.d.ts.map +1 -1
  478. package/dist/hooks/management/useManagementEndpoint.js.map +1 -1
  479. package/dist/index.d.ts +127 -70
  480. package/dist/index.d.ts.map +1 -1
  481. package/dist/index.js +62 -34
  482. package/dist/utils/flowTransformer.d.ts +7 -0
  483. package/dist/utils/flowTransformer.d.ts.map +1 -1
  484. package/dist/utils/flowTransformer.js +9 -1
  485. package/dist/utils/flowTransformer.js.map +1 -1
  486. package/dist/utils/getOrganizationUnitSwitchErrorKey.d.ts +11 -0
  487. package/dist/utils/getOrganizationUnitSwitchErrorKey.d.ts.map +1 -0
  488. package/dist/utils/getOrganizationUnitSwitchErrorKey.js +22 -0
  489. package/dist/utils/getOrganizationUnitSwitchErrorKey.js.map +1 -0
  490. package/package.json +2 -2
  491. package/dist/cjs/components/admin/AgentCreate/AgentCreate.cjs.map +0 -1
  492. package/dist/cjs/components/admin/AgentCreate/BaseAgentCreate.cjs.map +0 -1
  493. package/dist/cjs/components/admin/AgentDetails/AgentDetails.cjs.map +0 -1
  494. package/dist/cjs/components/admin/AgentDetails/BaseAgentDetails.cjs.map +0 -1
  495. package/dist/cjs/components/admin/AgentList/AgentList.cjs.map +0 -1
  496. package/dist/cjs/components/admin/AgentList/BaseAgentList.cjs.map +0 -1
  497. package/dist/cjs/components/admin/ApplicationCreate/ApplicationCreate.cjs.map +0 -1
  498. package/dist/cjs/components/admin/ApplicationCreate/BaseApplicationCreate.cjs.map +0 -1
  499. package/dist/cjs/components/admin/ApplicationDetails/ApplicationDetails.cjs.map +0 -1
  500. package/dist/cjs/components/admin/ApplicationDetails/BaseApplicationDetails.cjs.map +0 -1
  501. package/dist/cjs/components/admin/ApplicationList/ApplicationList.cjs.map +0 -1
  502. package/dist/cjs/components/admin/ApplicationList/BaseApplicationList.cjs.map +0 -1
  503. package/dist/cjs/components/admin/GroupCreate/BaseGroupCreate.cjs.map +0 -1
  504. package/dist/cjs/components/admin/GroupCreate/GroupCreate.cjs.map +0 -1
  505. package/dist/cjs/components/admin/GroupList/BaseGroupList.cjs.map +0 -1
  506. package/dist/cjs/components/admin/GroupList/GroupList.cjs.map +0 -1
  507. package/dist/cjs/components/admin/GroupMembers/BaseGroupMembers.cjs.map +0 -1
  508. package/dist/cjs/components/admin/GroupMembers/GroupMembers.cjs.map +0 -1
  509. package/dist/cjs/components/admin/RoleAssignments/BaseRoleAssignments.cjs.map +0 -1
  510. package/dist/cjs/components/admin/RoleAssignments/RoleAssignments.cjs.map +0 -1
  511. package/dist/cjs/components/admin/RoleCreate/BaseRoleCreate.cjs.map +0 -1
  512. package/dist/cjs/components/admin/RoleCreate/RoleCreate.cjs.map +0 -1
  513. package/dist/cjs/components/admin/RoleList/BaseRoleList.cjs.map +0 -1
  514. package/dist/cjs/components/admin/RoleList/RoleList.cjs.map +0 -1
  515. package/dist/cjs/components/admin/RolePermissions/BaseRolePermissions.cjs +0 -69
  516. package/dist/cjs/components/admin/RolePermissions/BaseRolePermissions.cjs.map +0 -1
  517. package/dist/cjs/components/admin/RolePermissions/RolePermissions.cjs +0 -40
  518. package/dist/cjs/components/admin/RolePermissions/RolePermissions.cjs.map +0 -1
  519. package/dist/cjs/components/admin/UserCreate/BaseUserCreate.cjs.map +0 -1
  520. package/dist/cjs/components/admin/UserCreate/UserCreate.cjs.map +0 -1
  521. package/dist/cjs/components/admin/UserCreate/userCreateFields.cjs.map +0 -1
  522. package/dist/cjs/components/admin/UserDetails/BaseUserDetails.cjs.map +0 -1
  523. package/dist/cjs/components/admin/UserDetails/UserDetails.cjs.map +0 -1
  524. package/dist/cjs/components/admin/UserList/BaseUserList.cjs.map +0 -1
  525. package/dist/cjs/components/admin/UserList/UserList.cjs.map +0 -1
  526. package/dist/cjs/components/admin/shared/AccountLifecycleParts.cjs.map +0 -1
  527. package/dist/cjs/components/admin/shared/AdminParts.cjs.map +0 -1
  528. package/dist/cjs/components/admin/shared/AdminParts.styles.cjs.map +0 -1
  529. package/dist/cjs/components/admin/shared/AdminSearch.cjs.map +0 -1
  530. package/dist/cjs/components/admin/shared/AdminSection.cjs.map +0 -1
  531. package/dist/cjs/components/admin/shared/AdminSection.styles.cjs.map +0 -1
  532. package/dist/cjs/components/admin/shared/ApplicationFormFields.cjs.map +0 -1
  533. package/dist/cjs/components/admin/shared/ClientSecretNotice.cjs.map +0 -1
  534. package/dist/cjs/components/admin/shared/IdentityPicker.cjs.map +0 -1
  535. package/dist/cjs/components/admin/shared/useAdminPartStyles.cjs.map +0 -1
  536. package/dist/cjs/components/admin/shared/useDefaultOuId.cjs.map +0 -1
  537. package/dist/components/admin/AgentCreate/AgentCreate.d.ts.map +0 -1
  538. package/dist/components/admin/AgentCreate/AgentCreate.js.map +0 -1
  539. package/dist/components/admin/AgentCreate/BaseAgentCreate.d.ts.map +0 -1
  540. package/dist/components/admin/AgentCreate/BaseAgentCreate.js.map +0 -1
  541. package/dist/components/admin/AgentDetails/AgentDetails.d.ts.map +0 -1
  542. package/dist/components/admin/AgentDetails/AgentDetails.js.map +0 -1
  543. package/dist/components/admin/AgentDetails/BaseAgentDetails.d.ts.map +0 -1
  544. package/dist/components/admin/AgentDetails/BaseAgentDetails.js.map +0 -1
  545. package/dist/components/admin/AgentList/AgentList.d.ts.map +0 -1
  546. package/dist/components/admin/AgentList/AgentList.js.map +0 -1
  547. package/dist/components/admin/AgentList/BaseAgentList.d.ts.map +0 -1
  548. package/dist/components/admin/AgentList/BaseAgentList.js.map +0 -1
  549. package/dist/components/admin/ApplicationCreate/ApplicationCreate.d.ts.map +0 -1
  550. package/dist/components/admin/ApplicationCreate/ApplicationCreate.js.map +0 -1
  551. package/dist/components/admin/ApplicationCreate/BaseApplicationCreate.d.ts.map +0 -1
  552. package/dist/components/admin/ApplicationCreate/BaseApplicationCreate.js.map +0 -1
  553. package/dist/components/admin/ApplicationDetails/ApplicationDetails.d.ts.map +0 -1
  554. package/dist/components/admin/ApplicationDetails/ApplicationDetails.js.map +0 -1
  555. package/dist/components/admin/ApplicationDetails/BaseApplicationDetails.d.ts.map +0 -1
  556. package/dist/components/admin/ApplicationDetails/BaseApplicationDetails.js.map +0 -1
  557. package/dist/components/admin/ApplicationList/ApplicationList.d.ts.map +0 -1
  558. package/dist/components/admin/ApplicationList/ApplicationList.js.map +0 -1
  559. package/dist/components/admin/ApplicationList/BaseApplicationList.d.ts.map +0 -1
  560. package/dist/components/admin/ApplicationList/BaseApplicationList.js.map +0 -1
  561. package/dist/components/admin/GroupCreate/BaseGroupCreate.d.ts.map +0 -1
  562. package/dist/components/admin/GroupCreate/BaseGroupCreate.js.map +0 -1
  563. package/dist/components/admin/GroupCreate/GroupCreate.d.ts.map +0 -1
  564. package/dist/components/admin/GroupCreate/GroupCreate.js.map +0 -1
  565. package/dist/components/admin/GroupList/BaseGroupList.d.ts.map +0 -1
  566. package/dist/components/admin/GroupList/BaseGroupList.js.map +0 -1
  567. package/dist/components/admin/GroupList/GroupList.d.ts.map +0 -1
  568. package/dist/components/admin/GroupList/GroupList.js.map +0 -1
  569. package/dist/components/admin/GroupMembers/BaseGroupMembers.d.ts.map +0 -1
  570. package/dist/components/admin/GroupMembers/BaseGroupMembers.js.map +0 -1
  571. package/dist/components/admin/GroupMembers/GroupMembers.d.ts.map +0 -1
  572. package/dist/components/admin/GroupMembers/GroupMembers.js.map +0 -1
  573. package/dist/components/admin/RoleAssignments/BaseRoleAssignments.d.ts.map +0 -1
  574. package/dist/components/admin/RoleAssignments/BaseRoleAssignments.js.map +0 -1
  575. package/dist/components/admin/RoleAssignments/RoleAssignments.d.ts.map +0 -1
  576. package/dist/components/admin/RoleAssignments/RoleAssignments.js.map +0 -1
  577. package/dist/components/admin/RoleCreate/BaseRoleCreate.d.ts.map +0 -1
  578. package/dist/components/admin/RoleCreate/BaseRoleCreate.js.map +0 -1
  579. package/dist/components/admin/RoleCreate/RoleCreate.d.ts.map +0 -1
  580. package/dist/components/admin/RoleCreate/RoleCreate.js.map +0 -1
  581. package/dist/components/admin/RoleList/BaseRoleList.d.ts.map +0 -1
  582. package/dist/components/admin/RoleList/BaseRoleList.js.map +0 -1
  583. package/dist/components/admin/RoleList/RoleList.d.ts.map +0 -1
  584. package/dist/components/admin/RoleList/RoleList.js.map +0 -1
  585. package/dist/components/admin/RolePermissions/BaseRolePermissions.d.ts +0 -42
  586. package/dist/components/admin/RolePermissions/BaseRolePermissions.d.ts.map +0 -1
  587. package/dist/components/admin/RolePermissions/BaseRolePermissions.js +0 -67
  588. package/dist/components/admin/RolePermissions/BaseRolePermissions.js.map +0 -1
  589. package/dist/components/admin/RolePermissions/RolePermissions.d.ts +0 -16
  590. package/dist/components/admin/RolePermissions/RolePermissions.d.ts.map +0 -1
  591. package/dist/components/admin/RolePermissions/RolePermissions.js +0 -37
  592. package/dist/components/admin/RolePermissions/RolePermissions.js.map +0 -1
  593. package/dist/components/admin/UserCreate/BaseUserCreate.d.ts.map +0 -1
  594. package/dist/components/admin/UserCreate/BaseUserCreate.js.map +0 -1
  595. package/dist/components/admin/UserCreate/UserCreate.d.ts.map +0 -1
  596. package/dist/components/admin/UserCreate/UserCreate.js.map +0 -1
  597. package/dist/components/admin/UserCreate/userCreateFields.d.ts.map +0 -1
  598. package/dist/components/admin/UserCreate/userCreateFields.js.map +0 -1
  599. package/dist/components/admin/UserDetails/BaseUserDetails.d.ts.map +0 -1
  600. package/dist/components/admin/UserDetails/BaseUserDetails.js.map +0 -1
  601. package/dist/components/admin/UserDetails/UserDetails.d.ts.map +0 -1
  602. package/dist/components/admin/UserDetails/UserDetails.js.map +0 -1
  603. package/dist/components/admin/UserList/BaseUserList.d.ts.map +0 -1
  604. package/dist/components/admin/UserList/BaseUserList.js.map +0 -1
  605. package/dist/components/admin/UserList/UserList.d.ts.map +0 -1
  606. package/dist/components/admin/UserList/UserList.js.map +0 -1
  607. package/dist/components/admin/shared/AccountLifecycleParts.d.ts.map +0 -1
  608. package/dist/components/admin/shared/AccountLifecycleParts.js.map +0 -1
  609. package/dist/components/admin/shared/AdminListRenderProps.d.ts.map +0 -1
  610. package/dist/components/admin/shared/AdminParts.d.ts.map +0 -1
  611. package/dist/components/admin/shared/AdminParts.js.map +0 -1
  612. package/dist/components/admin/shared/AdminParts.styles.d.ts.map +0 -1
  613. package/dist/components/admin/shared/AdminParts.styles.js.map +0 -1
  614. package/dist/components/admin/shared/AdminSearch.d.ts.map +0 -1
  615. package/dist/components/admin/shared/AdminSearch.js.map +0 -1
  616. package/dist/components/admin/shared/AdminSection.d.ts.map +0 -1
  617. package/dist/components/admin/shared/AdminSection.js.map +0 -1
  618. package/dist/components/admin/shared/AdminSection.styles.d.ts.map +0 -1
  619. package/dist/components/admin/shared/AdminSection.styles.js.map +0 -1
  620. package/dist/components/admin/shared/ApplicationFormFields.d.ts.map +0 -1
  621. package/dist/components/admin/shared/ApplicationFormFields.js.map +0 -1
  622. package/dist/components/admin/shared/ClientSecretNotice.d.ts.map +0 -1
  623. package/dist/components/admin/shared/ClientSecretNotice.js.map +0 -1
  624. package/dist/components/admin/shared/IdentityPicker.d.ts.map +0 -1
  625. package/dist/components/admin/shared/IdentityPicker.js.map +0 -1
  626. package/dist/components/admin/shared/useAdminPartStyles.d.ts.map +0 -1
  627. package/dist/components/admin/shared/useAdminPartStyles.js.map +0 -1
  628. package/dist/components/admin/shared/useDefaultOuId.d.ts.map +0 -1
  629. package/dist/components/admin/shared/useDefaultOuId.js.map +0 -1
  630. /package/dist/components/{admin → management}/AgentCreate/BaseAgentCreate.d.ts +0 -0
  631. /package/dist/components/{admin → management}/AgentDetails/AgentDetails.d.ts +0 -0
  632. /package/dist/components/{admin → management}/AgentDetails/BaseAgentDetails.d.ts +0 -0
  633. /package/dist/components/{admin → management}/AgentList/BaseAgentList.d.ts +0 -0
  634. /package/dist/components/{admin → management}/ApplicationCreate/BaseApplicationCreate.d.ts +0 -0
  635. /package/dist/components/{admin → management}/ApplicationDetails/ApplicationDetails.d.ts +0 -0
  636. /package/dist/components/{admin → management}/ApplicationDetails/BaseApplicationDetails.d.ts +0 -0
  637. /package/dist/components/{admin → management}/ApplicationList/BaseApplicationList.d.ts +0 -0
  638. /package/dist/components/{admin → management}/GroupCreate/BaseGroupCreate.d.ts +0 -0
  639. /package/dist/components/{admin → management}/GroupCreate/GroupCreate.d.ts +0 -0
  640. /package/dist/components/{admin → management}/GroupList/BaseGroupList.d.ts +0 -0
  641. /package/dist/components/{admin → management}/GroupList/GroupList.d.ts +0 -0
  642. /package/dist/components/{admin → management}/GroupMembers/BaseGroupMembers.d.ts +0 -0
  643. /package/dist/components/{admin → management}/GroupMembers/GroupMembers.d.ts +0 -0
  644. /package/dist/components/{admin → management}/RoleAssignments/BaseRoleAssignments.d.ts +0 -0
  645. /package/dist/components/{admin → management}/RoleAssignments/RoleAssignments.d.ts +0 -0
  646. /package/dist/components/{admin → management}/RoleCreate/BaseRoleCreate.d.ts +0 -0
  647. /package/dist/components/{admin → management}/RoleCreate/RoleCreate.d.ts +0 -0
  648. /package/dist/components/{admin → management}/RoleList/BaseRoleList.d.ts +0 -0
  649. /package/dist/components/{admin → management}/RoleList/RoleList.d.ts +0 -0
  650. /package/dist/components/{admin → management}/UserCreate/BaseUserCreate.d.ts +0 -0
  651. /package/dist/components/{admin → management}/UserCreate/UserCreate.d.ts +0 -0
  652. /package/dist/components/{admin → management}/UserCreate/userCreateFields.d.ts +0 -0
  653. /package/dist/components/{admin → management}/UserDetails/BaseUserDetails.d.ts +0 -0
  654. /package/dist/components/{admin → management}/UserDetails/UserDetails.d.ts +0 -0
  655. /package/dist/components/{admin → management}/UserList/BaseUserList.d.ts +0 -0
  656. /package/dist/components/{admin → management}/UserList/UserList.d.ts +0 -0
  657. /package/dist/components/{admin → management}/shared/AccountLifecycleParts.d.ts +0 -0
  658. /package/dist/components/{admin → management}/shared/AdminListRenderProps.d.ts +0 -0
  659. /package/dist/components/{admin → management}/shared/AdminParts.d.ts +0 -0
  660. /package/dist/components/{admin → management}/shared/AdminParts.styles.d.ts +0 -0
  661. /package/dist/components/{admin → management}/shared/AdminSearch.d.ts +0 -0
  662. /package/dist/components/{admin → management}/shared/AdminSection.d.ts +0 -0
  663. /package/dist/components/{admin → management}/shared/AdminSection.styles.d.ts +0 -0
  664. /package/dist/components/{admin → management}/shared/ApplicationFormFields.d.ts +0 -0
  665. /package/dist/components/{admin → management}/shared/ClientSecretNotice.d.ts +0 -0
  666. /package/dist/components/{admin → management}/shared/IdentityPicker.d.ts +0 -0
  667. /package/dist/components/{admin → management}/shared/useAdminPartStyles.d.ts +0 -0
  668. /package/dist/components/{admin → management}/shared/useDefaultOuId.d.ts +0 -0
@@ -0,0 +1,354 @@
1
+ import { cx } from "../../../styles/emotion.js";
2
+ import ComponentRendererContext_default from "../../../contexts/ComponentRenderer/ComponentRendererContext.js";
3
+ import useThunderID_default from "../../../contexts/ThunderID/useThunderID.js";
4
+ import useTheme_default from "../../../contexts/Theme/useTheme.js";
5
+ import ComponentPreferencesContext_default from "../../../contexts/I18n/ComponentPreferencesContext.js";
6
+ import useTranslation_default from "../../../hooks/useTranslation.js";
7
+ import { extractErrorMessage, normalizeFlowResponse } from "../../../utils/flowTransformer.js";
8
+ import { useForm } from "../../../hooks/useForm.js";
9
+ import Spinner_default from "../../primitives/Spinner/Spinner.js";
10
+ import Button_default from "../../primitives/Button/Button.js";
11
+ import Typography_default from "../../primitives/Typography/Typography.js";
12
+ import composeAffixedInputs_default from "../../../utils/composeAffixedInputs.js";
13
+ import Alert_default from "../../primitives/Alert/Alert.js";
14
+ import { renderVerificationComponents } from "../../auth/flow/AuthOptionFactory.js";
15
+ import getAuthComponentHeadings_default from "../../../utils/getAuthComponentHeadings.js";
16
+ import BaseVerifyAttribute_styles_default from "./BaseVerifyAttribute.styles.js";
17
+ import { AttributeVerificationConstants, EmbeddedFlowComponentType, EmbeddedSelfFlowStatus, bem, buildValidatorFromRules, getFlowStepComponents, resolveFlowTemplateLiterals, withVendorCSSClassPrefix } from "@thunderid/browser";
18
+ import { cloneElement, isValidElement, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
19
+ import { jsx, jsxs } from "react/jsx-runtime";
20
+
21
+ //#region src/components/account/VerifyAttribute/BaseVerifyAttribute.tsx
22
+ const collectFlowIds = ({ actions, inputs }) => ({
23
+ actions: new Set(actions.map((component) => component.id)),
24
+ fields: new Map(inputs.map((component) => [component.ref ?? component.id, component.type]))
25
+ });
26
+ const withFlowTestIds = (node, ids) => {
27
+ if (Array.isArray(node)) return node.map((child) => withFlowTestIds(child, ids));
28
+ if (!isValidElement(node)) return node;
29
+ const props = node.props;
30
+ if (typeof props.name === "string" && ids.fields.has(props.name)) {
31
+ const testId$1 = `thunderid-field-${props.name}`;
32
+ if (ids.fields.get(props.name) === EmbeddedFlowComponentType.OtpInput) return /* @__PURE__ */ jsx("div", {
33
+ "data-testid": testId$1,
34
+ children: node
35
+ }, node.key);
36
+ return cloneElement(node, { "data-testid": testId$1 });
37
+ }
38
+ const testId = node.key !== null && ids.actions.has(String(node.key)) ? `thunderid-action-${String(node.key)}` : void 0;
39
+ const children = props.children === void 0 ? void 0 : withFlowTestIds(props.children, ids);
40
+ if (!testId && children === props.children) return node;
41
+ return cloneElement(node, {
42
+ ...testId && { "data-testid": testId },
43
+ ...props.children !== void 0 && { children }
44
+ });
45
+ };
46
+ /**
47
+ * Internal component that renders the verification steps and manages flow state.
48
+ *
49
+ * @internal
50
+ */
51
+ const BaseVerifyAttributeContent = ({ attributeDisplayName = "", buttonClassName = "", children = void 0, className = "", inputClassName = "", isInitialized = true, onCancel = void 0, onComplete = void 0, onDone = void 0, onError = void 0, onFlowChange = void 0, onInitialize = void 0, onSubmit = void 0, showSubtitle = true, showTitle = true, size = "medium", variant = "outlined" }) => {
52
+ const { theme, colorScheme } = useTheme_default();
53
+ const customRenderers = useContext(ComponentRendererContext_default);
54
+ const { t } = useTranslation_default();
55
+ const { meta, vendor } = useThunderID_default();
56
+ const styles = BaseVerifyAttribute_styles_default(theme, colorScheme);
57
+ const [state, setState] = useState("loading");
58
+ const [isSubmitting, setIsSubmitting] = useState(false);
59
+ const [currentFlow, setCurrentFlow] = useState(null);
60
+ const [error, setError] = useState(null);
61
+ const isSubmittingRef = useRef(false);
62
+ const initializationAttemptedRef = useRef(false);
63
+ const challengeTokenRef = useRef(null);
64
+ const labelParams = { attribute: attributeDisplayName };
65
+ const normalize = useCallback((response) => {
66
+ if (!response?.data || Array.isArray(response.data.components)) return response;
67
+ const { components } = normalizeFlowResponse(response, t, {
68
+ defaultErrorKey: "user.verification.error",
69
+ resolveTranslations: false,
70
+ throwOnError: false
71
+ }, meta);
72
+ return {
73
+ ...response,
74
+ data: {
75
+ ...response.data,
76
+ components
77
+ }
78
+ };
79
+ }, [t, meta]);
80
+ const extractFormFields = useCallback((components) => getFlowStepComponents(components).inputs.map((component) => {
81
+ const ruleValidator = buildValidatorFromRules(component.validation);
82
+ return {
83
+ initialValue: "",
84
+ name: component.ref ?? component.id,
85
+ required: component.required ?? false,
86
+ validator: (value) => {
87
+ if (component.required && (!value || value.trim() === "")) return t("validations.required.field.error");
88
+ if (ruleValidator && value) {
89
+ const ruleMessage = ruleValidator(value);
90
+ if (ruleMessage) return t(ruleMessage);
91
+ }
92
+ return null;
93
+ }
94
+ };
95
+ }), [t]);
96
+ const formFields = useMemo(() => extractFormFields(currentFlow?.data?.components ?? []), [currentFlow, extractFormFields]);
97
+ const { values: formValues, touched: touchedFields, errors: formErrors, isValid: isFormValid, setValue: setFormValue, setTouched: setFormTouched, setTouchedFields, setErrors: setFormErrors, clearErrors: clearFormErrors, validateForm, touchAllFields, reset: resetForm } = useForm({
98
+ fields: formFields,
99
+ initialValues: {},
100
+ requiredMessage: t("validations.required.field.error"),
101
+ validateOnBlur: true,
102
+ validateOnChange: false
103
+ });
104
+ useEffect(() => {
105
+ clearFormErrors();
106
+ const responseFieldErrors = currentFlow?.data?.fieldErrors;
107
+ if (!responseFieldErrors || responseFieldErrors.length === 0) return;
108
+ const errors = {};
109
+ const touched = {};
110
+ responseFieldErrors.forEach((fe) => {
111
+ if (!(fe.identifier in errors)) {
112
+ errors[fe.identifier] = fe.message;
113
+ touched[fe.identifier] = true;
114
+ }
115
+ });
116
+ setTouchedFields(touched);
117
+ setFormErrors(errors);
118
+ }, [
119
+ currentFlow,
120
+ setFormErrors,
121
+ setTouchedFields,
122
+ clearFormErrors
123
+ ]);
124
+ const handleResponse = useCallback((rawResponse) => {
125
+ const response = normalize(rawResponse);
126
+ onFlowChange?.(response);
127
+ if (response.challengeToken !== void 0) challengeTokenRef.current = response.challengeToken ?? null;
128
+ if (response.flowStatus === EmbeddedSelfFlowStatus.Error) {
129
+ const message = extractErrorMessage(response, t, "user.verification.error");
130
+ setError(message);
131
+ setState("failed");
132
+ onError?.(new Error(message));
133
+ return;
134
+ }
135
+ if (response.flowStatus === EmbeddedSelfFlowStatus.Complete) {
136
+ setError(null);
137
+ setState("complete");
138
+ onComplete?.(response);
139
+ return;
140
+ }
141
+ setCurrentFlow((previous) => response.data?.additionalData || !previous?.data?.additionalData ? response : {
142
+ ...response,
143
+ data: {
144
+ ...response.data,
145
+ additionalData: previous.data.additionalData
146
+ }
147
+ });
148
+ resetForm();
149
+ setError(response.error ? extractErrorMessage(response, t, "user.verification.error") : null);
150
+ setState("active");
151
+ }, [
152
+ normalize,
153
+ onFlowChange,
154
+ onError,
155
+ onComplete,
156
+ resetForm,
157
+ t
158
+ ]);
159
+ const handleFailure = useCallback((caughtError) => {
160
+ setError(t("user.verification.error"));
161
+ setState("failed");
162
+ onError?.(caughtError instanceof Error ? caughtError : new Error(String(caughtError)));
163
+ }, [onError, t]);
164
+ useEffect(() => {
165
+ if (!isInitialized || initializationAttemptedRef.current) return;
166
+ initializationAttemptedRef.current = true;
167
+ (async () => {
168
+ try {
169
+ const response = await onInitialize?.();
170
+ if (response) handleResponse(response);
171
+ } catch (caughtError) {
172
+ handleFailure(caughtError);
173
+ }
174
+ })();
175
+ }, [
176
+ isInitialized,
177
+ onInitialize,
178
+ handleResponse,
179
+ handleFailure
180
+ ]);
181
+ const handleInputChange = (name, value) => {
182
+ setFormValue(name, value);
183
+ };
184
+ const handleInputBlur = (name) => {
185
+ setFormTouched(name, true);
186
+ };
187
+ const handleSubmit = async (component, data, skipValidation) => {
188
+ if (!currentFlow || isSubmittingRef.current) return;
189
+ if (!skipValidation) {
190
+ touchAllFields();
191
+ if (!validateForm().isValid) return;
192
+ }
193
+ isSubmittingRef.current = true;
194
+ setIsSubmitting(true);
195
+ setError(null);
196
+ try {
197
+ const composedData = data ? composeAffixedInputs_default(data, vendor) : {};
198
+ const inputs = Object.fromEntries(Object.entries(composedData).filter(([, value]) => value !== null && value !== void 0 && value !== ""));
199
+ const response = await onSubmit?.({
200
+ executionId: currentFlow.executionId,
201
+ ...component.id && { action: component.id },
202
+ ...challengeTokenRef.current ? { challengeToken: challengeTokenRef.current } : {},
203
+ inputs
204
+ });
205
+ if (response) handleResponse(response);
206
+ } catch (caughtError) {
207
+ handleFailure(caughtError);
208
+ } finally {
209
+ isSubmittingRef.current = false;
210
+ setIsSubmitting(false);
211
+ }
212
+ };
213
+ const additionalData = currentFlow?.data?.additionalData ?? {};
214
+ const maskedDestination = additionalData[AttributeVerificationConstants.MASKED_DESTINATION_KEY];
215
+ const destination = typeof maskedDestination === "string" && maskedDestination ? maskedDestination : null;
216
+ const headings = getAuthComponentHeadings_default(currentFlow?.data?.components ?? [], void 0, void 0, t("user.verification.heading", labelParams), t("user.verification.subheading.generic"));
217
+ const { componentsWithoutHeadings } = headings;
218
+ const step = getFlowStepComponents(componentsWithoutHeadings ?? []);
219
+ const isAwaitingLink = state === "active" && formFields.length === 0 && step.actions.length === 0;
220
+ const title = resolveFlowTemplateLiterals(headings.title, {
221
+ meta,
222
+ t
223
+ });
224
+ const hasFlowSubtitle = !!headings.headingComponents.subheading;
225
+ let subtitle = resolveFlowTemplateLiterals(headings.subtitle, {
226
+ meta,
227
+ t
228
+ });
229
+ let destinationText = null;
230
+ if (destination && hasFlowSubtitle) destinationText = t("user.verification.destination", { destination });
231
+ else if (destination) subtitle = t(isAwaitingLink ? "user.verification.subheading.link" : "user.verification.subheading", { destination });
232
+ const isLoading = state === "loading" || isSubmitting;
233
+ const containerClasses = cx(withVendorCSSClassPrefix("verify-attribute"), withVendorCSSClassPrefix(`verify-attribute--${size}`), withVendorCSSClassPrefix(`verify-attribute--${variant}`), styles["root"], variant === "outlined" ? styles["card"] : "", className);
234
+ if (children) {
235
+ const resend = state === "active" ? step.resend : void 0;
236
+ return /* @__PURE__ */ jsx("div", {
237
+ className: containerClasses,
238
+ children: children({
239
+ additionalData,
240
+ components: componentsWithoutHeadings ?? [],
241
+ destination,
242
+ destinationText,
243
+ error,
244
+ fieldErrors: formErrors,
245
+ handleInputChange,
246
+ handleResend: resend ? () => handleSubmit(resend, void 0, true) : void 0,
247
+ handleSubmit,
248
+ isAwaitingLink,
249
+ isComplete: state === "complete",
250
+ isFailed: state === "failed",
251
+ isLoading,
252
+ isValid: isFormValid,
253
+ onCancel,
254
+ onDone: isAwaitingLink ? onDone : void 0,
255
+ subtitle,
256
+ successMessage: t("user.verification.success", labelParams),
257
+ title,
258
+ touched: touchedFields,
259
+ values: formValues
260
+ })
261
+ });
262
+ }
263
+ const alertClasses = cx(withVendorCSSClassPrefix(bem("verify-attribute", "alert")), styles["alert"]);
264
+ return /* @__PURE__ */ jsxs("div", {
265
+ className: containerClasses,
266
+ "aria-busy": isLoading,
267
+ children: [
268
+ state === "active" && (showTitle || showSubtitle) && /* @__PURE__ */ jsxs("div", {
269
+ className: cx(withVendorCSSClassPrefix(bem("verify-attribute", "header")), styles["header"]),
270
+ children: [showTitle && /* @__PURE__ */ jsx(Typography_default, {
271
+ variant: "h5",
272
+ className: cx(withVendorCSSClassPrefix(bem("verify-attribute", "heading")), styles["heading"]),
273
+ children: title
274
+ }), showSubtitle && /* @__PURE__ */ jsxs(Typography_default, {
275
+ variant: "body2",
276
+ className: cx(withVendorCSSClassPrefix(bem("verify-attribute", "subheading")), styles["subheading"]),
277
+ children: [subtitle, destinationText && /* @__PURE__ */ jsx("span", {
278
+ className: withVendorCSSClassPrefix(bem("verify-attribute", "destination")),
279
+ children: ` ${destinationText}`
280
+ })]
281
+ })]
282
+ }),
283
+ state === "loading" && /* @__PURE__ */ jsx("div", {
284
+ className: cx(withVendorCSSClassPrefix(bem("verify-attribute", "loading")), styles["loading"]),
285
+ children: /* @__PURE__ */ jsx(Spinner_default, { size: "medium" })
286
+ }),
287
+ error && /* @__PURE__ */ jsx(Alert_default, {
288
+ variant: "error",
289
+ className: alertClasses,
290
+ children: /* @__PURE__ */ jsx(Alert_default.Description, { children: error })
291
+ }),
292
+ state === "complete" && /* @__PURE__ */ jsx(Alert_default, {
293
+ variant: "success",
294
+ className: alertClasses,
295
+ children: /* @__PURE__ */ jsx(Alert_default.Description, { children: t("user.verification.success", labelParams) })
296
+ }),
297
+ state === "active" && /* @__PURE__ */ jsx("div", {
298
+ className: cx(withVendorCSSClassPrefix(bem("verify-attribute", "content")), styles["content"]),
299
+ children: withFlowTestIds(renderVerificationComponents(componentsWithoutHeadings ?? [], formValues, touchedFields, formErrors, isLoading, isFormValid, resetForm, handleInputChange, {
300
+ _customRenderers: customRenderers,
301
+ _theme: theme,
302
+ additionalData,
303
+ buttonClassName: cx(withVendorCSSClassPrefix(bem("verify-attribute", "button")), buttonClassName),
304
+ inputClassName: cx(withVendorCSSClassPrefix(bem("verify-attribute", "input")), inputClassName),
305
+ meta,
306
+ onInputBlur: handleInputBlur,
307
+ onSubmit: (component, data, skip) => {
308
+ handleSubmit(component, data, skip);
309
+ },
310
+ size,
311
+ t,
312
+ variant,
313
+ vendor
314
+ }), collectFlowIds(step))
315
+ }),
316
+ (!!onCancel || isAwaitingLink && !!onDone) && /* @__PURE__ */ jsxs("div", {
317
+ className: cx(withVendorCSSClassPrefix(bem("verify-attribute", "actions")), styles["actions"]),
318
+ children: [isAwaitingLink && onDone && /* @__PURE__ */ jsx(Button_default, {
319
+ size: "small",
320
+ color: "primary",
321
+ variant: "solid",
322
+ onClick: onDone,
323
+ "data-testid": "thunderid-action-verificationDone",
324
+ children: t("user.verification.buttons.done.text")
325
+ }), onCancel && /* @__PURE__ */ jsx(Button_default, {
326
+ size: "small",
327
+ color: "secondary",
328
+ variant: "outline",
329
+ onClick: onCancel,
330
+ disabled: isSubmitting,
331
+ "data-testid": "thunderid-action-verificationCancel",
332
+ children: state === "active" || state === "loading" ? t("user.verification.buttons.cancel.text") : t("user.verification.buttons.close.text")
333
+ })]
334
+ })
335
+ ]
336
+ });
337
+ };
338
+ /**
339
+ * BaseVerifyAttribute renders the server-described steps of a self attribute verification flow.
340
+ * Accepts API functions as props to stay framework independent.
341
+ */
342
+ const BaseVerifyAttribute = ({ preferences = void 0,...rest }) => {
343
+ const content = /* @__PURE__ */ jsx(BaseVerifyAttributeContent, { ...rest });
344
+ if (!preferences) return content;
345
+ return /* @__PURE__ */ jsx(ComponentPreferencesContext_default.Provider, {
346
+ value: preferences,
347
+ children: content
348
+ });
349
+ };
350
+ var BaseVerifyAttribute_default = BaseVerifyAttribute;
351
+
352
+ //#endregion
353
+ export { BaseVerifyAttribute_default as default };
354
+ //# sourceMappingURL=BaseVerifyAttribute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseVerifyAttribute.js","names":["props: {children?: ReactNode; name?: unknown}","testId","testId: string | undefined","children: ReactNode","BaseVerifyAttributeContent: FC<Omit<BaseVerifyAttributeProps, 'preferences'>>","useTheme","customRenderers: ComponentRendererMap","ComponentRendererContext","useTranslation","useThunderID","styles: Record<string, string>","useStyles","isSubmittingRef: MutableRefObject<boolean>","initializationAttemptedRef: MutableRefObject<boolean>","challengeTokenRef: MutableRefObject<string | null>","labelParams: Record<string, string>","formFields: FormField[]","responseFieldErrors: FieldError[] | undefined","errors: Record<string, string>","touched: Record<string, boolean>","response: EmbeddedSelfFlowResponse","message: string","response: EmbeddedSelfFlowResponse | undefined","composedData: Record<string, string>","composeAffixedInputs","inputs: Record<string, string>","additionalData: Record<string, unknown>","maskedDestination: unknown","destination: string | null","headings: ReturnType<typeof getAuthComponentHeadings>","getAuthComponentHeadings","step: FlowStepComponents","isAwaitingLink: boolean","title: string","subtitle: string","destinationText: string | null","isLoading: boolean","containerClasses: string","resend: EmbeddedFlowComponent | undefined","alertClasses: string","Typography","Spinner","AlertPrimitive","Button","BaseVerifyAttribute: FC<BaseVerifyAttributeProps>","content: ReactElement","ComponentPreferencesContext"],"sources":["../../../../src/components/account/VerifyAttribute/BaseVerifyAttribute.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n AttributeVerificationConstants,\n EmbeddedFlowComponent,\n EmbeddedFlowComponentType,\n EmbeddedSelfFlowRequest,\n EmbeddedSelfFlowResponse,\n EmbeddedSelfFlowStatus,\n FieldError,\n FlowStepComponents,\n Preferences,\n bem,\n buildValidatorFromRules,\n getFlowStepComponents,\n resolveFlowTemplateLiterals,\n withVendorCSSClassPrefix,\n} from '@thunderid/browser';\nimport {\n FC,\n MutableRefObject,\n ReactElement,\n ReactNode,\n cloneElement,\n isValidElement,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport useStyles from './BaseVerifyAttribute.styles';\nimport ComponentRendererContext, {\n ComponentRendererMap,\n} from '../../../contexts/ComponentRenderer/ComponentRendererContext';\nimport ComponentPreferencesContext from '../../../contexts/I18n/ComponentPreferencesContext';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\nimport {FormField, useForm} from '../../../hooks/useForm';\nimport useTranslation from '../../../hooks/useTranslation';\nimport {cx} from '../../../styles/emotion';\nimport composeAffixedInputs from '../../../utils/composeAffixedInputs';\nimport {extractErrorMessage, normalizeFlowResponse} from '../../../utils/flowTransformer';\nimport getAuthComponentHeadings from '../../../utils/getAuthComponentHeadings';\nimport {renderVerificationComponents} from '../../auth/flow/AuthOptionFactory';\nimport AlertPrimitive from '../../primitives/Alert/Alert';\nimport Button from '../../primitives/Button/Button';\nimport Spinner from '../../primitives/Spinner/Spinner';\nimport Typography from '../../primitives/Typography/Typography';\n\ntype VerificationState = 'loading' | 'active' | 'complete' | 'failed';\n\ninterface FlowIds {\n actions: Set<string>;\n // Input name (`ref`, else `id`) to component type.\n fields: Map<string, string>;\n}\n\n// Flow identifiers of the step's inputs and actions.\nconst collectFlowIds = ({actions, inputs}: FlowStepComponents): FlowIds => ({\n actions: new Set(actions.map((component: EmbeddedFlowComponent) => component.id)),\n fields: new Map(inputs.map((component: EmbeddedFlowComponent) => [component.ref ?? component.id, component.type])),\n});\n\n// Tags the elements rendered from the flow with `thunderid-field-<ref>` and `thunderid-action-<id>`.\n// The shared factory keys an element by its component id and names an input by its ref.\nconst withFlowTestIds = (node: ReactNode, ids: FlowIds): ReactNode => {\n if (Array.isArray(node)) return node.map((child: ReactNode) => withFlowTestIds(child, ids));\n if (!isValidElement(node)) return node;\n\n const props: {children?: ReactNode; name?: unknown} = node.props as {children?: ReactNode; name?: unknown};\n if (typeof props.name === 'string' && ids.fields.has(props.name)) {\n const testId = `thunderid-field-${props.name}`;\n\n // The OTP field renders one input per character and takes no test identifier, so wrap it.\n if (ids.fields.get(props.name) === EmbeddedFlowComponentType.OtpInput) {\n return (\n <div key={node.key} data-testid={testId}>\n {node}\n </div>\n );\n }\n\n return cloneElement(node as ReactElement<Record<string, unknown>>, {'data-testid': testId});\n }\n\n const testId: string | undefined =\n node.key !== null && ids.actions.has(String(node.key)) ? `thunderid-action-${String(node.key)}` : undefined;\n const children: ReactNode = props.children === undefined ? undefined : withFlowTestIds(props.children, ids);\n if (!testId && children === props.children) return node;\n\n return cloneElement(node as ReactElement<Record<string, unknown>>, {\n ...(testId && {'data-testid': testId}),\n ...(props.children !== undefined && {children}),\n });\n};\n\n/**\n * What {@link BaseVerifyAttribute} hands its `children` render function, so the steps can be drawn\n * with any UI.\n */\nexport interface BaseVerifyAttributeRenderProps {\n additionalData: Record<string, unknown>;\n /**\n * The step's components, without its headings.\n */\n components: EmbeddedFlowComponent[];\n /**\n * Masked destination the code or link was sent to, when the flow reports it.\n */\n destination: string | null;\n /**\n * Translated \"Sent to …\" line, set when the flow has its own prompt in `subtitle`.\n */\n destinationText: string | null;\n /**\n * Translated error of the last request, or the refusal.\n */\n error: string | null;\n fieldErrors: Record<string, string>;\n handleInputChange: (name: string, value: string) => void;\n /**\n * Sends a new code. Set only while the step has a resend action.\n */\n handleResend?: () => Promise<void>;\n /**\n * Submits a step. Pass `skipValidation` for an action, such as a resend, that sends no inputs.\n */\n handleSubmit: (\n component: EmbeddedFlowComponent,\n data?: Record<string, string>,\n skipValidation?: boolean,\n ) => Promise<void>;\n isAwaitingLink: boolean;\n isComplete: boolean;\n /**\n * Whether the server refused the verification or the request failed; the flow cannot continue.\n */\n isFailed: boolean;\n isLoading: boolean;\n isValid: boolean;\n /**\n * Closes the panel. Set only when the app passes `onCancel`.\n */\n onCancel?: () => void;\n /**\n * Confirms a link the user opened outside the app. Set only while the step waits for a link and\n * the app passes `onDone`.\n */\n onDone?: () => void;\n subtitle: string;\n /**\n * Translated message for a recorded verification.\n */\n successMessage: string;\n title: string;\n touched: Record<string, boolean>;\n values: Record<string, string>;\n}\n\n/**\n * Props for the BaseVerifyAttribute component.\n */\nexport interface BaseVerifyAttributeProps {\n /**\n * Label of the attribute being verified, used in the default heading and success message.\n */\n attributeDisplayName?: string;\n buttonClassName?: string;\n /**\n * Renders custom UI in place of the default steps. Receives the step, the values and their setters,\n * submit, resend, cancel, the destination, and the loading, error and completed state.\n */\n children?: (props: BaseVerifyAttributeRenderProps) => ReactNode;\n className?: string;\n inputClassName?: string;\n isInitialized?: boolean;\n /**\n * Called when the user closes the panel. The close action is shown only when this is set.\n */\n onCancel?: () => void;\n /**\n * Called once the server has recorded the verification.\n */\n onComplete?: (response: EmbeddedSelfFlowResponse) => void;\n /**\n * Called when the user selects Done after the flow sent a link, which they confirm outside the app.\n * The Done action is shown only when this is set.\n */\n onDone?: () => void;\n /**\n * Called when the server refuses the verification or the request fails.\n */\n onError?: (error: Error) => void;\n onFlowChange?: (response: EmbeddedSelfFlowResponse) => void;\n onInitialize?: () => Promise<EmbeddedSelfFlowResponse>;\n onSubmit?: (payload: EmbeddedSelfFlowRequest) => Promise<EmbeddedSelfFlowResponse>;\n /**\n * Component-level preferences to override global i18n and theme settings.\n */\n preferences?: Preferences;\n showSubtitle?: boolean;\n showTitle?: boolean;\n size?: 'small' | 'medium' | 'large';\n variant?: 'outlined' | 'flat';\n}\n\n/**\n * Internal component that renders the verification steps and manages flow state.\n *\n * @internal\n */\nconst BaseVerifyAttributeContent: FC<Omit<BaseVerifyAttributeProps, 'preferences'>> = ({\n attributeDisplayName = '',\n buttonClassName = '',\n children = undefined,\n className = '',\n inputClassName = '',\n isInitialized = true,\n onCancel = undefined,\n onComplete = undefined,\n onDone = undefined,\n onError = undefined,\n onFlowChange = undefined,\n onInitialize = undefined,\n onSubmit = undefined,\n showSubtitle = true,\n showTitle = true,\n size = 'medium',\n variant = 'outlined',\n}: Omit<BaseVerifyAttributeProps, 'preferences'>): ReactElement => {\n const {theme, colorScheme} = useTheme();\n const customRenderers: ComponentRendererMap = useContext(ComponentRendererContext);\n const {t} = useTranslation();\n const {meta, vendor} = useThunderID();\n const styles: Record<string, string> = useStyles(theme, colorScheme);\n\n const [state, setState] = useState<VerificationState>('loading');\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [currentFlow, setCurrentFlow] = useState<EmbeddedSelfFlowResponse | null>(null);\n const [error, setError] = useState<string | null>(null);\n // Set before the first await, so a second call from a custom render cannot send a second code.\n const isSubmittingRef: MutableRefObject<boolean> = useRef(false);\n\n // Guards against a second initiation, which would send a second code.\n const initializationAttemptedRef: MutableRefObject<boolean> = useRef(false);\n const challengeTokenRef: MutableRefObject<string | null> = useRef<string | null>(null);\n\n const labelParams: Record<string, string> = {attribute: attributeDisplayName};\n\n const normalize = useCallback(\n (response: EmbeddedSelfFlowResponse): EmbeddedSelfFlowResponse => {\n if (!response?.data || Array.isArray(response.data.components)) {\n return response;\n }\n\n const {components} = normalizeFlowResponse(\n response,\n t,\n {defaultErrorKey: 'user.verification.error', resolveTranslations: false, throwOnError: false},\n meta,\n );\n\n return {...response, data: {...response.data, components}};\n },\n [t, meta],\n );\n\n const extractFormFields = useCallback(\n (components: EmbeddedFlowComponent[]): FormField[] =>\n getFlowStepComponents(components).inputs.map((component: EmbeddedFlowComponent) => {\n const ruleValidator = buildValidatorFromRules(component.validation);\n return {\n initialValue: '',\n name: component.ref ?? component.id,\n required: component.required ?? false,\n validator: (value: string) => {\n if (component.required && (!value || value.trim() === '')) {\n return t('validations.required.field.error');\n }\n if (ruleValidator && value) {\n const ruleMessage = ruleValidator(value);\n if (ruleMessage) {\n return t(ruleMessage);\n }\n }\n return null;\n },\n };\n }),\n [t],\n );\n\n const formFields: FormField[] = useMemo(\n () => extractFormFields(currentFlow?.data?.components ?? []),\n [currentFlow, extractFormFields],\n );\n\n const {\n values: formValues,\n touched: touchedFields,\n errors: formErrors,\n isValid: isFormValid,\n setValue: setFormValue,\n setTouched: setFormTouched,\n setTouchedFields,\n setErrors: setFormErrors,\n clearErrors: clearFormErrors,\n validateForm,\n touchAllFields,\n reset: resetForm,\n } = useForm<Record<string, string>>({\n fields: formFields,\n initialValues: {},\n requiredMessage: t('validations.required.field.error'),\n validateOnBlur: true,\n validateOnChange: false,\n });\n\n // Project server-side field errors into form state.\n useEffect(() => {\n clearFormErrors();\n const responseFieldErrors: FieldError[] | undefined = currentFlow?.data?.fieldErrors;\n if (!responseFieldErrors || responseFieldErrors.length === 0) {\n return;\n }\n const errors: Record<string, string> = {};\n const touched: Record<string, boolean> = {};\n responseFieldErrors.forEach((fe: FieldError) => {\n if (!(fe.identifier in errors)) {\n errors[fe.identifier] = fe.message;\n touched[fe.identifier] = true;\n }\n });\n setTouchedFields(touched);\n setFormErrors(errors);\n }, [currentFlow, setFormErrors, setTouchedFields, clearFormErrors]);\n\n const handleResponse = useCallback(\n (rawResponse: EmbeddedSelfFlowResponse): void => {\n const response: EmbeddedSelfFlowResponse = normalize(rawResponse);\n onFlowChange?.(response);\n\n if (response.challengeToken !== undefined) {\n challengeTokenRef.current = response.challengeToken ?? null;\n }\n\n if (response.flowStatus === EmbeddedSelfFlowStatus.Error) {\n const message: string = extractErrorMessage(response, t, 'user.verification.error');\n setError(message);\n setState('failed');\n onError?.(new Error(message));\n return;\n }\n\n if (response.flowStatus === EmbeddedSelfFlowStatus.Complete) {\n setError(null);\n setState('complete');\n onComplete?.(response);\n return;\n }\n\n // INCOMPLETE: render the step; a rejected code comes back with an error and without\n // additionalData, so keep the destination and code length of the step that sent the code.\n setCurrentFlow(\n (previous: EmbeddedSelfFlowResponse | null): EmbeddedSelfFlowResponse =>\n response.data?.additionalData || !previous?.data?.additionalData\n ? response\n : {...response, data: {...response.data, additionalData: previous.data.additionalData}},\n );\n resetForm();\n setError(response.error ? extractErrorMessage(response, t, 'user.verification.error') : null);\n setState('active');\n },\n [normalize, onFlowChange, onError, onComplete, resetForm, t],\n );\n\n const handleFailure = useCallback(\n (caughtError: unknown): void => {\n // Show a generic message; an API error body is not meant for the user.\n setError(t('user.verification.error'));\n setState('failed');\n onError?.(caughtError instanceof Error ? caughtError : new Error(String(caughtError)));\n },\n [onError, t],\n );\n\n useEffect(() => {\n if (!isInitialized || initializationAttemptedRef.current) {\n return;\n }\n initializationAttemptedRef.current = true;\n\n void (async (): Promise<void> => {\n try {\n const response: EmbeddedSelfFlowResponse | undefined = await onInitialize?.();\n if (response) {\n handleResponse(response);\n }\n } catch (caughtError) {\n handleFailure(caughtError);\n }\n })();\n }, [isInitialized, onInitialize, handleResponse, handleFailure]);\n\n const handleInputChange = (name: string, value: string): void => {\n setFormValue(name, value);\n };\n\n const handleInputBlur = (name: string): void => {\n setFormTouched(name, true);\n };\n\n const handleSubmit = async (\n component: EmbeddedFlowComponent,\n data?: Record<string, string>,\n skipValidation?: boolean,\n ): Promise<void> => {\n if (!currentFlow || isSubmittingRef.current) return;\n\n if (!skipValidation) {\n touchAllFields();\n if (!validateForm().isValid) return;\n }\n\n isSubmittingRef.current = true;\n setIsSubmitting(true);\n setError(null);\n\n try {\n const composedData: Record<string, string> = data ? composeAffixedInputs(data, vendor) : {};\n const inputs: Record<string, string> = Object.fromEntries(\n Object.entries(composedData).filter(\n ([, value]: [string, string]) => value !== null && value !== undefined && value !== '',\n ),\n );\n\n const response: EmbeddedSelfFlowResponse | undefined = await onSubmit?.({\n executionId: currentFlow.executionId,\n ...(component.id && {action: component.id}),\n ...(challengeTokenRef.current ? {challengeToken: challengeTokenRef.current} : {}),\n inputs,\n });\n\n if (response) {\n handleResponse(response);\n }\n } catch (caughtError) {\n handleFailure(caughtError);\n } finally {\n isSubmittingRef.current = false;\n setIsSubmitting(false);\n }\n };\n\n const additionalData: Record<string, unknown> = currentFlow?.data?.additionalData ?? {};\n const maskedDestination: unknown = additionalData[AttributeVerificationConstants.MASKED_DESTINATION_KEY];\n const destination: string | null =\n typeof maskedDestination === 'string' && maskedDestination ? maskedDestination : null;\n const headings: ReturnType<typeof getAuthComponentHeadings> = getAuthComponentHeadings(\n currentFlow?.data?.components ?? [],\n undefined,\n undefined,\n t('user.verification.heading', labelParams),\n t('user.verification.subheading.generic'),\n );\n const {componentsWithoutHeadings} = headings;\n const step: FlowStepComponents = getFlowStepComponents(componentsWithoutHeadings ?? []);\n // A step with nothing to enter or submit waits for the user to open a link sent to them.\n const isAwaitingLink: boolean = state === 'active' && formFields.length === 0 && step.actions.length === 0;\n const title: string = resolveFlowTemplateLiterals(headings.title, {meta, t});\n // The flow's own prompt wins; the destination is added beside it, or fills in when the flow has none.\n const hasFlowSubtitle = !!headings.headingComponents.subheading;\n let subtitle: string = resolveFlowTemplateLiterals(headings.subtitle, {meta, t});\n let destinationText: string | null = null;\n if (destination && hasFlowSubtitle) {\n destinationText = t('user.verification.destination', {destination});\n } else if (destination) {\n subtitle = t(isAwaitingLink ? 'user.verification.subheading.link' : 'user.verification.subheading', {destination});\n }\n\n const isLoading: boolean = state === 'loading' || isSubmitting;\n\n const containerClasses: string = cx(\n withVendorCSSClassPrefix('verify-attribute'),\n withVendorCSSClassPrefix(`verify-attribute--${size}`),\n withVendorCSSClassPrefix(`verify-attribute--${variant}`),\n styles['root'],\n variant === 'outlined' ? styles['card'] : '',\n className,\n );\n\n if (children) {\n const resend: EmbeddedFlowComponent | undefined = state === 'active' ? step.resend : undefined;\n\n return (\n <div className={containerClasses}>\n {children({\n additionalData,\n components: componentsWithoutHeadings ?? [],\n destination,\n destinationText,\n error,\n fieldErrors: formErrors,\n handleInputChange,\n handleResend: resend ? (): Promise<void> => handleSubmit(resend, undefined, true) : undefined,\n handleSubmit,\n isAwaitingLink,\n isComplete: state === 'complete',\n isFailed: state === 'failed',\n isLoading,\n isValid: isFormValid,\n onCancel,\n onDone: isAwaitingLink ? onDone : undefined,\n subtitle,\n successMessage: t('user.verification.success', labelParams),\n title,\n touched: touchedFields,\n values: formValues,\n })}\n </div>\n );\n }\n\n const alertClasses: string = cx(withVendorCSSClassPrefix(bem('verify-attribute', 'alert')), styles['alert']);\n\n return (\n <div className={containerClasses} aria-busy={isLoading}>\n {state === 'active' && (showTitle || showSubtitle) && (\n <div className={cx(withVendorCSSClassPrefix(bem('verify-attribute', 'header')), styles['header'])}>\n {showTitle && (\n <Typography\n variant=\"h5\"\n className={cx(withVendorCSSClassPrefix(bem('verify-attribute', 'heading')), styles['heading'])}\n >\n {title}\n </Typography>\n )}\n {showSubtitle && (\n <Typography\n variant=\"body2\"\n className={cx(withVendorCSSClassPrefix(bem('verify-attribute', 'subheading')), styles['subheading'])}\n >\n {subtitle}\n {destinationText && (\n <span className={withVendorCSSClassPrefix(bem('verify-attribute', 'destination'))}>\n {` ${destinationText}`}\n </span>\n )}\n </Typography>\n )}\n </div>\n )}\n\n {state === 'loading' && (\n <div className={cx(withVendorCSSClassPrefix(bem('verify-attribute', 'loading')), styles['loading'])}>\n <Spinner size=\"medium\" />\n </div>\n )}\n\n {error && (\n <AlertPrimitive variant=\"error\" className={alertClasses}>\n <AlertPrimitive.Description>{error}</AlertPrimitive.Description>\n </AlertPrimitive>\n )}\n\n {state === 'complete' && (\n <AlertPrimitive variant=\"success\" className={alertClasses}>\n <AlertPrimitive.Description>{t('user.verification.success', labelParams)}</AlertPrimitive.Description>\n </AlertPrimitive>\n )}\n\n {state === 'active' && (\n <div className={cx(withVendorCSSClassPrefix(bem('verify-attribute', 'content')), styles['content'])}>\n {withFlowTestIds(\n renderVerificationComponents(\n componentsWithoutHeadings ?? [],\n formValues,\n touchedFields,\n formErrors,\n isLoading,\n isFormValid,\n resetForm,\n handleInputChange,\n {\n _customRenderers: customRenderers,\n _theme: theme,\n additionalData,\n buttonClassName: cx(withVendorCSSClassPrefix(bem('verify-attribute', 'button')), buttonClassName),\n inputClassName: cx(withVendorCSSClassPrefix(bem('verify-attribute', 'input')), inputClassName),\n meta,\n onInputBlur: handleInputBlur,\n onSubmit: (component: EmbeddedFlowComponent, data?: Record<string, string>, skip?: boolean): void => {\n void handleSubmit(component, data, skip);\n },\n size,\n t,\n variant,\n vendor,\n },\n ),\n collectFlowIds(step),\n )}\n </div>\n )}\n\n {(!!onCancel || (isAwaitingLink && !!onDone)) && (\n <div className={cx(withVendorCSSClassPrefix(bem('verify-attribute', 'actions')), styles['actions'])}>\n {isAwaitingLink && onDone && (\n <Button\n size=\"small\"\n color=\"primary\"\n variant=\"solid\"\n onClick={onDone}\n data-testid=\"thunderid-action-verificationDone\"\n >\n {t('user.verification.buttons.done.text')}\n </Button>\n )}\n {onCancel && (\n <Button\n size=\"small\"\n color=\"secondary\"\n variant=\"outline\"\n onClick={onCancel}\n disabled={isSubmitting}\n data-testid=\"thunderid-action-verificationCancel\"\n >\n {state === 'active' || state === 'loading'\n ? t('user.verification.buttons.cancel.text')\n : t('user.verification.buttons.close.text')}\n </Button>\n )}\n </div>\n )}\n </div>\n );\n};\n\n/**\n * BaseVerifyAttribute renders the server-described steps of a self attribute verification flow.\n * Accepts API functions as props to stay framework independent.\n */\nconst BaseVerifyAttribute: FC<BaseVerifyAttributeProps> = ({\n preferences = undefined,\n ...rest\n}: BaseVerifyAttributeProps): ReactElement => {\n const content: ReactElement = <BaseVerifyAttributeContent {...rest} />;\n\n if (!preferences) return content;\n\n return <ComponentPreferencesContext.Provider value={preferences}>{content}</ComponentPreferencesContext.Provider>;\n};\n\nexport default BaseVerifyAttribute;\n"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { Theme } from '@thunderid/browser';
2
+ /**
3
+ * Creates styles for the BaseVerifyAttribute component
4
+ * @param theme - The theme object containing design tokens
5
+ * @param colorScheme - The current color scheme (used for memoization)
6
+ * @returns Object containing CSS class names for component styling
7
+ */
8
+ declare const useStyles: (theme: Theme, colorScheme: string) => Record<string, string>;
9
+ export default useStyles;
10
+ //# sourceMappingURL=BaseVerifyAttribute.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseVerifyAttribute.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/account/VerifyAttribute/BaseVerifyAttribute.styles.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,EAA2B,MAAM,oBAAoB,CAAC;AAGnE;;;;;GAKG;AACH,QAAA,MAAM,SAAS,GAAI,OAAO,KAAK,EAAE,aAAa,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CA4E3E,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,82 @@
1
+ import { css } from "../../../styles/emotion.js";
2
+ import { withVendorCSSClassPrefix } from "@thunderid/browser";
3
+
4
+ //#region src/components/account/VerifyAttribute/BaseVerifyAttribute.styles.ts
5
+ /**
6
+ * Creates styles for the BaseVerifyAttribute component
7
+ * @param theme - The theme object containing design tokens
8
+ * @param colorScheme - The current color scheme (used for memoization)
9
+ * @returns Object containing CSS class names for component styling
10
+ */
11
+ const useStyles = (theme, colorScheme) => {
12
+ const root = css`
13
+ display: flex;
14
+ flex-direction: column;
15
+ gap: calc(${theme.vars.spacing.unit} * 2);
16
+ width: 100%;
17
+ font-family: ${theme.vars.typography.fontFamily};
18
+ `;
19
+ const card = css`
20
+ padding: calc(${theme.vars.spacing.unit} * 2);
21
+ border: 1px solid ${theme.vars.colors.border};
22
+ border-radius: ${theme.vars.borderRadius.medium};
23
+ `;
24
+ const header = css`
25
+ display: flex;
26
+ flex-direction: column;
27
+ gap: calc(${theme.vars.spacing.unit} / 2);
28
+ `;
29
+ const heading = css`
30
+ margin: 0;
31
+ `;
32
+ const subheading = css`
33
+ margin: 0;
34
+ color: ${theme.vars.colors.text.secondary};
35
+ `;
36
+ const content = css`
37
+ display: flex;
38
+ flex-direction: column;
39
+ gap: calc(${theme.vars.spacing.unit} * 1.5);
40
+
41
+ .${withVendorCSSClassPrefix("otp-field__input-container")} {
42
+ justify-content: flex-start;
43
+
44
+ > input {
45
+ box-sizing: border-box;
46
+ flex: 1 1 calc(${theme.vars.spacing.unit} * 4);
47
+ max-width: calc(${theme.vars.spacing.unit} * 6);
48
+ min-width: 0;
49
+ }
50
+ }
51
+ `;
52
+ const alert = css`
53
+ width: 100%;
54
+ `;
55
+ const loading = css`
56
+ display: flex;
57
+ justify-content: center;
58
+ padding: calc(${theme.vars.spacing.unit} * 2);
59
+ `;
60
+ return {
61
+ actions: css`
62
+ display: flex;
63
+ gap: ${theme.vars.spacing.unit};
64
+ align-items: center;
65
+ justify-content: flex-end;
66
+ `,
67
+ alert,
68
+ card,
69
+ colorScheme,
70
+ content,
71
+ header,
72
+ heading,
73
+ loading,
74
+ root,
75
+ subheading
76
+ };
77
+ };
78
+ var BaseVerifyAttribute_styles_default = useStyles;
79
+
80
+ //#endregion
81
+ export { BaseVerifyAttribute_styles_default as default };
82
+ //# sourceMappingURL=BaseVerifyAttribute.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseVerifyAttribute.styles.js","names":["root: string","card: string","header: string","heading: string","subheading: string","content: string","alert: string","loading: string"],"sources":["../../../../src/components/account/VerifyAttribute/BaseVerifyAttribute.styles.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {Theme, withVendorCSSClassPrefix} from '@thunderid/browser';\nimport {css} from '../../../styles/emotion';\n\n/**\n * Creates styles for the BaseVerifyAttribute component\n * @param theme - The theme object containing design tokens\n * @param colorScheme - The current color scheme (used for memoization)\n * @returns Object containing CSS class names for component styling\n */\nconst useStyles = (theme: Theme, colorScheme: string): Record<string, string> => {\n const root: string = css`\n display: flex;\n flex-direction: column;\n gap: calc(${theme.vars.spacing.unit} * 2);\n width: 100%;\n font-family: ${theme.vars.typography.fontFamily};\n `;\n\n const card: string = css`\n padding: calc(${theme.vars.spacing.unit} * 2);\n border: 1px solid ${theme.vars.colors.border};\n border-radius: ${theme.vars.borderRadius.medium};\n `;\n\n const header: string = css`\n display: flex;\n flex-direction: column;\n gap: calc(${theme.vars.spacing.unit} / 2);\n `;\n\n const heading: string = css`\n margin: 0;\n `;\n\n const subheading: string = css`\n margin: 0;\n color: ${theme.vars.colors.text.secondary};\n `;\n\n const content: string = css`\n display: flex;\n flex-direction: column;\n gap: calc(${theme.vars.spacing.unit} * 1.5);\n\n .${withVendorCSSClassPrefix('otp-field__input-container')} {\n justify-content: flex-start;\n\n > input {\n box-sizing: border-box;\n flex: 1 1 calc(${theme.vars.spacing.unit} * 4);\n max-width: calc(${theme.vars.spacing.unit} * 6);\n min-width: 0;\n }\n }\n `;\n\n const alert: string = css`\n width: 100%;\n `;\n\n const loading: string = css`\n display: flex;\n justify-content: center;\n padding: calc(${theme.vars.spacing.unit} * 2);\n `;\n\n const actions: string = css`\n display: flex;\n gap: ${theme.vars.spacing.unit};\n align-items: center;\n justify-content: flex-end;\n `;\n\n return {\n actions,\n alert,\n card,\n colorScheme,\n content,\n header,\n heading,\n loading,\n root,\n subheading,\n };\n};\n\nexport default useStyles;\n"],"mappings":";;;;;;;;;;AAYA,MAAM,aAAa,OAAc,gBAAgD;CAC/E,MAAMA,OAAe,GAAG;;;gBAGV,MAAM,KAAK,QAAQ,KAAK;;mBAErB,MAAM,KAAK,WAAW,WAAW;;CAGlD,MAAMC,OAAe,GAAG;oBACN,MAAM,KAAK,QAAQ,KAAK;wBACpB,MAAM,KAAK,OAAO,OAAO;qBAC5B,MAAM,KAAK,aAAa,OAAO;;CAGlD,MAAMC,SAAiB,GAAG;;;gBAGZ,MAAM,KAAK,QAAQ,KAAK;;CAGtC,MAAMC,UAAkB,GAAG;;;CAI3B,MAAMC,aAAqB,GAAG;;aAEnB,MAAM,KAAK,OAAO,KAAK,UAAU;;CAG5C,MAAMC,UAAkB,GAAG;;;gBAGb,MAAM,KAAK,QAAQ,KAAK;;OAEjC,yBAAyB,6BAA6B,CAAC;;;;;yBAKrC,MAAM,KAAK,QAAQ,KAAK;0BACvB,MAAM,KAAK,QAAQ,KAAK;;;;;CAMhD,MAAMC,QAAgB,GAAG;;;CAIzB,MAAMC,UAAkB,GAAG;;;oBAGT,MAAM,KAAK,QAAQ,KAAK;;AAU1C,QAAO;EACL,SARsB,GAAG;;WAElB,MAAM,KAAK,QAAQ,KAAK;;;;EAO/B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD;;AAGH,yCAAe"}
@@ -0,0 +1,41 @@
1
+ import { FC } from 'react';
2
+ import { BaseVerifyAttributeProps } from './BaseVerifyAttribute';
3
+ export type VerifyAttributeProps = Omit<BaseVerifyAttributeProps, 'onInitialize' | 'onSubmit' | 'isInitialized'> & {
4
+ /**
5
+ * Name of the signed-in user's attribute to verify, such as `email`. Only a top-level, single-valued
6
+ * `email` or `mobile` property of the user's schema can be verified; any other is refused without a
7
+ * request, through `onError`, with `VerifyAttribute-handleInitialize-RuntimeError-001`.
8
+ */
9
+ attribute: string;
10
+ /**
11
+ * Handle of the `SELF` flow to run. Defaults to the server's shipped
12
+ * `default-self-attribute-verification-flow`.
13
+ */
14
+ flowHandle?: string;
15
+ };
16
+ /**
17
+ * VerifyAttribute verifies one of the signed-in user's attributes, such as their email address,
18
+ * by running a self attribute verification flow, named by `flowHandle`. The flow picks the email or
19
+ * mobile path from the attribute's type, sends a code or a link to the attribute's current value,
20
+ * and the component renders the steps it describes; for a link it shows a Done action that calls
21
+ * `onDone`. Every request carries the user's access token. Once the server records the verification,
22
+ * and when the user selects Done, it re-reads the user's profile so `useUser()` shows the new status.
23
+ *
24
+ * It waits for the user schema to load, and refuses an attribute the schema does not declare as an
25
+ * `email` or `mobile` property, since starting a verification sends a message.
26
+ *
27
+ * Mount it with a `key` per attribute: each mount starts a new verification and sends a new code
28
+ * or link.
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * <VerifyAttribute
33
+ * attribute="email"
34
+ * onComplete={() => setOpen(false)}
35
+ * onCancel={() => setOpen(false)}
36
+ * />
37
+ * ```
38
+ */
39
+ declare const VerifyAttribute: FC<VerifyAttributeProps>;
40
+ export default VerifyAttribute;
41
+ //# sourceMappingURL=VerifyAttribute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerifyAttribute.d.ts","sourceRoot":"","sources":["../../../../src/components/account/VerifyAttribute/VerifyAttribute.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAC,EAAE,EAA4B,MAAM,OAAO,CAAC;AACpD,OAA4B,EAAC,wBAAwB,EAAC,MAAM,uBAAuB,CAAC;AAUpF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,wBAAwB,EAAE,cAAc,GAAG,UAAU,GAAG,eAAe,CAAC,GAAG;IACjH;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,QAAA,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CA6E7C,CAAC;AAEF,eAAe,eAAe,CAAC"}