@thunderid/react 1.14.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 (621) 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/cjs/ThunderIDReactClient.cjs +6 -2
  9. package/dist/cjs/ThunderIDReactClient.cjs.map +1 -1
  10. package/dist/cjs/api/account/getAccessibleOrganizationUnits.cjs +26 -0
  11. package/dist/cjs/api/account/getAccessibleOrganizationUnits.cjs.map +1 -0
  12. package/dist/cjs/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.cjs +214 -0
  13. package/dist/cjs/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.cjs.map +1 -0
  14. package/dist/cjs/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.cjs +184 -0
  15. package/dist/cjs/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.cjs.map +1 -0
  16. package/dist/cjs/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.cjs +139 -0
  17. package/dist/cjs/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.cjs.map +1 -0
  18. package/dist/cjs/components/auth/SignIn/SignIn.cjs +23 -20
  19. package/dist/cjs/components/auth/SignIn/SignIn.cjs.map +1 -1
  20. package/dist/cjs/components/auth/SignUp/BaseSignUp.cjs +13 -9
  21. package/dist/cjs/components/auth/SignUp/BaseSignUp.cjs.map +1 -1
  22. package/dist/cjs/components/auth/flow/AuthOptionFactory.cjs +2 -2
  23. package/dist/cjs/components/auth/flow/AuthOptionFactory.cjs.map +1 -1
  24. package/dist/cjs/components/common/LanguageSwitcher/BaseLanguageSwitcher.cjs +1 -1
  25. package/dist/cjs/components/{admin → management}/AgentCreate/AgentCreate.cjs +8 -7
  26. package/dist/cjs/components/management/AgentCreate/AgentCreate.cjs.map +1 -0
  27. package/dist/cjs/components/{admin → management}/AgentCreate/BaseAgentCreate.cjs +1 -1
  28. package/dist/cjs/components/management/AgentCreate/BaseAgentCreate.cjs.map +1 -0
  29. package/dist/cjs/components/{admin → management}/AgentDetails/AgentDetails.cjs +1 -1
  30. package/dist/cjs/components/management/AgentDetails/AgentDetails.cjs.map +1 -0
  31. package/dist/cjs/components/{admin → management}/AgentDetails/BaseAgentDetails.cjs +1 -1
  32. package/dist/cjs/components/management/AgentDetails/BaseAgentDetails.cjs.map +1 -0
  33. package/dist/cjs/components/{admin → management}/AgentList/AgentList.cjs +11 -6
  34. package/dist/cjs/components/management/AgentList/AgentList.cjs.map +1 -0
  35. package/dist/cjs/components/{admin → management}/AgentList/BaseAgentList.cjs +1 -1
  36. package/dist/cjs/components/management/AgentList/BaseAgentList.cjs.map +1 -0
  37. package/dist/cjs/components/{admin → management}/ApplicationCreate/ApplicationCreate.cjs +10 -5
  38. package/dist/cjs/components/management/ApplicationCreate/ApplicationCreate.cjs.map +1 -0
  39. package/dist/cjs/components/{admin → management}/ApplicationCreate/BaseApplicationCreate.cjs +1 -1
  40. package/dist/cjs/components/management/ApplicationCreate/BaseApplicationCreate.cjs.map +1 -0
  41. package/dist/cjs/components/{admin → management}/ApplicationDetails/ApplicationDetails.cjs +1 -1
  42. package/dist/cjs/components/management/ApplicationDetails/ApplicationDetails.cjs.map +1 -0
  43. package/dist/cjs/components/{admin → management}/ApplicationDetails/BaseApplicationDetails.cjs +1 -1
  44. package/dist/cjs/components/management/ApplicationDetails/BaseApplicationDetails.cjs.map +1 -0
  45. package/dist/cjs/components/{admin → management}/ApplicationList/ApplicationList.cjs +9 -4
  46. package/dist/cjs/components/management/ApplicationList/ApplicationList.cjs.map +1 -0
  47. package/dist/cjs/components/{admin → management}/ApplicationList/BaseApplicationList.cjs +1 -1
  48. package/dist/cjs/components/management/ApplicationList/BaseApplicationList.cjs.map +1 -0
  49. package/dist/cjs/components/{admin → management}/GroupCreate/BaseGroupCreate.cjs +1 -1
  50. package/dist/cjs/components/management/GroupCreate/BaseGroupCreate.cjs.map +1 -0
  51. package/dist/cjs/components/{admin → management}/GroupCreate/GroupCreate.cjs +1 -1
  52. package/dist/cjs/components/management/GroupCreate/GroupCreate.cjs.map +1 -0
  53. package/dist/cjs/components/management/GroupDetails/BaseGroupDetails.cjs +86 -0
  54. package/dist/cjs/components/management/GroupDetails/BaseGroupDetails.cjs.map +1 -0
  55. package/dist/cjs/components/management/GroupDetails/GroupDetails.cjs +60 -0
  56. package/dist/cjs/components/management/GroupDetails/GroupDetails.cjs.map +1 -0
  57. package/dist/cjs/components/{admin → management}/GroupList/BaseGroupList.cjs +1 -1
  58. package/dist/cjs/components/management/GroupList/BaseGroupList.cjs.map +1 -0
  59. package/dist/cjs/components/{admin → management}/GroupList/GroupList.cjs +1 -1
  60. package/dist/cjs/components/management/GroupList/GroupList.cjs.map +1 -0
  61. package/dist/cjs/components/{admin → management}/GroupMembers/BaseGroupMembers.cjs +1 -1
  62. package/dist/cjs/components/management/GroupMembers/BaseGroupMembers.cjs.map +1 -0
  63. package/dist/cjs/components/{admin → management}/GroupMembers/GroupMembers.cjs +1 -1
  64. package/dist/cjs/components/management/GroupMembers/GroupMembers.cjs.map +1 -0
  65. package/dist/cjs/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.cjs +140 -0
  66. package/dist/cjs/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.cjs.map +1 -0
  67. package/dist/cjs/components/management/OrganizationUnitCreate/OrganizationUnitCreate.cjs +83 -0
  68. package/dist/cjs/components/management/OrganizationUnitCreate/OrganizationUnitCreate.cjs.map +1 -0
  69. package/dist/cjs/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.cjs +276 -0
  70. package/dist/cjs/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.cjs.map +1 -0
  71. package/dist/cjs/components/management/OrganizationUnitDetails/OrganizationUnitDetails.cjs +142 -0
  72. package/dist/cjs/components/management/OrganizationUnitDetails/OrganizationUnitDetails.cjs.map +1 -0
  73. package/dist/cjs/components/management/OrganizationUnitList/BaseOrganizationUnitList.cjs +78 -0
  74. package/dist/cjs/components/management/OrganizationUnitList/BaseOrganizationUnitList.cjs.map +1 -0
  75. package/dist/cjs/components/management/OrganizationUnitList/OrganizationUnitList.cjs +69 -0
  76. package/dist/cjs/components/management/OrganizationUnitList/OrganizationUnitList.cjs.map +1 -0
  77. package/dist/cjs/components/management/ProjectCreate/BaseProjectCreate.cjs +116 -0
  78. package/dist/cjs/components/management/ProjectCreate/BaseProjectCreate.cjs.map +1 -0
  79. package/dist/cjs/components/management/ProjectCreate/ProjectCreate.cjs +43 -0
  80. package/dist/cjs/components/management/ProjectCreate/ProjectCreate.cjs.map +1 -0
  81. package/dist/cjs/components/management/ProjectDetails/BaseProjectDetails.cjs +172 -0
  82. package/dist/cjs/components/management/ProjectDetails/BaseProjectDetails.cjs.map +1 -0
  83. package/dist/cjs/components/management/ProjectDetails/ProjectDetails.cjs +68 -0
  84. package/dist/cjs/components/management/ProjectDetails/ProjectDetails.cjs.map +1 -0
  85. package/dist/cjs/components/management/ProjectList/BaseProjectList.cjs +78 -0
  86. package/dist/cjs/components/management/ProjectList/BaseProjectList.cjs.map +1 -0
  87. package/dist/cjs/components/management/ProjectList/ProjectList.cjs +51 -0
  88. package/dist/cjs/components/management/ProjectList/ProjectList.cjs.map +1 -0
  89. package/dist/cjs/components/management/ProjectSwitcher/BaseProjectSwitcher.cjs +58 -0
  90. package/dist/cjs/components/management/ProjectSwitcher/BaseProjectSwitcher.cjs.map +1 -0
  91. package/dist/cjs/components/management/ProjectSwitcher/ProjectSwitcher.cjs +72 -0
  92. package/dist/cjs/components/management/ProjectSwitcher/ProjectSwitcher.cjs.map +1 -0
  93. package/dist/cjs/components/{admin → management}/RoleAssignments/BaseRoleAssignments.cjs +1 -1
  94. package/dist/cjs/components/management/RoleAssignments/BaseRoleAssignments.cjs.map +1 -0
  95. package/dist/cjs/components/{admin → management}/RoleAssignments/RoleAssignments.cjs +1 -1
  96. package/dist/cjs/components/management/RoleAssignments/RoleAssignments.cjs.map +1 -0
  97. package/dist/cjs/components/{admin → management}/RoleCreate/BaseRoleCreate.cjs +1 -1
  98. package/dist/cjs/components/management/RoleCreate/BaseRoleCreate.cjs.map +1 -0
  99. package/dist/cjs/components/{admin → management}/RoleCreate/RoleCreate.cjs +1 -1
  100. package/dist/cjs/components/management/RoleCreate/RoleCreate.cjs.map +1 -0
  101. package/dist/cjs/components/management/RoleDetails/BaseRoleDetails.cjs +87 -0
  102. package/dist/cjs/components/management/RoleDetails/BaseRoleDetails.cjs.map +1 -0
  103. package/dist/cjs/components/management/RoleDetails/RoleDetails.cjs +68 -0
  104. package/dist/cjs/components/management/RoleDetails/RoleDetails.cjs.map +1 -0
  105. package/dist/cjs/components/{admin → management}/RoleList/BaseRoleList.cjs +1 -1
  106. package/dist/cjs/components/management/RoleList/BaseRoleList.cjs.map +1 -0
  107. package/dist/cjs/components/{admin → management}/RoleList/RoleList.cjs +1 -1
  108. package/dist/cjs/components/management/RoleList/RoleList.cjs.map +1 -0
  109. package/dist/cjs/components/management/RolePermissions/BaseRolePermissions.cjs +181 -0
  110. package/dist/cjs/components/management/RolePermissions/BaseRolePermissions.cjs.map +1 -0
  111. package/dist/cjs/components/management/RolePermissions/RolePermissions.cjs +112 -0
  112. package/dist/cjs/components/management/RolePermissions/RolePermissions.cjs.map +1 -0
  113. package/dist/cjs/components/management/SharingPolicies/BaseSharingPolicies.cjs +308 -0
  114. package/dist/cjs/components/management/SharingPolicies/BaseSharingPolicies.cjs.map +1 -0
  115. package/dist/cjs/components/management/SharingPolicies/SharingPolicies.cjs +126 -0
  116. package/dist/cjs/components/management/SharingPolicies/SharingPolicies.cjs.map +1 -0
  117. package/dist/cjs/components/{admin → management}/UserCreate/BaseUserCreate.cjs +1 -1
  118. package/dist/cjs/components/management/UserCreate/BaseUserCreate.cjs.map +1 -0
  119. package/dist/cjs/components/{admin → management}/UserCreate/UserCreate.cjs +1 -1
  120. package/dist/cjs/components/management/UserCreate/UserCreate.cjs.map +1 -0
  121. package/dist/cjs/components/{admin → management}/UserCreate/userCreateFields.cjs +1 -1
  122. package/dist/cjs/components/management/UserCreate/userCreateFields.cjs.map +1 -0
  123. package/dist/cjs/components/{admin → management}/UserDetails/BaseUserDetails.cjs +1 -1
  124. package/dist/cjs/components/management/UserDetails/BaseUserDetails.cjs.map +1 -0
  125. package/dist/cjs/components/{admin → management}/UserDetails/UserDetails.cjs +1 -1
  126. package/dist/cjs/components/management/UserDetails/UserDetails.cjs.map +1 -0
  127. package/dist/cjs/components/{admin → management}/UserList/BaseUserList.cjs +1 -1
  128. package/dist/cjs/components/management/UserList/BaseUserList.cjs.map +1 -0
  129. package/dist/cjs/components/{admin → management}/UserList/UserList.cjs +1 -1
  130. package/dist/cjs/components/management/UserList/UserList.cjs.map +1 -0
  131. package/dist/cjs/components/{admin → management}/shared/AccountLifecycleParts.cjs +1 -1
  132. package/dist/cjs/components/management/shared/AccountLifecycleParts.cjs.map +1 -0
  133. package/dist/cjs/components/{admin → management}/shared/AdminParts.cjs +1 -1
  134. package/dist/cjs/components/management/shared/AdminParts.cjs.map +1 -0
  135. package/dist/cjs/components/{admin → management}/shared/AdminParts.styles.cjs +1 -1
  136. package/dist/cjs/components/management/shared/AdminParts.styles.cjs.map +1 -0
  137. package/dist/cjs/components/{admin → management}/shared/AdminSearch.cjs +1 -1
  138. package/dist/cjs/components/management/shared/AdminSearch.cjs.map +1 -0
  139. package/dist/cjs/components/{admin → management}/shared/AdminSection.cjs +1 -1
  140. package/dist/cjs/components/management/shared/AdminSection.cjs.map +1 -0
  141. package/dist/cjs/components/{admin → management}/shared/AdminSection.styles.cjs +1 -1
  142. package/dist/cjs/components/management/shared/AdminSection.styles.cjs.map +1 -0
  143. package/dist/cjs/components/{admin → management}/shared/ApplicationFormFields.cjs +1 -1
  144. package/dist/cjs/components/management/shared/ApplicationFormFields.cjs.map +1 -0
  145. package/dist/cjs/components/{admin → management}/shared/ClientSecretNotice.cjs +1 -1
  146. package/dist/cjs/components/management/shared/ClientSecretNotice.cjs.map +1 -0
  147. package/dist/cjs/components/{admin → management}/shared/IdentityPicker.cjs +1 -1
  148. package/dist/cjs/components/management/shared/IdentityPicker.cjs.map +1 -0
  149. package/dist/cjs/components/management/shared/formatTimestamp.cjs +18 -0
  150. package/dist/cjs/components/management/shared/formatTimestamp.cjs.map +1 -0
  151. package/dist/cjs/components/{admin → management}/shared/useAdminPartStyles.cjs +1 -1
  152. package/dist/cjs/components/management/shared/useAdminPartStyles.cjs.map +1 -0
  153. package/dist/cjs/components/{admin → management}/shared/useDefaultOuId.cjs +1 -1
  154. package/dist/cjs/components/management/shared/useDefaultOuId.cjs.map +1 -0
  155. package/dist/cjs/components/management/shared/useProjectPlacement.cjs +23 -0
  156. package/dist/cjs/components/management/shared/useProjectPlacement.cjs.map +1 -0
  157. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs +5 -0
  158. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs.map +1 -1
  159. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs +27 -1
  160. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -1
  161. package/dist/cjs/contexts/ThunderID/useCurrentProjectState.cjs +33 -0
  162. package/dist/cjs/contexts/ThunderID/useCurrentProjectState.cjs.map +1 -0
  163. package/dist/cjs/hooks/management/useManagementEndpoint.cjs.map +1 -1
  164. package/dist/cjs/index.cjs +377 -33
  165. package/dist/cjs/utils/flowTransformer.cjs +9 -0
  166. package/dist/cjs/utils/flowTransformer.cjs.map +1 -1
  167. package/dist/cjs/utils/getOrganizationUnitSwitchErrorKey.cjs +24 -0
  168. package/dist/cjs/utils/getOrganizationUnitSwitchErrorKey.cjs.map +1 -0
  169. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.d.ts +85 -0
  170. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.d.ts.map +1 -0
  171. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.js +209 -0
  172. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.js.map +1 -0
  173. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.d.ts +11 -0
  174. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.d.ts.map +1 -0
  175. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.js +184 -0
  176. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.js.map +1 -0
  177. package/dist/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.d.ts +54 -0
  178. package/dist/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.d.ts.map +1 -0
  179. package/dist/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.js +135 -0
  180. package/dist/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.js.map +1 -0
  181. package/dist/components/auth/SignIn/SignIn.d.ts +5 -0
  182. package/dist/components/auth/SignIn/SignIn.d.ts.map +1 -1
  183. package/dist/components/auth/SignIn/SignIn.js +25 -22
  184. package/dist/components/auth/SignIn/SignIn.js.map +1 -1
  185. package/dist/components/auth/SignUp/BaseSignUp.d.ts.map +1 -1
  186. package/dist/components/auth/SignUp/BaseSignUp.js +14 -10
  187. package/dist/components/auth/SignUp/BaseSignUp.js.map +1 -1
  188. package/dist/components/auth/flow/AuthOptionFactory.js +2 -2
  189. package/dist/components/auth/flow/AuthOptionFactory.js.map +1 -1
  190. package/dist/components/common/LanguageSwitcher/BaseLanguageSwitcher.js +1 -1
  191. package/dist/components/{admin → management}/AgentCreate/AgentCreate.d.ts +2 -1
  192. package/dist/components/management/AgentCreate/AgentCreate.d.ts.map +1 -0
  193. package/dist/components/{admin → management}/AgentCreate/AgentCreate.js +8 -7
  194. package/dist/components/management/AgentCreate/AgentCreate.js.map +1 -0
  195. package/dist/components/management/AgentCreate/BaseAgentCreate.d.ts.map +1 -0
  196. package/dist/components/{admin → management}/AgentCreate/BaseAgentCreate.js +1 -1
  197. package/dist/components/management/AgentCreate/BaseAgentCreate.js.map +1 -0
  198. package/dist/components/management/AgentDetails/AgentDetails.d.ts.map +1 -0
  199. package/dist/components/{admin → management}/AgentDetails/AgentDetails.js +1 -1
  200. package/dist/components/management/AgentDetails/AgentDetails.js.map +1 -0
  201. package/dist/components/management/AgentDetails/BaseAgentDetails.d.ts.map +1 -0
  202. package/dist/components/{admin → management}/AgentDetails/BaseAgentDetails.js +1 -1
  203. package/dist/components/management/AgentDetails/BaseAgentDetails.js.map +1 -0
  204. package/dist/components/{admin → management}/AgentList/AgentList.d.ts +7 -1
  205. package/dist/components/management/AgentList/AgentList.d.ts.map +1 -0
  206. package/dist/components/{admin → management}/AgentList/AgentList.js +11 -6
  207. package/dist/components/management/AgentList/AgentList.js.map +1 -0
  208. package/dist/components/management/AgentList/BaseAgentList.d.ts.map +1 -0
  209. package/dist/components/{admin → management}/AgentList/BaseAgentList.js +1 -1
  210. package/dist/components/management/AgentList/BaseAgentList.js.map +1 -0
  211. package/dist/components/{admin → management}/ApplicationCreate/ApplicationCreate.d.ts +2 -1
  212. package/dist/components/management/ApplicationCreate/ApplicationCreate.d.ts.map +1 -0
  213. package/dist/components/{admin → management}/ApplicationCreate/ApplicationCreate.js +10 -5
  214. package/dist/components/management/ApplicationCreate/ApplicationCreate.js.map +1 -0
  215. package/dist/components/management/ApplicationCreate/BaseApplicationCreate.d.ts.map +1 -0
  216. package/dist/components/{admin → management}/ApplicationCreate/BaseApplicationCreate.js +1 -1
  217. package/dist/components/management/ApplicationCreate/BaseApplicationCreate.js.map +1 -0
  218. package/dist/components/management/ApplicationDetails/ApplicationDetails.d.ts.map +1 -0
  219. package/dist/components/{admin → management}/ApplicationDetails/ApplicationDetails.js +1 -1
  220. package/dist/components/management/ApplicationDetails/ApplicationDetails.js.map +1 -0
  221. package/dist/components/management/ApplicationDetails/BaseApplicationDetails.d.ts.map +1 -0
  222. package/dist/components/{admin → management}/ApplicationDetails/BaseApplicationDetails.js +1 -1
  223. package/dist/components/management/ApplicationDetails/BaseApplicationDetails.js.map +1 -0
  224. package/dist/components/{admin → management}/ApplicationList/ApplicationList.d.ts +7 -1
  225. package/dist/components/management/ApplicationList/ApplicationList.d.ts.map +1 -0
  226. package/dist/components/{admin → management}/ApplicationList/ApplicationList.js +9 -4
  227. package/dist/components/management/ApplicationList/ApplicationList.js.map +1 -0
  228. package/dist/components/management/ApplicationList/BaseApplicationList.d.ts.map +1 -0
  229. package/dist/components/{admin → management}/ApplicationList/BaseApplicationList.js +1 -1
  230. package/dist/components/management/ApplicationList/BaseApplicationList.js.map +1 -0
  231. package/dist/components/management/GroupCreate/BaseGroupCreate.d.ts.map +1 -0
  232. package/dist/components/{admin → management}/GroupCreate/BaseGroupCreate.js +1 -1
  233. package/dist/components/management/GroupCreate/BaseGroupCreate.js.map +1 -0
  234. package/dist/components/management/GroupCreate/GroupCreate.d.ts.map +1 -0
  235. package/dist/components/{admin → management}/GroupCreate/GroupCreate.js +1 -1
  236. package/dist/components/management/GroupCreate/GroupCreate.js.map +1 -0
  237. package/dist/components/management/GroupDetails/BaseGroupDetails.d.ts +47 -0
  238. package/dist/components/management/GroupDetails/BaseGroupDetails.d.ts.map +1 -0
  239. package/dist/components/management/GroupDetails/BaseGroupDetails.js +84 -0
  240. package/dist/components/management/GroupDetails/BaseGroupDetails.js.map +1 -0
  241. package/dist/components/management/GroupDetails/GroupDetails.d.ts +37 -0
  242. package/dist/components/management/GroupDetails/GroupDetails.d.ts.map +1 -0
  243. package/dist/components/management/GroupDetails/GroupDetails.js +57 -0
  244. package/dist/components/management/GroupDetails/GroupDetails.js.map +1 -0
  245. package/dist/components/management/GroupList/BaseGroupList.d.ts.map +1 -0
  246. package/dist/components/{admin → management}/GroupList/BaseGroupList.js +1 -1
  247. package/dist/components/management/GroupList/BaseGroupList.js.map +1 -0
  248. package/dist/components/management/GroupList/GroupList.d.ts.map +1 -0
  249. package/dist/components/{admin → management}/GroupList/GroupList.js +1 -1
  250. package/dist/components/management/GroupList/GroupList.js.map +1 -0
  251. package/dist/components/management/GroupMembers/BaseGroupMembers.d.ts.map +1 -0
  252. package/dist/components/{admin → management}/GroupMembers/BaseGroupMembers.js +1 -1
  253. package/dist/components/management/GroupMembers/BaseGroupMembers.js.map +1 -0
  254. package/dist/components/management/GroupMembers/GroupMembers.d.ts.map +1 -0
  255. package/dist/components/{admin → management}/GroupMembers/GroupMembers.js +1 -1
  256. package/dist/components/management/GroupMembers/GroupMembers.js.map +1 -0
  257. package/dist/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.d.ts +85 -0
  258. package/dist/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.d.ts.map +1 -0
  259. package/dist/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.js +137 -0
  260. package/dist/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.js.map +1 -0
  261. package/dist/components/management/OrganizationUnitCreate/OrganizationUnitCreate.d.ts +21 -0
  262. package/dist/components/management/OrganizationUnitCreate/OrganizationUnitCreate.d.ts.map +1 -0
  263. package/dist/components/management/OrganizationUnitCreate/OrganizationUnitCreate.js +79 -0
  264. package/dist/components/management/OrganizationUnitCreate/OrganizationUnitCreate.js.map +1 -0
  265. package/dist/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.d.ts +105 -0
  266. package/dist/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.d.ts.map +1 -0
  267. package/dist/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.js +273 -0
  268. package/dist/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.js.map +1 -0
  269. package/dist/components/management/OrganizationUnitDetails/OrganizationUnitDetails.d.ts +42 -0
  270. package/dist/components/management/OrganizationUnitDetails/OrganizationUnitDetails.d.ts.map +1 -0
  271. package/dist/components/management/OrganizationUnitDetails/OrganizationUnitDetails.js +139 -0
  272. package/dist/components/management/OrganizationUnitDetails/OrganizationUnitDetails.js.map +1 -0
  273. package/dist/components/management/OrganizationUnitList/BaseOrganizationUnitList.d.ts +54 -0
  274. package/dist/components/management/OrganizationUnitList/BaseOrganizationUnitList.d.ts.map +1 -0
  275. package/dist/components/management/OrganizationUnitList/BaseOrganizationUnitList.js +76 -0
  276. package/dist/components/management/OrganizationUnitList/BaseOrganizationUnitList.js.map +1 -0
  277. package/dist/components/management/OrganizationUnitList/OrganizationUnitList.d.ts +19 -0
  278. package/dist/components/management/OrganizationUnitList/OrganizationUnitList.d.ts.map +1 -0
  279. package/dist/components/management/OrganizationUnitList/OrganizationUnitList.js +65 -0
  280. package/dist/components/management/OrganizationUnitList/OrganizationUnitList.js.map +1 -0
  281. package/dist/components/management/ProjectCreate/BaseProjectCreate.d.ts +60 -0
  282. package/dist/components/management/ProjectCreate/BaseProjectCreate.d.ts.map +1 -0
  283. package/dist/components/management/ProjectCreate/BaseProjectCreate.js +113 -0
  284. package/dist/components/management/ProjectCreate/BaseProjectCreate.js.map +1 -0
  285. package/dist/components/management/ProjectCreate/ProjectCreate.d.ts +20 -0
  286. package/dist/components/management/ProjectCreate/ProjectCreate.d.ts.map +1 -0
  287. package/dist/components/management/ProjectCreate/ProjectCreate.js +40 -0
  288. package/dist/components/management/ProjectCreate/ProjectCreate.js.map +1 -0
  289. package/dist/components/management/ProjectDetails/BaseProjectDetails.d.ts +60 -0
  290. package/dist/components/management/ProjectDetails/BaseProjectDetails.d.ts.map +1 -0
  291. package/dist/components/management/ProjectDetails/BaseProjectDetails.js +169 -0
  292. package/dist/components/management/ProjectDetails/BaseProjectDetails.js.map +1 -0
  293. package/dist/components/management/ProjectDetails/ProjectDetails.d.ts +36 -0
  294. package/dist/components/management/ProjectDetails/ProjectDetails.d.ts.map +1 -0
  295. package/dist/components/management/ProjectDetails/ProjectDetails.js +65 -0
  296. package/dist/components/management/ProjectDetails/ProjectDetails.js.map +1 -0
  297. package/dist/components/management/ProjectList/BaseProjectList.d.ts +53 -0
  298. package/dist/components/management/ProjectList/BaseProjectList.d.ts.map +1 -0
  299. package/dist/components/management/ProjectList/BaseProjectList.js +76 -0
  300. package/dist/components/management/ProjectList/BaseProjectList.js.map +1 -0
  301. package/dist/components/management/ProjectList/ProjectList.d.ts +14 -0
  302. package/dist/components/management/ProjectList/ProjectList.d.ts.map +1 -0
  303. package/dist/components/management/ProjectList/ProjectList.js +47 -0
  304. package/dist/components/management/ProjectList/ProjectList.js.map +1 -0
  305. package/dist/components/management/ProjectSwitcher/BaseProjectSwitcher.d.ts +69 -0
  306. package/dist/components/management/ProjectSwitcher/BaseProjectSwitcher.d.ts.map +1 -0
  307. package/dist/components/management/ProjectSwitcher/BaseProjectSwitcher.js +55 -0
  308. package/dist/components/management/ProjectSwitcher/BaseProjectSwitcher.js.map +1 -0
  309. package/dist/components/management/ProjectSwitcher/ProjectSwitcher.d.ts +25 -0
  310. package/dist/components/management/ProjectSwitcher/ProjectSwitcher.d.ts.map +1 -0
  311. package/dist/components/management/ProjectSwitcher/ProjectSwitcher.js +68 -0
  312. package/dist/components/management/ProjectSwitcher/ProjectSwitcher.js.map +1 -0
  313. package/dist/components/management/RoleAssignments/BaseRoleAssignments.d.ts.map +1 -0
  314. package/dist/components/{admin → management}/RoleAssignments/BaseRoleAssignments.js +1 -1
  315. package/dist/components/management/RoleAssignments/BaseRoleAssignments.js.map +1 -0
  316. package/dist/components/management/RoleAssignments/RoleAssignments.d.ts.map +1 -0
  317. package/dist/components/{admin → management}/RoleAssignments/RoleAssignments.js +1 -1
  318. package/dist/components/management/RoleAssignments/RoleAssignments.js.map +1 -0
  319. package/dist/components/management/RoleCreate/BaseRoleCreate.d.ts.map +1 -0
  320. package/dist/components/{admin → management}/RoleCreate/BaseRoleCreate.js +1 -1
  321. package/dist/components/management/RoleCreate/BaseRoleCreate.js.map +1 -0
  322. package/dist/components/management/RoleCreate/RoleCreate.d.ts.map +1 -0
  323. package/dist/components/{admin → management}/RoleCreate/RoleCreate.js +1 -1
  324. package/dist/components/management/RoleCreate/RoleCreate.js.map +1 -0
  325. package/dist/components/management/RoleDetails/BaseRoleDetails.d.ts +51 -0
  326. package/dist/components/management/RoleDetails/BaseRoleDetails.d.ts.map +1 -0
  327. package/dist/components/management/RoleDetails/BaseRoleDetails.js +85 -0
  328. package/dist/components/management/RoleDetails/BaseRoleDetails.js.map +1 -0
  329. package/dist/components/management/RoleDetails/RoleDetails.d.ts +39 -0
  330. package/dist/components/management/RoleDetails/RoleDetails.d.ts.map +1 -0
  331. package/dist/components/management/RoleDetails/RoleDetails.js +65 -0
  332. package/dist/components/management/RoleDetails/RoleDetails.js.map +1 -0
  333. package/dist/components/management/RoleList/BaseRoleList.d.ts.map +1 -0
  334. package/dist/components/{admin → management}/RoleList/BaseRoleList.js +1 -1
  335. package/dist/components/management/RoleList/BaseRoleList.js.map +1 -0
  336. package/dist/components/management/RoleList/RoleList.d.ts.map +1 -0
  337. package/dist/components/{admin → management}/RoleList/RoleList.js +1 -1
  338. package/dist/components/management/RoleList/RoleList.js.map +1 -0
  339. package/dist/components/management/RolePermissions/BaseRolePermissions.d.ts +104 -0
  340. package/dist/components/management/RolePermissions/BaseRolePermissions.d.ts.map +1 -0
  341. package/dist/components/management/RolePermissions/BaseRolePermissions.js +178 -0
  342. package/dist/components/management/RolePermissions/BaseRolePermissions.js.map +1 -0
  343. package/dist/components/management/RolePermissions/RolePermissions.d.ts +29 -0
  344. package/dist/components/management/RolePermissions/RolePermissions.d.ts.map +1 -0
  345. package/dist/components/management/RolePermissions/RolePermissions.js +108 -0
  346. package/dist/components/management/RolePermissions/RolePermissions.js.map +1 -0
  347. package/dist/components/management/SharingPolicies/BaseSharingPolicies.d.ts +124 -0
  348. package/dist/components/management/SharingPolicies/BaseSharingPolicies.d.ts.map +1 -0
  349. package/dist/components/management/SharingPolicies/BaseSharingPolicies.js +304 -0
  350. package/dist/components/management/SharingPolicies/BaseSharingPolicies.js.map +1 -0
  351. package/dist/components/management/SharingPolicies/SharingPolicies.d.ts +36 -0
  352. package/dist/components/management/SharingPolicies/SharingPolicies.d.ts.map +1 -0
  353. package/dist/components/management/SharingPolicies/SharingPolicies.js +122 -0
  354. package/dist/components/management/SharingPolicies/SharingPolicies.js.map +1 -0
  355. package/dist/components/management/UserCreate/BaseUserCreate.d.ts.map +1 -0
  356. package/dist/components/{admin → management}/UserCreate/BaseUserCreate.js +1 -1
  357. package/dist/components/management/UserCreate/BaseUserCreate.js.map +1 -0
  358. package/dist/components/management/UserCreate/UserCreate.d.ts.map +1 -0
  359. package/dist/components/{admin → management}/UserCreate/UserCreate.js +1 -1
  360. package/dist/components/management/UserCreate/UserCreate.js.map +1 -0
  361. package/dist/components/management/UserCreate/userCreateFields.d.ts.map +1 -0
  362. package/dist/components/{admin → management}/UserCreate/userCreateFields.js +1 -1
  363. package/dist/components/management/UserCreate/userCreateFields.js.map +1 -0
  364. package/dist/components/management/UserDetails/BaseUserDetails.d.ts.map +1 -0
  365. package/dist/components/{admin → management}/UserDetails/BaseUserDetails.js +1 -1
  366. package/dist/components/management/UserDetails/BaseUserDetails.js.map +1 -0
  367. package/dist/components/management/UserDetails/UserDetails.d.ts.map +1 -0
  368. package/dist/components/{admin → management}/UserDetails/UserDetails.js +1 -1
  369. package/dist/components/management/UserDetails/UserDetails.js.map +1 -0
  370. package/dist/components/management/UserList/BaseUserList.d.ts.map +1 -0
  371. package/dist/components/{admin → management}/UserList/BaseUserList.js +1 -1
  372. package/dist/components/management/UserList/BaseUserList.js.map +1 -0
  373. package/dist/components/management/UserList/UserList.d.ts.map +1 -0
  374. package/dist/components/{admin → management}/UserList/UserList.js +1 -1
  375. package/dist/components/management/UserList/UserList.js.map +1 -0
  376. package/dist/components/management/shared/AccountLifecycleParts.d.ts.map +1 -0
  377. package/dist/components/{admin → management}/shared/AccountLifecycleParts.js +1 -1
  378. package/dist/components/management/shared/AccountLifecycleParts.js.map +1 -0
  379. package/dist/components/management/shared/AdminListRenderProps.d.ts.map +1 -0
  380. package/dist/components/management/shared/AdminParts.d.ts.map +1 -0
  381. package/dist/components/{admin → management}/shared/AdminParts.js +1 -1
  382. package/dist/components/management/shared/AdminParts.js.map +1 -0
  383. package/dist/components/management/shared/AdminParts.styles.d.ts.map +1 -0
  384. package/dist/components/{admin → management}/shared/AdminParts.styles.js +1 -1
  385. package/dist/components/management/shared/AdminParts.styles.js.map +1 -0
  386. package/dist/components/management/shared/AdminSearch.d.ts.map +1 -0
  387. package/dist/components/{admin → management}/shared/AdminSearch.js +1 -1
  388. package/dist/components/management/shared/AdminSearch.js.map +1 -0
  389. package/dist/components/management/shared/AdminSection.d.ts.map +1 -0
  390. package/dist/components/{admin → management}/shared/AdminSection.js +1 -1
  391. package/dist/components/management/shared/AdminSection.js.map +1 -0
  392. package/dist/components/management/shared/AdminSection.styles.d.ts.map +1 -0
  393. package/dist/components/{admin → management}/shared/AdminSection.styles.js +1 -1
  394. package/dist/components/management/shared/AdminSection.styles.js.map +1 -0
  395. package/dist/components/management/shared/ApplicationFormFields.d.ts.map +1 -0
  396. package/dist/components/{admin → management}/shared/ApplicationFormFields.js +1 -1
  397. package/dist/components/management/shared/ApplicationFormFields.js.map +1 -0
  398. package/dist/components/management/shared/ClientSecretNotice.d.ts.map +1 -0
  399. package/dist/components/{admin → management}/shared/ClientSecretNotice.js +1 -1
  400. package/dist/components/management/shared/ClientSecretNotice.js.map +1 -0
  401. package/dist/components/management/shared/IdentityPicker.d.ts.map +1 -0
  402. package/dist/components/{admin → management}/shared/IdentityPicker.js +1 -1
  403. package/dist/components/management/shared/IdentityPicker.js.map +1 -0
  404. package/dist/components/management/shared/formatTimestamp.d.ts +9 -0
  405. package/dist/components/management/shared/formatTimestamp.d.ts.map +1 -0
  406. package/dist/components/management/shared/formatTimestamp.js +17 -0
  407. package/dist/components/management/shared/formatTimestamp.js.map +1 -0
  408. package/dist/components/management/shared/useAdminPartStyles.d.ts.map +1 -0
  409. package/dist/components/{admin → management}/shared/useAdminPartStyles.js +1 -1
  410. package/dist/components/management/shared/useAdminPartStyles.js.map +1 -0
  411. package/dist/components/management/shared/useDefaultOuId.d.ts.map +1 -0
  412. package/dist/components/{admin → management}/shared/useDefaultOuId.js +1 -1
  413. package/dist/components/management/shared/useDefaultOuId.js.map +1 -0
  414. package/dist/components/management/shared/useProjectPlacement.d.ts +26 -0
  415. package/dist/components/management/shared/useProjectPlacement.d.ts.map +1 -0
  416. package/dist/components/management/shared/useProjectPlacement.js +23 -0
  417. package/dist/components/management/shared/useProjectPlacement.js.map +1 -0
  418. package/dist/contexts/ThunderID/ThunderIDContext.d.ts +27 -1
  419. package/dist/contexts/ThunderID/ThunderIDContext.d.ts.map +1 -1
  420. package/dist/contexts/ThunderID/ThunderIDContext.js +5 -0
  421. package/dist/contexts/ThunderID/ThunderIDContext.js.map +1 -1
  422. package/dist/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
  423. package/dist/contexts/ThunderID/ThunderIDProvider.js +28 -2
  424. package/dist/contexts/ThunderID/ThunderIDProvider.js.map +1 -1
  425. package/dist/contexts/ThunderID/useCurrentProjectState.d.ts +26 -0
  426. package/dist/contexts/ThunderID/useCurrentProjectState.d.ts.map +1 -0
  427. package/dist/contexts/ThunderID/useCurrentProjectState.js +30 -0
  428. package/dist/contexts/ThunderID/useCurrentProjectState.js.map +1 -0
  429. package/dist/hooks/management/useManagementEndpoint.d.ts +1 -1
  430. package/dist/hooks/management/useManagementEndpoint.d.ts.map +1 -1
  431. package/dist/hooks/management/useManagementEndpoint.js.map +1 -1
  432. package/dist/index.d.ts +120 -69
  433. package/dist/index.d.ts.map +1 -1
  434. package/dist/index.js +59 -34
  435. package/dist/utils/flowTransformer.d.ts +7 -0
  436. package/dist/utils/flowTransformer.d.ts.map +1 -1
  437. package/dist/utils/flowTransformer.js +9 -1
  438. package/dist/utils/flowTransformer.js.map +1 -1
  439. package/dist/utils/getOrganizationUnitSwitchErrorKey.d.ts +11 -0
  440. package/dist/utils/getOrganizationUnitSwitchErrorKey.d.ts.map +1 -0
  441. package/dist/utils/getOrganizationUnitSwitchErrorKey.js +22 -0
  442. package/dist/utils/getOrganizationUnitSwitchErrorKey.js.map +1 -0
  443. package/package.json +2 -2
  444. package/dist/cjs/components/admin/AgentCreate/AgentCreate.cjs.map +0 -1
  445. package/dist/cjs/components/admin/AgentCreate/BaseAgentCreate.cjs.map +0 -1
  446. package/dist/cjs/components/admin/AgentDetails/AgentDetails.cjs.map +0 -1
  447. package/dist/cjs/components/admin/AgentDetails/BaseAgentDetails.cjs.map +0 -1
  448. package/dist/cjs/components/admin/AgentList/AgentList.cjs.map +0 -1
  449. package/dist/cjs/components/admin/AgentList/BaseAgentList.cjs.map +0 -1
  450. package/dist/cjs/components/admin/ApplicationCreate/ApplicationCreate.cjs.map +0 -1
  451. package/dist/cjs/components/admin/ApplicationCreate/BaseApplicationCreate.cjs.map +0 -1
  452. package/dist/cjs/components/admin/ApplicationDetails/ApplicationDetails.cjs.map +0 -1
  453. package/dist/cjs/components/admin/ApplicationDetails/BaseApplicationDetails.cjs.map +0 -1
  454. package/dist/cjs/components/admin/ApplicationList/ApplicationList.cjs.map +0 -1
  455. package/dist/cjs/components/admin/ApplicationList/BaseApplicationList.cjs.map +0 -1
  456. package/dist/cjs/components/admin/GroupCreate/BaseGroupCreate.cjs.map +0 -1
  457. package/dist/cjs/components/admin/GroupCreate/GroupCreate.cjs.map +0 -1
  458. package/dist/cjs/components/admin/GroupList/BaseGroupList.cjs.map +0 -1
  459. package/dist/cjs/components/admin/GroupList/GroupList.cjs.map +0 -1
  460. package/dist/cjs/components/admin/GroupMembers/BaseGroupMembers.cjs.map +0 -1
  461. package/dist/cjs/components/admin/GroupMembers/GroupMembers.cjs.map +0 -1
  462. package/dist/cjs/components/admin/RoleAssignments/BaseRoleAssignments.cjs.map +0 -1
  463. package/dist/cjs/components/admin/RoleAssignments/RoleAssignments.cjs.map +0 -1
  464. package/dist/cjs/components/admin/RoleCreate/BaseRoleCreate.cjs.map +0 -1
  465. package/dist/cjs/components/admin/RoleCreate/RoleCreate.cjs.map +0 -1
  466. package/dist/cjs/components/admin/RoleList/BaseRoleList.cjs.map +0 -1
  467. package/dist/cjs/components/admin/RoleList/RoleList.cjs.map +0 -1
  468. package/dist/cjs/components/admin/RolePermissions/BaseRolePermissions.cjs +0 -69
  469. package/dist/cjs/components/admin/RolePermissions/BaseRolePermissions.cjs.map +0 -1
  470. package/dist/cjs/components/admin/RolePermissions/RolePermissions.cjs +0 -40
  471. package/dist/cjs/components/admin/RolePermissions/RolePermissions.cjs.map +0 -1
  472. package/dist/cjs/components/admin/UserCreate/BaseUserCreate.cjs.map +0 -1
  473. package/dist/cjs/components/admin/UserCreate/UserCreate.cjs.map +0 -1
  474. package/dist/cjs/components/admin/UserCreate/userCreateFields.cjs.map +0 -1
  475. package/dist/cjs/components/admin/UserDetails/BaseUserDetails.cjs.map +0 -1
  476. package/dist/cjs/components/admin/UserDetails/UserDetails.cjs.map +0 -1
  477. package/dist/cjs/components/admin/UserList/BaseUserList.cjs.map +0 -1
  478. package/dist/cjs/components/admin/UserList/UserList.cjs.map +0 -1
  479. package/dist/cjs/components/admin/shared/AccountLifecycleParts.cjs.map +0 -1
  480. package/dist/cjs/components/admin/shared/AdminParts.cjs.map +0 -1
  481. package/dist/cjs/components/admin/shared/AdminParts.styles.cjs.map +0 -1
  482. package/dist/cjs/components/admin/shared/AdminSearch.cjs.map +0 -1
  483. package/dist/cjs/components/admin/shared/AdminSection.cjs.map +0 -1
  484. package/dist/cjs/components/admin/shared/AdminSection.styles.cjs.map +0 -1
  485. package/dist/cjs/components/admin/shared/ApplicationFormFields.cjs.map +0 -1
  486. package/dist/cjs/components/admin/shared/ClientSecretNotice.cjs.map +0 -1
  487. package/dist/cjs/components/admin/shared/IdentityPicker.cjs.map +0 -1
  488. package/dist/cjs/components/admin/shared/useAdminPartStyles.cjs.map +0 -1
  489. package/dist/cjs/components/admin/shared/useDefaultOuId.cjs.map +0 -1
  490. package/dist/components/admin/AgentCreate/AgentCreate.d.ts.map +0 -1
  491. package/dist/components/admin/AgentCreate/AgentCreate.js.map +0 -1
  492. package/dist/components/admin/AgentCreate/BaseAgentCreate.d.ts.map +0 -1
  493. package/dist/components/admin/AgentCreate/BaseAgentCreate.js.map +0 -1
  494. package/dist/components/admin/AgentDetails/AgentDetails.d.ts.map +0 -1
  495. package/dist/components/admin/AgentDetails/AgentDetails.js.map +0 -1
  496. package/dist/components/admin/AgentDetails/BaseAgentDetails.d.ts.map +0 -1
  497. package/dist/components/admin/AgentDetails/BaseAgentDetails.js.map +0 -1
  498. package/dist/components/admin/AgentList/AgentList.d.ts.map +0 -1
  499. package/dist/components/admin/AgentList/AgentList.js.map +0 -1
  500. package/dist/components/admin/AgentList/BaseAgentList.d.ts.map +0 -1
  501. package/dist/components/admin/AgentList/BaseAgentList.js.map +0 -1
  502. package/dist/components/admin/ApplicationCreate/ApplicationCreate.d.ts.map +0 -1
  503. package/dist/components/admin/ApplicationCreate/ApplicationCreate.js.map +0 -1
  504. package/dist/components/admin/ApplicationCreate/BaseApplicationCreate.d.ts.map +0 -1
  505. package/dist/components/admin/ApplicationCreate/BaseApplicationCreate.js.map +0 -1
  506. package/dist/components/admin/ApplicationDetails/ApplicationDetails.d.ts.map +0 -1
  507. package/dist/components/admin/ApplicationDetails/ApplicationDetails.js.map +0 -1
  508. package/dist/components/admin/ApplicationDetails/BaseApplicationDetails.d.ts.map +0 -1
  509. package/dist/components/admin/ApplicationDetails/BaseApplicationDetails.js.map +0 -1
  510. package/dist/components/admin/ApplicationList/ApplicationList.d.ts.map +0 -1
  511. package/dist/components/admin/ApplicationList/ApplicationList.js.map +0 -1
  512. package/dist/components/admin/ApplicationList/BaseApplicationList.d.ts.map +0 -1
  513. package/dist/components/admin/ApplicationList/BaseApplicationList.js.map +0 -1
  514. package/dist/components/admin/GroupCreate/BaseGroupCreate.d.ts.map +0 -1
  515. package/dist/components/admin/GroupCreate/BaseGroupCreate.js.map +0 -1
  516. package/dist/components/admin/GroupCreate/GroupCreate.d.ts.map +0 -1
  517. package/dist/components/admin/GroupCreate/GroupCreate.js.map +0 -1
  518. package/dist/components/admin/GroupList/BaseGroupList.d.ts.map +0 -1
  519. package/dist/components/admin/GroupList/BaseGroupList.js.map +0 -1
  520. package/dist/components/admin/GroupList/GroupList.d.ts.map +0 -1
  521. package/dist/components/admin/GroupList/GroupList.js.map +0 -1
  522. package/dist/components/admin/GroupMembers/BaseGroupMembers.d.ts.map +0 -1
  523. package/dist/components/admin/GroupMembers/BaseGroupMembers.js.map +0 -1
  524. package/dist/components/admin/GroupMembers/GroupMembers.d.ts.map +0 -1
  525. package/dist/components/admin/GroupMembers/GroupMembers.js.map +0 -1
  526. package/dist/components/admin/RoleAssignments/BaseRoleAssignments.d.ts.map +0 -1
  527. package/dist/components/admin/RoleAssignments/BaseRoleAssignments.js.map +0 -1
  528. package/dist/components/admin/RoleAssignments/RoleAssignments.d.ts.map +0 -1
  529. package/dist/components/admin/RoleAssignments/RoleAssignments.js.map +0 -1
  530. package/dist/components/admin/RoleCreate/BaseRoleCreate.d.ts.map +0 -1
  531. package/dist/components/admin/RoleCreate/BaseRoleCreate.js.map +0 -1
  532. package/dist/components/admin/RoleCreate/RoleCreate.d.ts.map +0 -1
  533. package/dist/components/admin/RoleCreate/RoleCreate.js.map +0 -1
  534. package/dist/components/admin/RoleList/BaseRoleList.d.ts.map +0 -1
  535. package/dist/components/admin/RoleList/BaseRoleList.js.map +0 -1
  536. package/dist/components/admin/RoleList/RoleList.d.ts.map +0 -1
  537. package/dist/components/admin/RoleList/RoleList.js.map +0 -1
  538. package/dist/components/admin/RolePermissions/BaseRolePermissions.d.ts +0 -42
  539. package/dist/components/admin/RolePermissions/BaseRolePermissions.d.ts.map +0 -1
  540. package/dist/components/admin/RolePermissions/BaseRolePermissions.js +0 -67
  541. package/dist/components/admin/RolePermissions/BaseRolePermissions.js.map +0 -1
  542. package/dist/components/admin/RolePermissions/RolePermissions.d.ts +0 -16
  543. package/dist/components/admin/RolePermissions/RolePermissions.d.ts.map +0 -1
  544. package/dist/components/admin/RolePermissions/RolePermissions.js +0 -37
  545. package/dist/components/admin/RolePermissions/RolePermissions.js.map +0 -1
  546. package/dist/components/admin/UserCreate/BaseUserCreate.d.ts.map +0 -1
  547. package/dist/components/admin/UserCreate/BaseUserCreate.js.map +0 -1
  548. package/dist/components/admin/UserCreate/UserCreate.d.ts.map +0 -1
  549. package/dist/components/admin/UserCreate/UserCreate.js.map +0 -1
  550. package/dist/components/admin/UserCreate/userCreateFields.d.ts.map +0 -1
  551. package/dist/components/admin/UserCreate/userCreateFields.js.map +0 -1
  552. package/dist/components/admin/UserDetails/BaseUserDetails.d.ts.map +0 -1
  553. package/dist/components/admin/UserDetails/BaseUserDetails.js.map +0 -1
  554. package/dist/components/admin/UserDetails/UserDetails.d.ts.map +0 -1
  555. package/dist/components/admin/UserDetails/UserDetails.js.map +0 -1
  556. package/dist/components/admin/UserList/BaseUserList.d.ts.map +0 -1
  557. package/dist/components/admin/UserList/BaseUserList.js.map +0 -1
  558. package/dist/components/admin/UserList/UserList.d.ts.map +0 -1
  559. package/dist/components/admin/UserList/UserList.js.map +0 -1
  560. package/dist/components/admin/shared/AccountLifecycleParts.d.ts.map +0 -1
  561. package/dist/components/admin/shared/AccountLifecycleParts.js.map +0 -1
  562. package/dist/components/admin/shared/AdminListRenderProps.d.ts.map +0 -1
  563. package/dist/components/admin/shared/AdminParts.d.ts.map +0 -1
  564. package/dist/components/admin/shared/AdminParts.js.map +0 -1
  565. package/dist/components/admin/shared/AdminParts.styles.d.ts.map +0 -1
  566. package/dist/components/admin/shared/AdminParts.styles.js.map +0 -1
  567. package/dist/components/admin/shared/AdminSearch.d.ts.map +0 -1
  568. package/dist/components/admin/shared/AdminSearch.js.map +0 -1
  569. package/dist/components/admin/shared/AdminSection.d.ts.map +0 -1
  570. package/dist/components/admin/shared/AdminSection.js.map +0 -1
  571. package/dist/components/admin/shared/AdminSection.styles.d.ts.map +0 -1
  572. package/dist/components/admin/shared/AdminSection.styles.js.map +0 -1
  573. package/dist/components/admin/shared/ApplicationFormFields.d.ts.map +0 -1
  574. package/dist/components/admin/shared/ApplicationFormFields.js.map +0 -1
  575. package/dist/components/admin/shared/ClientSecretNotice.d.ts.map +0 -1
  576. package/dist/components/admin/shared/ClientSecretNotice.js.map +0 -1
  577. package/dist/components/admin/shared/IdentityPicker.d.ts.map +0 -1
  578. package/dist/components/admin/shared/IdentityPicker.js.map +0 -1
  579. package/dist/components/admin/shared/useAdminPartStyles.d.ts.map +0 -1
  580. package/dist/components/admin/shared/useAdminPartStyles.js.map +0 -1
  581. package/dist/components/admin/shared/useDefaultOuId.d.ts.map +0 -1
  582. package/dist/components/admin/shared/useDefaultOuId.js.map +0 -1
  583. /package/dist/components/{admin → management}/AgentCreate/BaseAgentCreate.d.ts +0 -0
  584. /package/dist/components/{admin → management}/AgentDetails/AgentDetails.d.ts +0 -0
  585. /package/dist/components/{admin → management}/AgentDetails/BaseAgentDetails.d.ts +0 -0
  586. /package/dist/components/{admin → management}/AgentList/BaseAgentList.d.ts +0 -0
  587. /package/dist/components/{admin → management}/ApplicationCreate/BaseApplicationCreate.d.ts +0 -0
  588. /package/dist/components/{admin → management}/ApplicationDetails/ApplicationDetails.d.ts +0 -0
  589. /package/dist/components/{admin → management}/ApplicationDetails/BaseApplicationDetails.d.ts +0 -0
  590. /package/dist/components/{admin → management}/ApplicationList/BaseApplicationList.d.ts +0 -0
  591. /package/dist/components/{admin → management}/GroupCreate/BaseGroupCreate.d.ts +0 -0
  592. /package/dist/components/{admin → management}/GroupCreate/GroupCreate.d.ts +0 -0
  593. /package/dist/components/{admin → management}/GroupList/BaseGroupList.d.ts +0 -0
  594. /package/dist/components/{admin → management}/GroupList/GroupList.d.ts +0 -0
  595. /package/dist/components/{admin → management}/GroupMembers/BaseGroupMembers.d.ts +0 -0
  596. /package/dist/components/{admin → management}/GroupMembers/GroupMembers.d.ts +0 -0
  597. /package/dist/components/{admin → management}/RoleAssignments/BaseRoleAssignments.d.ts +0 -0
  598. /package/dist/components/{admin → management}/RoleAssignments/RoleAssignments.d.ts +0 -0
  599. /package/dist/components/{admin → management}/RoleCreate/BaseRoleCreate.d.ts +0 -0
  600. /package/dist/components/{admin → management}/RoleCreate/RoleCreate.d.ts +0 -0
  601. /package/dist/components/{admin → management}/RoleList/BaseRoleList.d.ts +0 -0
  602. /package/dist/components/{admin → management}/RoleList/RoleList.d.ts +0 -0
  603. /package/dist/components/{admin → management}/UserCreate/BaseUserCreate.d.ts +0 -0
  604. /package/dist/components/{admin → management}/UserCreate/UserCreate.d.ts +0 -0
  605. /package/dist/components/{admin → management}/UserCreate/userCreateFields.d.ts +0 -0
  606. /package/dist/components/{admin → management}/UserDetails/BaseUserDetails.d.ts +0 -0
  607. /package/dist/components/{admin → management}/UserDetails/UserDetails.d.ts +0 -0
  608. /package/dist/components/{admin → management}/UserList/BaseUserList.d.ts +0 -0
  609. /package/dist/components/{admin → management}/UserList/UserList.d.ts +0 -0
  610. /package/dist/components/{admin → management}/shared/AccountLifecycleParts.d.ts +0 -0
  611. /package/dist/components/{admin → management}/shared/AdminListRenderProps.d.ts +0 -0
  612. /package/dist/components/{admin → management}/shared/AdminParts.d.ts +0 -0
  613. /package/dist/components/{admin → management}/shared/AdminParts.styles.d.ts +0 -0
  614. /package/dist/components/{admin → management}/shared/AdminSearch.d.ts +0 -0
  615. /package/dist/components/{admin → management}/shared/AdminSection.d.ts +0 -0
  616. /package/dist/components/{admin → management}/shared/AdminSection.styles.d.ts +0 -0
  617. /package/dist/components/{admin → management}/shared/ApplicationFormFields.d.ts +0 -0
  618. /package/dist/components/{admin → management}/shared/ClientSecretNotice.d.ts +0 -0
  619. /package/dist/components/{admin → management}/shared/IdentityPicker.d.ts +0 -0
  620. /package/dist/components/{admin → management}/shared/useAdminPartStyles.d.ts +0 -0
  621. /package/dist/components/{admin → management}/shared/useDefaultOuId.d.ts +0 -0
@@ -0,0 +1,84 @@
1
+ import useTranslation_default from "../../../hooks/useTranslation.js";
2
+ import Spinner_default from "../../primitives/Spinner/Spinner.js";
3
+ import Alert_default from "../../primitives/Alert/Alert.js";
4
+ import useAdminPartStyles_default from "../shared/useAdminPartStyles.js";
5
+ import AdminSection_default from "../shared/AdminSection.js";
6
+ import { ConfirmButton, DetailList, Panel } from "../shared/AdminParts.js";
7
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
+
9
+ //#region src/components/management/GroupDetails/BaseGroupDetails.tsx
10
+ /**
11
+ * Shows a group's name, description and organization unit, with its members under them. Holds no data of its own:
12
+ * pass the group and handle deletion.
13
+ */
14
+ const BaseGroupDetails = ({ actions, children, className, error = null, group, isDeleting = false, isLoading = false, members, onDelete, preferences }) => {
15
+ const { t } = useTranslation_default(preferences?.i18n);
16
+ const styles = useAdminPartStyles_default();
17
+ if (children) return /* @__PURE__ */ jsx("div", {
18
+ className,
19
+ children: children({
20
+ error,
21
+ group,
22
+ isDeleting,
23
+ isLoading,
24
+ onDelete: group ? onDelete : void 0
25
+ })
26
+ });
27
+ if (isLoading && !group) return /* @__PURE__ */ jsx(AdminSection_default, {
28
+ block: "group-details",
29
+ className,
30
+ preferences,
31
+ children: /* @__PURE__ */ jsxs("span", {
32
+ className: styles["muted"],
33
+ role: "status",
34
+ children: [
35
+ /* @__PURE__ */ jsx(Spinner_default, { size: "small" }),
36
+ " ",
37
+ t("admin.common.loading")
38
+ ]
39
+ })
40
+ });
41
+ if (!group) return /* @__PURE__ */ jsx(AdminSection_default, {
42
+ block: "group-details",
43
+ className,
44
+ preferences,
45
+ children: /* @__PURE__ */ jsx(Alert_default, {
46
+ variant: "error",
47
+ role: "alert",
48
+ children: error ?? t("admin.common.errors.not_found")
49
+ })
50
+ });
51
+ return /* @__PURE__ */ jsxs(AdminSection_default, {
52
+ block: "group-details",
53
+ className,
54
+ title: group.name,
55
+ description: group.description,
56
+ preferences,
57
+ actions: /* @__PURE__ */ jsxs(Fragment, { children: [actions, onDelete && /* @__PURE__ */ jsx(ConfirmButton, {
58
+ confirmText: t("admin.groups.details.delete.confirm", { name: group.name }),
59
+ isLoading: isDeleting,
60
+ onConfirm: onDelete,
61
+ children: t("admin.groups.details.delete.action")
62
+ })] }),
63
+ children: [
64
+ error && /* @__PURE__ */ jsx(Alert_default, {
65
+ variant: "error",
66
+ role: "alert",
67
+ children: error
68
+ }),
69
+ /* @__PURE__ */ jsx(Panel, {
70
+ title: t("admin.groups.details.overview"),
71
+ children: /* @__PURE__ */ jsx(DetailList, { items: [{
72
+ label: t("admin.common.columns.organization_unit"),
73
+ value: group.ouHandle ?? group.ouId
74
+ }] })
75
+ }),
76
+ members
77
+ ]
78
+ });
79
+ };
80
+ var BaseGroupDetails_default = BaseGroupDetails;
81
+
82
+ //#endregion
83
+ export { BaseGroupDetails_default as default };
84
+ //# sourceMappingURL=BaseGroupDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseGroupDetails.js","names":["BaseGroupDetails: FC<BaseGroupDetailsProps>","useTranslation","styles: Record<string, string>","useAdminPartStyles","AdminSection","Spinner","Alert"],"sources":["../../../../src/components/management/GroupDetails/BaseGroupDetails.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {Group, Preferences} from '@thunderid/browser';\nimport {FC, ReactElement, ReactNode} from 'react';\nimport useTranslation from '../../../hooks/useTranslation';\nimport Alert from '../../primitives/Alert/Alert';\nimport Spinner from '../../primitives/Spinner/Spinner';\nimport {ConfirmButton, DetailList, Panel} from '../shared/AdminParts';\nimport AdminSection from '../shared/AdminSection';\nimport useAdminPartStyles from '../shared/useAdminPartStyles';\n\n/**\n * What {@link BaseGroupDetails} hands its `children` render function, so the group can be shown with any UI.\n */\nexport interface BaseGroupDetailsRenderProps {\n error: string | null;\n group?: Group;\n isDeleting: boolean;\n isLoading: boolean;\n /**\n * Deletes the group. Undefined when deletion is not allowed.\n */\n onDelete?: () => void;\n}\n\nexport interface BaseGroupDetailsProps {\n /**\n * Controls rendered next to the group's name.\n */\n actions?: ReactNode;\n /**\n * Renders custom UI in place of the default view. Receives the group, the loading and error state, and the delete\n * handler.\n */\n children?: (props: BaseGroupDetailsRenderProps) => ReactNode;\n className?: string;\n error?: string | null;\n group?: Group;\n isDeleting?: boolean;\n isLoading?: boolean;\n /**\n * The group's members, rendered under its overview, such as a `GroupMembers`.\n */\n members?: ReactNode;\n /**\n * Deletes the group. The delete action is hidden when omitted.\n */\n onDelete?: () => void;\n preferences?: Preferences;\n}\n\n/**\n * Shows a group's name, description and organization unit, with its members under them. Holds no data of its own:\n * pass the group and handle deletion.\n */\nconst BaseGroupDetails: FC<BaseGroupDetailsProps> = ({\n actions,\n children,\n className,\n error = null,\n group,\n isDeleting = false,\n isLoading = false,\n members,\n onDelete,\n preferences,\n}: BaseGroupDetailsProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n const styles: Record<string, string> = useAdminPartStyles();\n\n if (children) {\n return (\n <div className={className}>\n {children({error, group, isDeleting, isLoading, onDelete: group ? onDelete : undefined})}\n </div>\n );\n }\n\n if (isLoading && !group) {\n return (\n <AdminSection block=\"group-details\" className={className} preferences={preferences}>\n <span className={styles['muted']} role=\"status\">\n <Spinner size=\"small\" /> {t('admin.common.loading')}\n </span>\n </AdminSection>\n );\n }\n\n if (!group) {\n return (\n <AdminSection block=\"group-details\" className={className} preferences={preferences}>\n <Alert variant=\"error\" role=\"alert\">\n {error ?? t('admin.common.errors.not_found')}\n </Alert>\n </AdminSection>\n );\n }\n\n return (\n <AdminSection\n block=\"group-details\"\n className={className}\n title={group.name}\n description={group.description}\n preferences={preferences}\n actions={\n <>\n {actions}\n {onDelete && (\n <ConfirmButton\n confirmText={t('admin.groups.details.delete.confirm', {name: group.name})}\n isLoading={isDeleting}\n onConfirm={onDelete}\n >\n {t('admin.groups.details.delete.action')}\n </ConfirmButton>\n )}\n </>\n }\n >\n {error && (\n <Alert variant=\"error\" role=\"alert\">\n {error}\n </Alert>\n )}\n <Panel title={t('admin.groups.details.overview')}>\n <DetailList\n items={[{label: t('admin.common.columns.organization_unit'), value: group.ouHandle ?? group.ouId}]}\n />\n </Panel>\n {members}\n </AdminSection>\n );\n};\n\nexport default BaseGroupDetails;\n"],"mappings":";;;;;;;;;;;;;AAwDA,MAAMA,oBAA+C,EACnD,SACA,UACA,WACA,QAAQ,MACR,OACA,aAAa,OACb,YAAY,OACZ,SACA,UACA,kBACyC;CACzC,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;CAC7C,MAAMC,SAAiCC,4BAAoB;AAE3D,KAAI,SACF,QACE,oBAAC;EAAe;YACb,SAAS;GAAC;GAAO;GAAO;GAAY;GAAW,UAAU,QAAQ,WAAW;GAAU,CAAC;GACpF;AAIV,KAAI,aAAa,CAAC,MAChB,QACE,oBAACC;EAAa,OAAM;EAA2B;EAAwB;YACrE,qBAAC;GAAK,WAAW,OAAO;GAAU,MAAK;;IACrC,oBAACC,mBAAQ,MAAK,UAAU;;IAAE,EAAE,uBAAuB;;IAC9C;GACM;AAInB,KAAI,CAAC,MACH,QACE,oBAACD;EAAa,OAAM;EAA2B;EAAwB;YACrE,oBAACE;GAAM,SAAQ;GAAQ,MAAK;aACzB,SAAS,EAAE,gCAAgC;IACtC;GACK;AAInB,QACE,qBAACF;EACC,OAAM;EACK;EACX,OAAO,MAAM;EACb,aAAa,MAAM;EACN;EACb,SACE,4CACG,SACA,YACC,oBAAC;GACC,aAAa,EAAE,uCAAuC,EAAC,MAAM,MAAM,MAAK,CAAC;GACzE,WAAW;GACX,WAAW;aAEV,EAAE,qCAAqC;IAC1B,IAEjB;;GAGJ,SACC,oBAACE;IAAM,SAAQ;IAAQ,MAAK;cACzB;KACK;GAEV,oBAAC;IAAM,OAAO,EAAE,gCAAgC;cAC9C,oBAAC,cACC,OAAO,CAAC;KAAC,OAAO,EAAE,yCAAyC;KAAE,OAAO,MAAM,YAAY,MAAM;KAAK,CAAC,GAClG;KACI;GACP;;GACY;;AAInB,+BAAe"}
@@ -0,0 +1,37 @@
1
+ import { AdministrationMode } from '@thunderid/browser';
2
+ import { FC } from 'react';
3
+ import { BaseGroupDetailsProps } from './BaseGroupDetails';
4
+ export type GroupDetailsProps = Omit<BaseGroupDetailsProps, 'error' | 'group' | 'isDeleting' | 'isLoading' | 'members' | 'onDelete'> & {
5
+ /**
6
+ * How the group is deleted and a member removed. `flow` runs the administration flow the server configures for it,
7
+ * which can revoke grants and end sessions first. It needs `baseUrl`.
8
+ * @default 'native'
9
+ */
10
+ administrationMode?: AdministrationMode;
11
+ /**
12
+ * Whether the group can be deleted from this view.
13
+ * @default false
14
+ */
15
+ deletable?: boolean;
16
+ /**
17
+ * Whether members can be added and removed from this view.
18
+ * @default false
19
+ */
20
+ editable?: boolean;
21
+ groupId: string;
22
+ /**
23
+ * Called after the group has been deleted.
24
+ */
25
+ onDeleted?: () => void;
26
+ };
27
+ /**
28
+ * Shows a group with its members, and lets the signed-in user manage the members and delete the group.
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * <GroupDetails groupId={groupId} editable deletable onDeleted={() => navigate('/groups')} />
33
+ * ```
34
+ */
35
+ declare const GroupDetails: FC<GroupDetailsProps>;
36
+ export default GroupDetails;
37
+ //# sourceMappingURL=GroupDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupDetails.d.ts","sourceRoot":"","sources":["../../../../src/components/management/GroupDetails/GroupDetails.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAOnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,EAAE,EAAe,MAAM,OAAO,CAAC;AACvC,OAAyB,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AAO3E,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,qBAAqB,EACrB,OAAO,GAAG,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CACxE,GAAG;IACF;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CA+CvC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1,57 @@
1
+ import useTranslation_default from "../../../hooks/useTranslation.js";
2
+ import useManagementEndpoint_default from "../../../hooks/management/useManagementEndpoint.js";
3
+ import useResourceQuery_default from "../../../hooks/management/useResourceQuery.js";
4
+ import useResourceMutation_default from "../../../hooks/management/useResourceMutation.js";
5
+ import GroupMembers_default from "../GroupMembers/GroupMembers.js";
6
+ import BaseGroupDetails_default from "./BaseGroupDetails.js";
7
+ import { GroupQueryKeys, RoleQueryKeys, deleteGroup, getGroup, toManagementErrorMessage } from "@thunderid/browser";
8
+ import { jsx } from "react/jsx-runtime";
9
+
10
+ //#region src/components/management/GroupDetails/GroupDetails.tsx
11
+ /**
12
+ * Shows a group with its members, and lets the signed-in user manage the members and delete the group.
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * <GroupDetails groupId={groupId} editable deletable onDeleted={() => navigate('/groups')} />
17
+ * ```
18
+ */
19
+ const GroupDetails = ({ administrationMode, deletable = false, editable = false, groupId, onDeleted, preferences,...rest }) => {
20
+ const { t } = useTranslation_default(preferences?.i18n);
21
+ const endpoint = useManagementEndpoint_default("groups");
22
+ const group = useResourceQuery_default([GroupQueryKeys.GROUP, groupId], (fetcher) => getGroup({
23
+ ...endpoint,
24
+ fetcher,
25
+ groupId
26
+ }), { enabled: Boolean(groupId) });
27
+ const deletion = useResourceMutation_default((id, fetcher) => deleteGroup({
28
+ ...endpoint,
29
+ administrationMode,
30
+ fetcher,
31
+ groupId: id
32
+ }), () => [
33
+ [GroupQueryKeys.GROUPS],
34
+ [GroupQueryKeys.MEMBERSHIPS],
35
+ [RoleQueryKeys.ROLE_ASSIGNMENTS]
36
+ ], { onSuccess: onDeleted });
37
+ return /* @__PURE__ */ jsx(BaseGroupDetails_default, {
38
+ group: group.data,
39
+ isLoading: group.isLoading,
40
+ error: toManagementErrorMessage(t, group.error, "admin.groups.details.error") ?? toManagementErrorMessage(t, deletion.error, "admin.groups.details.delete.error"),
41
+ isDeleting: deletion.isLoading,
42
+ onDelete: deletable ? () => void deletion.mutate(groupId) : void 0,
43
+ members: group.data && /* @__PURE__ */ jsx(GroupMembers_default, {
44
+ groupId,
45
+ ouId: group.data.ouId,
46
+ editable,
47
+ administrationMode
48
+ }),
49
+ preferences,
50
+ ...rest
51
+ });
52
+ };
53
+ var GroupDetails_default = GroupDetails;
54
+
55
+ //#endregion
56
+ export { GroupDetails_default as default };
57
+ //# sourceMappingURL=GroupDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupDetails.js","names":["GroupDetails: FC<GroupDetailsProps>","useTranslation","endpoint: ManagementEndpoint","useManagementEndpoint","group: ResourceQueryResult<Group>","useResourceQuery","deletion: ResourceMutationResult<void, string>","useResourceMutation","BaseGroupDetails","GroupMembers"],"sources":["../../../../src/components/management/GroupDetails/GroupDetails.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n AdministrationMode,\n Group,\n GroupQueryKeys,\n RoleQueryKeys,\n deleteGroup,\n getGroup,\n toManagementErrorMessage,\n} from '@thunderid/browser';\nimport {FC, ReactElement} from 'react';\nimport BaseGroupDetails, {BaseGroupDetailsProps} from './BaseGroupDetails';\nimport useManagementEndpoint, {ManagementEndpoint} from '../../../hooks/management/useManagementEndpoint';\nimport useResourceMutation, {ResourceMutationResult} from '../../../hooks/management/useResourceMutation';\nimport useResourceQuery, {ResourceQueryResult} from '../../../hooks/management/useResourceQuery';\nimport useTranslation from '../../../hooks/useTranslation';\nimport GroupMembers from '../GroupMembers/GroupMembers';\n\nexport type GroupDetailsProps = Omit<\n BaseGroupDetailsProps,\n 'error' | 'group' | 'isDeleting' | 'isLoading' | 'members' | 'onDelete'\n> & {\n /**\n * How the group is deleted and a member removed. `flow` runs the administration flow the server configures for it,\n * which can revoke grants and end sessions first. It needs `baseUrl`.\n * @default 'native'\n */\n administrationMode?: AdministrationMode;\n /**\n * Whether the group can be deleted from this view.\n * @default false\n */\n deletable?: boolean;\n /**\n * Whether members can be added and removed from this view.\n * @default false\n */\n editable?: boolean;\n groupId: string;\n /**\n * Called after the group has been deleted.\n */\n onDeleted?: () => void;\n};\n\n/**\n * Shows a group with its members, and lets the signed-in user manage the members and delete the group.\n *\n * @example\n * ```tsx\n * <GroupDetails groupId={groupId} editable deletable onDeleted={() => navigate('/groups')} />\n * ```\n */\nconst GroupDetails: FC<GroupDetailsProps> = ({\n administrationMode,\n deletable = false,\n editable = false,\n groupId,\n onDeleted,\n preferences,\n ...rest\n}: GroupDetailsProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n const endpoint: ManagementEndpoint = useManagementEndpoint('groups');\n const group: ResourceQueryResult<Group> = useResourceQuery(\n [GroupQueryKeys.GROUP, groupId],\n (fetcher) => getGroup({...endpoint, fetcher, groupId}),\n {enabled: Boolean(groupId)},\n );\n const deletion: ResourceMutationResult<void, string> = useResourceMutation(\n (id: string, fetcher) => deleteGroup({...endpoint, administrationMode, fetcher, groupId: id}),\n () => [[GroupQueryKeys.GROUPS], [GroupQueryKeys.MEMBERSHIPS], [RoleQueryKeys.ROLE_ASSIGNMENTS]],\n {onSuccess: onDeleted},\n );\n\n return (\n <BaseGroupDetails\n group={group.data}\n isLoading={group.isLoading}\n error={\n toManagementErrorMessage(t, group.error, 'admin.groups.details.error') ??\n toManagementErrorMessage(t, deletion.error, 'admin.groups.details.delete.error')\n }\n isDeleting={deletion.isLoading}\n onDelete={deletable ? (): void => void deletion.mutate(groupId) : undefined}\n members={\n group.data && (\n // Adding waits for the group, so the candidates are only ever listed from its organization unit.\n <GroupMembers\n groupId={groupId}\n ouId={group.data.ouId}\n editable={editable}\n administrationMode={administrationMode}\n />\n )\n }\n preferences={preferences}\n {...rest}\n />\n );\n};\n\nexport default GroupDetails;\n"],"mappings":";;;;;;;;;;;;;;;;;;AAuDA,MAAMA,gBAAuC,EAC3C,oBACA,YAAY,OACZ,WAAW,OACX,SACA,WACA,YACA,GAAG,WACkC;CACrC,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;CAC7C,MAAMC,WAA+BC,8BAAsB,SAAS;CACpE,MAAMC,QAAoCC,yBACxC,CAAC,eAAe,OAAO,QAAQ,GAC9B,YAAY,SAAS;EAAC,GAAG;EAAU;EAAS;EAAQ,CAAC,EACtD,EAAC,SAAS,QAAQ,QAAQ,EAAC,CAC5B;CACD,MAAMC,WAAiDC,6BACpD,IAAY,YAAY,YAAY;EAAC,GAAG;EAAU;EAAoB;EAAS,SAAS;EAAG,CAAC,QACvF;EAAC,CAAC,eAAe,OAAO;EAAE,CAAC,eAAe,YAAY;EAAE,CAAC,cAAc,iBAAiB;EAAC,EAC/F,EAAC,WAAW,WAAU,CACvB;AAED,QACE,oBAACC;EACC,OAAO,MAAM;EACb,WAAW,MAAM;EACjB,OACE,yBAAyB,GAAG,MAAM,OAAO,6BAA6B,IACtE,yBAAyB,GAAG,SAAS,OAAO,oCAAoC;EAElF,YAAY,SAAS;EACrB,UAAU,kBAAwB,KAAK,SAAS,OAAO,QAAQ,GAAG;EAClE,SACE,MAAM,QAEJ,oBAACC;GACU;GACT,MAAM,MAAM,KAAK;GACP;GACU;IACpB;EAGO;EACb,GAAI;GACJ;;AAIN,2BAAe"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseGroupList.d.ts","sourceRoot":"","sources":["../../../../src/components/management/GroupList/BaseGroupList.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAC,EAAE,EAAgB,SAAS,EAAC,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAGpE;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG;IAAC,MAAM,EAAE,KAAK,EAAE,CAAA;CAAC,CAAC;AAEvF,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,SAAS,CAAC;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,QAAA,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CA8EzC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -3,7 +3,7 @@ import DataTable_default from "../../primitives/DataTable/DataTable.js";
3
3
  import AdminSection_default from "../shared/AdminSection.js";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
 
6
- //#region src/components/admin/GroupList/BaseGroupList.tsx
6
+ //#region src/components/management/GroupList/BaseGroupList.tsx
7
7
  /**
8
8
  * Lists groups with their description and organization unit. Holds no data of its own: pass the
9
9
  * page of groups and handle selection and pagination.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseGroupList.js","names":["BaseGroupList: FC<BaseGroupListProps>","useTranslation","columns: DataTableColumn<Group>[]","AdminSection","DataTable"],"sources":["../../../../src/components/management/GroupList/BaseGroupList.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {Group, Preferences} from '@thunderid/browser';\nimport {FC, ReactElement, ReactNode} from 'react';\nimport useTranslation from '../../../hooks/useTranslation';\nimport DataTable, {DataTableColumn} from '../../primitives/DataTable/DataTable';\nimport {AdminListRenderProps} from '../shared/AdminListRenderProps';\nimport AdminSection from '../shared/AdminSection';\n\n/**\n * What {@link BaseGroupList} hands its `children` render function. `groups` and `rows` are the same array.\n */\nexport type BaseGroupListRenderProps = AdminListRenderProps<Group> & {groups: Group[]};\n\nexport interface BaseGroupListProps {\n /**\n * Controls rendered next to the title, such as a button that opens `GroupCreate`.\n */\n actions?: ReactNode;\n /**\n * Renders custom UI in place of the default table, for example a third-party data grid. Receives\n * the groups, the default columns, the loading and error state, and the pagination and selection\n * handlers.\n */\n children?: (props: BaseGroupListRenderProps) => ReactNode;\n className?: string;\n description?: string;\n error?: string | null;\n groups: Group[];\n isLoading?: boolean;\n /**\n * Page size.\n * @default 20\n */\n limit?: number;\n offset?: number;\n /**\n * Called with the offset of the page to show. Pagination is hidden when omitted.\n */\n onPageChange?: (offset: number) => void;\n /**\n * Called when a group is chosen. Rows are selectable only when set.\n */\n onSelect?: (group: Group) => void;\n preferences?: Preferences;\n selectedGroupId?: string;\n /**\n * Heading of the list. Pass an empty string to hide it.\n */\n title?: string;\n totalResults?: number;\n}\n\n/**\n * Lists groups with their description and organization unit. Holds no data of its own: pass the\n * page of groups and handle selection and pagination.\n */\nconst BaseGroupList: FC<BaseGroupListProps> = ({\n actions,\n children,\n className,\n description,\n error = null,\n groups,\n isLoading = false,\n limit = 20,\n offset = 0,\n onPageChange,\n onSelect,\n preferences,\n selectedGroupId,\n title,\n totalResults,\n}: BaseGroupListProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n\n const columns: DataTableColumn<Group>[] = [\n {header: t('admin.groups.list.columns.name'), id: 'name', render: (group: Group): ReactNode => group.name},\n {\n header: t('admin.groups.list.columns.description'),\n id: 'description',\n render: (group: Group): ReactNode => group.description ?? '',\n },\n {\n header: t('admin.common.columns.organization_unit'),\n id: 'ou',\n render: (group: Group): ReactNode => group.ouHandle ?? group.ouId,\n },\n ];\n\n if (children) {\n return (\n <div className={className}>\n {children({\n columns,\n error,\n isLoading,\n limit,\n offset,\n onPageChange,\n onSelect,\n rows: groups,\n selectedRowId: selectedGroupId,\n totalResults: totalResults ?? groups.length,\n groups,\n })}\n </div>\n );\n }\n\n return (\n <AdminSection\n block=\"group-list\"\n className={className}\n title={title ?? t('admin.groups.list.title')}\n description={description}\n actions={actions}\n preferences={preferences}\n >\n <DataTable\n caption={title?.length ? title : t('admin.groups.list.title')}\n columns={columns}\n rows={groups}\n getRowId={(group: Group): string => group.id}\n isLoading={isLoading}\n error={error}\n emptyText={t('admin.groups.list.empty')}\n onRowClick={onSelect}\n selectedRowId={selectedGroupId}\n pagination={\n onPageChange ? {limit, offset, onChange: onPageChange, total: totalResults ?? groups.length} : undefined\n }\n />\n </AdminSection>\n );\n};\n\nexport default BaseGroupList;\n"],"mappings":";;;;;;;;;;AA0DA,MAAMA,iBAAyC,EAC7C,SACA,UACA,WACA,aACA,QAAQ,MACR,QACA,YAAY,OACZ,QAAQ,IACR,SAAS,GACT,cACA,UACA,aACA,iBACA,OACA,mBACsC;CACtC,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;CAE7C,MAAMC,UAAoC;EACxC;GAAC,QAAQ,EAAE,iCAAiC;GAAE,IAAI;GAAQ,SAAS,UAA4B,MAAM;GAAK;EAC1G;GACE,QAAQ,EAAE,wCAAwC;GAClD,IAAI;GACJ,SAAS,UAA4B,MAAM,eAAe;GAC3D;EACD;GACE,QAAQ,EAAE,yCAAyC;GACnD,IAAI;GACJ,SAAS,UAA4B,MAAM,YAAY,MAAM;GAC9D;EACF;AAED,KAAI,SACF,QACE,oBAAC;EAAe;YACb,SAAS;GACR;GACA;GACA;GACA;GACA;GACA;GACA;GACA,MAAM;GACN,eAAe;GACf,cAAc,gBAAgB,OAAO;GACrC;GACD,CAAC;GACE;AAIV,QACE,oBAACC;EACC,OAAM;EACK;EACX,OAAO,SAAS,EAAE,0BAA0B;EAC/B;EACJ;EACI;YAEb,oBAACC;GACC,SAAS,OAAO,SAAS,QAAQ,EAAE,0BAA0B;GACpD;GACT,MAAM;GACN,WAAW,UAAyB,MAAM;GAC/B;GACJ;GACP,WAAW,EAAE,0BAA0B;GACvC,YAAY;GACZ,eAAe;GACf,YACE,eAAe;IAAC;IAAO;IAAQ,UAAU;IAAc,OAAO,gBAAgB,OAAO;IAAO,GAAG;IAEjG;GACW;;AAInB,4BAAe"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupList.d.ts","sourceRoot":"","sources":["../../../../src/components/management/GroupList/GroupList.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAC,EAAE,EAAyB,MAAM,OAAO,CAAC;AACjD,OAAsB,EAAC,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AAKlE,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,kBAAkB,EAClB,OAAO,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,cAAc,GAAG,cAAc,CAC9E,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAsBjC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -6,7 +6,7 @@ import { GroupQueryKeys, getGroups, toManagementErrorMessage } from "@thunderid/
6
6
  import { useState } from "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
8
 
9
- //#region src/components/admin/GroupList/GroupList.tsx
9
+ //#region src/components/management/GroupList/GroupList.tsx
10
10
  /**
11
11
  * Lists the groups the signed-in user is allowed to see, a page at a time.
12
12
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupList.js","names":["GroupList: FC<GroupListProps>","useTranslation","endpoint: ManagementEndpoint","useManagementEndpoint","useResourceQuery","BaseGroupList"],"sources":["../../../../src/components/management/GroupList/GroupList.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {GroupListResponse, GroupQueryKeys, getGroups, toManagementErrorMessage} from '@thunderid/browser';\nimport {FC, ReactElement, useState} from 'react';\nimport BaseGroupList, {BaseGroupListProps} from './BaseGroupList';\nimport useManagementEndpoint, {ManagementEndpoint} from '../../../hooks/management/useManagementEndpoint';\nimport useResourceQuery, {ResourceQueryResult} from '../../../hooks/management/useResourceQuery';\nimport useTranslation from '../../../hooks/useTranslation';\n\nexport type GroupListProps = Omit<\n BaseGroupListProps,\n 'error' | 'groups' | 'isLoading' | 'offset' | 'onPageChange' | 'totalResults'\n>;\n\n/**\n * Lists the groups the signed-in user is allowed to see, a page at a time.\n *\n * @example\n * ```tsx\n * <GroupList onSelect={(group) => setSelectedGroupId(group.id)} />\n * ```\n */\nconst GroupList: FC<GroupListProps> = ({limit = 20, preferences, ...rest}: GroupListProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n const [offset, setOffset] = useState<number>(0);\n const endpoint: ManagementEndpoint = useManagementEndpoint('groups');\n const {data, error, isLoading}: ResourceQueryResult<GroupListResponse> = useResourceQuery(\n [GroupQueryKeys.GROUPS, {limit, offset}],\n (fetcher) => getGroups({...endpoint, fetcher, limit, offset}),\n );\n\n return (\n <BaseGroupList\n groups={data?.groups ?? []}\n totalResults={data?.totalResults}\n isLoading={isLoading}\n error={toManagementErrorMessage(t, error, 'admin.groups.list.error')}\n limit={limit}\n offset={offset}\n onPageChange={setOffset}\n preferences={preferences}\n {...rest}\n />\n );\n};\n\nexport default GroupList;\n"],"mappings":";;;;;;;;;;;;;;;;;AAuBA,MAAMA,aAAiC,EAAC,QAAQ,IAAI,YAAa,GAAG,WAAwC;CAC1G,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;CAC7C,MAAM,CAAC,QAAQ,aAAa,SAAiB,EAAE;CAC/C,MAAMC,WAA+BC,8BAAsB,SAAS;CACpE,MAAM,EAAC,MAAM,OAAO,cAAqDC,yBACvE,CAAC,eAAe,QAAQ;EAAC;EAAO;EAAO,CAAC,GACvC,YAAY,UAAU;EAAC,GAAG;EAAU;EAAS;EAAO;EAAO,CAAC,CAC9D;AAED,QACE,oBAACC;EACC,QAAQ,MAAM,UAAU,EAAE;EAC1B,cAAc,MAAM;EACT;EACX,OAAO,yBAAyB,GAAG,OAAO,0BAA0B;EAC7D;EACC;EACR,cAAc;EACD;EACb,GAAI;GACJ;;AAIN,wBAAe"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseGroupMembers.d.ts","sourceRoot":"","sources":["../../../../src/components/management/GroupMembers/BaseGroupMembers.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAE,eAAe,EAAE,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAC,EAAE,EAAgB,SAAS,EAAC,MAAM,OAAO,CAAC;AAGlD,OAAkB,EAAC,eAAe,EAAC,MAAM,sCAAsC,CAAC;AAEhF,OAAuB,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAE3E;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACnE;;OAEG;IACH,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;IACxC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IAC3D;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACnE;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,2BAA2B,KAAK,SAAS,CAAC;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IAC3D;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,QAAA,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAiG/C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -5,7 +5,7 @@ import AdminSection_default from "../shared/AdminSection.js";
5
5
  import IdentityPicker_default from "../shared/IdentityPicker.js";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
7
 
8
- //#region src/components/admin/GroupMembers/BaseGroupMembers.tsx
8
+ //#region src/components/management/GroupMembers/BaseGroupMembers.tsx
9
9
  /**
10
10
  * Lists the members of a group and lets the caller add and remove them. Holds no data of its own.
11
11
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseGroupMembers.js","names":["BaseGroupMembers: FC<BaseGroupMembersProps>","useTranslation","columns: DataTableColumn<GroupMember>[]","Button","AdminSection","IdentityPicker","DataTable"],"sources":["../../../../src/components/management/GroupMembers/BaseGroupMembers.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {GroupMember, GroupMemberType, Preferences} from '@thunderid/browser';\nimport {FC, ReactElement, ReactNode} from 'react';\nimport useTranslation from '../../../hooks/useTranslation';\nimport Button from '../../primitives/Button/Button';\nimport DataTable, {DataTableColumn} from '../../primitives/DataTable/DataTable';\nimport AdminSection from '../shared/AdminSection';\nimport IdentityPicker, {IdentityCandidate} from '../shared/IdentityPicker';\n\n/**\n * What {@link BaseGroupMembers} hands its `children` render function, so the members can be shown\n * with any UI, such as a third-party data grid.\n */\nexport interface BaseGroupMembersRenderProps {\n /**\n * The identities that can be added, keyed by member type. Undefined when adding is not allowed.\n */\n candidates?: Partial<Record<GroupMemberType, IdentityCandidate[]>>;\n /**\n * The columns the default table shows, including the remove action when removing is allowed.\n */\n columns: DataTableColumn<GroupMember>[];\n error: string | null;\n isLoading: boolean;\n isMutating: boolean;\n members: GroupMember[];\n /**\n * Adds a member. Undefined when adding is not allowed.\n */\n onAdd?: (member: Pick<GroupMember, 'id' | 'type'>) => void;\n /**\n * Removes a member. Undefined when removing is not allowed.\n */\n onRemove?: (member: GroupMember) => void;\n}\n\nexport interface BaseGroupMembersProps {\n /**\n * The identities that can be added, keyed by member type. Adding is hidden when omitted.\n */\n candidates?: Partial<Record<GroupMemberType, IdentityCandidate[]>>;\n /**\n * Renders custom UI in place of the default table and picker. Receives the members, the default\n * columns, the candidates, the loading and error state, and the add and remove handlers.\n */\n children?: (props: BaseGroupMembersRenderProps) => ReactNode;\n className?: string;\n description?: string;\n error?: string | null;\n isLoading?: boolean;\n isMutating?: boolean;\n members: GroupMember[];\n onAdd?: (member: Pick<GroupMember, 'id' | 'type'>) => void;\n /**\n * Removes a member. The remove action is hidden when omitted.\n */\n onRemove?: (member: GroupMember) => void;\n preferences?: Preferences;\n title?: string;\n}\n\n/**\n * Lists the members of a group and lets the caller add and remove them. Holds no data of its own.\n */\nconst BaseGroupMembers: FC<BaseGroupMembersProps> = ({\n candidates,\n children,\n className,\n description,\n error = null,\n isLoading = false,\n isMutating = false,\n members,\n onAdd,\n onRemove,\n preferences,\n title,\n}: BaseGroupMembersProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n\n const columns: DataTableColumn<GroupMember>[] = [\n {\n header: t('admin.groups.members.columns.member'),\n id: 'member',\n render: (member: GroupMember): ReactNode => member.display ?? member.id,\n },\n {\n header: t('admin.groups.members.columns.type'),\n id: 'type',\n render: (member: GroupMember): ReactNode => t(`admin.common.identity_types.${member.type}`),\n },\n ];\n\n if (onRemove) {\n columns.push({\n header: t('admin.common.columns.actions'),\n id: 'actions',\n render: (member: GroupMember): ReactNode => (\n <Button\n variant=\"text\"\n color=\"error\"\n size=\"small\"\n disabled={isMutating}\n aria-label={t('admin.groups.members.remove_label', {name: member.display ?? member.id})}\n onClick={(): void => onRemove(member)}\n >\n {t('admin.common.actions.remove')}\n </Button>\n ),\n });\n }\n\n if (children) {\n return (\n <div className={className}>\n {children({\n candidates: onAdd ? candidates : undefined,\n columns,\n error,\n isLoading,\n isMutating,\n members,\n onAdd: candidates ? onAdd : undefined,\n onRemove,\n })}\n </div>\n );\n }\n\n return (\n <AdminSection\n block=\"group-members\"\n className={className}\n title={title ?? t('admin.groups.members.title')}\n description={description}\n headingLevel={3}\n preferences={preferences}\n >\n {onAdd && candidates && (\n <IdentityPicker<GroupMemberType>\n addLabel={t('admin.groups.members.add')}\n candidates={candidates}\n excludedIds={members.map((member: GroupMember) => member.id)}\n isSubmitting={isMutating}\n onAdd={onAdd}\n types={(['user', 'agent', 'group'] as GroupMemberType[])\n .filter((type: GroupMemberType) => candidates[type] !== undefined)\n .map((type: GroupMemberType) => ({label: t(`admin.common.identity_types.${type}`), value: type}))}\n />\n )}\n <DataTable\n caption={title?.length ? title : t('admin.groups.members.title')}\n columns={columns}\n rows={members}\n getRowId={(member: GroupMember): string => `${member.type}:${member.id}`}\n isLoading={isLoading}\n error={error}\n emptyText={t('admin.groups.members.empty')}\n />\n </AdminSection>\n );\n};\n\nexport default BaseGroupMembers;\n"],"mappings":";;;;;;;;;;;AAkEA,MAAMA,oBAA+C,EACnD,YACA,UACA,WACA,aACA,QAAQ,MACR,YAAY,OACZ,aAAa,OACb,SACA,OACA,UACA,aACA,YACyC;CACzC,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;CAE7C,MAAMC,UAA0C,CAC9C;EACE,QAAQ,EAAE,sCAAsC;EAChD,IAAI;EACJ,SAAS,WAAmC,OAAO,WAAW,OAAO;EACtE,EACD;EACE,QAAQ,EAAE,oCAAoC;EAC9C,IAAI;EACJ,SAAS,WAAmC,EAAE,+BAA+B,OAAO,OAAO;EAC5F,CACF;AAED,KAAI,SACF,SAAQ,KAAK;EACX,QAAQ,EAAE,+BAA+B;EACzC,IAAI;EACJ,SAAS,WACP,oBAACC;GACC,SAAQ;GACR,OAAM;GACN,MAAK;GACL,UAAU;GACV,cAAY,EAAE,qCAAqC,EAAC,MAAM,OAAO,WAAW,OAAO,IAAG,CAAC;GACvF,eAAqB,SAAS,OAAO;aAEpC,EAAE,8BAA8B;IAC1B;EAEZ,CAAC;AAGJ,KAAI,SACF,QACE,oBAAC;EAAe;YACb,SAAS;GACR,YAAY,QAAQ,aAAa;GACjC;GACA;GACA;GACA;GACA;GACA,OAAO,aAAa,QAAQ;GAC5B;GACD,CAAC;GACE;AAIV,QACE,qBAACC;EACC,OAAM;EACK;EACX,OAAO,SAAS,EAAE,6BAA6B;EAClC;EACb,cAAc;EACD;aAEZ,SAAS,cACR,oBAACC;GACC,UAAU,EAAE,2BAA2B;GAC3B;GACZ,aAAa,QAAQ,KAAK,WAAwB,OAAO,GAAG;GAC5D,cAAc;GACP;GACP,OAAQ;IAAC;IAAQ;IAAS;IAAQ,CAC/B,QAAQ,SAA0B,WAAW,UAAU,OAAU,CACjE,KAAK,UAA2B;IAAC,OAAO,EAAE,+BAA+B,OAAO;IAAE,OAAO;IAAK,EAAE;IACnG,EAEJ,oBAACC;GACC,SAAS,OAAO,SAAS,QAAQ,EAAE,6BAA6B;GACvD;GACT,MAAM;GACN,WAAW,WAAgC,GAAG,OAAO,KAAK,GAAG,OAAO;GACzD;GACJ;GACP,WAAW,EAAE,6BAA6B;IAC1C;GACW;;AAInB,+BAAe"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupMembers.d.ts","sourceRoot":"","sources":["../../../../src/components/management/GroupMembers/GroupMembers.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,kBAAkB,EAsBnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,EAAE,EAAwB,MAAM,OAAO,CAAC;AAChD,OAAyB,EAAC,qBAAqB,EAAC,MAAM,oBAAoB,CAAC;AA8B3E,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,qBAAqB,EACrB,YAAY,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CACvF,GAAG;IACF;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAgFvC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -7,7 +7,7 @@ import { AgentQueryKeys, GroupQueryKeys, RoleQueryKeys, UserQueryKeys, addGroupM
7
7
  import { useMemo } from "react";
8
8
  import { jsx } from "react/jsx-runtime";
9
9
 
10
- //#region src/components/admin/GroupMembers/GroupMembers.tsx
10
+ //#region src/components/management/GroupMembers/GroupMembers.tsx
11
11
  /**
12
12
  * Query keys to refetch after a group's membership changes.
13
13
  */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupMembers.js","names":["GroupMembers: FC<GroupMembersProps>","useTranslation","groupsEndpoint: ManagementEndpoint","useManagementEndpoint","usersEndpoint: ManagementEndpoint","agentsEndpoint: ManagementEndpoint","filter: string | undefined","members: ResourceQueryResult<GroupMemberListResponse>","useResourceQuery","users: ResourceQueryResult<FilteredPage<ManagedUserListResponse>>","agents: ResourceQueryResult<FilteredPage<AgentListResponse>>","add: ResourceMutationResult<Group, GroupMembersVariables>","useResourceMutation","remove: ResourceMutationResult<Group, GroupMembersVariables>","candidates: Partial<Record<'user' | 'agent', IdentityCandidate[]>>","BaseGroupMembers"],"sources":["../../../../src/components/management/GroupMembers/GroupMembers.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n AdministrationMode,\n AgentListResponse,\n AgentQueryKeys,\n BasicAgent,\n Group,\n GroupMember,\n GroupMemberListResponse,\n GroupQueryKeys,\n ManagedUser,\n ManagedUserListResponse,\n ResourceQueryKey,\n RoleQueryKeys,\n UserQueryKeys,\n addGroupMembers,\n getAgentName,\n getAgents,\n getGroupMembers,\n getUsers,\n removeGroupMembers,\n resolveManagedIdentityName,\n toEqualityFilter,\n toManagementErrorMessage,\n} from '@thunderid/browser';\nimport {FC, ReactElement, useMemo} from 'react';\nimport BaseGroupMembers, {BaseGroupMembersProps} from './BaseGroupMembers';\nimport useManagementEndpoint, {ManagementEndpoint} from '../../../hooks/management/useManagementEndpoint';\nimport useResourceMutation, {ResourceMutationResult} from '../../../hooks/management/useResourceMutation';\nimport useResourceQuery, {ResourceQueryResult} from '../../../hooks/management/useResourceQuery';\nimport useTranslation from '../../../hooks/useTranslation';\nimport {IdentityCandidate} from '../shared/IdentityPicker';\n\ninterface GroupMembersVariables {\n groupId: string;\n members: Pick<GroupMember, 'id' | 'type'>[];\n}\n\n/**\n * A candidate page with the filter it was listed with.\n */\ninterface FilteredPage<T> {\n filter: string | undefined;\n page: T;\n}\n\n/**\n * Query keys to refetch after a group's membership changes.\n */\nconst getMembershipInvalidatedKeys = ({groupId}: GroupMembersVariables): ResourceQueryKey[] => [\n [GroupQueryKeys.GROUP, groupId],\n [GroupQueryKeys.GROUP_MEMBERS, groupId],\n [GroupQueryKeys.MEMBERSHIPS],\n [RoleQueryKeys.ROLE_ASSIGNMENTS],\n];\n\nexport type GroupMembersProps = Omit<\n BaseGroupMembersProps,\n 'candidates' | 'error' | 'isLoading' | 'isMutating' | 'members' | 'onAdd' | 'onRemove'\n> & {\n /**\n * How a member is removed. `flow` runs the administration flow the server configures for it, which can revoke\n * grants and end sessions first. It needs `baseUrl`.\n * @default 'native'\n */\n administrationMode?: AdministrationMode;\n /**\n * Whether members can be added and removed from this view.\n * @default false\n */\n editable?: boolean;\n groupId: string;\n /**\n * Organization unit the users and agents offered for adding are listed from.\n */\n ouId?: string;\n};\n\n/**\n * Lists the users and agents in a group, and lets the signed-in user add and remove them.\n *\n * @example\n * ```tsx\n * <GroupMembers groupId={groupId} />\n * ```\n */\nconst GroupMembers: FC<GroupMembersProps> = ({\n administrationMode,\n editable = false,\n groupId,\n ouId,\n preferences,\n ...rest\n}: GroupMembersProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n const groupsEndpoint: ManagementEndpoint = useManagementEndpoint('groups');\n const usersEndpoint: ManagementEndpoint = useManagementEndpoint('users');\n const agentsEndpoint: ManagementEndpoint = useManagementEndpoint('agents');\n const filter: string | undefined = toEqualityFilter('ouId', ouId);\n const members: ResourceQueryResult<GroupMemberListResponse> = useResourceQuery(\n [GroupQueryKeys.GROUP_MEMBERS, groupId, {limit: 100}],\n (fetcher) => getGroupMembers({...groupsEndpoint, fetcher, groupId, limit: 100}),\n {enabled: Boolean(groupId)},\n );\n const users: ResourceQueryResult<FilteredPage<ManagedUserListResponse>> = useResourceQuery(\n [UserQueryKeys.USERS, {filter, limit: 100}],\n async (fetcher) => ({filter, page: await getUsers({...usersEndpoint, fetcher, filter, limit: 100})}),\n {enabled: editable},\n );\n const agents: ResourceQueryResult<FilteredPage<AgentListResponse>> = useResourceQuery(\n [AgentQueryKeys.AGENTS, {filter, limit: 100}],\n async (fetcher) => ({filter, page: await getAgents({...agentsEndpoint, fetcher, filter, limit: 100})}),\n {enabled: editable},\n );\n const add: ResourceMutationResult<Group, GroupMembersVariables> = useResourceMutation(\n ({groupId: id, members: changes}: GroupMembersVariables, fetcher) =>\n addGroupMembers({...groupsEndpoint, fetcher, groupId: id, members: changes}),\n getMembershipInvalidatedKeys,\n );\n const remove: ResourceMutationResult<Group, GroupMembersVariables> = useResourceMutation(\n ({groupId: id, members: changes}: GroupMembersVariables, fetcher) =>\n removeGroupMembers({...groupsEndpoint, administrationMode, fetcher, groupId: id, members: changes}),\n getMembershipInvalidatedKeys,\n );\n\n const candidates: Partial<Record<'user' | 'agent', IdentityCandidate[]>> = useMemo(() => {\n // A page listed for an earlier ouId stays in a query until the next one succeeds, so it is not offered.\n const current = <T,>(data: FilteredPage<T> | undefined): T | undefined =>\n data && data.filter === filter ? data.page : undefined;\n\n return {\n agent: (current(agents.data)?.agents ?? []).map((agent: BasicAgent) => ({\n id: agent.id,\n label: getAgentName(agent),\n })),\n user: (current(users.data)?.users ?? []).map((user: ManagedUser) => ({\n id: user.id,\n label: resolveManagedIdentityName(user),\n })),\n };\n }, [agents.data, filter, users.data]);\n\n return (\n <BaseGroupMembers\n members={members.data?.members ?? []}\n isLoading={members.isLoading}\n isMutating={add.isLoading || remove.isLoading}\n error={\n toManagementErrorMessage(t, members.error, 'admin.groups.members.error') ??\n toManagementErrorMessage(t, add.error ?? remove.error, 'admin.groups.members.update_error')\n }\n candidates={editable ? candidates : undefined}\n onAdd={\n editable\n ? (member: Pick<GroupMember, 'id' | 'type'>): void => void add.mutate({groupId, members: [member]})\n : undefined\n }\n onRemove={\n editable\n ? (member: GroupMember): void => void remove.mutate({groupId, members: [{id: member.id, type: member.type}]})\n : undefined\n }\n preferences={preferences}\n {...rest}\n />\n );\n};\n\nexport default GroupMembers;\n"],"mappings":";;;;;;;;;;;;;AAmDA,MAAM,gCAAgC,EAAC,cAAwD;CAC7F,CAAC,eAAe,OAAO,QAAQ;CAC/B,CAAC,eAAe,eAAe,QAAQ;CACvC,CAAC,eAAe,YAAY;CAC5B,CAAC,cAAc,iBAAiB;CACjC;;;;;;;;;AAgCD,MAAMA,gBAAuC,EAC3C,oBACA,WAAW,OACX,SACA,MACA,YACA,GAAG,WACkC;CACrC,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;CAC7C,MAAMC,iBAAqCC,8BAAsB,SAAS;CAC1E,MAAMC,gBAAoCD,8BAAsB,QAAQ;CACxE,MAAME,iBAAqCF,8BAAsB,SAAS;CAC1E,MAAMG,SAA6B,iBAAiB,QAAQ,KAAK;CACjE,MAAMC,UAAwDC,yBAC5D;EAAC,eAAe;EAAe;EAAS,EAAC,OAAO,KAAI;EAAC,GACpD,YAAY,gBAAgB;EAAC,GAAG;EAAgB;EAAS;EAAS,OAAO;EAAI,CAAC,EAC/E,EAAC,SAAS,QAAQ,QAAQ,EAAC,CAC5B;CACD,MAAMC,QAAoED,yBACxE,CAAC,cAAc,OAAO;EAAC;EAAQ,OAAO;EAAI,CAAC,EAC3C,OAAO,aAAa;EAAC;EAAQ,MAAM,MAAM,SAAS;GAAC,GAAG;GAAe;GAAS;GAAQ,OAAO;GAAI,CAAC;EAAC,GACnG,EAAC,SAAS,UAAS,CACpB;CACD,MAAME,SAA+DF,yBACnE,CAAC,eAAe,QAAQ;EAAC;EAAQ,OAAO;EAAI,CAAC,EAC7C,OAAO,aAAa;EAAC;EAAQ,MAAM,MAAM,UAAU;GAAC,GAAG;GAAgB;GAAS;GAAQ,OAAO;GAAI,CAAC;EAAC,GACrG,EAAC,SAAS,UAAS,CACpB;CACD,MAAMG,MAA4DC,6BAC/D,EAAC,SAAS,IAAI,SAAS,WAAiC,YACvD,gBAAgB;EAAC,GAAG;EAAgB;EAAS,SAAS;EAAI,SAAS;EAAQ,CAAC,EAC9E,6BACD;CACD,MAAMC,SAA+DD,6BAClE,EAAC,SAAS,IAAI,SAAS,WAAiC,YACvD,mBAAmB;EAAC,GAAG;EAAgB;EAAoB;EAAS,SAAS;EAAI,SAAS;EAAQ,CAAC,EACrG,6BACD;CAED,MAAME,aAAqE,cAAc;EAEvF,MAAM,WAAe,SACnB,QAAQ,KAAK,WAAW,SAAS,KAAK,OAAO;AAE/C,SAAO;GACL,QAAQ,QAAQ,OAAO,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,WAAuB;IACtE,IAAI,MAAM;IACV,OAAO,aAAa,MAAM;IAC3B,EAAE;GACH,OAAO,QAAQ,MAAM,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,UAAuB;IACnE,IAAI,KAAK;IACT,OAAO,2BAA2B,KAAK;IACxC,EAAE;GACJ;IACA;EAAC,OAAO;EAAM;EAAQ,MAAM;EAAK,CAAC;AAErC,QACE,oBAACC;EACC,SAAS,QAAQ,MAAM,WAAW,EAAE;EACpC,WAAW,QAAQ;EACnB,YAAY,IAAI,aAAa,OAAO;EACpC,OACE,yBAAyB,GAAG,QAAQ,OAAO,6BAA6B,IACxE,yBAAyB,GAAG,IAAI,SAAS,OAAO,OAAO,oCAAoC;EAE7F,YAAY,WAAW,aAAa;EACpC,OACE,YACK,WAAmD,KAAK,IAAI,OAAO;GAAC;GAAS,SAAS,CAAC,OAAO;GAAC,CAAC,GACjG;EAEN,UACE,YACK,WAA8B,KAAK,OAAO,OAAO;GAAC;GAAS,SAAS,CAAC;IAAC,IAAI,OAAO;IAAI,MAAM,OAAO;IAAK,CAAC;GAAC,CAAC,GAC3G;EAEO;EACb,GAAI;GACJ;;AAIN,2BAAe"}
@@ -0,0 +1,85 @@
1
+ import { Preferences, SelectOption } from '@thunderid/browser';
2
+ import { FC, ReactNode } from 'react';
3
+ /**
4
+ * The organization unit {@link BaseOrganizationUnitCreate} submits.
5
+ */
6
+ export interface OrganizationUnitCreateSubmission {
7
+ description?: string;
8
+ handle: string;
9
+ name: string;
10
+ /**
11
+ * Identifier of the parent organization unit, or `null` for a unit at the top level.
12
+ */
13
+ parentId: string | null;
14
+ }
15
+ /**
16
+ * The fields of {@link BaseOrganizationUnitCreate}. `parentId` is the parent's identifier, or an empty string for
17
+ * the top level.
18
+ */
19
+ export type OrganizationUnitCreateField = 'description' | 'handle' | 'name' | 'parentId';
20
+ /**
21
+ * What {@link BaseOrganizationUnitCreate} hands its `children` render function, so the form can be built with any UI.
22
+ */
23
+ export interface BaseOrganizationUnitCreateRenderProps {
24
+ error: string | null;
25
+ /**
26
+ * Sets one field of the form.
27
+ */
28
+ handleInputChange: (field: OrganizationUnitCreateField, value: string) => void;
29
+ /**
30
+ * Submits the current values. Does nothing while they are not valid.
31
+ */
32
+ handleSubmit: () => void;
33
+ isLoadingParents: boolean;
34
+ isSubmitting: boolean;
35
+ /**
36
+ * Whether the values can be submitted.
37
+ */
38
+ isValid: boolean;
39
+ onCancel?: () => void;
40
+ /**
41
+ * Loads more parent options. Undefined when every option is loaded or the parent is fixed.
42
+ */
43
+ onLoadMoreParents?: () => void;
44
+ /**
45
+ * The parents to choose from. Empty when the parent is fixed by `parentId`.
46
+ */
47
+ parentOptions: SelectOption[];
48
+ values: Record<OrganizationUnitCreateField, string>;
49
+ }
50
+ export interface BaseOrganizationUnitCreateProps {
51
+ /**
52
+ * Renders custom UI in place of the default form. Receives the values, their setters, the parent
53
+ * options, the submit handler and the submission state.
54
+ */
55
+ children?: (props: BaseOrganizationUnitCreateRenderProps) => ReactNode;
56
+ className?: string;
57
+ /**
58
+ * The parent preselected in the picker.
59
+ */
60
+ defaultParentId?: string;
61
+ description?: string;
62
+ error?: string | null;
63
+ isLoadingParents?: boolean;
64
+ isSubmitting?: boolean;
65
+ onCancel?: () => void;
66
+ onLoadMoreParents?: () => void;
67
+ onSubmit: (organizationUnit: OrganizationUnitCreateSubmission) => void;
68
+ /**
69
+ * The parent of the new unit. When set, the parent picker is hidden.
70
+ */
71
+ parentId?: string;
72
+ /**
73
+ * The parents the picker offers. The picker shows when `parentId` is not set and this is.
74
+ */
75
+ parentOptions?: SelectOption[];
76
+ preferences?: Preferences;
77
+ title?: string;
78
+ }
79
+ /**
80
+ * A form that collects a new organization unit's name, handle, description and parent. Holds no data
81
+ * of its own: pass the parent or the parents to choose from, and handle the submission.
82
+ */
83
+ declare const BaseOrganizationUnitCreate: FC<BaseOrganizationUnitCreateProps>;
84
+ export default BaseOrganizationUnitCreate;
85
+ //# sourceMappingURL=BaseOrganizationUnitCreate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseOrganizationUnitCreate.d.ts","sourceRoot":"","sources":["../../../../src/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAc,EAAE,EAA2B,SAAS,EAAW,MAAM,OAAO,CAAC;AAUpF;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;AAEzF;;GAEG;AACH,MAAM,WAAW,qCAAqC;IACpD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,iBAAiB,EAAE,CAAC,KAAK,EAAE,2BAA2B,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/E;;OAEG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B;;OAEG;IACH,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,qCAAqC,KAAK,SAAS,CAAC;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gCAAgC,KAAK,IAAI,CAAC;IACvE;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,QAAA,MAAM,0BAA0B,EAAE,EAAE,CAAC,+BAA+B,CAsInE,CAAC;AAEF,eAAe,0BAA0B,CAAC"}
@@ -0,0 +1,137 @@
1
+ import useTheme_default from "../../../contexts/Theme/useTheme.js";
2
+ import useTranslation_default from "../../../hooks/useTranslation.js";
3
+ import Button_default from "../../primitives/Button/Button.js";
4
+ import Alert_default from "../../primitives/Alert/Alert.js";
5
+ import TextField_default from "../../primitives/TextField/TextField.js";
6
+ import Select_default from "../../primitives/Select/Select.js";
7
+ import AdminSection_styles_default from "../shared/AdminSection.styles.js";
8
+ import AdminSection_default from "../shared/AdminSection.js";
9
+ import { useState } from "react";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+
12
+ //#region src/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.tsx
13
+ /**
14
+ * A form that collects a new organization unit's name, handle, description and parent. Holds no data
15
+ * of its own: pass the parent or the parents to choose from, and handle the submission.
16
+ */
17
+ const BaseOrganizationUnitCreate = ({ children, className, defaultParentId, description, error = null, isLoadingParents = false, isSubmitting = false, onCancel, onLoadMoreParents, onSubmit, parentId, parentOptions, preferences, title }) => {
18
+ const { theme, colorScheme } = useTheme_default();
19
+ const styles = AdminSection_styles_default(theme, colorScheme);
20
+ const { t } = useTranslation_default(preferences?.i18n);
21
+ const [fields, setFields] = useState({
22
+ description: "",
23
+ handle: "",
24
+ name: ""
25
+ });
26
+ const [chosenParentId, setChosenParentId] = useState(void 0);
27
+ const resolvedParentId = parentId ?? chosenParentId ?? defaultParentId ?? "";
28
+ const values = {
29
+ ...fields,
30
+ parentId: resolvedParentId
31
+ };
32
+ const isValid = fields.name.trim().length > 0 && fields.handle.trim().length > 0;
33
+ const showsPicker = parentId === void 0 && parentOptions !== void 0;
34
+ const setField = (field, value) => {
35
+ if (field === "parentId") setChosenParentId(value);
36
+ else setFields((previous) => ({
37
+ ...previous,
38
+ [field]: value
39
+ }));
40
+ };
41
+ const submit = () => {
42
+ if (isValid && !isSubmitting) onSubmit({
43
+ description: fields.description.trim() || void 0,
44
+ handle: fields.handle.trim(),
45
+ name: fields.name.trim(),
46
+ parentId: resolvedParentId || null
47
+ });
48
+ };
49
+ const handleSubmit = (event) => {
50
+ event.preventDefault();
51
+ submit();
52
+ };
53
+ if (children) return /* @__PURE__ */ jsx("div", {
54
+ className,
55
+ children: children({
56
+ error,
57
+ handleInputChange: setField,
58
+ handleSubmit: submit,
59
+ isLoadingParents,
60
+ isSubmitting,
61
+ isValid,
62
+ onCancel,
63
+ onLoadMoreParents: showsPicker ? onLoadMoreParents : void 0,
64
+ parentOptions: parentId === void 0 ? parentOptions ?? [] : [],
65
+ values
66
+ })
67
+ });
68
+ return /* @__PURE__ */ jsx(AdminSection_default, {
69
+ block: "organization-unit-create",
70
+ className,
71
+ title: title ?? t("admin.organization_units.create.title"),
72
+ description,
73
+ preferences,
74
+ children: /* @__PURE__ */ jsxs("form", {
75
+ className: styles["form"],
76
+ onSubmit: handleSubmit,
77
+ noValidate: true,
78
+ children: [
79
+ error && /* @__PURE__ */ jsx(Alert_default, {
80
+ variant: "error",
81
+ role: "alert",
82
+ children: error
83
+ }),
84
+ /* @__PURE__ */ jsx(TextField_default, {
85
+ name: "name",
86
+ label: t("admin.organization_units.fields.name"),
87
+ required: true,
88
+ value: fields.name,
89
+ onChange: (event) => setField("name", event.target.value)
90
+ }),
91
+ /* @__PURE__ */ jsx(TextField_default, {
92
+ name: "handle",
93
+ label: t("admin.organization_units.fields.handle"),
94
+ required: true,
95
+ value: fields.handle,
96
+ onChange: (event) => setField("handle", event.target.value)
97
+ }),
98
+ /* @__PURE__ */ jsx(TextField_default, {
99
+ name: "description",
100
+ label: t("admin.organization_units.fields.description"),
101
+ value: fields.description,
102
+ onChange: (event) => setField("description", event.target.value)
103
+ }),
104
+ showsPicker && /* @__PURE__ */ jsx(Select_default, {
105
+ name: "parentId",
106
+ label: t("admin.organization_units.fields.parent"),
107
+ placeholder: t("admin.organization_units.fields.parent_none"),
108
+ loading: isLoadingParents,
109
+ onLoadMore: onLoadMoreParents,
110
+ options: parentOptions,
111
+ value: resolvedParentId,
112
+ onChange: (event) => setField("parentId", event.target.value)
113
+ }),
114
+ /* @__PURE__ */ jsxs("div", {
115
+ className: styles["formActions"],
116
+ children: [onCancel && /* @__PURE__ */ jsx(Button_default, {
117
+ type: "button",
118
+ variant: "text",
119
+ onClick: onCancel,
120
+ disabled: isSubmitting,
121
+ children: t("admin.common.actions.cancel")
122
+ }), /* @__PURE__ */ jsx(Button_default, {
123
+ type: "submit",
124
+ loading: isSubmitting,
125
+ disabled: !isValid || isSubmitting,
126
+ children: t("admin.organization_units.create.submit")
127
+ })]
128
+ })
129
+ ]
130
+ })
131
+ });
132
+ };
133
+ var BaseOrganizationUnitCreate_default = BaseOrganizationUnitCreate;
134
+
135
+ //#endregion
136
+ export { BaseOrganizationUnitCreate_default as default };
137
+ //# sourceMappingURL=BaseOrganizationUnitCreate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseOrganizationUnitCreate.js","names":["BaseOrganizationUnitCreate: FC<BaseOrganizationUnitCreateProps>","useTheme","styles: Record<string, string>","useStyles","useTranslation","resolvedParentId: string","values: Record<OrganizationUnitCreateField, string>","isValid: boolean","showsPicker: boolean","AdminSection","Alert","TextField","Select","Button"],"sources":["../../../../src/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {Preferences, SelectOption} from '@thunderid/browser';\nimport {ChangeEvent, FC, FormEvent, ReactElement, ReactNode, useState} from 'react';\nimport useTheme from '../../../contexts/Theme/useTheme';\nimport useTranslation from '../../../hooks/useTranslation';\nimport Alert from '../../primitives/Alert/Alert';\nimport Button from '../../primitives/Button/Button';\nimport Select from '../../primitives/Select/Select';\nimport TextField from '../../primitives/TextField/TextField';\nimport AdminSection from '../shared/AdminSection';\nimport useStyles from '../shared/AdminSection.styles';\n\n/**\n * The organization unit {@link BaseOrganizationUnitCreate} submits.\n */\nexport interface OrganizationUnitCreateSubmission {\n description?: string;\n handle: string;\n name: string;\n /**\n * Identifier of the parent organization unit, or `null` for a unit at the top level.\n */\n parentId: string | null;\n}\n\n/**\n * The fields of {@link BaseOrganizationUnitCreate}. `parentId` is the parent's identifier, or an empty string for\n * the top level.\n */\nexport type OrganizationUnitCreateField = 'description' | 'handle' | 'name' | 'parentId';\n\n/**\n * What {@link BaseOrganizationUnitCreate} hands its `children` render function, so the form can be built with any UI.\n */\nexport interface BaseOrganizationUnitCreateRenderProps {\n error: string | null;\n /**\n * Sets one field of the form.\n */\n handleInputChange: (field: OrganizationUnitCreateField, value: string) => void;\n /**\n * Submits the current values. Does nothing while they are not valid.\n */\n handleSubmit: () => void;\n isLoadingParents: boolean;\n isSubmitting: boolean;\n /**\n * Whether the values can be submitted.\n */\n isValid: boolean;\n onCancel?: () => void;\n /**\n * Loads more parent options. Undefined when every option is loaded or the parent is fixed.\n */\n onLoadMoreParents?: () => void;\n /**\n * The parents to choose from. Empty when the parent is fixed by `parentId`.\n */\n parentOptions: SelectOption[];\n values: Record<OrganizationUnitCreateField, string>;\n}\n\nexport interface BaseOrganizationUnitCreateProps {\n /**\n * Renders custom UI in place of the default form. Receives the values, their setters, the parent\n * options, the submit handler and the submission state.\n */\n children?: (props: BaseOrganizationUnitCreateRenderProps) => ReactNode;\n className?: string;\n /**\n * The parent preselected in the picker.\n */\n defaultParentId?: string;\n description?: string;\n error?: string | null;\n isLoadingParents?: boolean;\n isSubmitting?: boolean;\n onCancel?: () => void;\n onLoadMoreParents?: () => void;\n onSubmit: (organizationUnit: OrganizationUnitCreateSubmission) => void;\n /**\n * The parent of the new unit. When set, the parent picker is hidden.\n */\n parentId?: string;\n /**\n * The parents the picker offers. The picker shows when `parentId` is not set and this is.\n */\n parentOptions?: SelectOption[];\n preferences?: Preferences;\n title?: string;\n}\n\n/**\n * A form that collects a new organization unit's name, handle, description and parent. Holds no data\n * of its own: pass the parent or the parents to choose from, and handle the submission.\n */\nconst BaseOrganizationUnitCreate: FC<BaseOrganizationUnitCreateProps> = ({\n children,\n className,\n defaultParentId,\n description,\n error = null,\n isLoadingParents = false,\n isSubmitting = false,\n onCancel,\n onLoadMoreParents,\n onSubmit,\n parentId,\n parentOptions,\n preferences,\n title,\n}: BaseOrganizationUnitCreateProps): ReactElement => {\n const {theme, colorScheme} = useTheme();\n const styles: Record<string, string> = useStyles(theme, colorScheme);\n const {t} = useTranslation(preferences?.i18n);\n const [fields, setFields] = useState<Record<'description' | 'handle' | 'name', string>>({\n description: '',\n handle: '',\n name: '',\n });\n // Undefined until the user picks, so a default that arrives later still applies.\n const [chosenParentId, setChosenParentId] = useState<string | undefined>(undefined);\n\n const resolvedParentId: string = parentId ?? chosenParentId ?? defaultParentId ?? '';\n const values: Record<OrganizationUnitCreateField, string> = {...fields, parentId: resolvedParentId};\n const isValid: boolean = fields.name.trim().length > 0 && fields.handle.trim().length > 0;\n const showsPicker: boolean = parentId === undefined && parentOptions !== undefined;\n\n const setField = (field: OrganizationUnitCreateField, value: string): void => {\n if (field === 'parentId') {\n setChosenParentId(value);\n } else {\n setFields((previous: Record<'description' | 'handle' | 'name', string>) => ({...previous, [field]: value}));\n }\n };\n\n const submit = (): void => {\n if (isValid && !isSubmitting) {\n onSubmit({\n description: fields.description.trim() || undefined,\n handle: fields.handle.trim(),\n name: fields.name.trim(),\n parentId: resolvedParentId || null,\n });\n }\n };\n\n const handleSubmit = (event: FormEvent<HTMLFormElement>): void => {\n event.preventDefault();\n submit();\n };\n\n if (children) {\n return (\n <div className={className}>\n {children({\n error,\n handleInputChange: setField,\n handleSubmit: submit,\n isLoadingParents,\n isSubmitting,\n isValid,\n onCancel,\n onLoadMoreParents: showsPicker ? onLoadMoreParents : undefined,\n parentOptions: parentId === undefined ? (parentOptions ?? []) : [],\n values,\n })}\n </div>\n );\n }\n\n return (\n <AdminSection\n block=\"organization-unit-create\"\n className={className}\n title={title ?? t('admin.organization_units.create.title')}\n description={description}\n preferences={preferences}\n >\n <form className={styles['form']} onSubmit={handleSubmit} noValidate>\n {error && (\n <Alert variant=\"error\" role=\"alert\">\n {error}\n </Alert>\n )}\n <TextField\n name=\"name\"\n label={t('admin.organization_units.fields.name')}\n required\n value={fields.name}\n onChange={(event: ChangeEvent<HTMLInputElement>): void => setField('name', event.target.value)}\n />\n <TextField\n name=\"handle\"\n label={t('admin.organization_units.fields.handle')}\n required\n value={fields.handle}\n onChange={(event: ChangeEvent<HTMLInputElement>): void => setField('handle', event.target.value)}\n />\n <TextField\n name=\"description\"\n label={t('admin.organization_units.fields.description')}\n value={fields.description}\n onChange={(event: ChangeEvent<HTMLInputElement>): void => setField('description', event.target.value)}\n />\n {showsPicker && (\n <Select\n name=\"parentId\"\n label={t('admin.organization_units.fields.parent')}\n placeholder={t('admin.organization_units.fields.parent_none')}\n loading={isLoadingParents}\n onLoadMore={onLoadMoreParents}\n options={parentOptions}\n value={resolvedParentId}\n onChange={(event: ChangeEvent<HTMLSelectElement>): void => setField('parentId', event.target.value)}\n />\n )}\n <div className={styles['formActions']}>\n {onCancel && (\n <Button type=\"button\" variant=\"text\" onClick={onCancel} disabled={isSubmitting}>\n {t('admin.common.actions.cancel')}\n </Button>\n )}\n <Button type=\"submit\" loading={isSubmitting} disabled={!isValid || isSubmitting}>\n {t('admin.organization_units.create.submit')}\n </Button>\n </div>\n </form>\n </AdminSection>\n );\n};\n\nexport default BaseOrganizationUnitCreate;\n"],"mappings":";;;;;;;;;;;;;;;;AAkGA,MAAMA,8BAAmE,EACvE,UACA,WACA,iBACA,aACA,QAAQ,MACR,mBAAmB,OACnB,eAAe,OACf,UACA,mBACA,UACA,UACA,eACA,aACA,YACmD;CACnD,MAAM,EAAC,OAAO,gBAAeC,kBAAU;CACvC,MAAMC,SAAiCC,4BAAU,OAAO,YAAY;CACpE,MAAM,EAAC,MAAKC,uBAAe,aAAa,KAAK;CAC7C,MAAM,CAAC,QAAQ,aAAa,SAA4D;EACtF,aAAa;EACb,QAAQ;EACR,MAAM;EACP,CAAC;CAEF,MAAM,CAAC,gBAAgB,qBAAqB,SAA6B,OAAU;CAEnF,MAAMC,mBAA2B,YAAY,kBAAkB,mBAAmB;CAClF,MAAMC,SAAsD;EAAC,GAAG;EAAQ,UAAU;EAAiB;CACnG,MAAMC,UAAmB,OAAO,KAAK,MAAM,CAAC,SAAS,KAAK,OAAO,OAAO,MAAM,CAAC,SAAS;CACxF,MAAMC,cAAuB,aAAa,UAAa,kBAAkB;CAEzE,MAAM,YAAY,OAAoC,UAAwB;AAC5E,MAAI,UAAU,WACZ,mBAAkB,MAAM;MAExB,YAAW,cAAiE;GAAC,GAAG;IAAW,QAAQ;GAAM,EAAE;;CAI/G,MAAM,eAAqB;AACzB,MAAI,WAAW,CAAC,aACd,UAAS;GACP,aAAa,OAAO,YAAY,MAAM,IAAI;GAC1C,QAAQ,OAAO,OAAO,MAAM;GAC5B,MAAM,OAAO,KAAK,MAAM;GACxB,UAAU,oBAAoB;GAC/B,CAAC;;CAIN,MAAM,gBAAgB,UAA4C;AAChE,QAAM,gBAAgB;AACtB,UAAQ;;AAGV,KAAI,SACF,QACE,oBAAC;EAAe;YACb,SAAS;GACR;GACA,mBAAmB;GACnB,cAAc;GACd;GACA;GACA;GACA;GACA,mBAAmB,cAAc,oBAAoB;GACrD,eAAe,aAAa,SAAa,iBAAiB,EAAE,GAAI,EAAE;GAClE;GACD,CAAC;GACE;AAIV,QACE,oBAACC;EACC,OAAM;EACK;EACX,OAAO,SAAS,EAAE,wCAAwC;EAC7C;EACA;YAEb,qBAAC;GAAK,WAAW,OAAO;GAAS,UAAU;GAAc;;IACtD,SACC,oBAACC;KAAM,SAAQ;KAAQ,MAAK;eACzB;MACK;IAEV,oBAACC;KACC,MAAK;KACL,OAAO,EAAE,uCAAuC;KAChD;KACA,OAAO,OAAO;KACd,WAAW,UAA+C,SAAS,QAAQ,MAAM,OAAO,MAAM;MAC9F;IACF,oBAACA;KACC,MAAK;KACL,OAAO,EAAE,yCAAyC;KAClD;KACA,OAAO,OAAO;KACd,WAAW,UAA+C,SAAS,UAAU,MAAM,OAAO,MAAM;MAChG;IACF,oBAACA;KACC,MAAK;KACL,OAAO,EAAE,8CAA8C;KACvD,OAAO,OAAO;KACd,WAAW,UAA+C,SAAS,eAAe,MAAM,OAAO,MAAM;MACrG;IACD,eACC,oBAACC;KACC,MAAK;KACL,OAAO,EAAE,yCAAyC;KAClD,aAAa,EAAE,8CAA8C;KAC7D,SAAS;KACT,YAAY;KACZ,SAAS;KACT,OAAO;KACP,WAAW,UAAgD,SAAS,YAAY,MAAM,OAAO,MAAM;MACnG;IAEJ,qBAAC;KAAI,WAAW,OAAO;gBACpB,YACC,oBAACC;MAAO,MAAK;MAAS,SAAQ;MAAO,SAAS;MAAU,UAAU;gBAC/D,EAAE,8BAA8B;OAC1B,EAEX,oBAACA;MAAO,MAAK;MAAS,SAAS;MAAc,UAAU,CAAC,WAAW;gBAChE,EAAE,yCAAyC;OACrC;MACL;;IACD;GACM;;AAInB,yCAAe"}
@@ -0,0 +1,21 @@
1
+ import { OrganizationUnit } from '@thunderid/browser';
2
+ import { FC } from 'react';
3
+ import { BaseOrganizationUnitCreateProps } from './BaseOrganizationUnitCreate';
4
+ export type OrganizationUnitCreateProps = Omit<BaseOrganizationUnitCreateProps, 'error' | 'isLoadingParents' | 'isSubmitting' | 'onLoadMoreParents' | 'onSubmit' | 'parentOptions'> & {
5
+ /**
6
+ * Called with the created organization unit.
7
+ */
8
+ onCreated?: (organizationUnit: OrganizationUnit) => void;
9
+ };
10
+ /**
11
+ * Creates an organization unit through the management API. Without `parentId`, it offers the root
12
+ * units as parents; pass `parentId` to create a unit deeper in the tree.
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * <OrganizationUnitCreate parentId={unitId} onCreated={(unit) => navigate(`/units/${unit.id}`)} />
17
+ * ```
18
+ */
19
+ declare const OrganizationUnitCreate: FC<OrganizationUnitCreateProps>;
20
+ export default OrganizationUnitCreate;
21
+ //# sourceMappingURL=OrganizationUnitCreate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrganizationUnitCreate.d.ts","sourceRoot":"","sources":["../../../../src/components/management/OrganizationUnitCreate/OrganizationUnitCreate.tsx"],"names":[],"mappings":"AAGA,OAAO,EAGL,gBAAgB,EAQjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,EAAE,EAAkC,MAAM,OAAO,CAAC;AAC1D,OAAmC,EACjC,+BAA+B,EAEhC,MAAM,8BAA8B,CAAC;AAQtC,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC5C,+BAA+B,EAC/B,OAAO,GAAG,kBAAkB,GAAG,cAAc,GAAG,mBAAmB,GAAG,UAAU,GAAG,eAAe,CACnG,GAAG;IACF;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,KAAK,IAAI,CAAC;CAC1D,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,sBAAsB,EAAE,EAAE,CAAC,2BAA2B,CA4E3D,CAAC;AAEF,eAAe,sBAAsB,CAAC"}