@thunderid/nextjs 1.13.0 → 1.14.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 (259) hide show
  1. package/dist/cjs/client/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.cjs +116 -0
  2. package/dist/cjs/client/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.cjs.map +1 -0
  3. package/dist/cjs/client/components/auth/SignIn/SignIn.cjs +3 -2
  4. package/dist/cjs/client/components/auth/SignIn/SignIn.cjs.map +1 -1
  5. package/dist/cjs/client/components/{admin → management}/AgentCreate/AgentCreate.cjs +1 -1
  6. package/dist/cjs/client/components/management/AgentCreate/AgentCreate.cjs.map +1 -0
  7. package/dist/cjs/client/components/{admin → management}/AgentDetails/AgentDetails.cjs +1 -1
  8. package/dist/cjs/client/components/management/AgentDetails/AgentDetails.cjs.map +1 -0
  9. package/dist/cjs/client/components/{admin → management}/AgentList/AgentList.cjs +1 -1
  10. package/dist/cjs/client/components/management/AgentList/AgentList.cjs.map +1 -0
  11. package/dist/cjs/client/components/{admin → management}/ApplicationCreate/ApplicationCreate.cjs +1 -1
  12. package/dist/cjs/client/components/management/ApplicationCreate/ApplicationCreate.cjs.map +1 -0
  13. package/dist/cjs/client/components/{admin → management}/ApplicationDetails/ApplicationDetails.cjs +1 -1
  14. package/dist/cjs/client/components/management/ApplicationDetails/ApplicationDetails.cjs.map +1 -0
  15. package/dist/cjs/client/components/{admin → management}/ApplicationList/ApplicationList.cjs +1 -1
  16. package/dist/cjs/client/components/management/ApplicationList/ApplicationList.cjs.map +1 -0
  17. package/dist/cjs/client/components/{admin → management}/GroupCreate/GroupCreate.cjs +1 -1
  18. package/dist/cjs/client/components/management/GroupCreate/GroupCreate.cjs.map +1 -0
  19. package/dist/cjs/client/components/management/GroupDetails/GroupDetails.cjs +28 -0
  20. package/dist/cjs/client/components/management/GroupDetails/GroupDetails.cjs.map +1 -0
  21. package/dist/cjs/client/components/{admin → management}/GroupList/GroupList.cjs +1 -1
  22. package/dist/cjs/client/components/management/GroupList/GroupList.cjs.map +1 -0
  23. package/dist/cjs/client/components/{admin → management}/GroupMembers/GroupMembers.cjs +1 -1
  24. package/dist/cjs/client/components/management/GroupMembers/GroupMembers.cjs.map +1 -0
  25. package/dist/cjs/client/components/management/OrganizationUnitCreate/OrganizationUnitCreate.cjs +28 -0
  26. package/dist/cjs/client/components/management/OrganizationUnitCreate/OrganizationUnitCreate.cjs.map +1 -0
  27. package/dist/cjs/client/components/management/OrganizationUnitDetails/OrganizationUnitDetails.cjs +28 -0
  28. package/dist/cjs/client/components/management/OrganizationUnitDetails/OrganizationUnitDetails.cjs.map +1 -0
  29. package/dist/cjs/client/components/management/OrganizationUnitList/OrganizationUnitList.cjs +28 -0
  30. package/dist/cjs/client/components/management/OrganizationUnitList/OrganizationUnitList.cjs.map +1 -0
  31. package/dist/cjs/client/components/management/ProjectCreate/ProjectCreate.cjs +28 -0
  32. package/dist/cjs/client/components/management/ProjectCreate/ProjectCreate.cjs.map +1 -0
  33. package/dist/cjs/client/components/management/ProjectDetails/ProjectDetails.cjs +28 -0
  34. package/dist/cjs/client/components/management/ProjectDetails/ProjectDetails.cjs.map +1 -0
  35. package/dist/cjs/client/components/management/ProjectList/ProjectList.cjs +28 -0
  36. package/dist/cjs/client/components/management/ProjectList/ProjectList.cjs.map +1 -0
  37. package/dist/cjs/client/components/management/ProjectSwitcher/ProjectSwitcher.cjs +30 -0
  38. package/dist/cjs/client/components/management/ProjectSwitcher/ProjectSwitcher.cjs.map +1 -0
  39. package/dist/cjs/client/components/{admin → management}/RoleAssignments/RoleAssignments.cjs +1 -1
  40. package/dist/cjs/client/components/management/RoleAssignments/RoleAssignments.cjs.map +1 -0
  41. package/dist/cjs/client/components/{admin → management}/RoleCreate/RoleCreate.cjs +1 -1
  42. package/dist/cjs/client/components/management/RoleCreate/RoleCreate.cjs.map +1 -0
  43. package/dist/cjs/client/components/management/RoleDetails/RoleDetails.cjs +28 -0
  44. package/dist/cjs/client/components/management/RoleDetails/RoleDetails.cjs.map +1 -0
  45. package/dist/cjs/client/components/{admin → management}/RoleList/RoleList.cjs +1 -1
  46. package/dist/cjs/client/components/management/RoleList/RoleList.cjs.map +1 -0
  47. package/dist/cjs/client/components/{admin → management}/RolePermissions/RolePermissions.cjs +1 -1
  48. package/dist/cjs/client/components/management/RolePermissions/RolePermissions.cjs.map +1 -0
  49. package/dist/cjs/client/components/management/SharingPolicies/SharingPolicies.cjs +28 -0
  50. package/dist/cjs/client/components/management/SharingPolicies/SharingPolicies.cjs.map +1 -0
  51. package/dist/cjs/client/components/{admin → management}/UserCreate/UserCreate.cjs +1 -1
  52. package/dist/cjs/client/components/management/UserCreate/UserCreate.cjs.map +1 -0
  53. package/dist/cjs/client/components/{admin → management}/UserDetails/UserDetails.cjs +1 -1
  54. package/dist/cjs/client/components/management/UserDetails/UserDetails.cjs.map +1 -0
  55. package/dist/cjs/client/components/{admin → management}/UserList/UserList.cjs +1 -1
  56. package/dist/cjs/client/components/management/UserList/UserList.cjs.map +1 -0
  57. package/dist/cjs/client/contexts/ThunderID/ThunderIDProvider.cjs +53 -2
  58. package/dist/cjs/client/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -1
  59. package/dist/cjs/client/index.cjs +28 -17
  60. package/dist/cjs/index.cjs +98 -16
  61. package/dist/cjs/server/actions/account/getAccessibleOrganizationUnitsAction.cjs +53 -0
  62. package/dist/cjs/server/actions/account/getAccessibleOrganizationUnitsAction.cjs.map +1 -0
  63. package/dist/cjs/server/actions/account/getCurrentOrganizationUnitAction.cjs +31 -0
  64. package/dist/cjs/server/actions/account/getCurrentOrganizationUnitAction.cjs.map +1 -0
  65. package/dist/cjs/server/actions/auth/switchOrganizationUnitAction.cjs +85 -0
  66. package/dist/cjs/server/actions/auth/switchOrganizationUnitAction.cjs.map +1 -0
  67. package/dist/cjs/server/thunderid.cjs +16 -0
  68. package/dist/cjs/server/thunderid.cjs.map +1 -1
  69. package/dist/client/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.d.ts +24 -0
  70. package/dist/client/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.d.ts.map +1 -0
  71. package/dist/client/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.js +112 -0
  72. package/dist/client/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.js.map +1 -0
  73. package/dist/client/components/auth/SignIn/SignIn.d.ts +7 -1
  74. package/dist/client/components/auth/SignIn/SignIn.d.ts.map +1 -1
  75. package/dist/client/components/auth/SignIn/SignIn.js +3 -2
  76. package/dist/client/components/auth/SignIn/SignIn.js.map +1 -1
  77. package/dist/client/components/management/AgentCreate/AgentCreate.d.ts.map +1 -0
  78. package/dist/client/components/{admin → management}/AgentCreate/AgentCreate.js +1 -1
  79. package/dist/client/components/management/AgentCreate/AgentCreate.js.map +1 -0
  80. package/dist/client/components/management/AgentDetails/AgentDetails.d.ts.map +1 -0
  81. package/dist/client/components/{admin → management}/AgentDetails/AgentDetails.js +1 -1
  82. package/dist/client/components/management/AgentDetails/AgentDetails.js.map +1 -0
  83. package/dist/client/components/management/AgentList/AgentList.d.ts.map +1 -0
  84. package/dist/client/components/{admin → management}/AgentList/AgentList.js +1 -1
  85. package/dist/client/components/management/AgentList/AgentList.js.map +1 -0
  86. package/dist/client/components/management/ApplicationCreate/ApplicationCreate.d.ts.map +1 -0
  87. package/dist/client/components/{admin → management}/ApplicationCreate/ApplicationCreate.js +1 -1
  88. package/dist/client/components/management/ApplicationCreate/ApplicationCreate.js.map +1 -0
  89. package/dist/client/components/management/ApplicationDetails/ApplicationDetails.d.ts.map +1 -0
  90. package/dist/client/components/{admin → management}/ApplicationDetails/ApplicationDetails.js +1 -1
  91. package/dist/client/components/management/ApplicationDetails/ApplicationDetails.js.map +1 -0
  92. package/dist/client/components/management/ApplicationList/ApplicationList.d.ts.map +1 -0
  93. package/dist/client/components/{admin → management}/ApplicationList/ApplicationList.js +1 -1
  94. package/dist/client/components/management/ApplicationList/ApplicationList.js.map +1 -0
  95. package/dist/client/components/management/GroupCreate/GroupCreate.d.ts.map +1 -0
  96. package/dist/client/components/{admin → management}/GroupCreate/GroupCreate.js +1 -1
  97. package/dist/client/components/management/GroupCreate/GroupCreate.js.map +1 -0
  98. package/dist/client/components/management/GroupDetails/GroupDetails.d.ts +17 -0
  99. package/dist/client/components/management/GroupDetails/GroupDetails.d.ts.map +1 -0
  100. package/dist/client/components/management/GroupDetails/GroupDetails.js +25 -0
  101. package/dist/client/components/management/GroupDetails/GroupDetails.js.map +1 -0
  102. package/dist/client/components/management/GroupList/GroupList.d.ts.map +1 -0
  103. package/dist/client/components/{admin → management}/GroupList/GroupList.js +1 -1
  104. package/dist/client/components/management/GroupList/GroupList.js.map +1 -0
  105. package/dist/client/components/management/GroupMembers/GroupMembers.d.ts.map +1 -0
  106. package/dist/client/components/{admin → management}/GroupMembers/GroupMembers.js +1 -1
  107. package/dist/client/components/management/GroupMembers/GroupMembers.js.map +1 -0
  108. package/dist/client/components/management/OrganizationUnitCreate/OrganizationUnitCreate.d.ts +17 -0
  109. package/dist/client/components/management/OrganizationUnitCreate/OrganizationUnitCreate.d.ts.map +1 -0
  110. package/dist/client/components/management/OrganizationUnitCreate/OrganizationUnitCreate.js +25 -0
  111. package/dist/client/components/management/OrganizationUnitCreate/OrganizationUnitCreate.js.map +1 -0
  112. package/dist/client/components/management/OrganizationUnitDetails/OrganizationUnitDetails.d.ts +17 -0
  113. package/dist/client/components/management/OrganizationUnitDetails/OrganizationUnitDetails.d.ts.map +1 -0
  114. package/dist/client/components/management/OrganizationUnitDetails/OrganizationUnitDetails.js +25 -0
  115. package/dist/client/components/management/OrganizationUnitDetails/OrganizationUnitDetails.js.map +1 -0
  116. package/dist/client/components/management/OrganizationUnitList/OrganizationUnitList.d.ts +17 -0
  117. package/dist/client/components/management/OrganizationUnitList/OrganizationUnitList.d.ts.map +1 -0
  118. package/dist/client/components/management/OrganizationUnitList/OrganizationUnitList.js +25 -0
  119. package/dist/client/components/management/OrganizationUnitList/OrganizationUnitList.js.map +1 -0
  120. package/dist/client/components/management/ProjectCreate/ProjectCreate.d.ts +17 -0
  121. package/dist/client/components/management/ProjectCreate/ProjectCreate.d.ts.map +1 -0
  122. package/dist/client/components/management/ProjectCreate/ProjectCreate.js +25 -0
  123. package/dist/client/components/management/ProjectCreate/ProjectCreate.js.map +1 -0
  124. package/dist/client/components/management/ProjectDetails/ProjectDetails.d.ts +17 -0
  125. package/dist/client/components/management/ProjectDetails/ProjectDetails.d.ts.map +1 -0
  126. package/dist/client/components/management/ProjectDetails/ProjectDetails.js +25 -0
  127. package/dist/client/components/management/ProjectDetails/ProjectDetails.js.map +1 -0
  128. package/dist/client/components/management/ProjectList/ProjectList.d.ts +17 -0
  129. package/dist/client/components/management/ProjectList/ProjectList.d.ts.map +1 -0
  130. package/dist/client/components/management/ProjectList/ProjectList.js +25 -0
  131. package/dist/client/components/management/ProjectList/ProjectList.js.map +1 -0
  132. package/dist/client/components/management/ProjectSwitcher/ProjectSwitcher.d.ts +19 -0
  133. package/dist/client/components/management/ProjectSwitcher/ProjectSwitcher.d.ts.map +1 -0
  134. package/dist/client/components/management/ProjectSwitcher/ProjectSwitcher.js +27 -0
  135. package/dist/client/components/management/ProjectSwitcher/ProjectSwitcher.js.map +1 -0
  136. package/dist/client/components/management/RoleAssignments/RoleAssignments.d.ts.map +1 -0
  137. package/dist/client/components/{admin → management}/RoleAssignments/RoleAssignments.js +1 -1
  138. package/dist/client/components/management/RoleAssignments/RoleAssignments.js.map +1 -0
  139. package/dist/client/components/management/RoleCreate/RoleCreate.d.ts.map +1 -0
  140. package/dist/client/components/{admin → management}/RoleCreate/RoleCreate.js +1 -1
  141. package/dist/client/components/management/RoleCreate/RoleCreate.js.map +1 -0
  142. package/dist/client/components/management/RoleDetails/RoleDetails.d.ts +17 -0
  143. package/dist/client/components/management/RoleDetails/RoleDetails.d.ts.map +1 -0
  144. package/dist/client/components/management/RoleDetails/RoleDetails.js +25 -0
  145. package/dist/client/components/management/RoleDetails/RoleDetails.js.map +1 -0
  146. package/dist/client/components/management/RoleList/RoleList.d.ts.map +1 -0
  147. package/dist/client/components/{admin → management}/RoleList/RoleList.js +1 -1
  148. package/dist/client/components/management/RoleList/RoleList.js.map +1 -0
  149. package/dist/client/components/management/RolePermissions/RolePermissions.d.ts.map +1 -0
  150. package/dist/client/components/{admin → management}/RolePermissions/RolePermissions.js +1 -1
  151. package/dist/client/components/management/RolePermissions/RolePermissions.js.map +1 -0
  152. package/dist/client/components/management/SharingPolicies/SharingPolicies.d.ts +17 -0
  153. package/dist/client/components/management/SharingPolicies/SharingPolicies.d.ts.map +1 -0
  154. package/dist/client/components/management/SharingPolicies/SharingPolicies.js +25 -0
  155. package/dist/client/components/management/SharingPolicies/SharingPolicies.js.map +1 -0
  156. package/dist/client/components/management/UserCreate/UserCreate.d.ts.map +1 -0
  157. package/dist/client/components/{admin → management}/UserCreate/UserCreate.js +1 -1
  158. package/dist/client/components/management/UserCreate/UserCreate.js.map +1 -0
  159. package/dist/client/components/management/UserDetails/UserDetails.d.ts.map +1 -0
  160. package/dist/client/components/{admin → management}/UserDetails/UserDetails.js +1 -1
  161. package/dist/client/components/management/UserDetails/UserDetails.js.map +1 -0
  162. package/dist/client/components/management/UserList/UserList.d.ts.map +1 -0
  163. package/dist/client/components/{admin → management}/UserList/UserList.js +1 -1
  164. package/dist/client/components/management/UserList/UserList.js.map +1 -0
  165. package/dist/client/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -1
  166. package/dist/client/contexts/ThunderID/ThunderIDProvider.js +55 -4
  167. package/dist/client/contexts/ThunderID/ThunderIDProvider.js.map +1 -1
  168. package/dist/client/index.d.ts +55 -33
  169. package/dist/client/index.d.ts.map +1 -1
  170. package/dist/client/index.js +28 -17
  171. package/dist/client/management.d.ts +3 -0
  172. package/dist/client/management.d.ts.map +1 -0
  173. package/dist/client/management.js +6 -0
  174. package/dist/index.js +29 -18
  175. package/dist/server/actions/account/getAccessibleOrganizationUnitsAction.d.ts +20 -0
  176. package/dist/server/actions/account/getAccessibleOrganizationUnitsAction.d.ts.map +1 -0
  177. package/dist/server/actions/account/getAccessibleOrganizationUnitsAction.js +51 -0
  178. package/dist/server/actions/account/getAccessibleOrganizationUnitsAction.js.map +1 -0
  179. package/dist/server/actions/account/getCurrentOrganizationUnitAction.d.ts +10 -0
  180. package/dist/server/actions/account/getCurrentOrganizationUnitAction.d.ts.map +1 -0
  181. package/dist/server/actions/account/getCurrentOrganizationUnitAction.js +28 -0
  182. package/dist/server/actions/account/getCurrentOrganizationUnitAction.js.map +1 -0
  183. package/dist/server/actions/auth/switchOrganizationUnitAction.d.ts +30 -0
  184. package/dist/server/actions/auth/switchOrganizationUnitAction.d.ts.map +1 -0
  185. package/dist/server/actions/auth/switchOrganizationUnitAction.js +82 -0
  186. package/dist/server/actions/auth/switchOrganizationUnitAction.js.map +1 -0
  187. package/dist/server/thunderid.d.ts +2 -1
  188. package/dist/server/thunderid.d.ts.map +1 -1
  189. package/dist/server/thunderid.js +14 -0
  190. package/dist/server/thunderid.js.map +1 -1
  191. package/package.json +3 -3
  192. package/dist/cjs/client/components/admin/AgentCreate/AgentCreate.cjs.map +0 -1
  193. package/dist/cjs/client/components/admin/AgentDetails/AgentDetails.cjs.map +0 -1
  194. package/dist/cjs/client/components/admin/AgentList/AgentList.cjs.map +0 -1
  195. package/dist/cjs/client/components/admin/ApplicationCreate/ApplicationCreate.cjs.map +0 -1
  196. package/dist/cjs/client/components/admin/ApplicationDetails/ApplicationDetails.cjs.map +0 -1
  197. package/dist/cjs/client/components/admin/ApplicationList/ApplicationList.cjs.map +0 -1
  198. package/dist/cjs/client/components/admin/GroupCreate/GroupCreate.cjs.map +0 -1
  199. package/dist/cjs/client/components/admin/GroupList/GroupList.cjs.map +0 -1
  200. package/dist/cjs/client/components/admin/GroupMembers/GroupMembers.cjs.map +0 -1
  201. package/dist/cjs/client/components/admin/RoleAssignments/RoleAssignments.cjs.map +0 -1
  202. package/dist/cjs/client/components/admin/RoleCreate/RoleCreate.cjs.map +0 -1
  203. package/dist/cjs/client/components/admin/RoleList/RoleList.cjs.map +0 -1
  204. package/dist/cjs/client/components/admin/RolePermissions/RolePermissions.cjs.map +0 -1
  205. package/dist/cjs/client/components/admin/UserCreate/UserCreate.cjs.map +0 -1
  206. package/dist/cjs/client/components/admin/UserDetails/UserDetails.cjs.map +0 -1
  207. package/dist/cjs/client/components/admin/UserList/UserList.cjs.map +0 -1
  208. package/dist/client/admin.d.ts +0 -3
  209. package/dist/client/admin.d.ts.map +0 -1
  210. package/dist/client/admin.js +0 -6
  211. package/dist/client/components/admin/AgentCreate/AgentCreate.d.ts.map +0 -1
  212. package/dist/client/components/admin/AgentCreate/AgentCreate.js.map +0 -1
  213. package/dist/client/components/admin/AgentDetails/AgentDetails.d.ts.map +0 -1
  214. package/dist/client/components/admin/AgentDetails/AgentDetails.js.map +0 -1
  215. package/dist/client/components/admin/AgentList/AgentList.d.ts.map +0 -1
  216. package/dist/client/components/admin/AgentList/AgentList.js.map +0 -1
  217. package/dist/client/components/admin/ApplicationCreate/ApplicationCreate.d.ts.map +0 -1
  218. package/dist/client/components/admin/ApplicationCreate/ApplicationCreate.js.map +0 -1
  219. package/dist/client/components/admin/ApplicationDetails/ApplicationDetails.d.ts.map +0 -1
  220. package/dist/client/components/admin/ApplicationDetails/ApplicationDetails.js.map +0 -1
  221. package/dist/client/components/admin/ApplicationList/ApplicationList.d.ts.map +0 -1
  222. package/dist/client/components/admin/ApplicationList/ApplicationList.js.map +0 -1
  223. package/dist/client/components/admin/GroupCreate/GroupCreate.d.ts.map +0 -1
  224. package/dist/client/components/admin/GroupCreate/GroupCreate.js.map +0 -1
  225. package/dist/client/components/admin/GroupList/GroupList.d.ts.map +0 -1
  226. package/dist/client/components/admin/GroupList/GroupList.js.map +0 -1
  227. package/dist/client/components/admin/GroupMembers/GroupMembers.d.ts.map +0 -1
  228. package/dist/client/components/admin/GroupMembers/GroupMembers.js.map +0 -1
  229. package/dist/client/components/admin/RoleAssignments/RoleAssignments.d.ts.map +0 -1
  230. package/dist/client/components/admin/RoleAssignments/RoleAssignments.js.map +0 -1
  231. package/dist/client/components/admin/RoleCreate/RoleCreate.d.ts.map +0 -1
  232. package/dist/client/components/admin/RoleCreate/RoleCreate.js.map +0 -1
  233. package/dist/client/components/admin/RoleList/RoleList.d.ts.map +0 -1
  234. package/dist/client/components/admin/RoleList/RoleList.js.map +0 -1
  235. package/dist/client/components/admin/RolePermissions/RolePermissions.d.ts.map +0 -1
  236. package/dist/client/components/admin/RolePermissions/RolePermissions.js.map +0 -1
  237. package/dist/client/components/admin/UserCreate/UserCreate.d.ts.map +0 -1
  238. package/dist/client/components/admin/UserCreate/UserCreate.js.map +0 -1
  239. package/dist/client/components/admin/UserDetails/UserDetails.d.ts.map +0 -1
  240. package/dist/client/components/admin/UserDetails/UserDetails.js.map +0 -1
  241. package/dist/client/components/admin/UserList/UserList.d.ts.map +0 -1
  242. package/dist/client/components/admin/UserList/UserList.js.map +0 -1
  243. /package/dist/cjs/client/{admin.cjs → management.cjs} +0 -0
  244. /package/dist/client/components/{admin → management}/AgentCreate/AgentCreate.d.ts +0 -0
  245. /package/dist/client/components/{admin → management}/AgentDetails/AgentDetails.d.ts +0 -0
  246. /package/dist/client/components/{admin → management}/AgentList/AgentList.d.ts +0 -0
  247. /package/dist/client/components/{admin → management}/ApplicationCreate/ApplicationCreate.d.ts +0 -0
  248. /package/dist/client/components/{admin → management}/ApplicationDetails/ApplicationDetails.d.ts +0 -0
  249. /package/dist/client/components/{admin → management}/ApplicationList/ApplicationList.d.ts +0 -0
  250. /package/dist/client/components/{admin → management}/GroupCreate/GroupCreate.d.ts +0 -0
  251. /package/dist/client/components/{admin → management}/GroupList/GroupList.d.ts +0 -0
  252. /package/dist/client/components/{admin → management}/GroupMembers/GroupMembers.d.ts +0 -0
  253. /package/dist/client/components/{admin → management}/RoleAssignments/RoleAssignments.d.ts +0 -0
  254. /package/dist/client/components/{admin → management}/RoleCreate/RoleCreate.d.ts +0 -0
  255. /package/dist/client/components/{admin → management}/RoleList/RoleList.d.ts +0 -0
  256. /package/dist/client/components/{admin → management}/RolePermissions/RolePermissions.d.ts +0 -0
  257. /package/dist/client/components/{admin → management}/UserCreate/UserCreate.d.ts +0 -0
  258. /package/dist/client/components/{admin → management}/UserDetails/UserDetails.d.ts +0 -0
  259. /package/dist/client/components/{admin → management}/UserList/UserList.d.ts +0 -0
@@ -0,0 +1,116 @@
1
+ 'use client';
2
+
3
+
4
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
5
+ const require_getAccessibleOrganizationUnitsAction = require('../../../../server/actions/account/getAccessibleOrganizationUnitsAction.cjs');
6
+ const require_useThunderID = require('../../../contexts/ThunderID/useThunderID.cjs');
7
+ let __thunderid_react = require("@thunderid/react");
8
+ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
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/client/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.tsx
15
+ /**
16
+ * Lists the organization units the signed-in user can access, marks the current one, and switches the
17
+ * session to another.
18
+ *
19
+ * This is the Next.js implementation: it renders `BaseOrganizationUnitSwitcher` from `@thunderid/react`,
20
+ * reads the units through `getAccessibleOrganizationUnitsAction` (a server action, so the access token
21
+ * stays on the server), and switches through the provider's `switchOrganizationUnit`.
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * <OrganizationUnitSwitcher scope="siblings" />
26
+ * ```
27
+ */
28
+ const OrganizationUnitSwitcher = ({ limit = 10, onError, onSelect, onSwitch, preferences, scope, switchOptions,...rest }) => {
29
+ const { currentOrganizationUnit, isSignedIn, preferences: contextPreferences, switchOrganizationUnit } = require_useThunderID.default();
30
+ const resolvedPreferences = (0, react.useMemo)(() => ({
31
+ ...contextPreferences,
32
+ ...preferences
33
+ }), [contextPreferences, preferences]);
34
+ const { t } = (0, __thunderid_react.useTranslation)(resolvedPreferences?.i18n);
35
+ const [list, setList] = (0, react.useState)(null);
36
+ const [offset, setOffset] = (0, react.useState)(0);
37
+ const [isLoading, setIsLoading] = (0, react.useState)(false);
38
+ const [error, setError] = (0, react.useState)(null);
39
+ const [switchingId, setSwitchingId] = (0, react.useState)(null);
40
+ const requestRef = (0, react.useRef)(0);
41
+ const latestRef = (0, react.useRef)({
42
+ onError,
43
+ t
44
+ });
45
+ latestRef.current = {
46
+ onError,
47
+ t
48
+ };
49
+ const load = (0, react.useCallback)(async (pageOffset) => {
50
+ const request = requestRef.current + 1;
51
+ requestRef.current = request;
52
+ setIsLoading(true);
53
+ setError(null);
54
+ const result = await require_getAccessibleOrganizationUnitsAction.default({
55
+ limit,
56
+ offset: pageOffset,
57
+ scope
58
+ });
59
+ if (requestRef.current !== request) return;
60
+ if (result.success) setList(result.data);
61
+ else {
62
+ setError(latestRef.current.t("organization_unit.switcher.error.load"));
63
+ latestRef.current.onError?.(result);
64
+ }
65
+ setIsLoading(false);
66
+ }, [limit, scope]);
67
+ (0, react.useEffect)(() => {
68
+ if (isSignedIn) load(offset);
69
+ }, [
70
+ isSignedIn,
71
+ load,
72
+ offset
73
+ ]);
74
+ const handleSwitch = async (unit) => {
75
+ if (onSelect) {
76
+ onSelect(unit);
77
+ return;
78
+ }
79
+ if (!switchOrganizationUnit) return;
80
+ setError(null);
81
+ setSwitchingId(unit.id);
82
+ try {
83
+ const user = await switchOrganizationUnit(unit.id, switchOptions);
84
+ if (user) {
85
+ onSwitch?.(unit, user);
86
+ await load(offset);
87
+ }
88
+ } catch (caught) {
89
+ setError(t((0, __thunderid_react.getOrganizationUnitSwitchErrorKey)(caught), { name: unit.name }));
90
+ onError?.(caught);
91
+ } finally {
92
+ setSwitchingId(null);
93
+ }
94
+ };
95
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__thunderid_react.BaseOrganizationUnitSwitcher, {
96
+ ...rest,
97
+ current: (list?.current === "" ? void 0 : list?.current) ?? currentOrganizationUnit?.id ?? null,
98
+ error,
99
+ isLoading,
100
+ limit,
101
+ offset,
102
+ organizationUnits: list?.organizationUnits ?? [],
103
+ preferences: resolvedPreferences,
104
+ switchingId,
105
+ totalResults: list?.totalResults ?? 0,
106
+ onPageChange: setOffset,
107
+ onSwitch: (unit) => {
108
+ handleSwitch(unit);
109
+ }
110
+ });
111
+ };
112
+ var OrganizationUnitSwitcher_default = OrganizationUnitSwitcher;
113
+
114
+ //#endregion
115
+ exports.default = OrganizationUnitSwitcher_default;
116
+ //# sourceMappingURL=OrganizationUnitSwitcher.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrganizationUnitSwitcher.cjs","names":["OrganizationUnitSwitcher: FC<OrganizationUnitSwitcherProps>","useThunderID","request: number","result: GetAccessibleOrganizationUnitsActionResult","getAccessibleOrganizationUnitsAction","user: User | undefined","caught: unknown","BaseOrganizationUnitSwitcher"],"sources":["../../../../../../src/client/components/account/OrganizationUnitSwitcher/OrganizationUnitSwitcher.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {AccessibleOrganizationUnit, AccessibleOrganizationUnitList, User} from '@thunderid/node';\nimport {\n BaseOrganizationUnitSwitcher,\n OrganizationUnitSwitcherProps as ReactOrganizationUnitSwitcherProps,\n getOrganizationUnitSwitchErrorKey,\n useTranslation,\n} from '@thunderid/react';\nimport {FC, ReactElement, useCallback, useEffect, useMemo, useRef, useState} from 'react';\nimport getAccessibleOrganizationUnitsAction, {\n GetAccessibleOrganizationUnitsActionResult,\n} from '../../../../server/actions/account/getAccessibleOrganizationUnitsAction';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\n\n/**\n * Props for the OrganizationUnitSwitcher component. Mirrors `@thunderid/react`'s\n * `OrganizationUnitSwitcherProps`, so a consumer moving between the React and Next.js SDKs calls it the\n * same way.\n */\nexport type OrganizationUnitSwitcherProps = ReactOrganizationUnitSwitcherProps;\n\n/**\n * Lists the organization units the signed-in user can access, marks the current one, and switches the\n * session to another.\n *\n * This is the Next.js implementation: it renders `BaseOrganizationUnitSwitcher` from `@thunderid/react`,\n * reads the units through `getAccessibleOrganizationUnitsAction` (a server action, so the access token\n * stays on the server), and switches through the provider's `switchOrganizationUnit`.\n *\n * @example\n * ```tsx\n * <OrganizationUnitSwitcher scope=\"siblings\" />\n * ```\n */\nconst OrganizationUnitSwitcher: FC<OrganizationUnitSwitcherProps> = ({\n limit = 10,\n onError,\n onSelect,\n onSwitch,\n preferences,\n scope,\n switchOptions,\n ...rest\n}: OrganizationUnitSwitcherProps): ReactElement => {\n const {currentOrganizationUnit, isSignedIn, preferences: contextPreferences, switchOrganizationUnit} = useThunderID();\n\n const resolvedPreferences = useMemo(\n () => ({...contextPreferences, ...preferences}),\n [contextPreferences, preferences],\n );\n const {t} = useTranslation(resolvedPreferences?.i18n);\n\n const [list, setList] = useState<AccessibleOrganizationUnitList | null>(null);\n const [offset, setOffset] = useState<number>(0);\n const [isLoading, setIsLoading] = useState<boolean>(false);\n const [error, setError] = useState<string | null>(null);\n const [switchingId, setSwitchingId] = useState<string | null>(null);\n const requestRef = useRef<number>(0);\n // The latest callbacks, read when a load settles, so a new `onError` on each render does not reload.\n const latestRef = useRef<{onError?: (error: unknown) => void; t: typeof t}>({onError, t});\n latestRef.current = {onError, t};\n\n const load = useCallback(\n async (pageOffset: number): Promise<void> => {\n const request: number = requestRef.current + 1;\n requestRef.current = request;\n setIsLoading(true);\n setError(null);\n\n const result: GetAccessibleOrganizationUnitsActionResult = await getAccessibleOrganizationUnitsAction({\n limit,\n offset: pageOffset,\n scope,\n });\n\n if (requestRef.current !== request) {\n return;\n }\n\n if (result.success) {\n setList(result.data);\n } else {\n setError(latestRef.current.t('organization_unit.switcher.error.load'));\n latestRef.current.onError?.(result);\n }\n\n setIsLoading(false);\n },\n [limit, scope],\n );\n\n useEffect(() => {\n if (isSignedIn) {\n void load(offset);\n }\n }, [isSignedIn, load, offset]);\n\n const handleSwitch = async (unit: AccessibleOrganizationUnit): Promise<void> => {\n if (onSelect) {\n onSelect(unit);\n\n return;\n }\n\n if (!switchOrganizationUnit) {\n return;\n }\n\n setError(null);\n setSwitchingId(unit.id);\n\n try {\n const user: User | undefined = await switchOrganizationUnit(unit.id, switchOptions);\n\n if (user) {\n onSwitch?.(unit, user);\n await load(offset);\n }\n } catch (caught: unknown) {\n setError(t(getOrganizationUnitSwitchErrorKey(caught), {name: unit.name}));\n onError?.(caught);\n } finally {\n setSwitchingId(null);\n }\n };\n\n return (\n <BaseOrganizationUnitSwitcher\n {...rest}\n current={(list?.current === '' ? undefined : list?.current) ?? currentOrganizationUnit?.id ?? null}\n error={error}\n isLoading={isLoading}\n limit={limit}\n offset={offset}\n organizationUnits={list?.organizationUnits ?? []}\n preferences={resolvedPreferences}\n switchingId={switchingId}\n totalResults={list?.totalResults ?? 0}\n onPageChange={setOffset}\n onSwitch={(unit: AccessibleOrganizationUnit): void => {\n void handleSwitch(unit);\n }}\n />\n );\n};\n\nexport default OrganizationUnitSwitcher;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCA,MAAMA,4BAA+D,EACnE,QAAQ,IACR,SACA,UACA,UACA,aACA,OACA,cACA,GAAG,WAC8C;CACjD,MAAM,EAAC,yBAAyB,YAAY,aAAa,oBAAoB,2BAA0BC,8BAAc;CAErH,MAAM,gDACG;EAAC,GAAG;EAAoB,GAAG;EAAY,GAC9C,CAAC,oBAAoB,YAAY,CAClC;CACD,MAAM,EAAC,4CAAoB,qBAAqB,KAAK;CAErD,MAAM,CAAC,MAAM,+BAA2D,KAAK;CAC7E,MAAM,CAAC,QAAQ,iCAA8B,EAAE;CAC/C,MAAM,CAAC,WAAW,oCAAkC,MAAM;CAC1D,MAAM,CAAC,OAAO,gCAAoC,KAAK;CACvD,MAAM,CAAC,aAAa,sCAA0C,KAAK;CACnE,MAAM,+BAA4B,EAAE;CAEpC,MAAM,8BAAsE;EAAC;EAAS;EAAE,CAAC;AACzF,WAAU,UAAU;EAAC;EAAS;EAAE;CAEhC,MAAM,8BACJ,OAAO,eAAsC;EAC3C,MAAMC,UAAkB,WAAW,UAAU;AAC7C,aAAW,UAAU;AACrB,eAAa,KAAK;AAClB,WAAS,KAAK;EAEd,MAAMC,SAAqD,MAAMC,qDAAqC;GACpG;GACA,QAAQ;GACR;GACD,CAAC;AAEF,MAAI,WAAW,YAAY,QACzB;AAGF,MAAI,OAAO,QACT,SAAQ,OAAO,KAAK;OACf;AACL,YAAS,UAAU,QAAQ,EAAE,wCAAwC,CAAC;AACtE,aAAU,QAAQ,UAAU,OAAO;;AAGrC,eAAa,MAAM;IAErB,CAAC,OAAO,MAAM,CACf;AAED,4BAAgB;AACd,MAAI,WACF,CAAK,KAAK,OAAO;IAElB;EAAC;EAAY;EAAM;EAAO,CAAC;CAE9B,MAAM,eAAe,OAAO,SAAoD;AAC9E,MAAI,UAAU;AACZ,YAAS,KAAK;AAEd;;AAGF,MAAI,CAAC,uBACH;AAGF,WAAS,KAAK;AACd,iBAAe,KAAK,GAAG;AAEvB,MAAI;GACF,MAAMC,OAAyB,MAAM,uBAAuB,KAAK,IAAI,cAAc;AAEnF,OAAI,MAAM;AACR,eAAW,MAAM,KAAK;AACtB,UAAM,KAAK,OAAO;;WAEbC,QAAiB;AACxB,YAAS,2DAAoC,OAAO,EAAE,EAAC,MAAM,KAAK,MAAK,CAAC,CAAC;AACzE,aAAU,OAAO;YACT;AACR,kBAAe,KAAK;;;AAIxB,QACE,2CAACC;EACC,GAAI;EACJ,UAAU,MAAM,YAAY,KAAK,SAAY,MAAM,YAAY,yBAAyB,MAAM;EACvF;EACI;EACJ;EACC;EACR,mBAAmB,MAAM,qBAAqB,EAAE;EAChD,aAAa;EACA;EACb,cAAc,MAAM,gBAAgB;EACpC,cAAc;EACd,WAAW,SAA2C;AACpD,GAAK,aAAa,KAAK;;GAEzB;;AAIN,uCAAe"}
@@ -19,7 +19,7 @@ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
19
19
  * BaseSignIn does not manage its own flow state, so this component initiates the flow
20
20
  * (using the server-action-backed `signIn`) and tracks `components`/`executionId` itself.
21
21
  */
22
- const SignIn = ({ size = "medium", variant = "outlined", onError,...rest }) => {
22
+ const SignIn = ({ size = "medium", variant = "outlined", onError, organizationUnitId,...rest }) => {
23
23
  const { signIn, applicationId, scopes } = require_useThunderID.default();
24
24
  const { t } = (0, __thunderid_react.useTranslation)();
25
25
  const [components, setComponents] = (0, react.useState)([]);
@@ -49,7 +49,8 @@ const SignIn = ({ size = "medium", variant = "outlined", onError,...rest }) => {
49
49
  const response = await signIn({
50
50
  applicationId,
51
51
  flowType: __thunderid_node.EmbeddedFlowType.Authentication,
52
- ...scopes && { scopes }
52
+ ...scopes && { scopes },
53
+ ...organizationUnitId && { ouId: organizationUnitId }
53
54
  }, {});
54
55
  if (response) applyFlowResponse(response);
55
56
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"SignIn.cjs","names":["SignIn: FC<SignInProps>","useThunderID","normalizedError: Error","response: any","EmbeddedFlowType","ThunderIDRuntimeError","BaseSignIn"],"sources":["../../../../../../src/client/components/auth/SignIn/SignIn.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {EmbeddedFlowComponent, EmbeddedFlowType, ThunderIDRuntimeError} from '@thunderid/node';\nimport {BaseSignIn, BaseSignInProps, normalizeFlowResponse, useTranslation} from '@thunderid/react';\nimport {FC, useEffect, useRef, useState} from 'react';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\n\n/**\n * Props for the SignIn component.\n * Extends BaseSignInProps for full compatibility with the React BaseSignIn component\n */\nexport type SignInProps = Pick<\n BaseSignInProps,\n 'children' | 'className' | 'id' | 'onSuccess' | 'onError' | 'variant' | 'size'\n>;\n\n/**\n * A SignIn component for Next.js that provides native authentication flow.\n * This component delegates to the BaseSignIn from @thunderid/react. Unlike BaseSignUp,\n * BaseSignIn does not manage its own flow state, so this component initiates the flow\n * (using the server-action-backed `signIn`) and tracks `components`/`executionId` itself.\n */\nconst SignIn: FC<SignInProps> = ({size = 'medium', variant = 'outlined', onError, ...rest}: SignInProps) => {\n const {signIn, applicationId, scopes} = useThunderID();\n const {t} = useTranslation();\n\n const [components, setComponents] = useState<EmbeddedFlowComponent[]>([]);\n const [additionalData, setAdditionalData] = useState<Record<string, any>>({});\n const [executionId, setExecutionId] = useState<string | undefined>(undefined);\n const [isFlowInitialized, setIsFlowInitialized] = useState(false);\n const [flowError, setFlowError] = useState<Error | null>(null);\n const initializationAttemptedRef = useRef(false);\n // A fresh challenge token is required on every step to prevent replay attacks; the server\n // rotates it on each response, so it's tracked in a ref (not state) to avoid a stale value\n // from a closure captured before the previous response's state update committed.\n const challengeTokenRef = useRef<string | undefined>(undefined);\n\n const applyFlowResponse = (response: any): void => {\n const normalized = normalizeFlowResponse(response, t, {resolveTranslations: false});\n\n challengeTokenRef.current = response?.challengeToken ?? undefined;\n setExecutionId(normalized.executionId ?? undefined);\n setComponents(normalized.components);\n setAdditionalData(normalized.additionalData);\n };\n\n const handleFlowError = (error: unknown): void => {\n const normalizedError: Error = error instanceof Error ? error : new Error(String(error));\n\n setFlowError(normalizedError);\n onError?.(normalizedError);\n };\n\n useEffect(() => {\n if (initializationAttemptedRef.current || !signIn) {\n return;\n }\n\n initializationAttemptedRef.current = true;\n\n (async (): Promise<void> => {\n try {\n const response: any = await signIn(\n {\n applicationId,\n flowType: EmbeddedFlowType.Authentication,\n ...(scopes && {scopes}),\n },\n {},\n );\n\n // `response` is undefined when the provider already redirected\n // (OAuth-redirect or completed flows are handled there directly).\n if (response) {\n applyFlowResponse(response);\n }\n } catch (error) {\n handleFlowError(error);\n } finally {\n setIsFlowInitialized(true);\n }\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [signIn]);\n\n const handleOnSubmit = async (payload: any): Promise<void> => {\n if (!signIn) {\n throw new ThunderIDRuntimeError(\n '`signIn` function is not available.',\n 'SignIn-handleOnSubmit-RuntimeError-001',\n 'nextjs',\n );\n }\n\n const response: any = await signIn(\n {\n ...payload,\n executionId,\n ...(challengeTokenRef.current ? {challengeToken: challengeTokenRef.current} : {}),\n },\n {},\n );\n\n if (response) {\n applyFlowResponse(response);\n }\n };\n\n return (\n <BaseSignIn\n additionalData={additionalData}\n components={components}\n error={flowError}\n isLoading={!isFlowInitialized}\n onError={onError}\n onSubmit={handleOnSubmit}\n size={size}\n variant={variant}\n {...rest}\n />\n );\n};\n\nSignIn.displayName = 'SignIn';\n\nexport default SignIn;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAyBA,MAAMA,UAA2B,EAAC,OAAO,UAAU,UAAU,YAAY,QAAS,GAAG,WAAuB;CAC1G,MAAM,EAAC,QAAQ,eAAe,WAAUC,8BAAc;CACtD,MAAM,EAAC,6CAAqB;CAE5B,MAAM,CAAC,YAAY,qCAAmD,EAAE,CAAC;CACzE,MAAM,CAAC,gBAAgB,yCAAmD,EAAE,CAAC;CAC7E,MAAM,CAAC,aAAa,sCAA+C,OAAU;CAC7E,MAAM,CAAC,mBAAmB,4CAAiC,MAAM;CACjE,MAAM,CAAC,WAAW,oCAAuC,KAAK;CAC9D,MAAM,+CAAoC,MAAM;CAIhD,MAAM,sCAA+C,OAAU;CAE/D,MAAM,qBAAqB,aAAwB;EACjD,MAAM,0DAAmC,UAAU,GAAG,EAAC,qBAAqB,OAAM,CAAC;AAEnF,oBAAkB,UAAU,UAAU,kBAAkB;AACxD,iBAAe,WAAW,eAAe,OAAU;AACnD,gBAAc,WAAW,WAAW;AACpC,oBAAkB,WAAW,eAAe;;CAG9C,MAAM,mBAAmB,UAAyB;EAChD,MAAMC,kBAAyB,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,MAAM,CAAC;AAExF,eAAa,gBAAgB;AAC7B,YAAU,gBAAgB;;AAG5B,4BAAgB;AACd,MAAI,2BAA2B,WAAW,CAAC,OACzC;AAGF,6BAA2B,UAAU;AAErC,GAAC,YAA2B;AAC1B,OAAI;IACF,MAAMC,WAAgB,MAAM,OAC1B;KACE;KACA,UAAUC,kCAAiB;KAC3B,GAAI,UAAU,EAAC,QAAO;KACvB,EACD,EAAE,CACH;AAID,QAAI,SACF,mBAAkB,SAAS;YAEtB,OAAO;AACd,oBAAgB,MAAM;aACd;AACR,yBAAqB,KAAK;;MAE1B;IAEH,CAAC,OAAO,CAAC;CAEZ,MAAM,iBAAiB,OAAO,YAAgC;AAC5D,MAAI,CAAC,OACH,OAAM,IAAIC,uCACR,uCACA,0CACA,SACD;EAGH,MAAMF,WAAgB,MAAM,OAC1B;GACE,GAAG;GACH;GACA,GAAI,kBAAkB,UAAU,EAAC,gBAAgB,kBAAkB,SAAQ,GAAG,EAAE;GACjF,EACD,EAAE,CACH;AAED,MAAI,SACF,mBAAkB,SAAS;;AAI/B,QACE,2CAACG;EACiB;EACJ;EACZ,OAAO;EACP,WAAW,CAAC;EACH;EACT,UAAU;EACJ;EACG;EACT,GAAI;GACJ;;AAIN,OAAO,cAAc;AAErB,qBAAe"}
1
+ {"version":3,"file":"SignIn.cjs","names":["SignIn: FC<SignInProps>","useThunderID","normalizedError: Error","response: any","EmbeddedFlowType","ThunderIDRuntimeError","BaseSignIn"],"sources":["../../../../../../src/client/components/auth/SignIn/SignIn.tsx"],"sourcesContent":["// Copyright 2025 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {EmbeddedFlowComponent, EmbeddedFlowType, ThunderIDRuntimeError} from '@thunderid/node';\nimport {BaseSignIn, BaseSignInProps, normalizeFlowResponse, useTranslation} from '@thunderid/react';\nimport {FC, useEffect, useRef, useState} from 'react';\nimport useThunderID from '../../../contexts/ThunderID/useThunderID';\n\n/**\n * Props for the SignIn component.\n * Extends BaseSignInProps for full compatibility with the React BaseSignIn component\n */\nexport type SignInProps = Pick<\n BaseSignInProps,\n 'children' | 'className' | 'id' | 'onSuccess' | 'onError' | 'variant' | 'size'\n> & {\n /**\n * Bounds the sign-in to this organization unit. Sent as `ouId` on the request that starts the\n * `AUTHENTICATION` flow only, never on a continuation.\n */\n organizationUnitId?: string;\n};\n\n/**\n * A SignIn component for Next.js that provides native authentication flow.\n * This component delegates to the BaseSignIn from @thunderid/react. Unlike BaseSignUp,\n * BaseSignIn does not manage its own flow state, so this component initiates the flow\n * (using the server-action-backed `signIn`) and tracks `components`/`executionId` itself.\n */\nconst SignIn: FC<SignInProps> = ({\n size = 'medium',\n variant = 'outlined',\n onError,\n organizationUnitId,\n ...rest\n}: SignInProps) => {\n const {signIn, applicationId, scopes} = useThunderID();\n const {t} = useTranslation();\n\n const [components, setComponents] = useState<EmbeddedFlowComponent[]>([]);\n const [additionalData, setAdditionalData] = useState<Record<string, any>>({});\n const [executionId, setExecutionId] = useState<string | undefined>(undefined);\n const [isFlowInitialized, setIsFlowInitialized] = useState(false);\n const [flowError, setFlowError] = useState<Error | null>(null);\n const initializationAttemptedRef = useRef(false);\n // A fresh challenge token is required on every step to prevent replay attacks; the server\n // rotates it on each response, so it's tracked in a ref (not state) to avoid a stale value\n // from a closure captured before the previous response's state update committed.\n const challengeTokenRef = useRef<string | undefined>(undefined);\n\n const applyFlowResponse = (response: any): void => {\n const normalized = normalizeFlowResponse(response, t, {resolveTranslations: false});\n\n challengeTokenRef.current = response?.challengeToken ?? undefined;\n setExecutionId(normalized.executionId ?? undefined);\n setComponents(normalized.components);\n setAdditionalData(normalized.additionalData);\n };\n\n const handleFlowError = (error: unknown): void => {\n const normalizedError: Error = error instanceof Error ? error : new Error(String(error));\n\n setFlowError(normalizedError);\n onError?.(normalizedError);\n };\n\n useEffect(() => {\n if (initializationAttemptedRef.current || !signIn) {\n return;\n }\n\n initializationAttemptedRef.current = true;\n\n (async (): Promise<void> => {\n try {\n const response: any = await signIn(\n {\n applicationId,\n flowType: EmbeddedFlowType.Authentication,\n ...(scopes && {scopes}),\n ...(organizationUnitId && {ouId: organizationUnitId}),\n },\n {},\n );\n\n // `response` is undefined when the provider already redirected\n // (OAuth-redirect or completed flows are handled there directly).\n if (response) {\n applyFlowResponse(response);\n }\n } catch (error) {\n handleFlowError(error);\n } finally {\n setIsFlowInitialized(true);\n }\n })();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [signIn]);\n\n const handleOnSubmit = async (payload: any): Promise<void> => {\n if (!signIn) {\n throw new ThunderIDRuntimeError(\n '`signIn` function is not available.',\n 'SignIn-handleOnSubmit-RuntimeError-001',\n 'nextjs',\n );\n }\n\n const response: any = await signIn(\n {\n ...payload,\n executionId,\n ...(challengeTokenRef.current ? {challengeToken: challengeTokenRef.current} : {}),\n },\n {},\n );\n\n if (response) {\n applyFlowResponse(response);\n }\n };\n\n return (\n <BaseSignIn\n additionalData={additionalData}\n components={components}\n error={flowError}\n isLoading={!isFlowInitialized}\n onError={onError}\n onSubmit={handleOnSubmit}\n size={size}\n variant={variant}\n {...rest}\n />\n );\n};\n\nSignIn.displayName = 'SignIn';\n\nexport default SignIn;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA+BA,MAAMA,UAA2B,EAC/B,OAAO,UACP,UAAU,YACV,SACA,mBACA,GAAG,WACc;CACjB,MAAM,EAAC,QAAQ,eAAe,WAAUC,8BAAc;CACtD,MAAM,EAAC,6CAAqB;CAE5B,MAAM,CAAC,YAAY,qCAAmD,EAAE,CAAC;CACzE,MAAM,CAAC,gBAAgB,yCAAmD,EAAE,CAAC;CAC7E,MAAM,CAAC,aAAa,sCAA+C,OAAU;CAC7E,MAAM,CAAC,mBAAmB,4CAAiC,MAAM;CACjE,MAAM,CAAC,WAAW,oCAAuC,KAAK;CAC9D,MAAM,+CAAoC,MAAM;CAIhD,MAAM,sCAA+C,OAAU;CAE/D,MAAM,qBAAqB,aAAwB;EACjD,MAAM,0DAAmC,UAAU,GAAG,EAAC,qBAAqB,OAAM,CAAC;AAEnF,oBAAkB,UAAU,UAAU,kBAAkB;AACxD,iBAAe,WAAW,eAAe,OAAU;AACnD,gBAAc,WAAW,WAAW;AACpC,oBAAkB,WAAW,eAAe;;CAG9C,MAAM,mBAAmB,UAAyB;EAChD,MAAMC,kBAAyB,iBAAiB,QAAQ,QAAQ,IAAI,MAAM,OAAO,MAAM,CAAC;AAExF,eAAa,gBAAgB;AAC7B,YAAU,gBAAgB;;AAG5B,4BAAgB;AACd,MAAI,2BAA2B,WAAW,CAAC,OACzC;AAGF,6BAA2B,UAAU;AAErC,GAAC,YAA2B;AAC1B,OAAI;IACF,MAAMC,WAAgB,MAAM,OAC1B;KACE;KACA,UAAUC,kCAAiB;KAC3B,GAAI,UAAU,EAAC,QAAO;KACtB,GAAI,sBAAsB,EAAC,MAAM,oBAAmB;KACrD,EACD,EAAE,CACH;AAID,QAAI,SACF,mBAAkB,SAAS;YAEtB,OAAO;AACd,oBAAgB,MAAM;aACd;AACR,yBAAqB,KAAK;;MAE1B;IAEH,CAAC,OAAO,CAAC;CAEZ,MAAM,iBAAiB,OAAO,YAAgC;AAC5D,MAAI,CAAC,OACH,OAAM,IAAIC,uCACR,uCACA,0CACA,SACD;EAGH,MAAMF,WAAgB,MAAM,OAC1B;GACE,GAAG;GACH;GACA,GAAI,kBAAkB,UAAU,EAAC,gBAAgB,kBAAkB,SAAQ,GAAG,EAAE;GACjF,EACD,EAAE,CACH;AAED,MAAI,SACF,mBAAkB,SAAS;;AAI/B,QACE,2CAACG;EACiB;EACJ;EACZ,OAAO;EACP,WAAW,CAAC;EACH;EACT,UAAU;EACJ;EACG;EACT,GAAI;GACJ;;AAIN,OAAO,cAAc;AAErB,qBAAe"}
@@ -7,7 +7,7 @@ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
8
8
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
9
 
10
- //#region src/client/components/admin/AgentCreate/AgentCreate.tsx
10
+ //#region src/client/components/management/AgentCreate/AgentCreate.tsx
11
11
  /**
12
12
  * Creates an agent.
13
13
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentCreate.cjs","names":["AgentCreate: FC<AgentCreateProps>","ReactAgentCreate"],"sources":["../../../../../../src/client/components/management/AgentCreate/AgentCreate.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {AgentCreate as ReactAgentCreate, AgentCreateProps as ReactAgentCreateProps} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type AgentCreateProps = ReactAgentCreateProps;\n\n/**\n * Creates an agent.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <AgentCreate onCreated={(agent) => router.push(`/admin/agents/${agent.id}`)} />\n * ```\n */\nconst AgentCreate: FC<AgentCreateProps> = (props: AgentCreateProps): ReactElement => <ReactAgentCreate {...props} />;\n\nAgentCreate.displayName = 'AgentCreate';\n\nexport default AgentCreate;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAMA,eAAqC,UAA0C,2CAACC,iCAAiB,GAAI,QAAS;AAEpH,YAAY,cAAc;AAE1B,0BAAe"}
@@ -7,7 +7,7 @@ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
8
8
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
9
 
10
- //#region src/client/components/admin/AgentDetails/AgentDetails.tsx
10
+ //#region src/client/components/management/AgentDetails/AgentDetails.tsx
11
11
  /**
12
12
  * Shows an agent's details, groups and roles, and optionally deletes the agent.
13
13
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentDetails.cjs","names":["AgentDetails: FC<AgentDetailsProps>","ReactAgentDetails"],"sources":["../../../../../../src/client/components/management/AgentDetails/AgentDetails.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {AgentDetails as ReactAgentDetails, AgentDetailsProps as ReactAgentDetailsProps} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type AgentDetailsProps = ReactAgentDetailsProps;\n\n/**\n * Shows an agent's details, groups and roles, and optionally deletes the agent.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <AgentDetails agentId={id} deletable onDeleted={() => router.push('/admin/agents')} />\n * ```\n */\nconst AgentDetails: FC<AgentDetailsProps> = (props: AgentDetailsProps): ReactElement => (\n <ReactAgentDetails {...props} />\n);\n\nAgentDetails.displayName = 'AgentDetails';\n\nexport default AgentDetails;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAMA,gBAAuC,UAC3C,2CAACC,kCAAkB,GAAI,QAAS;AAGlC,aAAa,cAAc;AAE3B,2BAAe"}
@@ -7,7 +7,7 @@ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
8
8
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
9
 
10
- //#region src/client/components/admin/AgentList/AgentList.tsx
10
+ //#region src/client/components/management/AgentList/AgentList.tsx
11
11
  /**
12
12
  * Lists agents, a page at a time.
13
13
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentList.cjs","names":["AgentList: FC<AgentListProps>","ReactAgentList"],"sources":["../../../../../../src/client/components/management/AgentList/AgentList.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {AgentList as ReactAgentList, AgentListProps as ReactAgentListProps} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type AgentListProps = ReactAgentListProps;\n\n/**\n * Lists agents, a page at a time.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <AgentList onSelect={(agent) => router.push(`/admin/agents/${agent.id}`)} />\n * ```\n */\nconst AgentList: FC<AgentListProps> = (props: AgentListProps): ReactElement => <ReactAgentList {...props} />;\n\nAgentList.displayName = 'AgentList';\n\nexport default AgentList;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAMA,aAAiC,UAAwC,2CAACC,+BAAe,GAAI,QAAS;AAE5G,UAAU,cAAc;AAExB,wBAAe"}
@@ -7,7 +7,7 @@ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
8
8
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
9
 
10
- //#region src/client/components/admin/ApplicationCreate/ApplicationCreate.tsx
10
+ //#region src/client/components/management/ApplicationCreate/ApplicationCreate.tsx
11
11
  /**
12
12
  * Creates an application with an OAuth client, and shows its client secret once when the server
13
13
  * returns one.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationCreate.cjs","names":["ApplicationCreate: FC<ApplicationCreateProps>","ReactApplicationCreate"],"sources":["../../../../../../src/client/components/management/ApplicationCreate/ApplicationCreate.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {\n ApplicationCreate as ReactApplicationCreate,\n ApplicationCreateProps as ReactApplicationCreateProps,\n} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type ApplicationCreateProps = ReactApplicationCreateProps;\n\n/**\n * Creates an application with an OAuth client, and shows its client secret once when the server\n * returns one.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <ApplicationCreate onCreated={(application) => router.push(`/admin/applications/${application.id}`)} />\n * ```\n */\nconst ApplicationCreate: FC<ApplicationCreateProps> = (props: ApplicationCreateProps): ReactElement => (\n <ReactApplicationCreate {...props} />\n);\n\nApplicationCreate.displayName = 'ApplicationCreate';\n\nexport default ApplicationCreate;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAMA,qBAAiD,UACrD,2CAACC,uCAAuB,GAAI,QAAS;AAGvC,kBAAkB,cAAc;AAEhC,gCAAe"}
@@ -7,7 +7,7 @@ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
8
8
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
9
 
10
- //#region src/client/components/admin/ApplicationDetails/ApplicationDetails.tsx
10
+ //#region src/client/components/management/ApplicationDetails/ApplicationDetails.tsx
11
11
  /**
12
12
  * Shows an application and its OAuth configuration, and optionally edits it, regenerates its client
13
13
  * secret or deletes it.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationDetails.cjs","names":["ApplicationDetails: FC<ApplicationDetailsProps>","ReactApplicationDetails"],"sources":["../../../../../../src/client/components/management/ApplicationDetails/ApplicationDetails.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {\n ApplicationDetails as ReactApplicationDetails,\n ApplicationDetailsProps as ReactApplicationDetailsProps,\n} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type ApplicationDetailsProps = ReactApplicationDetailsProps;\n\n/**\n * Shows an application and its OAuth configuration, and optionally edits it, regenerates its client\n * secret or deletes it.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <ApplicationDetails applicationId={id} editable deletable onDeleted={() => router.push('/admin/applications')} />\n * ```\n */\nconst ApplicationDetails: FC<ApplicationDetailsProps> = (props: ApplicationDetailsProps): ReactElement => (\n <ReactApplicationDetails {...props} />\n);\n\nApplicationDetails.displayName = 'ApplicationDetails';\n\nexport default ApplicationDetails;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAMA,sBAAmD,UACvD,2CAACC,wCAAwB,GAAI,QAAS;AAGxC,mBAAmB,cAAc;AAEjC,iCAAe"}
@@ -7,7 +7,7 @@ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
8
8
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
9
 
10
- //#region src/client/components/admin/ApplicationList/ApplicationList.tsx
10
+ //#region src/client/components/management/ApplicationList/ApplicationList.tsx
11
11
  /**
12
12
  * Lists applications, a page at a time.
13
13
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationList.cjs","names":["ApplicationList: FC<ApplicationListProps>","ReactApplicationList"],"sources":["../../../../../../src/client/components/management/ApplicationList/ApplicationList.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {\n ApplicationList as ReactApplicationList,\n ApplicationListProps as ReactApplicationListProps,\n} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type ApplicationListProps = ReactApplicationListProps;\n\n/**\n * Lists applications, a page at a time.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <ApplicationList onSelect={(application) => router.push(`/admin/applications/${application.id}`)} />\n * ```\n */\nconst ApplicationList: FC<ApplicationListProps> = (props: ApplicationListProps): ReactElement => (\n <ReactApplicationList {...props} />\n);\n\nApplicationList.displayName = 'ApplicationList';\n\nexport default ApplicationList;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAwBA,MAAMA,mBAA6C,UACjD,2CAACC,qCAAqB,GAAI,QAAS;AAGrC,gBAAgB,cAAc;AAE9B,8BAAe"}
@@ -7,7 +7,7 @@ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
8
8
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
9
 
10
- //#region src/client/components/admin/GroupCreate/GroupCreate.tsx
10
+ //#region src/client/components/management/GroupCreate/GroupCreate.tsx
11
11
  /**
12
12
  * Creates a group.
13
13
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupCreate.cjs","names":["GroupCreate: FC<GroupCreateProps>","ReactGroupCreate"],"sources":["../../../../../../src/client/components/management/GroupCreate/GroupCreate.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {GroupCreate as ReactGroupCreate, GroupCreateProps as ReactGroupCreateProps} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type GroupCreateProps = ReactGroupCreateProps;\n\n/**\n * Creates a group.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <GroupCreate onCreated={(group) => router.push(`/admin/groups/${group.id}`)} />\n * ```\n */\nconst GroupCreate: FC<GroupCreateProps> = (props: GroupCreateProps): ReactElement => <ReactGroupCreate {...props} />;\n\nGroupCreate.displayName = 'GroupCreate';\n\nexport default GroupCreate;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAMA,eAAqC,UAA0C,2CAACC,iCAAiB,GAAI,QAAS;AAEpH,YAAY,cAAc;AAE1B,0BAAe"}
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+
3
+
4
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
5
+ let __thunderid_react = require("@thunderid/react");
6
+ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
+
10
+ //#region src/client/components/management/GroupDetails/GroupDetails.tsx
11
+ /**
12
+ * Shows a group with its members, and optionally manages the members and deletes the group.
13
+ *
14
+ * Management requests go through a server action with the signed-in user's server-held session, so
15
+ * the access token never reaches the browser. Whether a request succeeds is the server's decision.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <GroupDetails groupId={id} editable deletable onDeleted={() => router.push('/admin/groups')} />
20
+ * ```
21
+ */
22
+ const GroupDetails = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__thunderid_react.GroupDetails, { ...props });
23
+ GroupDetails.displayName = "GroupDetails";
24
+ var GroupDetails_default = GroupDetails;
25
+
26
+ //#endregion
27
+ exports.default = GroupDetails_default;
28
+ //# sourceMappingURL=GroupDetails.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupDetails.cjs","names":["GroupDetails: FC<GroupDetailsProps>","ReactGroupDetails"],"sources":["../../../../../../src/client/components/management/GroupDetails/GroupDetails.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {GroupDetails as ReactGroupDetails, GroupDetailsProps as ReactGroupDetailsProps} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type GroupDetailsProps = ReactGroupDetailsProps;\n\n/**\n * Shows a group with its members, and optionally manages the members and deletes the group.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <GroupDetails groupId={id} editable deletable onDeleted={() => router.push('/admin/groups')} />\n * ```\n */\nconst GroupDetails: FC<GroupDetailsProps> = (props: GroupDetailsProps): ReactElement => (\n <ReactGroupDetails {...props} />\n);\n\nGroupDetails.displayName = 'GroupDetails';\n\nexport default GroupDetails;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAMA,gBAAuC,UAC3C,2CAACC,kCAAkB,GAAI,QAAS;AAGlC,aAAa,cAAc;AAE3B,2BAAe"}
@@ -7,7 +7,7 @@ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
8
8
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
9
 
10
- //#region src/client/components/admin/GroupList/GroupList.tsx
10
+ //#region src/client/components/management/GroupList/GroupList.tsx
11
11
  /**
12
12
  * Lists groups, a page at a time.
13
13
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupList.cjs","names":["GroupList: FC<GroupListProps>","ReactGroupList"],"sources":["../../../../../../src/client/components/management/GroupList/GroupList.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {GroupList as ReactGroupList, GroupListProps as ReactGroupListProps} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type GroupListProps = ReactGroupListProps;\n\n/**\n * Lists groups, a page at a time.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <GroupList onSelect={(group) => router.push(`/admin/groups/${group.id}`)} />\n * ```\n */\nconst GroupList: FC<GroupListProps> = (props: GroupListProps): ReactElement => <ReactGroupList {...props} />;\n\nGroupList.displayName = 'GroupList';\n\nexport default GroupList;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAMA,aAAiC,UAAwC,2CAACC,+BAAe,GAAI,QAAS;AAE5G,UAAU,cAAc;AAExB,wBAAe"}
@@ -7,7 +7,7 @@ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
7
  let react_jsx_runtime = require("react/jsx-runtime");
8
8
  react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
9
 
10
- //#region src/client/components/admin/GroupMembers/GroupMembers.tsx
10
+ //#region src/client/components/management/GroupMembers/GroupMembers.tsx
11
11
  /**
12
12
  * Lists a group's members and adds or removes them.
13
13
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupMembers.cjs","names":["GroupMembers: FC<GroupMembersProps>","ReactGroupMembers"],"sources":["../../../../../../src/client/components/management/GroupMembers/GroupMembers.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {GroupMembers as ReactGroupMembers, GroupMembersProps as ReactGroupMembersProps} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type GroupMembersProps = ReactGroupMembersProps;\n\n/**\n * Lists a group's members and adds or removes them.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <GroupMembers groupId={id} />\n * ```\n */\nconst GroupMembers: FC<GroupMembersProps> = (props: GroupMembersProps): ReactElement => (\n <ReactGroupMembers {...props} />\n);\n\nGroupMembers.displayName = 'GroupMembers';\n\nexport default GroupMembers;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAMA,gBAAuC,UAC3C,2CAACC,kCAAkB,GAAI,QAAS;AAGlC,aAAa,cAAc;AAE3B,2BAAe"}
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+
3
+
4
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
5
+ let __thunderid_react = require("@thunderid/react");
6
+ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
+
10
+ //#region src/client/components/management/OrganizationUnitCreate/OrganizationUnitCreate.tsx
11
+ /**
12
+ * Creates an organization unit.
13
+ *
14
+ * Management requests go through a server action with the signed-in user's server-held session, so
15
+ * the access token never reaches the browser. Whether a request succeeds is the server's decision.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <OrganizationUnitCreate parentId={unitId} onCreated={(unit) => router.push(`/admin/units/${unit.id}`)} />
20
+ * ```
21
+ */
22
+ const OrganizationUnitCreate = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__thunderid_react.OrganizationUnitCreate, { ...props });
23
+ OrganizationUnitCreate.displayName = "OrganizationUnitCreate";
24
+ var OrganizationUnitCreate_default = OrganizationUnitCreate;
25
+
26
+ //#endregion
27
+ exports.default = OrganizationUnitCreate_default;
28
+ //# sourceMappingURL=OrganizationUnitCreate.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrganizationUnitCreate.cjs","names":["OrganizationUnitCreate: FC<OrganizationUnitCreateProps>","ReactOrganizationUnitCreate"],"sources":["../../../../../../src/client/components/management/OrganizationUnitCreate/OrganizationUnitCreate.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {\n OrganizationUnitCreate as ReactOrganizationUnitCreate,\n OrganizationUnitCreateProps as ReactOrganizationUnitCreateProps,\n} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type OrganizationUnitCreateProps = ReactOrganizationUnitCreateProps;\n\n/**\n * Creates an organization unit.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <OrganizationUnitCreate parentId={unitId} onCreated={(unit) => router.push(`/admin/units/${unit.id}`)} />\n * ```\n */\nconst OrganizationUnitCreate: FC<OrganizationUnitCreateProps> = (props: OrganizationUnitCreateProps): ReactElement => (\n <ReactOrganizationUnitCreate {...props} />\n);\n\nOrganizationUnitCreate.displayName = 'OrganizationUnitCreate';\n\nexport default OrganizationUnitCreate;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAwBA,MAAMA,0BAA2D,UAC/D,2CAACC,4CAA4B,GAAI,QAAS;AAG5C,uBAAuB,cAAc;AAErC,qCAAe"}
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+
3
+
4
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
5
+ let __thunderid_react = require("@thunderid/react");
6
+ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
+
10
+ //#region src/client/components/management/OrganizationUnitDetails/OrganizationUnitDetails.tsx
11
+ /**
12
+ * Shows an organization unit with its child units and the users, groups and roles in it, and lets the signed-in user edit and delete it.
13
+ *
14
+ * Management requests go through a server action with the signed-in user's server-held session, so
15
+ * the access token never reaches the browser. Whether a request succeeds is the server's decision.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <OrganizationUnitDetails organizationUnitId={unitId} editable deletable />
20
+ * ```
21
+ */
22
+ const OrganizationUnitDetails = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__thunderid_react.OrganizationUnitDetails, { ...props });
23
+ OrganizationUnitDetails.displayName = "OrganizationUnitDetails";
24
+ var OrganizationUnitDetails_default = OrganizationUnitDetails;
25
+
26
+ //#endregion
27
+ exports.default = OrganizationUnitDetails_default;
28
+ //# sourceMappingURL=OrganizationUnitDetails.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrganizationUnitDetails.cjs","names":["OrganizationUnitDetails: FC<OrganizationUnitDetailsProps>","ReactOrganizationUnitDetails"],"sources":["../../../../../../src/client/components/management/OrganizationUnitDetails/OrganizationUnitDetails.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {\n OrganizationUnitDetails as ReactOrganizationUnitDetails,\n OrganizationUnitDetailsProps as ReactOrganizationUnitDetailsProps,\n} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type OrganizationUnitDetailsProps = ReactOrganizationUnitDetailsProps;\n\n/**\n * Shows an organization unit with its child units and the users, groups and roles in it, and lets the signed-in user edit and delete it.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <OrganizationUnitDetails organizationUnitId={unitId} editable deletable />\n * ```\n */\nconst OrganizationUnitDetails: FC<OrganizationUnitDetailsProps> = (\n props: OrganizationUnitDetailsProps,\n): ReactElement => <ReactOrganizationUnitDetails {...props} />;\n\nOrganizationUnitDetails.displayName = 'OrganizationUnitDetails';\n\nexport default OrganizationUnitDetails;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAwBA,MAAMA,2BACJ,UACiB,2CAACC,6CAA6B,GAAI,QAAS;AAE9D,wBAAwB,cAAc;AAEtC,sCAAe"}
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+
3
+
4
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
5
+ let __thunderid_react = require("@thunderid/react");
6
+ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
+
10
+ //#region src/client/components/management/OrganizationUnitList/OrganizationUnitList.tsx
11
+ /**
12
+ * Lists organization units, a page at a time: the root units, or the children of `parentId`.
13
+ *
14
+ * Management requests go through a server action with the signed-in user's server-held session, so
15
+ * the access token never reaches the browser. Whether a request succeeds is the server's decision.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <OrganizationUnitList parentId={projectId} onSelect={(unit) => router.push(`/admin/units/${unit.id}`)} />
20
+ * ```
21
+ */
22
+ const OrganizationUnitList = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__thunderid_react.OrganizationUnitList, { ...props });
23
+ OrganizationUnitList.displayName = "OrganizationUnitList";
24
+ var OrganizationUnitList_default = OrganizationUnitList;
25
+
26
+ //#endregion
27
+ exports.default = OrganizationUnitList_default;
28
+ //# sourceMappingURL=OrganizationUnitList.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrganizationUnitList.cjs","names":["OrganizationUnitList: FC<OrganizationUnitListProps>","ReactOrganizationUnitList"],"sources":["../../../../../../src/client/components/management/OrganizationUnitList/OrganizationUnitList.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {\n OrganizationUnitList as ReactOrganizationUnitList,\n OrganizationUnitListProps as ReactOrganizationUnitListProps,\n} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type OrganizationUnitListProps = ReactOrganizationUnitListProps;\n\n/**\n * Lists organization units, a page at a time: the root units, or the children of `parentId`.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <OrganizationUnitList parentId={projectId} onSelect={(unit) => router.push(`/admin/units/${unit.id}`)} />\n * ```\n */\nconst OrganizationUnitList: FC<OrganizationUnitListProps> = (props: OrganizationUnitListProps): ReactElement => (\n <ReactOrganizationUnitList {...props} />\n);\n\nOrganizationUnitList.displayName = 'OrganizationUnitList';\n\nexport default OrganizationUnitList;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAwBA,MAAMA,wBAAuD,UAC3D,2CAACC,0CAA0B,GAAI,QAAS;AAG1C,qBAAqB,cAAc;AAEnC,mCAAe"}
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+
3
+
4
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
5
+ let __thunderid_react = require("@thunderid/react");
6
+ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
+
10
+ //#region src/client/components/management/ProjectCreate/ProjectCreate.tsx
11
+ /**
12
+ * Creates a project.
13
+ *
14
+ * Management requests go through a server action with the signed-in user's server-held session, so
15
+ * the access token never reaches the browser. Whether a request succeeds is the server's decision.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <ProjectCreate onCreated={(project) => router.push(`/admin/projects/${project.id}`)} />
20
+ * ```
21
+ */
22
+ const ProjectCreate = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__thunderid_react.ProjectCreate, { ...props });
23
+ ProjectCreate.displayName = "ProjectCreate";
24
+ var ProjectCreate_default = ProjectCreate;
25
+
26
+ //#endregion
27
+ exports.default = ProjectCreate_default;
28
+ //# sourceMappingURL=ProjectCreate.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectCreate.cjs","names":["ProjectCreate: FC<ProjectCreateProps>","ReactProjectCreate"],"sources":["../../../../../../src/client/components/management/ProjectCreate/ProjectCreate.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {ProjectCreate as ReactProjectCreate, ProjectCreateProps as ReactProjectCreateProps} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type ProjectCreateProps = ReactProjectCreateProps;\n\n/**\n * Creates a project.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <ProjectCreate onCreated={(project) => router.push(`/admin/projects/${project.id}`)} />\n * ```\n */\nconst ProjectCreate: FC<ProjectCreateProps> = (props: ProjectCreateProps): ReactElement => (\n <ReactProjectCreate {...props} />\n);\n\nProjectCreate.displayName = 'ProjectCreate';\n\nexport default ProjectCreate;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAMA,iBAAyC,UAC7C,2CAACC,mCAAmB,GAAI,QAAS;AAGnC,cAAc,cAAc;AAE5B,4BAAe"}
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+
3
+
4
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
5
+ let __thunderid_react = require("@thunderid/react");
6
+ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
+
10
+ //#region src/client/components/management/ProjectDetails/ProjectDetails.tsx
11
+ /**
12
+ * Shows a project, and lets the signed-in user edit and delete it.
13
+ *
14
+ * Management requests go through a server action with the signed-in user's server-held session, so
15
+ * the access token never reaches the browser. Whether a request succeeds is the server's decision.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <ProjectDetails projectId={projectId} editable deletable onDeleted={() => router.push('/admin/projects')} />
20
+ * ```
21
+ */
22
+ const ProjectDetails = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__thunderid_react.ProjectDetails, { ...props });
23
+ ProjectDetails.displayName = "ProjectDetails";
24
+ var ProjectDetails_default = ProjectDetails;
25
+
26
+ //#endregion
27
+ exports.default = ProjectDetails_default;
28
+ //# sourceMappingURL=ProjectDetails.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectDetails.cjs","names":["ProjectDetails: FC<ProjectDetailsProps>","ReactProjectDetails"],"sources":["../../../../../../src/client/components/management/ProjectDetails/ProjectDetails.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {ProjectDetails as ReactProjectDetails, ProjectDetailsProps as ReactProjectDetailsProps} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type ProjectDetailsProps = ReactProjectDetailsProps;\n\n/**\n * Shows a project, and lets the signed-in user edit and delete it.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <ProjectDetails projectId={projectId} editable deletable onDeleted={() => router.push('/admin/projects')} />\n * ```\n */\nconst ProjectDetails: FC<ProjectDetailsProps> = (props: ProjectDetailsProps): ReactElement => (\n <ReactProjectDetails {...props} />\n);\n\nProjectDetails.displayName = 'ProjectDetails';\n\nexport default ProjectDetails;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAMA,kBAA2C,UAC/C,2CAACC,oCAAoB,GAAI,QAAS;AAGpC,eAAe,cAAc;AAE7B,6BAAe"}
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+
3
+
4
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
5
+ let __thunderid_react = require("@thunderid/react");
6
+ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
+
10
+ //#region src/client/components/management/ProjectList/ProjectList.tsx
11
+ /**
12
+ * Lists the projects, a page at a time. Projects are served by the control plane only.
13
+ *
14
+ * Management requests go through a server action with the signed-in user's server-held session, so
15
+ * the access token never reaches the browser. Whether a request succeeds is the server's decision.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <ProjectList onSelect={(project) => router.push(`/admin/projects/${project.id}`)} />
20
+ * ```
21
+ */
22
+ const ProjectList = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__thunderid_react.ProjectList, { ...props });
23
+ ProjectList.displayName = "ProjectList";
24
+ var ProjectList_default = ProjectList;
25
+
26
+ //#endregion
27
+ exports.default = ProjectList_default;
28
+ //# sourceMappingURL=ProjectList.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectList.cjs","names":["ProjectList: FC<ProjectListProps>","ReactProjectList"],"sources":["../../../../../../src/client/components/management/ProjectList/ProjectList.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {ProjectList as ReactProjectList, ProjectListProps as ReactProjectListProps} from '@thunderid/react';\nimport {FC, ReactElement} from 'react';\n\nexport type ProjectListProps = ReactProjectListProps;\n\n/**\n * Lists the projects, a page at a time. Projects are served by the control plane only.\n *\n * Management requests go through a server action with the signed-in user's server-held session, so\n * the access token never reaches the browser. Whether a request succeeds is the server's decision.\n *\n * @example\n * ```tsx\n * <ProjectList onSelect={(project) => router.push(`/admin/projects/${project.id}`)} />\n * ```\n */\nconst ProjectList: FC<ProjectListProps> = (props: ProjectListProps): ReactElement => <ReactProjectList {...props} />;\n\nProjectList.displayName = 'ProjectList';\n\nexport default ProjectList;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAqBA,MAAMA,eAAqC,UAA0C,2CAACC,iCAAiB,GAAI,QAAS;AAEpH,YAAY,cAAc;AAE1B,0BAAe"}
@@ -0,0 +1,30 @@
1
+ 'use client';
2
+
3
+
4
+ const require_rolldown_runtime = require('../../../../_virtual/rolldown_runtime.cjs');
5
+ let __thunderid_react = require("@thunderid/react");
6
+ __thunderid_react = require_rolldown_runtime.__toESM(__thunderid_react);
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ react_jsx_runtime = require_rolldown_runtime.__toESM(react_jsx_runtime);
9
+
10
+ //#region src/client/components/management/ProjectSwitcher/ProjectSwitcher.tsx
11
+ /**
12
+ * Lets the user choose the current project. The choice is client-side context kept in the browser, not a sign-in: `useThunderID()` exposes it as `currentProject`.
13
+ * `ApplicationList` and `AgentList` list the current project, and `ApplicationCreate` and `AgentCreate` place new
14
+ * resources in it when no organization unit is given.
15
+ *
16
+ * Management requests go through a server action with the signed-in user's server-held session, so
17
+ * the access token never reaches the browser. Whether a request succeeds is the server's decision.
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * <ProjectSwitcher onSelect={(project) => router.refresh()} />
22
+ * ```
23
+ */
24
+ const ProjectSwitcher = (props) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__thunderid_react.ProjectSwitcher, { ...props });
25
+ ProjectSwitcher.displayName = "ProjectSwitcher";
26
+ var ProjectSwitcher_default = ProjectSwitcher;
27
+
28
+ //#endregion
29
+ exports.default = ProjectSwitcher_default;
30
+ //# sourceMappingURL=ProjectSwitcher.cjs.map