@thunderid/react 1.14.0 → 1.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (625) hide show
  1. package/dist/ThunderIDReactClient.d.ts.map +1 -1
  2. package/dist/ThunderIDReactClient.js +7 -3
  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 +7 -3
  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/Callback/TokenCallback.cjs +3 -3
  19. package/dist/cjs/components/auth/Callback/TokenCallback.cjs.map +1 -1
  20. package/dist/cjs/components/auth/SignIn/SignIn.cjs +49 -44
  21. package/dist/cjs/components/auth/SignIn/SignIn.cjs.map +1 -1
  22. package/dist/cjs/components/auth/SignUp/BaseSignUp.cjs +13 -9
  23. package/dist/cjs/components/auth/SignUp/BaseSignUp.cjs.map +1 -1
  24. package/dist/cjs/components/auth/flow/AuthOptionFactory.cjs +2 -2
  25. package/dist/cjs/components/auth/flow/AuthOptionFactory.cjs.map +1 -1
  26. package/dist/cjs/components/common/LanguageSwitcher/BaseLanguageSwitcher.cjs +1 -1
  27. package/dist/cjs/components/{admin → management}/AgentCreate/AgentCreate.cjs +8 -7
  28. package/dist/cjs/components/management/AgentCreate/AgentCreate.cjs.map +1 -0
  29. package/dist/cjs/components/{admin → management}/AgentCreate/BaseAgentCreate.cjs +1 -1
  30. package/dist/cjs/components/management/AgentCreate/BaseAgentCreate.cjs.map +1 -0
  31. package/dist/cjs/components/{admin → management}/AgentDetails/AgentDetails.cjs +1 -1
  32. package/dist/cjs/components/management/AgentDetails/AgentDetails.cjs.map +1 -0
  33. package/dist/cjs/components/{admin → management}/AgentDetails/BaseAgentDetails.cjs +1 -1
  34. package/dist/cjs/components/management/AgentDetails/BaseAgentDetails.cjs.map +1 -0
  35. package/dist/cjs/components/{admin → management}/AgentList/AgentList.cjs +11 -6
  36. package/dist/cjs/components/management/AgentList/AgentList.cjs.map +1 -0
  37. package/dist/cjs/components/{admin → management}/AgentList/BaseAgentList.cjs +1 -1
  38. package/dist/cjs/components/management/AgentList/BaseAgentList.cjs.map +1 -0
  39. package/dist/cjs/components/{admin → management}/ApplicationCreate/ApplicationCreate.cjs +10 -5
  40. package/dist/cjs/components/management/ApplicationCreate/ApplicationCreate.cjs.map +1 -0
  41. package/dist/cjs/components/{admin → management}/ApplicationCreate/BaseApplicationCreate.cjs +1 -1
  42. package/dist/cjs/components/management/ApplicationCreate/BaseApplicationCreate.cjs.map +1 -0
  43. package/dist/cjs/components/{admin → management}/ApplicationDetails/ApplicationDetails.cjs +1 -1
  44. package/dist/cjs/components/management/ApplicationDetails/ApplicationDetails.cjs.map +1 -0
  45. package/dist/cjs/components/{admin → management}/ApplicationDetails/BaseApplicationDetails.cjs +1 -1
  46. package/dist/cjs/components/management/ApplicationDetails/BaseApplicationDetails.cjs.map +1 -0
  47. package/dist/cjs/components/{admin → management}/ApplicationList/ApplicationList.cjs +9 -4
  48. package/dist/cjs/components/management/ApplicationList/ApplicationList.cjs.map +1 -0
  49. package/dist/cjs/components/{admin → management}/ApplicationList/BaseApplicationList.cjs +1 -1
  50. package/dist/cjs/components/management/ApplicationList/BaseApplicationList.cjs.map +1 -0
  51. package/dist/cjs/components/{admin → management}/GroupCreate/BaseGroupCreate.cjs +1 -1
  52. package/dist/cjs/components/management/GroupCreate/BaseGroupCreate.cjs.map +1 -0
  53. package/dist/cjs/components/{admin → management}/GroupCreate/GroupCreate.cjs +1 -1
  54. package/dist/cjs/components/management/GroupCreate/GroupCreate.cjs.map +1 -0
  55. package/dist/cjs/components/management/GroupDetails/BaseGroupDetails.cjs +86 -0
  56. package/dist/cjs/components/management/GroupDetails/BaseGroupDetails.cjs.map +1 -0
  57. package/dist/cjs/components/management/GroupDetails/GroupDetails.cjs +60 -0
  58. package/dist/cjs/components/management/GroupDetails/GroupDetails.cjs.map +1 -0
  59. package/dist/cjs/components/{admin → management}/GroupList/BaseGroupList.cjs +1 -1
  60. package/dist/cjs/components/management/GroupList/BaseGroupList.cjs.map +1 -0
  61. package/dist/cjs/components/{admin → management}/GroupList/GroupList.cjs +1 -1
  62. package/dist/cjs/components/management/GroupList/GroupList.cjs.map +1 -0
  63. package/dist/cjs/components/{admin → management}/GroupMembers/BaseGroupMembers.cjs +1 -1
  64. package/dist/cjs/components/management/GroupMembers/BaseGroupMembers.cjs.map +1 -0
  65. package/dist/cjs/components/{admin → management}/GroupMembers/GroupMembers.cjs +1 -1
  66. package/dist/cjs/components/management/GroupMembers/GroupMembers.cjs.map +1 -0
  67. package/dist/cjs/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.cjs +140 -0
  68. package/dist/cjs/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.cjs.map +1 -0
  69. package/dist/cjs/components/management/OrganizationUnitCreate/OrganizationUnitCreate.cjs +83 -0
  70. package/dist/cjs/components/management/OrganizationUnitCreate/OrganizationUnitCreate.cjs.map +1 -0
  71. package/dist/cjs/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.cjs +276 -0
  72. package/dist/cjs/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.cjs.map +1 -0
  73. package/dist/cjs/components/management/OrganizationUnitDetails/OrganizationUnitDetails.cjs +142 -0
  74. package/dist/cjs/components/management/OrganizationUnitDetails/OrganizationUnitDetails.cjs.map +1 -0
  75. package/dist/cjs/components/management/OrganizationUnitList/BaseOrganizationUnitList.cjs +78 -0
  76. package/dist/cjs/components/management/OrganizationUnitList/BaseOrganizationUnitList.cjs.map +1 -0
  77. package/dist/cjs/components/management/OrganizationUnitList/OrganizationUnitList.cjs +69 -0
  78. package/dist/cjs/components/management/OrganizationUnitList/OrganizationUnitList.cjs.map +1 -0
  79. package/dist/cjs/components/management/ProjectCreate/BaseProjectCreate.cjs +116 -0
  80. package/dist/cjs/components/management/ProjectCreate/BaseProjectCreate.cjs.map +1 -0
  81. package/dist/cjs/components/management/ProjectCreate/ProjectCreate.cjs +43 -0
  82. package/dist/cjs/components/management/ProjectCreate/ProjectCreate.cjs.map +1 -0
  83. package/dist/cjs/components/management/ProjectDetails/BaseProjectDetails.cjs +172 -0
  84. package/dist/cjs/components/management/ProjectDetails/BaseProjectDetails.cjs.map +1 -0
  85. package/dist/cjs/components/management/ProjectDetails/ProjectDetails.cjs +68 -0
  86. package/dist/cjs/components/management/ProjectDetails/ProjectDetails.cjs.map +1 -0
  87. package/dist/cjs/components/management/ProjectList/BaseProjectList.cjs +78 -0
  88. package/dist/cjs/components/management/ProjectList/BaseProjectList.cjs.map +1 -0
  89. package/dist/cjs/components/management/ProjectList/ProjectList.cjs +51 -0
  90. package/dist/cjs/components/management/ProjectList/ProjectList.cjs.map +1 -0
  91. package/dist/cjs/components/management/ProjectSwitcher/BaseProjectSwitcher.cjs +58 -0
  92. package/dist/cjs/components/management/ProjectSwitcher/BaseProjectSwitcher.cjs.map +1 -0
  93. package/dist/cjs/components/management/ProjectSwitcher/ProjectSwitcher.cjs +72 -0
  94. package/dist/cjs/components/management/ProjectSwitcher/ProjectSwitcher.cjs.map +1 -0
  95. package/dist/cjs/components/{admin → management}/RoleAssignments/BaseRoleAssignments.cjs +1 -1
  96. package/dist/cjs/components/management/RoleAssignments/BaseRoleAssignments.cjs.map +1 -0
  97. package/dist/cjs/components/{admin → management}/RoleAssignments/RoleAssignments.cjs +1 -1
  98. package/dist/cjs/components/management/RoleAssignments/RoleAssignments.cjs.map +1 -0
  99. package/dist/cjs/components/{admin → management}/RoleCreate/BaseRoleCreate.cjs +1 -1
  100. package/dist/cjs/components/management/RoleCreate/BaseRoleCreate.cjs.map +1 -0
  101. package/dist/cjs/components/{admin → management}/RoleCreate/RoleCreate.cjs +1 -1
  102. package/dist/cjs/components/management/RoleCreate/RoleCreate.cjs.map +1 -0
  103. package/dist/cjs/components/management/RoleDetails/BaseRoleDetails.cjs +87 -0
  104. package/dist/cjs/components/management/RoleDetails/BaseRoleDetails.cjs.map +1 -0
  105. package/dist/cjs/components/management/RoleDetails/RoleDetails.cjs +68 -0
  106. package/dist/cjs/components/management/RoleDetails/RoleDetails.cjs.map +1 -0
  107. package/dist/cjs/components/{admin → management}/RoleList/BaseRoleList.cjs +1 -1
  108. package/dist/cjs/components/management/RoleList/BaseRoleList.cjs.map +1 -0
  109. package/dist/cjs/components/{admin → management}/RoleList/RoleList.cjs +1 -1
  110. package/dist/cjs/components/management/RoleList/RoleList.cjs.map +1 -0
  111. package/dist/cjs/components/management/RolePermissions/BaseRolePermissions.cjs +181 -0
  112. package/dist/cjs/components/management/RolePermissions/BaseRolePermissions.cjs.map +1 -0
  113. package/dist/cjs/components/management/RolePermissions/RolePermissions.cjs +112 -0
  114. package/dist/cjs/components/management/RolePermissions/RolePermissions.cjs.map +1 -0
  115. package/dist/cjs/components/management/SharingPolicies/BaseSharingPolicies.cjs +308 -0
  116. package/dist/cjs/components/management/SharingPolicies/BaseSharingPolicies.cjs.map +1 -0
  117. package/dist/cjs/components/management/SharingPolicies/SharingPolicies.cjs +126 -0
  118. package/dist/cjs/components/management/SharingPolicies/SharingPolicies.cjs.map +1 -0
  119. package/dist/cjs/components/{admin → management}/UserCreate/BaseUserCreate.cjs +1 -1
  120. package/dist/cjs/components/management/UserCreate/BaseUserCreate.cjs.map +1 -0
  121. package/dist/cjs/components/{admin → management}/UserCreate/UserCreate.cjs +1 -1
  122. package/dist/cjs/components/management/UserCreate/UserCreate.cjs.map +1 -0
  123. package/dist/cjs/components/{admin → management}/UserCreate/userCreateFields.cjs +1 -1
  124. package/dist/cjs/components/management/UserCreate/userCreateFields.cjs.map +1 -0
  125. package/dist/cjs/components/{admin → management}/UserDetails/BaseUserDetails.cjs +1 -1
  126. package/dist/cjs/components/management/UserDetails/BaseUserDetails.cjs.map +1 -0
  127. package/dist/cjs/components/{admin → management}/UserDetails/UserDetails.cjs +1 -1
  128. package/dist/cjs/components/management/UserDetails/UserDetails.cjs.map +1 -0
  129. package/dist/cjs/components/{admin → management}/UserList/BaseUserList.cjs +1 -1
  130. package/dist/cjs/components/management/UserList/BaseUserList.cjs.map +1 -0
  131. package/dist/cjs/components/{admin → management}/UserList/UserList.cjs +1 -1
  132. package/dist/cjs/components/management/UserList/UserList.cjs.map +1 -0
  133. package/dist/cjs/components/{admin → management}/shared/AccountLifecycleParts.cjs +1 -1
  134. package/dist/cjs/components/management/shared/AccountLifecycleParts.cjs.map +1 -0
  135. package/dist/cjs/components/{admin → management}/shared/AdminParts.cjs +1 -1
  136. package/dist/cjs/components/management/shared/AdminParts.cjs.map +1 -0
  137. package/dist/cjs/components/{admin → management}/shared/AdminParts.styles.cjs +1 -1
  138. package/dist/cjs/components/management/shared/AdminParts.styles.cjs.map +1 -0
  139. package/dist/cjs/components/{admin → management}/shared/AdminSearch.cjs +1 -1
  140. package/dist/cjs/components/management/shared/AdminSearch.cjs.map +1 -0
  141. package/dist/cjs/components/{admin → management}/shared/AdminSection.cjs +1 -1
  142. package/dist/cjs/components/management/shared/AdminSection.cjs.map +1 -0
  143. package/dist/cjs/components/{admin → management}/shared/AdminSection.styles.cjs +1 -1
  144. package/dist/cjs/components/management/shared/AdminSection.styles.cjs.map +1 -0
  145. package/dist/cjs/components/{admin → management}/shared/ApplicationFormFields.cjs +1 -1
  146. package/dist/cjs/components/management/shared/ApplicationFormFields.cjs.map +1 -0
  147. package/dist/cjs/components/{admin → management}/shared/ClientSecretNotice.cjs +1 -1
  148. package/dist/cjs/components/management/shared/ClientSecretNotice.cjs.map +1 -0
  149. package/dist/cjs/components/{admin → management}/shared/IdentityPicker.cjs +1 -1
  150. package/dist/cjs/components/management/shared/IdentityPicker.cjs.map +1 -0
  151. package/dist/cjs/components/management/shared/formatTimestamp.cjs +18 -0
  152. package/dist/cjs/components/management/shared/formatTimestamp.cjs.map +1 -0
  153. package/dist/cjs/components/{admin → management}/shared/useAdminPartStyles.cjs +1 -1
  154. package/dist/cjs/components/management/shared/useAdminPartStyles.cjs.map +1 -0
  155. package/dist/cjs/components/{admin → management}/shared/useDefaultOuId.cjs +1 -1
  156. package/dist/cjs/components/management/shared/useDefaultOuId.cjs.map +1 -0
  157. package/dist/cjs/components/management/shared/useProjectPlacement.cjs +23 -0
  158. package/dist/cjs/components/management/shared/useProjectPlacement.cjs.map +1 -0
  159. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs +5 -0
  160. package/dist/cjs/contexts/ThunderID/ThunderIDContext.cjs.map +1 -1
  161. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs +27 -1
  162. package/dist/cjs/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -1
  163. package/dist/cjs/contexts/ThunderID/useCurrentProjectState.cjs +33 -0
  164. package/dist/cjs/contexts/ThunderID/useCurrentProjectState.cjs.map +1 -0
  165. package/dist/cjs/hooks/management/useManagementEndpoint.cjs.map +1 -1
  166. package/dist/cjs/index.cjs +377 -33
  167. package/dist/cjs/utils/flowTransformer.cjs +9 -0
  168. package/dist/cjs/utils/flowTransformer.cjs.map +1 -1
  169. package/dist/cjs/utils/getOrganizationUnitSwitchErrorKey.cjs +24 -0
  170. package/dist/cjs/utils/getOrganizationUnitSwitchErrorKey.cjs.map +1 -0
  171. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.d.ts +85 -0
  172. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.d.ts.map +1 -0
  173. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.js +209 -0
  174. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.js.map +1 -0
  175. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.d.ts +11 -0
  176. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.d.ts.map +1 -0
  177. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.js +184 -0
  178. package/dist/components/account/OrganizationUnitSwitcher/BaseOrganizationUnitSwitcher.styles.js.map +1 -0
  179. package/dist/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.d.ts +54 -0
  180. package/dist/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.d.ts.map +1 -0
  181. package/dist/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.js +135 -0
  182. package/dist/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.js.map +1 -0
  183. package/dist/components/auth/Callback/TokenCallback.js +3 -3
  184. package/dist/components/auth/Callback/TokenCallback.js.map +1 -1
  185. package/dist/components/auth/SignIn/SignIn.d.ts +5 -0
  186. package/dist/components/auth/SignIn/SignIn.d.ts.map +1 -1
  187. package/dist/components/auth/SignIn/SignIn.js +51 -46
  188. package/dist/components/auth/SignIn/SignIn.js.map +1 -1
  189. package/dist/components/auth/SignUp/BaseSignUp.d.ts.map +1 -1
  190. package/dist/components/auth/SignUp/BaseSignUp.js +14 -10
  191. package/dist/components/auth/SignUp/BaseSignUp.js.map +1 -1
  192. package/dist/components/auth/flow/AuthOptionFactory.js +2 -2
  193. package/dist/components/auth/flow/AuthOptionFactory.js.map +1 -1
  194. package/dist/components/common/LanguageSwitcher/BaseLanguageSwitcher.js +1 -1
  195. package/dist/components/{admin → management}/AgentCreate/AgentCreate.d.ts +2 -1
  196. package/dist/components/management/AgentCreate/AgentCreate.d.ts.map +1 -0
  197. package/dist/components/{admin → management}/AgentCreate/AgentCreate.js +8 -7
  198. package/dist/components/management/AgentCreate/AgentCreate.js.map +1 -0
  199. package/dist/components/management/AgentCreate/BaseAgentCreate.d.ts.map +1 -0
  200. package/dist/components/{admin → management}/AgentCreate/BaseAgentCreate.js +1 -1
  201. package/dist/components/management/AgentCreate/BaseAgentCreate.js.map +1 -0
  202. package/dist/components/management/AgentDetails/AgentDetails.d.ts.map +1 -0
  203. package/dist/components/{admin → management}/AgentDetails/AgentDetails.js +1 -1
  204. package/dist/components/management/AgentDetails/AgentDetails.js.map +1 -0
  205. package/dist/components/management/AgentDetails/BaseAgentDetails.d.ts.map +1 -0
  206. package/dist/components/{admin → management}/AgentDetails/BaseAgentDetails.js +1 -1
  207. package/dist/components/management/AgentDetails/BaseAgentDetails.js.map +1 -0
  208. package/dist/components/{admin → management}/AgentList/AgentList.d.ts +7 -1
  209. package/dist/components/management/AgentList/AgentList.d.ts.map +1 -0
  210. package/dist/components/{admin → management}/AgentList/AgentList.js +11 -6
  211. package/dist/components/management/AgentList/AgentList.js.map +1 -0
  212. package/dist/components/management/AgentList/BaseAgentList.d.ts.map +1 -0
  213. package/dist/components/{admin → management}/AgentList/BaseAgentList.js +1 -1
  214. package/dist/components/management/AgentList/BaseAgentList.js.map +1 -0
  215. package/dist/components/{admin → management}/ApplicationCreate/ApplicationCreate.d.ts +2 -1
  216. package/dist/components/management/ApplicationCreate/ApplicationCreate.d.ts.map +1 -0
  217. package/dist/components/{admin → management}/ApplicationCreate/ApplicationCreate.js +10 -5
  218. package/dist/components/management/ApplicationCreate/ApplicationCreate.js.map +1 -0
  219. package/dist/components/management/ApplicationCreate/BaseApplicationCreate.d.ts.map +1 -0
  220. package/dist/components/{admin → management}/ApplicationCreate/BaseApplicationCreate.js +1 -1
  221. package/dist/components/management/ApplicationCreate/BaseApplicationCreate.js.map +1 -0
  222. package/dist/components/management/ApplicationDetails/ApplicationDetails.d.ts.map +1 -0
  223. package/dist/components/{admin → management}/ApplicationDetails/ApplicationDetails.js +1 -1
  224. package/dist/components/management/ApplicationDetails/ApplicationDetails.js.map +1 -0
  225. package/dist/components/management/ApplicationDetails/BaseApplicationDetails.d.ts.map +1 -0
  226. package/dist/components/{admin → management}/ApplicationDetails/BaseApplicationDetails.js +1 -1
  227. package/dist/components/management/ApplicationDetails/BaseApplicationDetails.js.map +1 -0
  228. package/dist/components/{admin → management}/ApplicationList/ApplicationList.d.ts +7 -1
  229. package/dist/components/management/ApplicationList/ApplicationList.d.ts.map +1 -0
  230. package/dist/components/{admin → management}/ApplicationList/ApplicationList.js +9 -4
  231. package/dist/components/management/ApplicationList/ApplicationList.js.map +1 -0
  232. package/dist/components/management/ApplicationList/BaseApplicationList.d.ts.map +1 -0
  233. package/dist/components/{admin → management}/ApplicationList/BaseApplicationList.js +1 -1
  234. package/dist/components/management/ApplicationList/BaseApplicationList.js.map +1 -0
  235. package/dist/components/management/GroupCreate/BaseGroupCreate.d.ts.map +1 -0
  236. package/dist/components/{admin → management}/GroupCreate/BaseGroupCreate.js +1 -1
  237. package/dist/components/management/GroupCreate/BaseGroupCreate.js.map +1 -0
  238. package/dist/components/management/GroupCreate/GroupCreate.d.ts.map +1 -0
  239. package/dist/components/{admin → management}/GroupCreate/GroupCreate.js +1 -1
  240. package/dist/components/management/GroupCreate/GroupCreate.js.map +1 -0
  241. package/dist/components/management/GroupDetails/BaseGroupDetails.d.ts +47 -0
  242. package/dist/components/management/GroupDetails/BaseGroupDetails.d.ts.map +1 -0
  243. package/dist/components/management/GroupDetails/BaseGroupDetails.js +84 -0
  244. package/dist/components/management/GroupDetails/BaseGroupDetails.js.map +1 -0
  245. package/dist/components/management/GroupDetails/GroupDetails.d.ts +37 -0
  246. package/dist/components/management/GroupDetails/GroupDetails.d.ts.map +1 -0
  247. package/dist/components/management/GroupDetails/GroupDetails.js +57 -0
  248. package/dist/components/management/GroupDetails/GroupDetails.js.map +1 -0
  249. package/dist/components/management/GroupList/BaseGroupList.d.ts.map +1 -0
  250. package/dist/components/{admin → management}/GroupList/BaseGroupList.js +1 -1
  251. package/dist/components/management/GroupList/BaseGroupList.js.map +1 -0
  252. package/dist/components/management/GroupList/GroupList.d.ts.map +1 -0
  253. package/dist/components/{admin → management}/GroupList/GroupList.js +1 -1
  254. package/dist/components/management/GroupList/GroupList.js.map +1 -0
  255. package/dist/components/management/GroupMembers/BaseGroupMembers.d.ts.map +1 -0
  256. package/dist/components/{admin → management}/GroupMembers/BaseGroupMembers.js +1 -1
  257. package/dist/components/management/GroupMembers/BaseGroupMembers.js.map +1 -0
  258. package/dist/components/management/GroupMembers/GroupMembers.d.ts.map +1 -0
  259. package/dist/components/{admin → management}/GroupMembers/GroupMembers.js +1 -1
  260. package/dist/components/management/GroupMembers/GroupMembers.js.map +1 -0
  261. package/dist/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.d.ts +85 -0
  262. package/dist/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.d.ts.map +1 -0
  263. package/dist/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.js +137 -0
  264. package/dist/components/management/OrganizationUnitCreate/BaseOrganizationUnitCreate.js.map +1 -0
  265. package/dist/components/management/OrganizationUnitCreate/OrganizationUnitCreate.d.ts +21 -0
  266. package/dist/components/management/OrganizationUnitCreate/OrganizationUnitCreate.d.ts.map +1 -0
  267. package/dist/components/management/OrganizationUnitCreate/OrganizationUnitCreate.js +79 -0
  268. package/dist/components/management/OrganizationUnitCreate/OrganizationUnitCreate.js.map +1 -0
  269. package/dist/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.d.ts +105 -0
  270. package/dist/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.d.ts.map +1 -0
  271. package/dist/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.js +273 -0
  272. package/dist/components/management/OrganizationUnitDetails/BaseOrganizationUnitDetails.js.map +1 -0
  273. package/dist/components/management/OrganizationUnitDetails/OrganizationUnitDetails.d.ts +42 -0
  274. package/dist/components/management/OrganizationUnitDetails/OrganizationUnitDetails.d.ts.map +1 -0
  275. package/dist/components/management/OrganizationUnitDetails/OrganizationUnitDetails.js +139 -0
  276. package/dist/components/management/OrganizationUnitDetails/OrganizationUnitDetails.js.map +1 -0
  277. package/dist/components/management/OrganizationUnitList/BaseOrganizationUnitList.d.ts +54 -0
  278. package/dist/components/management/OrganizationUnitList/BaseOrganizationUnitList.d.ts.map +1 -0
  279. package/dist/components/management/OrganizationUnitList/BaseOrganizationUnitList.js +76 -0
  280. package/dist/components/management/OrganizationUnitList/BaseOrganizationUnitList.js.map +1 -0
  281. package/dist/components/management/OrganizationUnitList/OrganizationUnitList.d.ts +19 -0
  282. package/dist/components/management/OrganizationUnitList/OrganizationUnitList.d.ts.map +1 -0
  283. package/dist/components/management/OrganizationUnitList/OrganizationUnitList.js +65 -0
  284. package/dist/components/management/OrganizationUnitList/OrganizationUnitList.js.map +1 -0
  285. package/dist/components/management/ProjectCreate/BaseProjectCreate.d.ts +60 -0
  286. package/dist/components/management/ProjectCreate/BaseProjectCreate.d.ts.map +1 -0
  287. package/dist/components/management/ProjectCreate/BaseProjectCreate.js +113 -0
  288. package/dist/components/management/ProjectCreate/BaseProjectCreate.js.map +1 -0
  289. package/dist/components/management/ProjectCreate/ProjectCreate.d.ts +20 -0
  290. package/dist/components/management/ProjectCreate/ProjectCreate.d.ts.map +1 -0
  291. package/dist/components/management/ProjectCreate/ProjectCreate.js +40 -0
  292. package/dist/components/management/ProjectCreate/ProjectCreate.js.map +1 -0
  293. package/dist/components/management/ProjectDetails/BaseProjectDetails.d.ts +60 -0
  294. package/dist/components/management/ProjectDetails/BaseProjectDetails.d.ts.map +1 -0
  295. package/dist/components/management/ProjectDetails/BaseProjectDetails.js +169 -0
  296. package/dist/components/management/ProjectDetails/BaseProjectDetails.js.map +1 -0
  297. package/dist/components/management/ProjectDetails/ProjectDetails.d.ts +36 -0
  298. package/dist/components/management/ProjectDetails/ProjectDetails.d.ts.map +1 -0
  299. package/dist/components/management/ProjectDetails/ProjectDetails.js +65 -0
  300. package/dist/components/management/ProjectDetails/ProjectDetails.js.map +1 -0
  301. package/dist/components/management/ProjectList/BaseProjectList.d.ts +53 -0
  302. package/dist/components/management/ProjectList/BaseProjectList.d.ts.map +1 -0
  303. package/dist/components/management/ProjectList/BaseProjectList.js +76 -0
  304. package/dist/components/management/ProjectList/BaseProjectList.js.map +1 -0
  305. package/dist/components/management/ProjectList/ProjectList.d.ts +14 -0
  306. package/dist/components/management/ProjectList/ProjectList.d.ts.map +1 -0
  307. package/dist/components/management/ProjectList/ProjectList.js +47 -0
  308. package/dist/components/management/ProjectList/ProjectList.js.map +1 -0
  309. package/dist/components/management/ProjectSwitcher/BaseProjectSwitcher.d.ts +69 -0
  310. package/dist/components/management/ProjectSwitcher/BaseProjectSwitcher.d.ts.map +1 -0
  311. package/dist/components/management/ProjectSwitcher/BaseProjectSwitcher.js +55 -0
  312. package/dist/components/management/ProjectSwitcher/BaseProjectSwitcher.js.map +1 -0
  313. package/dist/components/management/ProjectSwitcher/ProjectSwitcher.d.ts +25 -0
  314. package/dist/components/management/ProjectSwitcher/ProjectSwitcher.d.ts.map +1 -0
  315. package/dist/components/management/ProjectSwitcher/ProjectSwitcher.js +68 -0
  316. package/dist/components/management/ProjectSwitcher/ProjectSwitcher.js.map +1 -0
  317. package/dist/components/management/RoleAssignments/BaseRoleAssignments.d.ts.map +1 -0
  318. package/dist/components/{admin → management}/RoleAssignments/BaseRoleAssignments.js +1 -1
  319. package/dist/components/management/RoleAssignments/BaseRoleAssignments.js.map +1 -0
  320. package/dist/components/management/RoleAssignments/RoleAssignments.d.ts.map +1 -0
  321. package/dist/components/{admin → management}/RoleAssignments/RoleAssignments.js +1 -1
  322. package/dist/components/management/RoleAssignments/RoleAssignments.js.map +1 -0
  323. package/dist/components/management/RoleCreate/BaseRoleCreate.d.ts.map +1 -0
  324. package/dist/components/{admin → management}/RoleCreate/BaseRoleCreate.js +1 -1
  325. package/dist/components/management/RoleCreate/BaseRoleCreate.js.map +1 -0
  326. package/dist/components/management/RoleCreate/RoleCreate.d.ts.map +1 -0
  327. package/dist/components/{admin → management}/RoleCreate/RoleCreate.js +1 -1
  328. package/dist/components/management/RoleCreate/RoleCreate.js.map +1 -0
  329. package/dist/components/management/RoleDetails/BaseRoleDetails.d.ts +51 -0
  330. package/dist/components/management/RoleDetails/BaseRoleDetails.d.ts.map +1 -0
  331. package/dist/components/management/RoleDetails/BaseRoleDetails.js +85 -0
  332. package/dist/components/management/RoleDetails/BaseRoleDetails.js.map +1 -0
  333. package/dist/components/management/RoleDetails/RoleDetails.d.ts +39 -0
  334. package/dist/components/management/RoleDetails/RoleDetails.d.ts.map +1 -0
  335. package/dist/components/management/RoleDetails/RoleDetails.js +65 -0
  336. package/dist/components/management/RoleDetails/RoleDetails.js.map +1 -0
  337. package/dist/components/management/RoleList/BaseRoleList.d.ts.map +1 -0
  338. package/dist/components/{admin → management}/RoleList/BaseRoleList.js +1 -1
  339. package/dist/components/management/RoleList/BaseRoleList.js.map +1 -0
  340. package/dist/components/management/RoleList/RoleList.d.ts.map +1 -0
  341. package/dist/components/{admin → management}/RoleList/RoleList.js +1 -1
  342. package/dist/components/management/RoleList/RoleList.js.map +1 -0
  343. package/dist/components/management/RolePermissions/BaseRolePermissions.d.ts +104 -0
  344. package/dist/components/management/RolePermissions/BaseRolePermissions.d.ts.map +1 -0
  345. package/dist/components/management/RolePermissions/BaseRolePermissions.js +178 -0
  346. package/dist/components/management/RolePermissions/BaseRolePermissions.js.map +1 -0
  347. package/dist/components/management/RolePermissions/RolePermissions.d.ts +29 -0
  348. package/dist/components/management/RolePermissions/RolePermissions.d.ts.map +1 -0
  349. package/dist/components/management/RolePermissions/RolePermissions.js +108 -0
  350. package/dist/components/management/RolePermissions/RolePermissions.js.map +1 -0
  351. package/dist/components/management/SharingPolicies/BaseSharingPolicies.d.ts +124 -0
  352. package/dist/components/management/SharingPolicies/BaseSharingPolicies.d.ts.map +1 -0
  353. package/dist/components/management/SharingPolicies/BaseSharingPolicies.js +304 -0
  354. package/dist/components/management/SharingPolicies/BaseSharingPolicies.js.map +1 -0
  355. package/dist/components/management/SharingPolicies/SharingPolicies.d.ts +36 -0
  356. package/dist/components/management/SharingPolicies/SharingPolicies.d.ts.map +1 -0
  357. package/dist/components/management/SharingPolicies/SharingPolicies.js +122 -0
  358. package/dist/components/management/SharingPolicies/SharingPolicies.js.map +1 -0
  359. package/dist/components/management/UserCreate/BaseUserCreate.d.ts.map +1 -0
  360. package/dist/components/{admin → management}/UserCreate/BaseUserCreate.js +1 -1
  361. package/dist/components/management/UserCreate/BaseUserCreate.js.map +1 -0
  362. package/dist/components/management/UserCreate/UserCreate.d.ts.map +1 -0
  363. package/dist/components/{admin → management}/UserCreate/UserCreate.js +1 -1
  364. package/dist/components/management/UserCreate/UserCreate.js.map +1 -0
  365. package/dist/components/management/UserCreate/userCreateFields.d.ts.map +1 -0
  366. package/dist/components/{admin → management}/UserCreate/userCreateFields.js +1 -1
  367. package/dist/components/management/UserCreate/userCreateFields.js.map +1 -0
  368. package/dist/components/management/UserDetails/BaseUserDetails.d.ts.map +1 -0
  369. package/dist/components/{admin → management}/UserDetails/BaseUserDetails.js +1 -1
  370. package/dist/components/management/UserDetails/BaseUserDetails.js.map +1 -0
  371. package/dist/components/management/UserDetails/UserDetails.d.ts.map +1 -0
  372. package/dist/components/{admin → management}/UserDetails/UserDetails.js +1 -1
  373. package/dist/components/management/UserDetails/UserDetails.js.map +1 -0
  374. package/dist/components/management/UserList/BaseUserList.d.ts.map +1 -0
  375. package/dist/components/{admin → management}/UserList/BaseUserList.js +1 -1
  376. package/dist/components/management/UserList/BaseUserList.js.map +1 -0
  377. package/dist/components/management/UserList/UserList.d.ts.map +1 -0
  378. package/dist/components/{admin → management}/UserList/UserList.js +1 -1
  379. package/dist/components/management/UserList/UserList.js.map +1 -0
  380. package/dist/components/management/shared/AccountLifecycleParts.d.ts.map +1 -0
  381. package/dist/components/{admin → management}/shared/AccountLifecycleParts.js +1 -1
  382. package/dist/components/management/shared/AccountLifecycleParts.js.map +1 -0
  383. package/dist/components/management/shared/AdminListRenderProps.d.ts.map +1 -0
  384. package/dist/components/management/shared/AdminParts.d.ts.map +1 -0
  385. package/dist/components/{admin → management}/shared/AdminParts.js +1 -1
  386. package/dist/components/management/shared/AdminParts.js.map +1 -0
  387. package/dist/components/management/shared/AdminParts.styles.d.ts.map +1 -0
  388. package/dist/components/{admin → management}/shared/AdminParts.styles.js +1 -1
  389. package/dist/components/management/shared/AdminParts.styles.js.map +1 -0
  390. package/dist/components/management/shared/AdminSearch.d.ts.map +1 -0
  391. package/dist/components/{admin → management}/shared/AdminSearch.js +1 -1
  392. package/dist/components/management/shared/AdminSearch.js.map +1 -0
  393. package/dist/components/management/shared/AdminSection.d.ts.map +1 -0
  394. package/dist/components/{admin → management}/shared/AdminSection.js +1 -1
  395. package/dist/components/management/shared/AdminSection.js.map +1 -0
  396. package/dist/components/management/shared/AdminSection.styles.d.ts.map +1 -0
  397. package/dist/components/{admin → management}/shared/AdminSection.styles.js +1 -1
  398. package/dist/components/management/shared/AdminSection.styles.js.map +1 -0
  399. package/dist/components/management/shared/ApplicationFormFields.d.ts.map +1 -0
  400. package/dist/components/{admin → management}/shared/ApplicationFormFields.js +1 -1
  401. package/dist/components/management/shared/ApplicationFormFields.js.map +1 -0
  402. package/dist/components/management/shared/ClientSecretNotice.d.ts.map +1 -0
  403. package/dist/components/{admin → management}/shared/ClientSecretNotice.js +1 -1
  404. package/dist/components/management/shared/ClientSecretNotice.js.map +1 -0
  405. package/dist/components/management/shared/IdentityPicker.d.ts.map +1 -0
  406. package/dist/components/{admin → management}/shared/IdentityPicker.js +1 -1
  407. package/dist/components/management/shared/IdentityPicker.js.map +1 -0
  408. package/dist/components/management/shared/formatTimestamp.d.ts +9 -0
  409. package/dist/components/management/shared/formatTimestamp.d.ts.map +1 -0
  410. package/dist/components/management/shared/formatTimestamp.js +17 -0
  411. package/dist/components/management/shared/formatTimestamp.js.map +1 -0
  412. package/dist/components/management/shared/useAdminPartStyles.d.ts.map +1 -0
  413. package/dist/components/{admin → management}/shared/useAdminPartStyles.js +1 -1
  414. package/dist/components/management/shared/useAdminPartStyles.js.map +1 -0
  415. package/dist/components/management/shared/useDefaultOuId.d.ts.map +1 -0
  416. package/dist/components/{admin → management}/shared/useDefaultOuId.js +1 -1
  417. package/dist/components/management/shared/useDefaultOuId.js.map +1 -0
  418. package/dist/components/management/shared/useProjectPlacement.d.ts +26 -0
  419. package/dist/components/management/shared/useProjectPlacement.d.ts.map +1 -0
  420. package/dist/components/management/shared/useProjectPlacement.js +23 -0
  421. package/dist/components/management/shared/useProjectPlacement.js.map +1 -0
  422. package/dist/contexts/ThunderID/ThunderIDContext.d.ts +27 -1
  423. package/dist/contexts/ThunderID/ThunderIDContext.d.ts.map +1 -1
  424. package/dist/contexts/ThunderID/ThunderIDContext.js +5 -0
  425. package/dist/contexts/ThunderID/ThunderIDContext.js.map +1 -1
  426. package/dist/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
  427. package/dist/contexts/ThunderID/ThunderIDProvider.js +28 -2
  428. package/dist/contexts/ThunderID/ThunderIDProvider.js.map +1 -1
  429. package/dist/contexts/ThunderID/useCurrentProjectState.d.ts +26 -0
  430. package/dist/contexts/ThunderID/useCurrentProjectState.d.ts.map +1 -0
  431. package/dist/contexts/ThunderID/useCurrentProjectState.js +30 -0
  432. package/dist/contexts/ThunderID/useCurrentProjectState.js.map +1 -0
  433. package/dist/hooks/management/useManagementEndpoint.d.ts +1 -1
  434. package/dist/hooks/management/useManagementEndpoint.d.ts.map +1 -1
  435. package/dist/hooks/management/useManagementEndpoint.js.map +1 -1
  436. package/dist/index.d.ts +120 -69
  437. package/dist/index.d.ts.map +1 -1
  438. package/dist/index.js +59 -34
  439. package/dist/utils/flowTransformer.d.ts +7 -0
  440. package/dist/utils/flowTransformer.d.ts.map +1 -1
  441. package/dist/utils/flowTransformer.js +9 -1
  442. package/dist/utils/flowTransformer.js.map +1 -1
  443. package/dist/utils/getOrganizationUnitSwitchErrorKey.d.ts +11 -0
  444. package/dist/utils/getOrganizationUnitSwitchErrorKey.d.ts.map +1 -0
  445. package/dist/utils/getOrganizationUnitSwitchErrorKey.js +22 -0
  446. package/dist/utils/getOrganizationUnitSwitchErrorKey.js.map +1 -0
  447. package/package.json +2 -2
  448. package/dist/cjs/components/admin/AgentCreate/AgentCreate.cjs.map +0 -1
  449. package/dist/cjs/components/admin/AgentCreate/BaseAgentCreate.cjs.map +0 -1
  450. package/dist/cjs/components/admin/AgentDetails/AgentDetails.cjs.map +0 -1
  451. package/dist/cjs/components/admin/AgentDetails/BaseAgentDetails.cjs.map +0 -1
  452. package/dist/cjs/components/admin/AgentList/AgentList.cjs.map +0 -1
  453. package/dist/cjs/components/admin/AgentList/BaseAgentList.cjs.map +0 -1
  454. package/dist/cjs/components/admin/ApplicationCreate/ApplicationCreate.cjs.map +0 -1
  455. package/dist/cjs/components/admin/ApplicationCreate/BaseApplicationCreate.cjs.map +0 -1
  456. package/dist/cjs/components/admin/ApplicationDetails/ApplicationDetails.cjs.map +0 -1
  457. package/dist/cjs/components/admin/ApplicationDetails/BaseApplicationDetails.cjs.map +0 -1
  458. package/dist/cjs/components/admin/ApplicationList/ApplicationList.cjs.map +0 -1
  459. package/dist/cjs/components/admin/ApplicationList/BaseApplicationList.cjs.map +0 -1
  460. package/dist/cjs/components/admin/GroupCreate/BaseGroupCreate.cjs.map +0 -1
  461. package/dist/cjs/components/admin/GroupCreate/GroupCreate.cjs.map +0 -1
  462. package/dist/cjs/components/admin/GroupList/BaseGroupList.cjs.map +0 -1
  463. package/dist/cjs/components/admin/GroupList/GroupList.cjs.map +0 -1
  464. package/dist/cjs/components/admin/GroupMembers/BaseGroupMembers.cjs.map +0 -1
  465. package/dist/cjs/components/admin/GroupMembers/GroupMembers.cjs.map +0 -1
  466. package/dist/cjs/components/admin/RoleAssignments/BaseRoleAssignments.cjs.map +0 -1
  467. package/dist/cjs/components/admin/RoleAssignments/RoleAssignments.cjs.map +0 -1
  468. package/dist/cjs/components/admin/RoleCreate/BaseRoleCreate.cjs.map +0 -1
  469. package/dist/cjs/components/admin/RoleCreate/RoleCreate.cjs.map +0 -1
  470. package/dist/cjs/components/admin/RoleList/BaseRoleList.cjs.map +0 -1
  471. package/dist/cjs/components/admin/RoleList/RoleList.cjs.map +0 -1
  472. package/dist/cjs/components/admin/RolePermissions/BaseRolePermissions.cjs +0 -69
  473. package/dist/cjs/components/admin/RolePermissions/BaseRolePermissions.cjs.map +0 -1
  474. package/dist/cjs/components/admin/RolePermissions/RolePermissions.cjs +0 -40
  475. package/dist/cjs/components/admin/RolePermissions/RolePermissions.cjs.map +0 -1
  476. package/dist/cjs/components/admin/UserCreate/BaseUserCreate.cjs.map +0 -1
  477. package/dist/cjs/components/admin/UserCreate/UserCreate.cjs.map +0 -1
  478. package/dist/cjs/components/admin/UserCreate/userCreateFields.cjs.map +0 -1
  479. package/dist/cjs/components/admin/UserDetails/BaseUserDetails.cjs.map +0 -1
  480. package/dist/cjs/components/admin/UserDetails/UserDetails.cjs.map +0 -1
  481. package/dist/cjs/components/admin/UserList/BaseUserList.cjs.map +0 -1
  482. package/dist/cjs/components/admin/UserList/UserList.cjs.map +0 -1
  483. package/dist/cjs/components/admin/shared/AccountLifecycleParts.cjs.map +0 -1
  484. package/dist/cjs/components/admin/shared/AdminParts.cjs.map +0 -1
  485. package/dist/cjs/components/admin/shared/AdminParts.styles.cjs.map +0 -1
  486. package/dist/cjs/components/admin/shared/AdminSearch.cjs.map +0 -1
  487. package/dist/cjs/components/admin/shared/AdminSection.cjs.map +0 -1
  488. package/dist/cjs/components/admin/shared/AdminSection.styles.cjs.map +0 -1
  489. package/dist/cjs/components/admin/shared/ApplicationFormFields.cjs.map +0 -1
  490. package/dist/cjs/components/admin/shared/ClientSecretNotice.cjs.map +0 -1
  491. package/dist/cjs/components/admin/shared/IdentityPicker.cjs.map +0 -1
  492. package/dist/cjs/components/admin/shared/useAdminPartStyles.cjs.map +0 -1
  493. package/dist/cjs/components/admin/shared/useDefaultOuId.cjs.map +0 -1
  494. package/dist/components/admin/AgentCreate/AgentCreate.d.ts.map +0 -1
  495. package/dist/components/admin/AgentCreate/AgentCreate.js.map +0 -1
  496. package/dist/components/admin/AgentCreate/BaseAgentCreate.d.ts.map +0 -1
  497. package/dist/components/admin/AgentCreate/BaseAgentCreate.js.map +0 -1
  498. package/dist/components/admin/AgentDetails/AgentDetails.d.ts.map +0 -1
  499. package/dist/components/admin/AgentDetails/AgentDetails.js.map +0 -1
  500. package/dist/components/admin/AgentDetails/BaseAgentDetails.d.ts.map +0 -1
  501. package/dist/components/admin/AgentDetails/BaseAgentDetails.js.map +0 -1
  502. package/dist/components/admin/AgentList/AgentList.d.ts.map +0 -1
  503. package/dist/components/admin/AgentList/AgentList.js.map +0 -1
  504. package/dist/components/admin/AgentList/BaseAgentList.d.ts.map +0 -1
  505. package/dist/components/admin/AgentList/BaseAgentList.js.map +0 -1
  506. package/dist/components/admin/ApplicationCreate/ApplicationCreate.d.ts.map +0 -1
  507. package/dist/components/admin/ApplicationCreate/ApplicationCreate.js.map +0 -1
  508. package/dist/components/admin/ApplicationCreate/BaseApplicationCreate.d.ts.map +0 -1
  509. package/dist/components/admin/ApplicationCreate/BaseApplicationCreate.js.map +0 -1
  510. package/dist/components/admin/ApplicationDetails/ApplicationDetails.d.ts.map +0 -1
  511. package/dist/components/admin/ApplicationDetails/ApplicationDetails.js.map +0 -1
  512. package/dist/components/admin/ApplicationDetails/BaseApplicationDetails.d.ts.map +0 -1
  513. package/dist/components/admin/ApplicationDetails/BaseApplicationDetails.js.map +0 -1
  514. package/dist/components/admin/ApplicationList/ApplicationList.d.ts.map +0 -1
  515. package/dist/components/admin/ApplicationList/ApplicationList.js.map +0 -1
  516. package/dist/components/admin/ApplicationList/BaseApplicationList.d.ts.map +0 -1
  517. package/dist/components/admin/ApplicationList/BaseApplicationList.js.map +0 -1
  518. package/dist/components/admin/GroupCreate/BaseGroupCreate.d.ts.map +0 -1
  519. package/dist/components/admin/GroupCreate/BaseGroupCreate.js.map +0 -1
  520. package/dist/components/admin/GroupCreate/GroupCreate.d.ts.map +0 -1
  521. package/dist/components/admin/GroupCreate/GroupCreate.js.map +0 -1
  522. package/dist/components/admin/GroupList/BaseGroupList.d.ts.map +0 -1
  523. package/dist/components/admin/GroupList/BaseGroupList.js.map +0 -1
  524. package/dist/components/admin/GroupList/GroupList.d.ts.map +0 -1
  525. package/dist/components/admin/GroupList/GroupList.js.map +0 -1
  526. package/dist/components/admin/GroupMembers/BaseGroupMembers.d.ts.map +0 -1
  527. package/dist/components/admin/GroupMembers/BaseGroupMembers.js.map +0 -1
  528. package/dist/components/admin/GroupMembers/GroupMembers.d.ts.map +0 -1
  529. package/dist/components/admin/GroupMembers/GroupMembers.js.map +0 -1
  530. package/dist/components/admin/RoleAssignments/BaseRoleAssignments.d.ts.map +0 -1
  531. package/dist/components/admin/RoleAssignments/BaseRoleAssignments.js.map +0 -1
  532. package/dist/components/admin/RoleAssignments/RoleAssignments.d.ts.map +0 -1
  533. package/dist/components/admin/RoleAssignments/RoleAssignments.js.map +0 -1
  534. package/dist/components/admin/RoleCreate/BaseRoleCreate.d.ts.map +0 -1
  535. package/dist/components/admin/RoleCreate/BaseRoleCreate.js.map +0 -1
  536. package/dist/components/admin/RoleCreate/RoleCreate.d.ts.map +0 -1
  537. package/dist/components/admin/RoleCreate/RoleCreate.js.map +0 -1
  538. package/dist/components/admin/RoleList/BaseRoleList.d.ts.map +0 -1
  539. package/dist/components/admin/RoleList/BaseRoleList.js.map +0 -1
  540. package/dist/components/admin/RoleList/RoleList.d.ts.map +0 -1
  541. package/dist/components/admin/RoleList/RoleList.js.map +0 -1
  542. package/dist/components/admin/RolePermissions/BaseRolePermissions.d.ts +0 -42
  543. package/dist/components/admin/RolePermissions/BaseRolePermissions.d.ts.map +0 -1
  544. package/dist/components/admin/RolePermissions/BaseRolePermissions.js +0 -67
  545. package/dist/components/admin/RolePermissions/BaseRolePermissions.js.map +0 -1
  546. package/dist/components/admin/RolePermissions/RolePermissions.d.ts +0 -16
  547. package/dist/components/admin/RolePermissions/RolePermissions.d.ts.map +0 -1
  548. package/dist/components/admin/RolePermissions/RolePermissions.js +0 -37
  549. package/dist/components/admin/RolePermissions/RolePermissions.js.map +0 -1
  550. package/dist/components/admin/UserCreate/BaseUserCreate.d.ts.map +0 -1
  551. package/dist/components/admin/UserCreate/BaseUserCreate.js.map +0 -1
  552. package/dist/components/admin/UserCreate/UserCreate.d.ts.map +0 -1
  553. package/dist/components/admin/UserCreate/UserCreate.js.map +0 -1
  554. package/dist/components/admin/UserCreate/userCreateFields.d.ts.map +0 -1
  555. package/dist/components/admin/UserCreate/userCreateFields.js.map +0 -1
  556. package/dist/components/admin/UserDetails/BaseUserDetails.d.ts.map +0 -1
  557. package/dist/components/admin/UserDetails/BaseUserDetails.js.map +0 -1
  558. package/dist/components/admin/UserDetails/UserDetails.d.ts.map +0 -1
  559. package/dist/components/admin/UserDetails/UserDetails.js.map +0 -1
  560. package/dist/components/admin/UserList/BaseUserList.d.ts.map +0 -1
  561. package/dist/components/admin/UserList/BaseUserList.js.map +0 -1
  562. package/dist/components/admin/UserList/UserList.d.ts.map +0 -1
  563. package/dist/components/admin/UserList/UserList.js.map +0 -1
  564. package/dist/components/admin/shared/AccountLifecycleParts.d.ts.map +0 -1
  565. package/dist/components/admin/shared/AccountLifecycleParts.js.map +0 -1
  566. package/dist/components/admin/shared/AdminListRenderProps.d.ts.map +0 -1
  567. package/dist/components/admin/shared/AdminParts.d.ts.map +0 -1
  568. package/dist/components/admin/shared/AdminParts.js.map +0 -1
  569. package/dist/components/admin/shared/AdminParts.styles.d.ts.map +0 -1
  570. package/dist/components/admin/shared/AdminParts.styles.js.map +0 -1
  571. package/dist/components/admin/shared/AdminSearch.d.ts.map +0 -1
  572. package/dist/components/admin/shared/AdminSearch.js.map +0 -1
  573. package/dist/components/admin/shared/AdminSection.d.ts.map +0 -1
  574. package/dist/components/admin/shared/AdminSection.js.map +0 -1
  575. package/dist/components/admin/shared/AdminSection.styles.d.ts.map +0 -1
  576. package/dist/components/admin/shared/AdminSection.styles.js.map +0 -1
  577. package/dist/components/admin/shared/ApplicationFormFields.d.ts.map +0 -1
  578. package/dist/components/admin/shared/ApplicationFormFields.js.map +0 -1
  579. package/dist/components/admin/shared/ClientSecretNotice.d.ts.map +0 -1
  580. package/dist/components/admin/shared/ClientSecretNotice.js.map +0 -1
  581. package/dist/components/admin/shared/IdentityPicker.d.ts.map +0 -1
  582. package/dist/components/admin/shared/IdentityPicker.js.map +0 -1
  583. package/dist/components/admin/shared/useAdminPartStyles.d.ts.map +0 -1
  584. package/dist/components/admin/shared/useAdminPartStyles.js.map +0 -1
  585. package/dist/components/admin/shared/useDefaultOuId.d.ts.map +0 -1
  586. package/dist/components/admin/shared/useDefaultOuId.js.map +0 -1
  587. /package/dist/components/{admin → management}/AgentCreate/BaseAgentCreate.d.ts +0 -0
  588. /package/dist/components/{admin → management}/AgentDetails/AgentDetails.d.ts +0 -0
  589. /package/dist/components/{admin → management}/AgentDetails/BaseAgentDetails.d.ts +0 -0
  590. /package/dist/components/{admin → management}/AgentList/BaseAgentList.d.ts +0 -0
  591. /package/dist/components/{admin → management}/ApplicationCreate/BaseApplicationCreate.d.ts +0 -0
  592. /package/dist/components/{admin → management}/ApplicationDetails/ApplicationDetails.d.ts +0 -0
  593. /package/dist/components/{admin → management}/ApplicationDetails/BaseApplicationDetails.d.ts +0 -0
  594. /package/dist/components/{admin → management}/ApplicationList/BaseApplicationList.d.ts +0 -0
  595. /package/dist/components/{admin → management}/GroupCreate/BaseGroupCreate.d.ts +0 -0
  596. /package/dist/components/{admin → management}/GroupCreate/GroupCreate.d.ts +0 -0
  597. /package/dist/components/{admin → management}/GroupList/BaseGroupList.d.ts +0 -0
  598. /package/dist/components/{admin → management}/GroupList/GroupList.d.ts +0 -0
  599. /package/dist/components/{admin → management}/GroupMembers/BaseGroupMembers.d.ts +0 -0
  600. /package/dist/components/{admin → management}/GroupMembers/GroupMembers.d.ts +0 -0
  601. /package/dist/components/{admin → management}/RoleAssignments/BaseRoleAssignments.d.ts +0 -0
  602. /package/dist/components/{admin → management}/RoleAssignments/RoleAssignments.d.ts +0 -0
  603. /package/dist/components/{admin → management}/RoleCreate/BaseRoleCreate.d.ts +0 -0
  604. /package/dist/components/{admin → management}/RoleCreate/RoleCreate.d.ts +0 -0
  605. /package/dist/components/{admin → management}/RoleList/BaseRoleList.d.ts +0 -0
  606. /package/dist/components/{admin → management}/RoleList/RoleList.d.ts +0 -0
  607. /package/dist/components/{admin → management}/UserCreate/BaseUserCreate.d.ts +0 -0
  608. /package/dist/components/{admin → management}/UserCreate/UserCreate.d.ts +0 -0
  609. /package/dist/components/{admin → management}/UserCreate/userCreateFields.d.ts +0 -0
  610. /package/dist/components/{admin → management}/UserDetails/BaseUserDetails.d.ts +0 -0
  611. /package/dist/components/{admin → management}/UserDetails/UserDetails.d.ts +0 -0
  612. /package/dist/components/{admin → management}/UserList/BaseUserList.d.ts +0 -0
  613. /package/dist/components/{admin → management}/UserList/UserList.d.ts +0 -0
  614. /package/dist/components/{admin → management}/shared/AccountLifecycleParts.d.ts +0 -0
  615. /package/dist/components/{admin → management}/shared/AdminListRenderProps.d.ts +0 -0
  616. /package/dist/components/{admin → management}/shared/AdminParts.d.ts +0 -0
  617. /package/dist/components/{admin → management}/shared/AdminParts.styles.d.ts +0 -0
  618. /package/dist/components/{admin → management}/shared/AdminSearch.d.ts +0 -0
  619. /package/dist/components/{admin → management}/shared/AdminSection.d.ts +0 -0
  620. /package/dist/components/{admin → management}/shared/AdminSection.styles.d.ts +0 -0
  621. /package/dist/components/{admin → management}/shared/ApplicationFormFields.d.ts +0 -0
  622. /package/dist/components/{admin → management}/shared/ClientSecretNotice.d.ts +0 -0
  623. /package/dist/components/{admin → management}/shared/IdentityPicker.d.ts +0 -0
  624. /package/dist/components/{admin → management}/shared/useAdminPartStyles.d.ts +0 -0
  625. /package/dist/components/{admin → management}/shared/useDefaultOuId.d.ts +0 -0
@@ -0,0 +1,112 @@
1
+ const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ const require_useTranslation = require('../../../hooks/useTranslation.cjs');
3
+ const require_useManagementEndpoint = require('../../../hooks/management/useManagementEndpoint.cjs');
4
+ const require_useResourceQuery = require('../../../hooks/management/useResourceQuery.cjs');
5
+ const require_useResourceMutation = require('../../../hooks/management/useResourceMutation.cjs');
6
+ const require_BaseRolePermissions = require('./BaseRolePermissions.cjs');
7
+ let __thunderid_browser = require("@thunderid/browser");
8
+ __thunderid_browser = require_rolldown_runtime.__toESM(__thunderid_browser);
9
+ let react = require("react");
10
+ react = require_rolldown_runtime.__toESM(react);
11
+ let react_jsx_runtime = require("react/jsx-runtime");
12
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
13
+
14
+ //#region src/components/management/RolePermissions/RolePermissions.tsx
15
+ /**
16
+ * Returns the role's permissions with one permission added or taken away, dropping a resource server
17
+ * left with none.
18
+ */
19
+ const changePermissions = (current, { permission, resourceServerId }, add) => {
20
+ const next = current.map((entry) => {
21
+ if (entry.resourceServerId !== resourceServerId) return entry;
22
+ return {
23
+ ...entry,
24
+ permissions: add ? Array.from(new Set([...entry.permissions, permission])) : entry.permissions.filter((granted) => granted !== permission)
25
+ };
26
+ });
27
+ if (add && !next.some((entry) => entry.resourceServerId === resourceServerId)) next.push({
28
+ permissions: [permission],
29
+ resourceServerId
30
+ });
31
+ return next.filter((entry) => entry.permissions.length > 0);
32
+ };
33
+ /**
34
+ * Shows the permissions a role grants and, when `editable`, lets the signed-in user grant permissions
35
+ * from the resource servers' actions and revoke them. Every change saves the role.
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * <RolePermissions roleId={roleId} editable />
40
+ * ```
41
+ */
42
+ const RolePermissions = ({ administrationMode, editable = false, preferences, roleId,...rest }) => {
43
+ const { t } = require_useTranslation.default(preferences?.i18n);
44
+ const endpoint = require_useManagementEndpoint.default("roles");
45
+ const resourceServersEndpoint = require_useManagementEndpoint.default("resourceServers");
46
+ const [selectedResourceServerId, setSelectedResourceServerId] = (0, react.useState)(null);
47
+ const role = require_useResourceQuery.default([__thunderid_browser.RoleQueryKeys.ROLE, roleId], (fetcher) => (0, __thunderid_browser.getRole)({
48
+ ...endpoint,
49
+ fetcher,
50
+ roleId
51
+ }), { enabled: Boolean(roleId) });
52
+ const canEdit = editable && Boolean(role.data) && !role.data?.isReadOnly;
53
+ const resourceServers = require_useResourceQuery.default([
54
+ __thunderid_browser.RoleQueryKeys.ROLE_PERMISSION_CANDIDATES,
55
+ "resource-servers",
56
+ { limit: 100 }
57
+ ], (fetcher) => (0, __thunderid_browser.getResourceServers)({
58
+ ...resourceServersEndpoint,
59
+ fetcher,
60
+ limit: 100
61
+ }), { enabled: canEdit });
62
+ const candidates = require_useResourceQuery.default([
63
+ __thunderid_browser.RoleQueryKeys.ROLE_PERMISSION_CANDIDATES,
64
+ "permissions",
65
+ selectedResourceServerId
66
+ ], async (fetcher) => ({
67
+ permissions: await (0, __thunderid_browser.getResourceServerPermissions)({
68
+ ...resourceServersEndpoint,
69
+ fetcher,
70
+ resourceServerId: selectedResourceServerId
71
+ }),
72
+ resourceServerId: selectedResourceServerId
73
+ }), { enabled: canEdit && Boolean(selectedResourceServerId) });
74
+ const update = require_useResourceMutation.default((permissions, fetcher) => (0, __thunderid_browser.updateRole)({
75
+ ...endpoint,
76
+ administrationMode,
77
+ current: role.data,
78
+ fetcher,
79
+ payload: {
80
+ description: role.data.description,
81
+ name: role.data.name,
82
+ ouId: role.data.ouId,
83
+ permissions
84
+ },
85
+ roleId
86
+ }), () => [[__thunderid_browser.RoleQueryKeys.ROLE, roleId], [__thunderid_browser.RoleQueryKeys.ROLES]]);
87
+ const servers = (0, react.useMemo)(() => (resourceServers.data?.resourceServers ?? []).map((server) => ({
88
+ id: server.id,
89
+ name: server.name
90
+ })), [resourceServers.data]);
91
+ const change = (permissionChange, add) => {
92
+ if (role.data) update.mutate(changePermissions(role.data.permissions ?? [], permissionChange, add));
93
+ };
94
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_BaseRolePermissions.default, {
95
+ permissions: role.data?.permissions ?? [],
96
+ isLoading: role.isLoading,
97
+ isMutating: update.isLoading,
98
+ error: (0, __thunderid_browser.toManagementErrorMessage)(t, role.error, "admin.roles.permissions.error") ?? (0, __thunderid_browser.toManagementErrorMessage)(t, update.error, "admin.roles.permissions.update_error") ?? (0, __thunderid_browser.toManagementErrorMessage)(t, resourceServers.error ?? candidates.error, "admin.roles.permissions.options_error"),
99
+ resourceServers: canEdit && resourceServers.data ? servers : void 0,
100
+ availablePermissions: candidates.data?.resourceServerId === selectedResourceServerId ? { [candidates.data.resourceServerId]: candidates.data.permissions } : {},
101
+ onResourceServerSelect: setSelectedResourceServerId,
102
+ onAdd: canEdit ? (permissionChange) => change(permissionChange, true) : void 0,
103
+ onRemove: canEdit ? (permissionChange) => change(permissionChange, false) : void 0,
104
+ preferences,
105
+ ...rest
106
+ });
107
+ };
108
+ var RolePermissions_default = RolePermissions;
109
+
110
+ //#endregion
111
+ exports.default = RolePermissions_default;
112
+ //# sourceMappingURL=RolePermissions.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RolePermissions.cjs","names":["next: RoleResourcePermissions[]","RolePermissions: FC<RolePermissionsProps>","useTranslation","endpoint: ManagementEndpoint","useManagementEndpoint","resourceServersEndpoint: ManagementEndpoint","role: ResourceQueryResult<Role>","useResourceQuery","RoleQueryKeys","canEdit: boolean","resourceServers: ResourceQueryResult<ResourceServerListResponse>","candidates: ResourceQueryResult<{permissions: ResourceServerPermission[]; resourceServerId: string}>","update: ResourceMutationResult<Role, RoleResourcePermissions[]>","useResourceMutation","servers: RolePermissionResourceServer[]","BaseRolePermissions"],"sources":["../../../../../src/components/management/RolePermissions/RolePermissions.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n AdministrationMode,\n ResourceServer,\n ResourceServerListResponse,\n ResourceServerPermission,\n Role,\n RoleQueryKeys,\n RoleResourcePermissions,\n getResourceServerPermissions,\n getResourceServers,\n getRole,\n toManagementErrorMessage,\n updateRole,\n} from '@thunderid/browser';\nimport {FC, ReactElement, useMemo, useState} from 'react';\nimport BaseRolePermissions, {\n BaseRolePermissionsProps,\n RolePermissionChange,\n RolePermissionResourceServer,\n} from './BaseRolePermissions';\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';\n\nexport type RolePermissionsProps = Omit<\n BaseRolePermissionsProps,\n | 'availablePermissions'\n | 'error'\n | 'isLoading'\n | 'isMutating'\n | 'onAdd'\n | 'onRemove'\n | 'onResourceServerSelect'\n | 'permissions'\n | 'resourceServers'\n> & {\n /**\n * How an update that removes a permission is made. `flow` runs the administration flow the server\n * configures for it. It needs `baseUrl`.\n * @default 'native'\n */\n administrationMode?: AdministrationMode;\n /**\n * Whether permissions can be added and removed from this view. Read-only roles never can.\n * @default false\n */\n editable?: boolean;\n roleId: string;\n};\n\n/**\n * Returns the role's permissions with one permission added or taken away, dropping a resource server\n * left with none.\n */\nconst changePermissions = (\n current: RoleResourcePermissions[],\n {permission, resourceServerId}: RolePermissionChange,\n add: boolean,\n): RoleResourcePermissions[] => {\n const next: RoleResourcePermissions[] = current.map((entry: RoleResourcePermissions) => {\n if (entry.resourceServerId !== resourceServerId) {\n return entry;\n }\n\n return {\n ...entry,\n permissions: add\n ? Array.from(new Set([...entry.permissions, permission]))\n : entry.permissions.filter((granted: string) => granted !== permission),\n };\n });\n\n if (add && !next.some((entry: RoleResourcePermissions) => entry.resourceServerId === resourceServerId)) {\n next.push({permissions: [permission], resourceServerId});\n }\n\n return next.filter((entry: RoleResourcePermissions) => entry.permissions.length > 0);\n};\n\n/**\n * Shows the permissions a role grants and, when `editable`, lets the signed-in user grant permissions\n * from the resource servers' actions and revoke them. Every change saves the role.\n *\n * @example\n * ```tsx\n * <RolePermissions roleId={roleId} editable />\n * ```\n */\nconst RolePermissions: FC<RolePermissionsProps> = ({\n administrationMode,\n editable = false,\n preferences,\n roleId,\n ...rest\n}: RolePermissionsProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n const endpoint: ManagementEndpoint = useManagementEndpoint('roles');\n const resourceServersEndpoint: ManagementEndpoint = useManagementEndpoint('resourceServers');\n const [selectedResourceServerId, setSelectedResourceServerId] = useState<string | null>(null);\n const role: ResourceQueryResult<Role> = useResourceQuery(\n [RoleQueryKeys.ROLE, roleId],\n (fetcher) => getRole({...endpoint, fetcher, roleId}),\n {enabled: Boolean(roleId)},\n );\n const canEdit: boolean = editable && Boolean(role.data) && !role.data?.isReadOnly;\n const resourceServers: ResourceQueryResult<ResourceServerListResponse> = useResourceQuery(\n [RoleQueryKeys.ROLE_PERMISSION_CANDIDATES, 'resource-servers', {limit: 100}],\n (fetcher) => getResourceServers({...resourceServersEndpoint, fetcher, limit: 100}),\n {enabled: canEdit},\n );\n const candidates: ResourceQueryResult<{permissions: ResourceServerPermission[]; resourceServerId: string}> =\n useResourceQuery(\n [RoleQueryKeys.ROLE_PERMISSION_CANDIDATES, 'permissions', selectedResourceServerId],\n async (fetcher) => ({\n permissions: await getResourceServerPermissions({\n ...resourceServersEndpoint,\n fetcher,\n resourceServerId: selectedResourceServerId!,\n }),\n resourceServerId: selectedResourceServerId!,\n }),\n {enabled: canEdit && Boolean(selectedResourceServerId)},\n );\n const update: ResourceMutationResult<Role, RoleResourcePermissions[]> = useResourceMutation(\n (permissions: RoleResourcePermissions[], fetcher) =>\n updateRole({\n ...endpoint,\n administrationMode,\n current: role.data,\n fetcher,\n payload: {\n description: role.data!.description,\n name: role.data!.name,\n ouId: role.data!.ouId,\n permissions,\n },\n roleId,\n }),\n () => [[RoleQueryKeys.ROLE, roleId], [RoleQueryKeys.ROLES]],\n );\n\n const servers: RolePermissionResourceServer[] = useMemo(\n () =>\n (resourceServers.data?.resourceServers ?? []).map((server: ResourceServer) => ({\n id: server.id,\n name: server.name,\n })),\n [resourceServers.data],\n );\n const change = (permissionChange: RolePermissionChange, add: boolean): void => {\n if (role.data) {\n void update.mutate(changePermissions(role.data.permissions ?? [], permissionChange, add));\n }\n };\n\n return (\n <BaseRolePermissions\n permissions={role.data?.permissions ?? []}\n isLoading={role.isLoading}\n isMutating={update.isLoading}\n error={\n toManagementErrorMessage(t, role.error, 'admin.roles.permissions.error') ??\n toManagementErrorMessage(t, update.error, 'admin.roles.permissions.update_error') ??\n toManagementErrorMessage(t, resourceServers.error ?? candidates.error, 'admin.roles.permissions.options_error')\n }\n resourceServers={canEdit && resourceServers.data ? servers : undefined}\n availablePermissions={\n candidates.data?.resourceServerId === selectedResourceServerId\n ? {[candidates.data.resourceServerId]: candidates.data.permissions}\n : {}\n }\n onResourceServerSelect={setSelectedResourceServerId}\n onAdd={canEdit ? (permissionChange: RolePermissionChange): void => change(permissionChange, true) : undefined}\n onRemove={canEdit ? (permissionChange: RolePermissionChange): void => change(permissionChange, false) : undefined}\n preferences={preferences}\n {...rest}\n />\n );\n};\n\nexport default RolePermissions;\n"],"mappings":"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"}
@@ -0,0 +1,308 @@
1
+ const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ const require_useTranslation = require('../../../hooks/useTranslation.cjs');
3
+ const require_Spinner = require('../../primitives/Spinner/Spinner.cjs');
4
+ const require_Button = require('../../primitives/Button/Button.cjs');
5
+ const require_Alert = require('../../primitives/Alert/Alert.cjs');
6
+ const require_TextField = require('../../primitives/TextField/TextField.cjs');
7
+ const require_Select = require('../../primitives/Select/Select.cjs');
8
+ const require_DataTable = require('../../primitives/DataTable/DataTable.cjs');
9
+ const require_useAdminPartStyles = require('../shared/useAdminPartStyles.cjs');
10
+ const require_AdminSection = require('../shared/AdminSection.cjs');
11
+ const require_AdminParts = require('../shared/AdminParts.cjs');
12
+ let __thunderid_browser = require("@thunderid/browser");
13
+ __thunderid_browser = require_rolldown_runtime.__toESM(__thunderid_browser);
14
+ let react = require("react");
15
+ react = require_rolldown_runtime.__toESM(react);
16
+ let react_jsx_runtime = require("react/jsx-runtime");
17
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
18
+
19
+ //#region src/components/management/SharingPolicies/BaseSharingPolicies.tsx
20
+ const isOwned = (overlay) => Boolean(overlay.isOwned ?? overlay.isOwnedByOU ?? overlay.owned);
21
+ /**
22
+ * Lists the sharing policies of one resource (a user, an application, a role or a flow) with the
23
+ * organization units each reaches, lets the caller add, edit and delete them, and shows the overlay
24
+ * rules that apply in one unit. Holds no data of its own: pass the policies and handle the changes.
25
+ */
26
+ const BaseSharingPolicies = ({ actions, children, className, description, error = null, isLoading = false, isLoadingOverlay = false, isSubmitting = false, limit = 20, mutationError = null, offset = 0, onCreate, onDelete, onPageChange, onUpdate, overlay, overlayError = null, overlayOuId, policies, preferences, title, totalResults }) => {
27
+ const { t } = require_useTranslation.default(preferences?.i18n);
28
+ const styles = require_useAdminPartStyles.default();
29
+ const [draft, setDraft] = (0, react.useState)(null);
30
+ const describeScope = (policy) => (0, __thunderid_browser.describeSharingPolicyScope)(t, policy);
31
+ const canChange = (policy) => !policy.isReadOnly;
32
+ const columns = [
33
+ {
34
+ header: t("admin.sharing.columns.scope"),
35
+ id: "scope",
36
+ render: (policy) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
37
+ style: {
38
+ display: "flex",
39
+ flexDirection: "column"
40
+ },
41
+ children: describeScope(policy).map((line) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: line }, line))
42
+ })
43
+ },
44
+ {
45
+ header: t("admin.sharing.columns.stage"),
46
+ id: "stage",
47
+ render: (policy) => policy.stage === "reshare" ? t("admin.sharing.stage.reshare") : t("admin.sharing.stage.share")
48
+ },
49
+ {
50
+ header: t("admin.sharing.columns.version"),
51
+ id: "version",
52
+ render: (policy) => policy.version ?? ""
53
+ }
54
+ ];
55
+ if (onUpdate || onDelete) columns.push({
56
+ header: t("admin.common.columns.actions"),
57
+ id: "actions",
58
+ render: (policy) => canChange(policy) ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
59
+ className: styles["row"],
60
+ children: [onUpdate && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
61
+ variant: "outline",
62
+ size: "small",
63
+ disabled: isSubmitting,
64
+ onClick: () => setDraft({
65
+ policy,
66
+ values: (0, __thunderid_browser.toSharingPolicyFormValues)(policy)
67
+ }),
68
+ children: t("admin.sharing.actions.edit")
69
+ }), onDelete && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_AdminParts.ConfirmButton, {
70
+ confirmText: t("admin.sharing.delete.confirm"),
71
+ isLoading: isSubmitting,
72
+ onConfirm: () => onDelete(policy),
73
+ children: t("admin.sharing.actions.delete")
74
+ })]
75
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
76
+ className: styles["muted"],
77
+ children: t("admin.sharing.read_only")
78
+ })
79
+ });
80
+ if (children) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
81
+ className,
82
+ children: children({
83
+ columns,
84
+ describeScope,
85
+ error,
86
+ isLoading,
87
+ isLoadingOverlay,
88
+ isSubmitting,
89
+ limit,
90
+ mutationError,
91
+ offset,
92
+ onCreate,
93
+ onDelete: onDelete ? (policy) => {
94
+ if (canChange(policy)) onDelete(policy);
95
+ } : void 0,
96
+ onPageChange,
97
+ onUpdate: onUpdate ? (policy, request) => {
98
+ if (canChange(policy)) onUpdate(policy, request);
99
+ } : void 0,
100
+ overlay,
101
+ overlayError,
102
+ overlayOuId,
103
+ policies,
104
+ totalResults: totalResults ?? policies.length
105
+ })
106
+ });
107
+ const setValue = (field, value) => setDraft((previous) => previous && {
108
+ ...previous,
109
+ values: {
110
+ ...previous.values,
111
+ [field]: value
112
+ }
113
+ });
114
+ const handleSave = (event) => {
115
+ event.preventDefault();
116
+ if (!draft || !(0, __thunderid_browser.isSharingPolicyFormValid)(draft.values, draft.policy)) return;
117
+ if (draft.policy) onUpdate?.(draft.policy, (0, __thunderid_browser.toSharingPolicyUpdateRequest)(draft.values, draft.policy));
118
+ else onCreate?.((0, __thunderid_browser.toSharingPolicyRequest)(draft.values));
119
+ setDraft(null);
120
+ };
121
+ const renderForm = (current) => {
122
+ const { values } = current;
123
+ const keepsSections = Boolean(current.policy?.allUnits) || current.policy?.otherTreeRoots?.mode === "all";
124
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_AdminParts.Panel, {
125
+ title: current.policy ? t("admin.sharing.form.edit_title") : t("admin.sharing.form.create_title"),
126
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("form", {
127
+ className: styles["row"],
128
+ style: {
129
+ alignItems: "stretch",
130
+ flexDirection: "column"
131
+ },
132
+ onSubmit: handleSave,
133
+ noValidate: true,
134
+ children: [
135
+ keepsSections && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
136
+ className: styles["muted"],
137
+ children: t("admin.sharing.form.kept_sections")
138
+ }),
139
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Select.default, {
140
+ name: "childUnitsMode",
141
+ label: t("admin.sharing.form.child_units"),
142
+ options: [
143
+ {
144
+ label: t("admin.sharing.form.child_units_none"),
145
+ value: "none"
146
+ },
147
+ {
148
+ label: t("admin.sharing.form.child_units_all"),
149
+ value: "all"
150
+ },
151
+ {
152
+ label: t("admin.sharing.form.child_units_selected"),
153
+ value: "selected"
154
+ }
155
+ ],
156
+ value: values.childUnitsMode,
157
+ onChange: (event) => setValue("childUnitsMode", event.target.value)
158
+ }),
159
+ values.childUnitsMode === "all" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TextField.default, {
160
+ name: "excludedOuIds",
161
+ label: t("admin.sharing.form.excluded_units"),
162
+ helperText: t("admin.sharing.form.ids_hint"),
163
+ value: values.excludedOuIds,
164
+ onChange: (event) => setValue("excludedOuIds", event.target.value)
165
+ }),
166
+ values.childUnitsMode === "selected" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TextField.default, {
167
+ name: "selectedOuIds",
168
+ label: t("admin.sharing.form.selected_units"),
169
+ helperText: t("admin.sharing.form.ids_hint"),
170
+ required: true,
171
+ value: values.selectedOuIds,
172
+ onChange: (event) => setValue("selectedOuIds", event.target.value)
173
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Select.default, {
174
+ name: "reach",
175
+ label: t("admin.sharing.form.reach"),
176
+ options: [{
177
+ label: t("admin.sharing.form.reach_subtree"),
178
+ value: "subtree"
179
+ }, {
180
+ label: t("admin.sharing.form.reach_unit"),
181
+ value: "unit"
182
+ }],
183
+ value: values.reach,
184
+ onChange: (event) => setValue("reach", event.target.value)
185
+ })] }),
186
+ current.policy?.otherTreeRoots?.mode !== "all" && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_TextField.default, {
187
+ name: "otherTreeRootOuIds",
188
+ label: t("admin.sharing.form.other_tree_roots"),
189
+ helperText: t("admin.sharing.form.ids_hint"),
190
+ value: values.otherTreeRootOuIds,
191
+ onChange: (event) => setValue("otherTreeRootOuIds", event.target.value)
192
+ }),
193
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
194
+ className: styles["row"],
195
+ style: { justifyContent: "flex-end" },
196
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
197
+ type: "button",
198
+ variant: "text",
199
+ disabled: isSubmitting,
200
+ onClick: () => setDraft(null),
201
+ children: t("admin.common.actions.cancel")
202
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
203
+ type: "submit",
204
+ loading: isSubmitting,
205
+ disabled: isSubmitting || !(0, __thunderid_browser.isSharingPolicyFormValid)(values, current.policy),
206
+ children: t("admin.sharing.actions.save")
207
+ })]
208
+ })
209
+ ]
210
+ })
211
+ });
212
+ };
213
+ const renderOverlay = () => {
214
+ if (!overlayOuId) return null;
215
+ let body;
216
+ if (isLoadingOverlay) body = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
217
+ className: styles["muted"],
218
+ role: "status",
219
+ children: [
220
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Spinner.default, { size: "small" }),
221
+ " ",
222
+ t("admin.common.loading")
223
+ ]
224
+ });
225
+ else if (overlayError) body = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Alert.default, {
226
+ variant: "error",
227
+ role: "alert",
228
+ children: overlayError
229
+ });
230
+ else if (overlay) {
231
+ let access = t("admin.sharing.overlay.not_shared");
232
+ if (isOwned(overlay)) access = t("admin.sharing.overlay.owned");
233
+ else if (overlay.visible !== false && (overlay.policyIds?.length ?? 0) > 0) access = t("admin.sharing.overlay.shared");
234
+ const rules = Object.entries(overlay.rules ?? {});
235
+ const items = [{
236
+ label: t("admin.sharing.columns.scope"),
237
+ value: access
238
+ }];
239
+ if (overlay.policyIds?.length) items.push({
240
+ label: t("admin.sharing.overlay.policies"),
241
+ value: overlay.policyIds.join(", ")
242
+ });
243
+ rules.forEach(([field, rule]) => {
244
+ const parts = [
245
+ rule.value?.length ? t("admin.sharing.overlay.value", { values: rule.value.join(", ") }) : "",
246
+ rule.allowedValues?.length ? t("admin.sharing.overlay.allowed", { values: rule.allowedValues.join(", ") }) : "",
247
+ rule.excludedValues?.length ? t("admin.sharing.overlay.excluded", { values: rule.excludedValues.join(", ") }) : "",
248
+ rule.editable ? t("admin.sharing.overlay.editable") : ""
249
+ ].filter(Boolean);
250
+ items.push({
251
+ label: field,
252
+ value: parts.join(" · ") || t("admin.sharing.overlay.no_rules")
253
+ });
254
+ });
255
+ body = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_AdminParts.DetailList, { items }), rules.length === 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
256
+ className: styles["muted"],
257
+ children: t("admin.sharing.overlay.no_rules")
258
+ })] });
259
+ }
260
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_AdminParts.Panel, {
261
+ title: t("admin.sharing.overlay.title", { unit: overlayOuId }),
262
+ children: body
263
+ });
264
+ };
265
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_AdminSection.default, {
266
+ block: "sharing-policies",
267
+ className,
268
+ title: title ?? t("admin.sharing.title"),
269
+ description,
270
+ preferences,
271
+ actions: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [actions, onCreate && !draft && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Button.default, {
272
+ variant: "outline",
273
+ size: "small",
274
+ disabled: isSubmitting,
275
+ onClick: () => setDraft({ values: (0, __thunderid_browser.toSharingPolicyFormValues)() }),
276
+ children: t("admin.sharing.actions.create")
277
+ })] }),
278
+ children: [
279
+ mutationError && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Alert.default, {
280
+ variant: "error",
281
+ role: "alert",
282
+ children: mutationError
283
+ }),
284
+ draft && renderForm(draft),
285
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DataTable.default, {
286
+ caption: title?.length ? title : t("admin.sharing.title"),
287
+ columns,
288
+ rows: policies,
289
+ getRowId: (policy) => policy.id ?? describeScope(policy).join("|"),
290
+ isLoading,
291
+ error,
292
+ emptyText: t("admin.sharing.empty"),
293
+ pagination: onPageChange ? {
294
+ limit,
295
+ offset,
296
+ onChange: onPageChange,
297
+ total: totalResults ?? policies.length
298
+ } : void 0
299
+ }),
300
+ renderOverlay()
301
+ ]
302
+ });
303
+ };
304
+ var BaseSharingPolicies_default = BaseSharingPolicies;
305
+
306
+ //#endregion
307
+ exports.default = BaseSharingPolicies_default;
308
+ //# sourceMappingURL=BaseSharingPolicies.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseSharingPolicies.cjs","names":["BaseSharingPolicies: FC<BaseSharingPoliciesProps>","useTranslation","styles: Record<string, string>","useAdminPartStyles","columns: DataTableColumn<SharingPolicy>[]","Button","ConfirmButton","keepsSections: boolean","Panel","Select","TextField","body: ReactNode","Spinner","Alert","access: string","rules: [string, OverlayRule][]","items: DetailListItem[]","parts: string[]","DetailList","AdminSection","DataTable"],"sources":["../../../../../src/components/management/SharingPolicies/BaseSharingPolicies.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n OverlayRule,\n Preferences,\n ResolvedOverlay,\n SharingPolicy,\n SharingPolicyFormValues,\n SharingPolicyRequest,\n SharingPolicyUpdateRequest,\n describeSharingPolicyScope,\n isSharingPolicyFormValid,\n toSharingPolicyFormValues,\n toSharingPolicyRequest,\n toSharingPolicyUpdateRequest,\n} from '@thunderid/browser';\nimport {ChangeEvent, FC, FormEvent, ReactElement, ReactNode, useState} from 'react';\nimport useTranslation from '../../../hooks/useTranslation';\nimport Alert from '../../primitives/Alert/Alert';\nimport Button from '../../primitives/Button/Button';\nimport DataTable, {DataTableColumn} from '../../primitives/DataTable/DataTable';\nimport Select from '../../primitives/Select/Select';\nimport Spinner from '../../primitives/Spinner/Spinner';\nimport TextField from '../../primitives/TextField/TextField';\nimport {ConfirmButton, DetailList, DetailListItem, Panel} from '../shared/AdminParts';\nimport AdminSection from '../shared/AdminSection';\nimport useAdminPartStyles from '../shared/useAdminPartStyles';\n\n/**\n * What {@link BaseSharingPolicies} hands its `children` render function, so the policies can be shown with any UI.\n */\nexport interface BaseSharingPoliciesRenderProps {\n /**\n * The columns the default table shows, with translated headers and cell renderers.\n */\n columns: DataTableColumn<SharingPolicy>[];\n /**\n * Describes, in translated words, which organization units a policy reaches: one line per section.\n */\n describeScope: (policy: SharingPolicy) => string[];\n /**\n * A translated message when the policies could not be loaded, or `null`.\n */\n error: string | null;\n isLoading: boolean;\n isLoadingOverlay: boolean;\n isSubmitting: boolean;\n limit: number;\n /**\n * A translated message when a create, update or delete failed, or `null`.\n */\n mutationError: string | null;\n offset: number;\n /**\n * Creates a policy. Undefined unless editing is allowed.\n */\n onCreate?: (request: SharingPolicyRequest) => void;\n /**\n * Deletes a policy; ask for confirmation first. Undefined unless editing is allowed. Does nothing for a\n * read-only policy.\n */\n onDelete?: (policy: SharingPolicy) => void;\n /**\n * Shows the page that starts at `offset`. Undefined when the list is not paginated.\n */\n onPageChange?: (offset: number) => void;\n /**\n * Replaces a policy's sections. Undefined unless editing is allowed. Does nothing for a read-only policy.\n */\n onUpdate?: (policy: SharingPolicy, request: SharingPolicyUpdateRequest) => void;\n /**\n * The overlay rules that apply in `overlayOuId`, when one was given.\n */\n overlay?: ResolvedOverlay;\n overlayError: string | null;\n overlayOuId?: string;\n policies: SharingPolicy[];\n totalResults: number;\n}\n\nexport interface BaseSharingPoliciesProps {\n /**\n * Controls rendered next to the title.\n */\n actions?: ReactNode;\n /**\n * Renders custom UI in place of the default view. Receives the policies, the paging, the loading and\n * error state, the overlay rules, and the create, update and delete handlers when editing is allowed.\n */\n children?: (props: BaseSharingPoliciesRenderProps) => ReactNode;\n className?: string;\n description?: string;\n /**\n * A translated message when the policies could not be loaded, or `null`.\n */\n error?: string | null;\n isLoading?: boolean;\n isLoadingOverlay?: boolean;\n isSubmitting?: boolean;\n /**\n * Page size.\n * @default 20\n */\n limit?: number;\n /**\n * A translated message when a create, update or delete failed, or `null`.\n */\n mutationError?: string | null;\n offset?: number;\n /**\n * Creates a policy. The add action is hidden when omitted.\n */\n onCreate?: (request: SharingPolicyRequest) => void;\n /**\n * Deletes a policy, after the user confirms. The delete action is hidden when omitted.\n */\n onDelete?: (policy: SharingPolicy) => void;\n /**\n * Called with the offset of the page to show. Pagination is hidden when omitted.\n */\n onPageChange?: (offset: number) => void;\n /**\n * Replaces a policy's sections. The edit action is hidden when omitted.\n */\n onUpdate?: (policy: SharingPolicy, request: SharingPolicyUpdateRequest) => void;\n /**\n * The overlay rules that apply in `overlayOuId`.\n */\n overlay?: ResolvedOverlay;\n overlayError?: string | null;\n /**\n * The organization unit whose overlay rules are shown, read only.\n */\n overlayOuId?: string;\n policies: SharingPolicy[];\n preferences?: Preferences;\n /**\n * Heading of the view. Pass an empty string to hide it.\n */\n title?: string;\n totalResults?: number;\n}\n\ninterface Draft {\n policy?: SharingPolicy;\n values: SharingPolicyFormValues;\n}\n\nconst isOwned = (overlay: ResolvedOverlay): boolean => Boolean(overlay.isOwned ?? overlay.isOwnedByOU ?? overlay.owned);\n\n/**\n * Lists the sharing policies of one resource (a user, an application, a role or a flow) with the\n * organization units each reaches, lets the caller add, edit and delete them, and shows the overlay\n * rules that apply in one unit. Holds no data of its own: pass the policies and handle the changes.\n */\nconst BaseSharingPolicies: FC<BaseSharingPoliciesProps> = ({\n actions,\n children,\n className,\n description,\n error = null,\n isLoading = false,\n isLoadingOverlay = false,\n isSubmitting = false,\n limit = 20,\n mutationError = null,\n offset = 0,\n onCreate,\n onDelete,\n onPageChange,\n onUpdate,\n overlay,\n overlayError = null,\n overlayOuId,\n policies,\n preferences,\n title,\n totalResults,\n}: BaseSharingPoliciesProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n const styles: Record<string, string> = useAdminPartStyles();\n const [draft, setDraft] = useState<Draft | null>(null);\n\n const describeScope = (policy: SharingPolicy): string[] => describeSharingPolicyScope(t, policy);\n const canChange = (policy: SharingPolicy): boolean => !policy.isReadOnly;\n\n const columns: DataTableColumn<SharingPolicy>[] = [\n {\n header: t('admin.sharing.columns.scope'),\n id: 'scope',\n render: (policy: SharingPolicy): ReactNode => (\n <span style={{display: 'flex', flexDirection: 'column'}}>\n {describeScope(policy).map((line: string) => (\n <span key={line}>{line}</span>\n ))}\n </span>\n ),\n },\n {\n header: t('admin.sharing.columns.stage'),\n id: 'stage',\n render: (policy: SharingPolicy): ReactNode =>\n policy.stage === 'reshare' ? t('admin.sharing.stage.reshare') : t('admin.sharing.stage.share'),\n },\n {\n header: t('admin.sharing.columns.version'),\n id: 'version',\n render: (policy: SharingPolicy): ReactNode => policy.version ?? '',\n },\n ];\n\n if (onUpdate || onDelete) {\n columns.push({\n header: t('admin.common.columns.actions'),\n id: 'actions',\n render: (policy: SharingPolicy): ReactNode =>\n canChange(policy) ? (\n <span className={styles['row']}>\n {onUpdate && (\n <Button\n variant=\"outline\"\n size=\"small\"\n disabled={isSubmitting}\n onClick={(): void => setDraft({policy, values: toSharingPolicyFormValues(policy)})}\n >\n {t('admin.sharing.actions.edit')}\n </Button>\n )}\n {onDelete && (\n <ConfirmButton\n confirmText={t('admin.sharing.delete.confirm')}\n isLoading={isSubmitting}\n onConfirm={(): void => onDelete(policy)}\n >\n {t('admin.sharing.actions.delete')}\n </ConfirmButton>\n )}\n </span>\n ) : (\n <span className={styles['muted']}>{t('admin.sharing.read_only')}</span>\n ),\n });\n }\n\n if (children) {\n return (\n <div className={className}>\n {children({\n columns,\n describeScope,\n error,\n isLoading,\n isLoadingOverlay,\n isSubmitting,\n limit,\n mutationError,\n offset,\n onCreate,\n onDelete: onDelete\n ? (policy: SharingPolicy): void => {\n if (canChange(policy)) onDelete(policy);\n }\n : undefined,\n onPageChange,\n onUpdate: onUpdate\n ? (policy: SharingPolicy, request: SharingPolicyUpdateRequest): void => {\n if (canChange(policy)) onUpdate(policy, request);\n }\n : undefined,\n overlay,\n overlayError,\n overlayOuId,\n policies,\n totalResults: totalResults ?? policies.length,\n })}\n </div>\n );\n }\n\n const setValue = <K extends keyof SharingPolicyFormValues>(field: K, value: SharingPolicyFormValues[K]): void =>\n setDraft((previous: Draft | null) => previous && {...previous, values: {...previous.values, [field]: value}});\n\n const handleSave = (event: FormEvent<HTMLFormElement>): void => {\n event.preventDefault();\n\n if (!draft || !isSharingPolicyFormValid(draft.values, draft.policy)) {\n return;\n }\n\n if (draft.policy) {\n onUpdate?.(draft.policy, toSharingPolicyUpdateRequest(draft.values, draft.policy));\n } else {\n onCreate?.(toSharingPolicyRequest(draft.values));\n }\n\n setDraft(null);\n };\n\n const renderForm = (current: Draft): ReactElement => {\n const {values} = current;\n const keepsSections: boolean = Boolean(current.policy?.allUnits) || current.policy?.otherTreeRoots?.mode === 'all';\n\n return (\n <Panel title={current.policy ? t('admin.sharing.form.edit_title') : t('admin.sharing.form.create_title')}>\n <form\n className={styles['row']}\n style={{alignItems: 'stretch', flexDirection: 'column'}}\n onSubmit={handleSave}\n noValidate\n >\n {keepsSections && <span className={styles['muted']}>{t('admin.sharing.form.kept_sections')}</span>}\n <Select\n name=\"childUnitsMode\"\n label={t('admin.sharing.form.child_units')}\n options={[\n {label: t('admin.sharing.form.child_units_none'), value: 'none'},\n {label: t('admin.sharing.form.child_units_all'), value: 'all'},\n {label: t('admin.sharing.form.child_units_selected'), value: 'selected'},\n ]}\n value={values.childUnitsMode}\n onChange={(event: ChangeEvent<HTMLSelectElement>): void =>\n setValue('childUnitsMode', event.target.value as SharingPolicyFormValues['childUnitsMode'])\n }\n />\n {values.childUnitsMode === 'all' && (\n <TextField\n name=\"excludedOuIds\"\n label={t('admin.sharing.form.excluded_units')}\n helperText={t('admin.sharing.form.ids_hint')}\n value={values.excludedOuIds}\n onChange={(event: ChangeEvent<HTMLInputElement>): void => setValue('excludedOuIds', event.target.value)}\n />\n )}\n {values.childUnitsMode === 'selected' && (\n <>\n <TextField\n name=\"selectedOuIds\"\n label={t('admin.sharing.form.selected_units')}\n helperText={t('admin.sharing.form.ids_hint')}\n required\n value={values.selectedOuIds}\n onChange={(event: ChangeEvent<HTMLInputElement>): void => setValue('selectedOuIds', event.target.value)}\n />\n <Select\n name=\"reach\"\n label={t('admin.sharing.form.reach')}\n options={[\n {label: t('admin.sharing.form.reach_subtree'), value: 'subtree'},\n {label: t('admin.sharing.form.reach_unit'), value: 'unit'},\n ]}\n value={values.reach}\n onChange={(event: ChangeEvent<HTMLSelectElement>): void =>\n setValue('reach', event.target.value as SharingPolicyFormValues['reach'])\n }\n />\n </>\n )}\n {current.policy?.otherTreeRoots?.mode !== 'all' && (\n <TextField\n name=\"otherTreeRootOuIds\"\n label={t('admin.sharing.form.other_tree_roots')}\n helperText={t('admin.sharing.form.ids_hint')}\n value={values.otherTreeRootOuIds}\n onChange={(event: ChangeEvent<HTMLInputElement>): void =>\n setValue('otherTreeRootOuIds', event.target.value)\n }\n />\n )}\n <div className={styles['row']} style={{justifyContent: 'flex-end'}}>\n <Button type=\"button\" variant=\"text\" disabled={isSubmitting} onClick={(): void => setDraft(null)}>\n {t('admin.common.actions.cancel')}\n </Button>\n <Button\n type=\"submit\"\n loading={isSubmitting}\n disabled={isSubmitting || !isSharingPolicyFormValid(values, current.policy)}\n >\n {t('admin.sharing.actions.save')}\n </Button>\n </div>\n </form>\n </Panel>\n );\n };\n\n const renderOverlay = (): ReactNode => {\n if (!overlayOuId) {\n return null;\n }\n\n let body: ReactNode;\n\n if (isLoadingOverlay) {\n body = (\n <span className={styles['muted']} role=\"status\">\n <Spinner size=\"small\" /> {t('admin.common.loading')}\n </span>\n );\n } else if (overlayError) {\n body = (\n <Alert variant=\"error\" role=\"alert\">\n {overlayError}\n </Alert>\n );\n } else if (overlay) {\n let access: string = t('admin.sharing.overlay.not_shared');\n\n if (isOwned(overlay)) {\n access = t('admin.sharing.overlay.owned');\n } else if (overlay.visible !== false && (overlay.policyIds?.length ?? 0) > 0) {\n access = t('admin.sharing.overlay.shared');\n }\n\n const rules: [string, OverlayRule][] = Object.entries(overlay.rules ?? {});\n const items: DetailListItem[] = [{label: t('admin.sharing.columns.scope'), value: access}];\n\n if (overlay.policyIds?.length) {\n items.push({label: t('admin.sharing.overlay.policies'), value: overlay.policyIds.join(', ')});\n }\n\n rules.forEach(([field, rule]: [string, OverlayRule]) => {\n const parts: string[] = [\n rule.value?.length ? t('admin.sharing.overlay.value', {values: rule.value.join(', ')}) : '',\n rule.allowedValues?.length ? t('admin.sharing.overlay.allowed', {values: rule.allowedValues.join(', ')}) : '',\n rule.excludedValues?.length\n ? t('admin.sharing.overlay.excluded', {values: rule.excludedValues.join(', ')})\n : '',\n rule.editable ? t('admin.sharing.overlay.editable') : '',\n ].filter(Boolean);\n\n items.push({label: field, value: parts.join(' · ') || t('admin.sharing.overlay.no_rules')});\n });\n\n body = (\n <>\n <DetailList items={items} />\n {rules.length === 0 && <span className={styles['muted']}>{t('admin.sharing.overlay.no_rules')}</span>}\n </>\n );\n }\n\n return <Panel title={t('admin.sharing.overlay.title', {unit: overlayOuId})}>{body}</Panel>;\n };\n\n return (\n <AdminSection\n block=\"sharing-policies\"\n className={className}\n title={title ?? t('admin.sharing.title')}\n description={description}\n preferences={preferences}\n actions={\n <>\n {actions}\n {onCreate && !draft && (\n <Button\n variant=\"outline\"\n size=\"small\"\n disabled={isSubmitting}\n onClick={(): void => setDraft({values: toSharingPolicyFormValues()})}\n >\n {t('admin.sharing.actions.create')}\n </Button>\n )}\n </>\n }\n >\n {mutationError && (\n <Alert variant=\"error\" role=\"alert\">\n {mutationError}\n </Alert>\n )}\n {draft && renderForm(draft)}\n <DataTable\n caption={title?.length ? title : t('admin.sharing.title')}\n columns={columns}\n rows={policies}\n getRowId={(policy: SharingPolicy): string => policy.id ?? describeScope(policy).join('|')}\n isLoading={isLoading}\n error={error}\n emptyText={t('admin.sharing.empty')}\n pagination={\n onPageChange ? {limit, offset, onChange: onPageChange, total: totalResults ?? policies.length} : undefined\n }\n />\n {renderOverlay()}\n </AdminSection>\n );\n};\n\nexport default BaseSharingPolicies;\n"],"mappings":"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"}
@@ -0,0 +1,126 @@
1
+ const require_rolldown_runtime = require('../../../_virtual/rolldown_runtime.cjs');
2
+ const require_useTranslation = require('../../../hooks/useTranslation.cjs');
3
+ const require_useManagementEndpoint = require('../../../hooks/management/useManagementEndpoint.cjs');
4
+ const require_useResourceQuery = require('../../../hooks/management/useResourceQuery.cjs');
5
+ const require_useResourceMutation = require('../../../hooks/management/useResourceMutation.cjs');
6
+ const require_BaseSharingPolicies = require('./BaseSharingPolicies.cjs');
7
+ let __thunderid_browser = require("@thunderid/browser");
8
+ __thunderid_browser = require_rolldown_runtime.__toESM(__thunderid_browser);
9
+ let react = require("react");
10
+ react = require_rolldown_runtime.__toESM(react);
11
+ let react_jsx_runtime = require("react/jsx-runtime");
12
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
13
+
14
+ //#region src/components/management/SharingPolicies/SharingPolicies.tsx
15
+ /**
16
+ * Lists the sharing policies of a user, an application, a role or a flow, and lets the signed-in user
17
+ * add, edit and delete them when `editable`. With `ouId`, also shows the overlay rules the policies
18
+ * resolve to in that organization unit. `UserDetails`, `ApplicationDetails` and `RoleDetails` do not
19
+ * embed it: place it where the app needs it.
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * <SharingPolicies resourceType="role" resourceId={roleId} editable />
24
+ * ```
25
+ */
26
+ const SharingPolicies = ({ editable = false, limit = 20, ouId, preferences, resourceId, resourceType,...rest }) => {
27
+ const { t } = require_useTranslation.default(preferences?.i18n);
28
+ const [offset, setOffset] = (0, react.useState)(0);
29
+ const [lastChange, setLastChange] = (0, react.useState)("create");
30
+ const endpoint = require_useManagementEndpoint.default(__thunderid_browser.SHARING_RESOURCE_COLLECTIONS[resourceType]);
31
+ const operations = (0, __thunderid_browser.getSharingPolicyOperations)(resourceType);
32
+ const policies = require_useResourceQuery.default([
33
+ __thunderid_browser.SharingPolicyQueryKeys.SHARING_POLICIES,
34
+ resourceType,
35
+ resourceId,
36
+ {
37
+ limit,
38
+ offset
39
+ }
40
+ ], (fetcher) => operations.list({
41
+ ...endpoint,
42
+ fetcher,
43
+ limit,
44
+ offset,
45
+ resourceId
46
+ }), { enabled: Boolean(resourceId) });
47
+ const overlay = require_useResourceQuery.default([
48
+ __thunderid_browser.SharingPolicyQueryKeys.OVERLAY_RULES,
49
+ resourceType,
50
+ resourceId,
51
+ ouId
52
+ ], (fetcher) => operations.getOverlayRules({
53
+ ...endpoint,
54
+ fetcher,
55
+ ouId: ouId ?? "",
56
+ resourceId
57
+ }), { enabled: Boolean(resourceId && ouId) });
58
+ const change = require_useResourceMutation.default(async (variables, fetcher) => {
59
+ if (variables.kind === "create") return operations.create({
60
+ ...endpoint,
61
+ fetcher,
62
+ payload: variables.request,
63
+ resourceId
64
+ });
65
+ if (variables.kind === "update") return operations.update({
66
+ ...endpoint,
67
+ fetcher,
68
+ payload: variables.request,
69
+ policyId: variables.policy.id ?? "",
70
+ resourceId
71
+ });
72
+ await operations.delete({
73
+ ...endpoint,
74
+ fetcher,
75
+ policyId: variables.policy.id ?? "",
76
+ resourceId
77
+ });
78
+ }, () => [[
79
+ __thunderid_browser.SharingPolicyQueryKeys.SHARING_POLICIES,
80
+ resourceType,
81
+ resourceId
82
+ ], [
83
+ __thunderid_browser.SharingPolicyQueryKeys.OVERLAY_RULES,
84
+ resourceType,
85
+ resourceId
86
+ ]]);
87
+ const run = (variables) => {
88
+ setLastChange(variables.kind);
89
+ change.mutate(variables);
90
+ };
91
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_BaseSharingPolicies.default, {
92
+ policies: policies.data?.policies ?? [],
93
+ totalResults: policies.data?.totalResults,
94
+ isLoading: policies.isLoading,
95
+ error: (0, __thunderid_browser.toManagementErrorMessage)(t, policies.error, "admin.sharing.error"),
96
+ mutationError: (0, __thunderid_browser.toManagementErrorMessage)(t, change.error, lastChange === "delete" ? "admin.sharing.errors.delete" : "admin.sharing.errors.save", __thunderid_browser.SHARING_POLICY_ERROR_KEYS),
97
+ isSubmitting: change.isLoading,
98
+ limit,
99
+ offset,
100
+ onPageChange: setOffset,
101
+ overlay: overlay.data,
102
+ overlayOuId: ouId,
103
+ isLoadingOverlay: Boolean(ouId) && overlay.isLoading,
104
+ overlayError: (0, __thunderid_browser.toManagementErrorMessage)(t, overlay.error, "admin.sharing.overlay.error"),
105
+ onCreate: editable ? (request) => run({
106
+ kind: "create",
107
+ request
108
+ }) : void 0,
109
+ onUpdate: editable ? (policy, request) => run({
110
+ kind: "update",
111
+ policy,
112
+ request
113
+ }) : void 0,
114
+ onDelete: editable ? (policy) => run({
115
+ kind: "delete",
116
+ policy
117
+ }) : void 0,
118
+ preferences,
119
+ ...rest
120
+ });
121
+ };
122
+ var SharingPolicies_default = SharingPolicies;
123
+
124
+ //#endregion
125
+ exports.default = SharingPolicies_default;
126
+ //# sourceMappingURL=SharingPolicies.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SharingPolicies.cjs","names":["SharingPolicies: FC<SharingPoliciesProps>","useTranslation","endpoint: ManagementEndpoint","useManagementEndpoint","SHARING_RESOURCE_COLLECTIONS","operations: SharingPolicyOperations","policies: ResourceQueryResult<SharingPolicyListResponse>","useResourceQuery","SharingPolicyQueryKeys","overlay: ResourceQueryResult<ResolvedOverlay>","change: ResourceMutationResult<SharingPolicy | undefined, PolicyChange>","useResourceMutation","BaseSharingPolicies","SHARING_POLICY_ERROR_KEYS"],"sources":["../../../../../src/components/management/SharingPolicies/SharingPolicies.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {\n ResolvedOverlay,\n SHARING_POLICY_ERROR_KEYS,\n SHARING_RESOURCE_COLLECTIONS,\n SharingPolicy,\n SharingPolicyListResponse,\n SharingPolicyOperations,\n SharingPolicyQueryKeys,\n SharingPolicyRequest,\n SharingPolicyUpdateRequest,\n SharingResourceType,\n getSharingPolicyOperations,\n toManagementErrorMessage,\n} from '@thunderid/browser';\nimport {FC, ReactElement, useState} from 'react';\nimport BaseSharingPolicies, {BaseSharingPoliciesProps} from './BaseSharingPolicies';\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';\n\ntype PolicyChange =\n | {kind: 'create'; request: SharingPolicyRequest}\n | {kind: 'delete'; policy: SharingPolicy}\n | {kind: 'update'; policy: SharingPolicy; request: SharingPolicyUpdateRequest};\n\nexport type SharingPoliciesProps = Omit<\n BaseSharingPoliciesProps,\n | 'error'\n | 'isLoading'\n | 'isLoadingOverlay'\n | 'isSubmitting'\n | 'mutationError'\n | 'offset'\n | 'onCreate'\n | 'onDelete'\n | 'onPageChange'\n | 'onUpdate'\n | 'overlay'\n | 'overlayError'\n | 'overlayOuId'\n | 'policies'\n | 'totalResults'\n> & {\n /**\n * Whether policies can be added, edited and deleted from this view. Deleting asks for confirmation.\n * @default false\n */\n editable?: boolean;\n /**\n * Shows the overlay rules that apply to the resource in this organization unit, read only.\n */\n ouId?: string;\n /**\n * Identifier of the user, application, role or flow.\n */\n resourceId: string;\n /**\n * The kind of resource whose sharing policies are shown.\n */\n resourceType: SharingResourceType;\n};\n\n/**\n * Lists the sharing policies of a user, an application, a role or a flow, and lets the signed-in user\n * add, edit and delete them when `editable`. With `ouId`, also shows the overlay rules the policies\n * resolve to in that organization unit. `UserDetails`, `ApplicationDetails` and `RoleDetails` do not\n * embed it: place it where the app needs it.\n *\n * @example\n * ```tsx\n * <SharingPolicies resourceType=\"role\" resourceId={roleId} editable />\n * ```\n */\nconst SharingPolicies: FC<SharingPoliciesProps> = ({\n editable = false,\n limit = 20,\n ouId,\n preferences,\n resourceId,\n resourceType,\n ...rest\n}: SharingPoliciesProps): ReactElement => {\n const {t} = useTranslation(preferences?.i18n);\n const [offset, setOffset] = useState<number>(0);\n const [lastChange, setLastChange] = useState<PolicyChange['kind']>('create');\n const endpoint: ManagementEndpoint = useManagementEndpoint(SHARING_RESOURCE_COLLECTIONS[resourceType]);\n const operations: SharingPolicyOperations = getSharingPolicyOperations(resourceType);\n const policies: ResourceQueryResult<SharingPolicyListResponse> = useResourceQuery(\n [SharingPolicyQueryKeys.SHARING_POLICIES, resourceType, resourceId, {limit, offset}],\n (fetcher) => operations.list({...endpoint, fetcher, limit, offset, resourceId}),\n {enabled: Boolean(resourceId)},\n );\n const overlay: ResourceQueryResult<ResolvedOverlay> = useResourceQuery(\n [SharingPolicyQueryKeys.OVERLAY_RULES, resourceType, resourceId, ouId],\n (fetcher) => operations.getOverlayRules({...endpoint, fetcher, ouId: ouId ?? '', resourceId}),\n {enabled: Boolean(resourceId && ouId)},\n );\n const change: ResourceMutationResult<SharingPolicy | undefined, PolicyChange> = useResourceMutation(\n async (variables: PolicyChange, fetcher): Promise<SharingPolicy | undefined> => {\n if (variables.kind === 'create') {\n return operations.create({...endpoint, fetcher, payload: variables.request, resourceId});\n }\n\n if (variables.kind === 'update') {\n return operations.update({\n ...endpoint,\n fetcher,\n payload: variables.request,\n policyId: variables.policy.id ?? '',\n resourceId,\n });\n }\n\n await operations.delete({...endpoint, fetcher, policyId: variables.policy.id ?? '', resourceId});\n\n return undefined;\n },\n () => [\n [SharingPolicyQueryKeys.SHARING_POLICIES, resourceType, resourceId],\n [SharingPolicyQueryKeys.OVERLAY_RULES, resourceType, resourceId],\n ],\n );\n\n const run = (variables: PolicyChange): void => {\n setLastChange(variables.kind);\n void change.mutate(variables);\n };\n\n return (\n <BaseSharingPolicies\n policies={policies.data?.policies ?? []}\n totalResults={policies.data?.totalResults}\n isLoading={policies.isLoading}\n error={toManagementErrorMessage(t, policies.error, 'admin.sharing.error')}\n mutationError={toManagementErrorMessage(\n t,\n change.error,\n lastChange === 'delete' ? 'admin.sharing.errors.delete' : 'admin.sharing.errors.save',\n SHARING_POLICY_ERROR_KEYS,\n )}\n isSubmitting={change.isLoading}\n limit={limit}\n offset={offset}\n onPageChange={setOffset}\n overlay={overlay.data}\n overlayOuId={ouId}\n isLoadingOverlay={Boolean(ouId) && overlay.isLoading}\n overlayError={toManagementErrorMessage(t, overlay.error, 'admin.sharing.overlay.error')}\n onCreate={editable ? (request: SharingPolicyRequest): void => run({kind: 'create', request}) : undefined}\n onUpdate={\n editable\n ? (policy: SharingPolicy, request: SharingPolicyUpdateRequest): void => run({kind: 'update', policy, request})\n : undefined\n }\n onDelete={editable ? (policy: SharingPolicy): void => run({kind: 'delete', policy}) : undefined}\n preferences={preferences}\n {...rest}\n />\n );\n};\n\nexport default SharingPolicies;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6EA,MAAMA,mBAA6C,EACjD,WAAW,OACX,QAAQ,IACR,MACA,aACA,YACA,aACA,GAAG,WACqC;CACxC,MAAM,EAAC,MAAKC,+BAAe,aAAa,KAAK;CAC7C,MAAM,CAAC,QAAQ,iCAA8B,EAAE;CAC/C,MAAM,CAAC,YAAY,qCAAgD,SAAS;CAC5E,MAAMC,WAA+BC,sCAAsBC,iDAA6B,cAAc;CACtG,MAAMC,iEAAiE,aAAa;CACpF,MAAMC,WAA2DC,iCAC/D;EAACC,2CAAuB;EAAkB;EAAc;EAAY;GAAC;GAAO;GAAO;EAAC,GACnF,YAAY,WAAW,KAAK;EAAC,GAAG;EAAU;EAAS;EAAO;EAAQ;EAAW,CAAC,EAC/E,EAAC,SAAS,QAAQ,WAAW,EAAC,CAC/B;CACD,MAAMC,UAAgDF,iCACpD;EAACC,2CAAuB;EAAe;EAAc;EAAY;EAAK,GACrE,YAAY,WAAW,gBAAgB;EAAC,GAAG;EAAU;EAAS,MAAM,QAAQ;EAAI;EAAW,CAAC,EAC7F,EAAC,SAAS,QAAQ,cAAc,KAAK,EAAC,CACvC;CACD,MAAME,SAA0EC,oCAC9E,OAAO,WAAyB,YAAgD;AAC9E,MAAI,UAAU,SAAS,SACrB,QAAO,WAAW,OAAO;GAAC,GAAG;GAAU;GAAS,SAAS,UAAU;GAAS;GAAW,CAAC;AAG1F,MAAI,UAAU,SAAS,SACrB,QAAO,WAAW,OAAO;GACvB,GAAG;GACH;GACA,SAAS,UAAU;GACnB,UAAU,UAAU,OAAO,MAAM;GACjC;GACD,CAAC;AAGJ,QAAM,WAAW,OAAO;GAAC,GAAG;GAAU;GAAS,UAAU,UAAU,OAAO,MAAM;GAAI;GAAW,CAAC;UAI5F,CACJ;EAACH,2CAAuB;EAAkB;EAAc;EAAW,EACnE;EAACA,2CAAuB;EAAe;EAAc;EAAW,CACjE,CACF;CAED,MAAM,OAAO,cAAkC;AAC7C,gBAAc,UAAU,KAAK;AAC7B,EAAK,OAAO,OAAO,UAAU;;AAG/B,QACE,2CAACI;EACC,UAAU,SAAS,MAAM,YAAY,EAAE;EACvC,cAAc,SAAS,MAAM;EAC7B,WAAW,SAAS;EACpB,yDAAgC,GAAG,SAAS,OAAO,sBAAsB;EACzE,iEACE,GACA,OAAO,OACP,eAAe,WAAW,gCAAgC,6BAC1DC,8CACD;EACD,cAAc,OAAO;EACd;EACC;EACR,cAAc;EACd,SAAS,QAAQ;EACjB,aAAa;EACb,kBAAkB,QAAQ,KAAK,IAAI,QAAQ;EAC3C,gEAAuC,GAAG,QAAQ,OAAO,8BAA8B;EACvF,UAAU,YAAY,YAAwC,IAAI;GAAC,MAAM;GAAU;GAAQ,CAAC,GAAG;EAC/F,UACE,YACK,QAAuB,YAA8C,IAAI;GAAC,MAAM;GAAU;GAAQ;GAAQ,CAAC,GAC5G;EAEN,UAAU,YAAY,WAAgC,IAAI;GAAC,MAAM;GAAU;GAAO,CAAC,GAAG;EACzE;EACb,GAAI;GACJ;;AAIN,8BAAe"}
@@ -13,7 +13,7 @@ react = require_rolldown_runtime.__toESM(react);
13
13
  let react_jsx_runtime = require("react/jsx-runtime");
14
14
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
15
15
 
16
- //#region src/components/admin/UserCreate/BaseUserCreate.tsx
16
+ //#region src/components/management/UserCreate/BaseUserCreate.tsx
17
17
  /**
18
18
  * A form that collects a new user's type and attributes. Holds no data of its own: pass the user
19
19
  * types and handle the submission.