@thunderid/nextjs 0.2.1 → 0.2.2

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 (349) hide show
  1. package/dist/{types/ThunderIDNextClient.d.ts → ThunderIDNextClient.d.ts} +1 -7
  2. package/dist/ThunderIDNextClient.d.ts.map +1 -0
  3. package/dist/ThunderIDNextClient.js +161 -0
  4. package/dist/ThunderIDNextClient.js.map +1 -0
  5. package/dist/cjs/ThunderIDNextClient.cjs +163 -0
  6. package/dist/cjs/ThunderIDNextClient.cjs.map +1 -0
  7. package/dist/cjs/_virtual/rolldown_runtime.cjs +25 -0
  8. package/dist/cjs/client/components/actions/SignInButton/SignInButton.cjs +79 -0
  9. package/dist/cjs/client/components/actions/SignInButton/SignInButton.cjs.map +1 -0
  10. package/dist/cjs/client/components/actions/SignOutButton/SignOutButton.cjs +61 -0
  11. package/dist/cjs/client/components/actions/SignOutButton/SignOutButton.cjs.map +1 -0
  12. package/dist/cjs/client/components/actions/SignUpButton/SignUpButton.cjs +91 -0
  13. package/dist/cjs/client/components/actions/SignUpButton/SignUpButton.cjs.map +1 -0
  14. package/dist/cjs/client/components/control/SignedIn/SignedIn.cjs +34 -0
  15. package/dist/cjs/client/components/control/SignedIn/SignedIn.cjs.map +1 -0
  16. package/dist/cjs/client/components/control/SignedOut/SignedOut.cjs +34 -0
  17. package/dist/cjs/client/components/control/SignedOut/SignedOut.cjs.map +1 -0
  18. package/dist/cjs/client/components/presentation/SignIn/SignIn.cjs +37 -0
  19. package/dist/cjs/client/components/presentation/SignIn/SignIn.cjs.map +1 -0
  20. package/dist/cjs/client/components/presentation/SignUp/SignUp.cjs +79 -0
  21. package/dist/cjs/client/components/presentation/SignUp/SignUp.cjs.map +1 -0
  22. package/dist/cjs/client/components/presentation/User/User.cjs +49 -0
  23. package/dist/cjs/client/components/presentation/User/User.cjs.map +1 -0
  24. package/dist/cjs/client/components/presentation/UserDropdown/UserDropdown.cjs +114 -0
  25. package/dist/cjs/client/components/presentation/UserDropdown/UserDropdown.cjs.map +1 -0
  26. package/dist/cjs/client/components/presentation/UserProfile/UserProfile.cjs +52 -0
  27. package/dist/cjs/client/components/presentation/UserProfile/UserProfile.cjs.map +1 -0
  28. package/dist/cjs/client/contexts/ThunderID/ThunderIDContext.cjs +34 -0
  29. package/dist/cjs/client/contexts/ThunderID/ThunderIDContext.cjs.map +1 -0
  30. package/dist/cjs/client/contexts/ThunderID/ThunderIDProvider.cjs +165 -0
  31. package/dist/cjs/client/contexts/ThunderID/ThunderIDProvider.cjs.map +1 -0
  32. package/dist/cjs/client/contexts/ThunderID/useThunderID.cjs +19 -0
  33. package/dist/cjs/client/contexts/ThunderID/useThunderID.cjs.map +1 -0
  34. package/dist/cjs/client/index.cjs +11 -0
  35. package/dist/cjs/constants/sessionConstants.cjs +55 -0
  36. package/dist/cjs/constants/sessionConstants.cjs.map +1 -0
  37. package/dist/cjs/index.cjs +35 -990
  38. package/dist/cjs/server/ThunderIDProvider.cjs +114 -0
  39. package/dist/cjs/server/ThunderIDProvider.cjs.map +1 -0
  40. package/dist/cjs/server/actions/clearSession.cjs +41 -0
  41. package/dist/cjs/server/actions/clearSession.cjs.map +1 -0
  42. package/dist/cjs/server/actions/getAccessToken.cjs +27 -0
  43. package/dist/cjs/server/actions/getAccessToken.cjs.map +1 -0
  44. package/dist/cjs/server/actions/getClientOrigin.cjs +18 -0
  45. package/dist/cjs/server/actions/getClientOrigin.cjs.map +1 -0
  46. package/dist/cjs/server/actions/getSessionId.cjs +28 -0
  47. package/dist/cjs/server/actions/getSessionId.cjs.map +1 -0
  48. package/dist/cjs/server/actions/getSessionPayload.cjs +29 -0
  49. package/dist/cjs/server/actions/getSessionPayload.cjs.map +1 -0
  50. package/dist/cjs/server/actions/getUserAction.cjs +30 -0
  51. package/dist/cjs/server/actions/getUserAction.cjs.map +1 -0
  52. package/dist/cjs/server/actions/getUserProfileAction.cjs +34 -0
  53. package/dist/cjs/server/actions/getUserProfileAction.cjs.map +1 -0
  54. package/dist/cjs/server/actions/handleOAuthCallbackAction.cjs +89 -0
  55. package/dist/cjs/server/actions/handleOAuthCallbackAction.cjs.map +1 -0
  56. package/dist/cjs/server/actions/isSignedIn.cjs +40 -0
  57. package/dist/cjs/server/actions/isSignedIn.cjs.map +1 -0
  58. package/dist/cjs/server/actions/refreshToken.cjs +61 -0
  59. package/dist/cjs/server/actions/refreshToken.cjs.map +1 -0
  60. package/dist/cjs/server/actions/signInAction.cjs +95 -0
  61. package/dist/cjs/server/actions/signInAction.cjs.map +1 -0
  62. package/dist/cjs/server/actions/signOutAction.cjs +57 -0
  63. package/dist/cjs/server/actions/signOutAction.cjs.map +1 -0
  64. package/dist/cjs/server/actions/signUpAction.cjs +27 -0
  65. package/dist/cjs/server/actions/signUpAction.cjs.map +1 -0
  66. package/dist/cjs/server/actions/updateUserProfileAction.cjs +30 -0
  67. package/dist/cjs/server/actions/updateUserProfileAction.cjs.map +1 -0
  68. package/dist/cjs/server/getClient.cjs +19 -0
  69. package/dist/cjs/server/getClient.cjs.map +1 -0
  70. package/dist/cjs/server/index.cjs +9 -0
  71. package/dist/cjs/server/proxy/createRouteMatcher.cjs +36 -0
  72. package/dist/cjs/server/proxy/createRouteMatcher.cjs.map +1 -0
  73. package/dist/cjs/server/proxy/thunderIDProxy.cjs +182 -0
  74. package/dist/cjs/server/proxy/thunderIDProxy.cjs.map +1 -0
  75. package/dist/cjs/server/thunderid.cjs +27 -0
  76. package/dist/cjs/server/thunderid.cjs.map +1 -0
  77. package/dist/cjs/utils/SessionManager.cjs +150 -0
  78. package/dist/cjs/utils/SessionManager.cjs.map +1 -0
  79. package/dist/cjs/utils/decorateConfigWithNextEnv.cjs +28 -0
  80. package/dist/cjs/utils/decorateConfigWithNextEnv.cjs.map +1 -0
  81. package/dist/cjs/utils/handleRefreshToken.cjs +62 -0
  82. package/dist/cjs/utils/handleRefreshToken.cjs.map +1 -0
  83. package/dist/cjs/utils/logger.cjs +11 -0
  84. package/dist/cjs/utils/logger.cjs.map +1 -0
  85. package/dist/cjs/utils/sessionUtils.cjs +40 -0
  86. package/dist/cjs/utils/sessionUtils.cjs.map +1 -0
  87. package/dist/client/components/actions/SignInButton/SignInButton.d.ts.map +1 -0
  88. package/dist/client/components/actions/SignInButton/SignInButton.js +73 -0
  89. package/dist/client/components/actions/SignInButton/SignInButton.js.map +1 -0
  90. package/dist/client/components/actions/SignOutButton/SignOutButton.d.ts.map +1 -0
  91. package/dist/client/components/actions/SignOutButton/SignOutButton.js +57 -0
  92. package/dist/client/components/actions/SignOutButton/SignOutButton.js.map +1 -0
  93. package/dist/client/components/actions/SignUpButton/SignUpButton.d.ts.map +1 -0
  94. package/dist/client/components/actions/SignUpButton/SignUpButton.js +85 -0
  95. package/dist/client/components/actions/SignUpButton/SignUpButton.js.map +1 -0
  96. package/dist/client/components/control/Loading/Loading.d.ts.map +1 -0
  97. package/dist/client/components/control/SignedIn/SignedIn.d.ts.map +1 -0
  98. package/dist/client/components/control/SignedIn/SignedIn.js +32 -0
  99. package/dist/client/components/control/SignedIn/SignedIn.js.map +1 -0
  100. package/dist/client/components/control/SignedOut/SignedOut.d.ts.map +1 -0
  101. package/dist/client/components/control/SignedOut/SignedOut.js +32 -0
  102. package/dist/client/components/control/SignedOut/SignedOut.js.map +1 -0
  103. package/dist/client/components/presentation/SignIn/SignIn.d.ts.map +1 -0
  104. package/dist/client/components/presentation/SignIn/SignIn.js +33 -0
  105. package/dist/client/components/presentation/SignIn/SignIn.js.map +1 -0
  106. package/dist/client/components/presentation/SignUp/SignUp.d.ts.map +1 -0
  107. package/dist/client/components/presentation/SignUp/SignUp.js +75 -0
  108. package/dist/client/components/presentation/SignUp/SignUp.js.map +1 -0
  109. package/dist/client/components/presentation/User/User.d.ts.map +1 -0
  110. package/dist/client/components/presentation/User/User.js +46 -0
  111. package/dist/client/components/presentation/User/User.js.map +1 -0
  112. package/dist/client/components/presentation/UserDropdown/UserDropdown.d.ts.map +1 -0
  113. package/dist/client/components/presentation/UserDropdown/UserDropdown.js +110 -0
  114. package/dist/client/components/presentation/UserDropdown/UserDropdown.js.map +1 -0
  115. package/dist/client/components/presentation/UserProfile/UserProfile.d.ts.map +1 -0
  116. package/dist/client/components/presentation/UserProfile/UserProfile.js +49 -0
  117. package/dist/client/components/presentation/UserProfile/UserProfile.js.map +1 -0
  118. package/dist/client/contexts/ThunderID/ThunderIDContext.d.ts.map +1 -0
  119. package/dist/client/contexts/ThunderID/ThunderIDContext.js +32 -0
  120. package/dist/client/contexts/ThunderID/ThunderIDContext.js.map +1 -0
  121. package/dist/{types/client → client}/contexts/ThunderID/ThunderIDProvider.d.ts +1 -8
  122. package/dist/client/contexts/ThunderID/ThunderIDProvider.d.ts.map +1 -0
  123. package/dist/client/contexts/ThunderID/ThunderIDProvider.js +159 -0
  124. package/dist/client/contexts/ThunderID/ThunderIDProvider.js.map +1 -0
  125. package/dist/client/contexts/ThunderID/useThunderID.d.ts.map +1 -0
  126. package/dist/client/contexts/ThunderID/useThunderID.js +17 -0
  127. package/dist/client/contexts/ThunderID/useThunderID.js.map +1 -0
  128. package/dist/{types/client → client}/index.d.ts +2 -10
  129. package/dist/client/index.d.ts.map +1 -0
  130. package/dist/client/index.js +13 -0
  131. package/dist/configs/InternalAuthAPIRoutesConfig.d.ts.map +1 -0
  132. package/dist/constants/sessionConstants.d.ts.map +1 -0
  133. package/dist/constants/sessionConstants.js +53 -0
  134. package/dist/constants/sessionConstants.js.map +1 -0
  135. package/dist/index.d.ts.map +1 -0
  136. package/dist/index.js +20 -934
  137. package/dist/models/api.d.ts.map +1 -0
  138. package/dist/models/config.d.ts.map +1 -0
  139. package/dist/server/ThunderIDProvider.d.ts.map +1 -0
  140. package/dist/server/ThunderIDProvider.js +111 -0
  141. package/dist/server/ThunderIDProvider.js.map +1 -0
  142. package/dist/server/actions/clearSession.d.ts.map +1 -0
  143. package/dist/server/actions/clearSession.js +39 -0
  144. package/dist/server/actions/clearSession.js.map +1 -0
  145. package/dist/server/actions/getAccessToken.d.ts.map +1 -0
  146. package/dist/{getAccessToken-oRxArjVC.js → server/actions/getAccessToken.js} +8 -5
  147. package/dist/server/actions/getAccessToken.js.map +1 -0
  148. package/dist/server/actions/getClientOrigin.d.ts.map +1 -0
  149. package/dist/server/actions/getClientOrigin.js +16 -0
  150. package/dist/server/actions/getClientOrigin.js.map +1 -0
  151. package/dist/server/actions/getSessionId.d.ts.map +1 -0
  152. package/dist/{getSessionId-_7hj8QSX.js → server/actions/getSessionId.js} +8 -5
  153. package/dist/server/actions/getSessionId.js.map +1 -0
  154. package/dist/server/actions/getSessionPayload.d.ts.map +1 -0
  155. package/dist/server/actions/getSessionPayload.js +27 -0
  156. package/dist/server/actions/getSessionPayload.js.map +1 -0
  157. package/dist/server/actions/getUserAction.d.ts.map +1 -0
  158. package/dist/server/actions/getUserAction.js +30 -0
  159. package/dist/server/actions/getUserAction.js.map +1 -0
  160. package/dist/server/actions/getUserProfileAction.d.ts.map +1 -0
  161. package/dist/server/actions/getUserProfileAction.js +34 -0
  162. package/dist/server/actions/getUserProfileAction.js.map +1 -0
  163. package/dist/server/actions/handleOAuthCallbackAction.d.ts.map +1 -0
  164. package/dist/server/actions/handleOAuthCallbackAction.js +87 -0
  165. package/dist/server/actions/handleOAuthCallbackAction.js.map +1 -0
  166. package/dist/server/actions/isSignedIn.d.ts.map +1 -0
  167. package/dist/server/actions/isSignedIn.js +40 -0
  168. package/dist/server/actions/isSignedIn.js.map +1 -0
  169. package/dist/server/actions/refreshToken.d.ts.map +1 -0
  170. package/dist/server/actions/refreshToken.js +58 -0
  171. package/dist/server/actions/refreshToken.js.map +1 -0
  172. package/dist/server/actions/signInAction.d.ts.map +1 -0
  173. package/dist/server/actions/signInAction.js +92 -0
  174. package/dist/server/actions/signInAction.js.map +1 -0
  175. package/dist/server/actions/signOutAction.d.ts.map +1 -0
  176. package/dist/server/actions/signOutAction.js +55 -0
  177. package/dist/server/actions/signOutAction.js.map +1 -0
  178. package/dist/server/actions/signUpAction.d.ts.map +1 -0
  179. package/dist/server/actions/signUpAction.js +27 -0
  180. package/dist/server/actions/signUpAction.js.map +1 -0
  181. package/dist/server/actions/updateUserProfileAction.d.ts.map +1 -0
  182. package/dist/server/actions/updateUserProfileAction.js +30 -0
  183. package/dist/server/actions/updateUserProfileAction.js.map +1 -0
  184. package/dist/server/getClient.d.ts.map +1 -0
  185. package/dist/server/getClient.js +19 -0
  186. package/dist/server/getClient.js.map +1 -0
  187. package/dist/{types/server → server}/index.d.ts +3 -0
  188. package/dist/server/index.d.ts.map +1 -0
  189. package/dist/server/index.js +6 -0
  190. package/dist/server/proxy/createRouteMatcher.d.ts.map +1 -0
  191. package/dist/server/proxy/createRouteMatcher.js +35 -0
  192. package/dist/server/proxy/createRouteMatcher.js.map +1 -0
  193. package/dist/{types/server/middleware/thunderIDMiddleware.d.ts → server/proxy/thunderIDProxy.d.ts} +13 -13
  194. package/dist/server/proxy/thunderIDProxy.d.ts.map +1 -0
  195. package/dist/server/proxy/thunderIDProxy.js +180 -0
  196. package/dist/server/proxy/thunderIDProxy.js.map +1 -0
  197. package/dist/server/thunderid.d.ts.map +1 -0
  198. package/dist/server/thunderid.js +27 -0
  199. package/dist/server/thunderid.js.map +1 -0
  200. package/dist/utils/SessionManager.d.ts.map +1 -0
  201. package/dist/utils/SessionManager.js +147 -0
  202. package/dist/utils/SessionManager.js.map +1 -0
  203. package/dist/utils/createRouteMatcher.d.ts.map +1 -0
  204. package/dist/utils/decorateConfigWithNextEnv.d.ts.map +1 -0
  205. package/dist/utils/decorateConfigWithNextEnv.js +27 -0
  206. package/dist/utils/decorateConfigWithNextEnv.js.map +1 -0
  207. package/dist/utils/handleRefreshToken.d.ts.map +1 -0
  208. package/dist/utils/handleRefreshToken.js +62 -0
  209. package/dist/utils/handleRefreshToken.js.map +1 -0
  210. package/dist/utils/logger.d.ts.map +1 -0
  211. package/dist/utils/logger.js +9 -0
  212. package/dist/utils/logger.js.map +1 -0
  213. package/dist/utils/sessionUtils.d.ts.map +1 -0
  214. package/dist/utils/sessionUtils.js +39 -0
  215. package/dist/utils/sessionUtils.js.map +1 -0
  216. package/package.json +6 -16
  217. package/dist/SessionManager-BvmZ19QF.js +0 -1384
  218. package/dist/cache-DOmEIb7_.js +0 -6329
  219. package/dist/cjs/SessionManager-x03qrCM_.js +0 -1397
  220. package/dist/cjs/cache-Bw8u7jYk.js +0 -6332
  221. package/dist/cjs/dynamic-rendering-DY0EUx64.js +0 -1510
  222. package/dist/cjs/getAccessToken-eJk739AD.js +0 -22
  223. package/dist/cjs/getSessionId-BXqdO0BZ.js +0 -28
  224. package/dist/cjs/getSessionId-j-ERy_WP.js +0 -5
  225. package/dist/cjs/index2.cjs +0 -8
  226. package/dist/cjs/middleware.cjs +0 -5151
  227. package/dist/cjs/segment-CViTHaAn.js +0 -52
  228. package/dist/cjs/server-ABSmm73r.js +0 -2426
  229. package/dist/dynamic-rendering-CXn-s32e.js +0 -1429
  230. package/dist/getSessionId-6IipYdCB.js +0 -5
  231. package/dist/index2.js +0 -7
  232. package/dist/middleware.js +0 -5152
  233. package/dist/segment-DRUZ6e3T.js +0 -47
  234. package/dist/server-BUNp5d6D.js +0 -2376
  235. package/dist/types/ThunderIDNextClient.d.ts.map +0 -1
  236. package/dist/types/client/components/actions/SignInButton/SignInButton.d.ts.map +0 -1
  237. package/dist/types/client/components/actions/SignOutButton/SignOutButton.d.ts.map +0 -1
  238. package/dist/types/client/components/actions/SignUpButton/SignUpButton.d.ts.map +0 -1
  239. package/dist/types/client/components/control/Loading/Loading.d.ts.map +0 -1
  240. package/dist/types/client/components/control/SignedIn/SignedIn.d.ts.map +0 -1
  241. package/dist/types/client/components/control/SignedOut/SignedOut.d.ts.map +0 -1
  242. package/dist/types/client/components/presentation/CreateOrganization/CreateOrganization.d.ts +0 -68
  243. package/dist/types/client/components/presentation/CreateOrganization/CreateOrganization.d.ts.map +0 -1
  244. package/dist/types/client/components/presentation/Organization/Organization.d.ts +0 -67
  245. package/dist/types/client/components/presentation/Organization/Organization.d.ts.map +0 -1
  246. package/dist/types/client/components/presentation/OrganizationList/OrganizationList.d.ts +0 -93
  247. package/dist/types/client/components/presentation/OrganizationList/OrganizationList.d.ts.map +0 -1
  248. package/dist/types/client/components/presentation/OrganizationProfile/OrganizationProfile.d.ts +0 -120
  249. package/dist/types/client/components/presentation/OrganizationProfile/OrganizationProfile.d.ts.map +0 -1
  250. package/dist/types/client/components/presentation/OrganizationSwitcher/OrganizationSwitcher.d.ts +0 -72
  251. package/dist/types/client/components/presentation/OrganizationSwitcher/OrganizationSwitcher.d.ts.map +0 -1
  252. package/dist/types/client/components/presentation/SignIn/SignIn.d.ts.map +0 -1
  253. package/dist/types/client/components/presentation/SignUp/SignUp.d.ts.map +0 -1
  254. package/dist/types/client/components/presentation/User/User.d.ts.map +0 -1
  255. package/dist/types/client/components/presentation/UserDropdown/UserDropdown.d.ts.map +0 -1
  256. package/dist/types/client/components/presentation/UserProfile/UserProfile.d.ts.map +0 -1
  257. package/dist/types/client/contexts/ThunderID/ThunderIDContext.d.ts.map +0 -1
  258. package/dist/types/client/contexts/ThunderID/ThunderIDProvider.d.ts.map +0 -1
  259. package/dist/types/client/contexts/ThunderID/useThunderID.d.ts.map +0 -1
  260. package/dist/types/client/index.d.ts.map +0 -1
  261. package/dist/types/configs/InternalAuthAPIRoutesConfig.d.ts.map +0 -1
  262. package/dist/types/constants/sessionConstants.d.ts.map +0 -1
  263. package/dist/types/index.d.ts.map +0 -1
  264. package/dist/types/middleware.d.ts +0 -35
  265. package/dist/types/middleware.d.ts.map +0 -1
  266. package/dist/types/models/api.d.ts.map +0 -1
  267. package/dist/types/models/config.d.ts.map +0 -1
  268. package/dist/types/server/ThunderIDProvider.d.ts.map +0 -1
  269. package/dist/types/server/actions/clearSession.d.ts.map +0 -1
  270. package/dist/types/server/actions/createOrganization.d.ts +0 -24
  271. package/dist/types/server/actions/createOrganization.d.ts.map +0 -1
  272. package/dist/types/server/actions/getAccessToken.d.ts.map +0 -1
  273. package/dist/types/server/actions/getAllOrganizations.d.ts +0 -24
  274. package/dist/types/server/actions/getAllOrganizations.d.ts.map +0 -1
  275. package/dist/types/server/actions/getBrandingPreference.d.ts +0 -24
  276. package/dist/types/server/actions/getBrandingPreference.d.ts.map +0 -1
  277. package/dist/types/server/actions/getClientOrigin.d.ts.map +0 -1
  278. package/dist/types/server/actions/getCurrentOrganizationAction.d.ts +0 -31
  279. package/dist/types/server/actions/getCurrentOrganizationAction.d.ts.map +0 -1
  280. package/dist/types/server/actions/getMyOrganizations.d.ts +0 -24
  281. package/dist/types/server/actions/getMyOrganizations.d.ts.map +0 -1
  282. package/dist/types/server/actions/getOrganizationAction.d.ts +0 -31
  283. package/dist/types/server/actions/getOrganizationAction.d.ts.map +0 -1
  284. package/dist/types/server/actions/getSessionId.d.ts.map +0 -1
  285. package/dist/types/server/actions/getSessionPayload.d.ts.map +0 -1
  286. package/dist/types/server/actions/getUserAction.d.ts.map +0 -1
  287. package/dist/types/server/actions/getUserProfileAction.d.ts.map +0 -1
  288. package/dist/types/server/actions/handleOAuthCallbackAction.d.ts.map +0 -1
  289. package/dist/types/server/actions/isSignedIn.d.ts.map +0 -1
  290. package/dist/types/server/actions/refreshToken.d.ts.map +0 -1
  291. package/dist/types/server/actions/signInAction.d.ts.map +0 -1
  292. package/dist/types/server/actions/signOutAction.d.ts.map +0 -1
  293. package/dist/types/server/actions/signUpAction.d.ts.map +0 -1
  294. package/dist/types/server/actions/switchOrganization.d.ts +0 -24
  295. package/dist/types/server/actions/switchOrganization.d.ts.map +0 -1
  296. package/dist/types/server/actions/updateUserProfileAction.d.ts.map +0 -1
  297. package/dist/types/server/getClient.d.ts.map +0 -1
  298. package/dist/types/server/index.d.ts.map +0 -1
  299. package/dist/types/server/middleware/createRouteMatcher.d.ts.map +0 -1
  300. package/dist/types/server/middleware/thunderIDMiddleware.d.ts.map +0 -1
  301. package/dist/types/server/thunderid.d.ts.map +0 -1
  302. package/dist/types/utils/SessionManager.d.ts.map +0 -1
  303. package/dist/types/utils/createRouteMatcher.d.ts.map +0 -1
  304. package/dist/types/utils/decorateConfigWithNextEnv.d.ts.map +0 -1
  305. package/dist/types/utils/handleRefreshToken.d.ts.map +0 -1
  306. package/dist/types/utils/logger.d.ts.map +0 -1
  307. package/dist/types/utils/sessionUtils.d.ts.map +0 -1
  308. /package/dist/{types/client → client}/components/actions/SignInButton/SignInButton.d.ts +0 -0
  309. /package/dist/{types/client → client}/components/actions/SignOutButton/SignOutButton.d.ts +0 -0
  310. /package/dist/{types/client → client}/components/actions/SignUpButton/SignUpButton.d.ts +0 -0
  311. /package/dist/{types/client → client}/components/control/Loading/Loading.d.ts +0 -0
  312. /package/dist/{types/client → client}/components/control/SignedIn/SignedIn.d.ts +0 -0
  313. /package/dist/{types/client → client}/components/control/SignedOut/SignedOut.d.ts +0 -0
  314. /package/dist/{types/client → client}/components/presentation/SignIn/SignIn.d.ts +0 -0
  315. /package/dist/{types/client → client}/components/presentation/SignUp/SignUp.d.ts +0 -0
  316. /package/dist/{types/client → client}/components/presentation/User/User.d.ts +0 -0
  317. /package/dist/{types/client → client}/components/presentation/UserDropdown/UserDropdown.d.ts +0 -0
  318. /package/dist/{types/client → client}/components/presentation/UserProfile/UserProfile.d.ts +0 -0
  319. /package/dist/{types/client → client}/contexts/ThunderID/ThunderIDContext.d.ts +0 -0
  320. /package/dist/{types/client → client}/contexts/ThunderID/useThunderID.d.ts +0 -0
  321. /package/dist/{types/configs → configs}/InternalAuthAPIRoutesConfig.d.ts +0 -0
  322. /package/dist/{types/constants → constants}/sessionConstants.d.ts +0 -0
  323. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
  324. /package/dist/{types/models → models}/api.d.ts +0 -0
  325. /package/dist/{types/models → models}/config.d.ts +0 -0
  326. /package/dist/{types/server → server}/ThunderIDProvider.d.ts +0 -0
  327. /package/dist/{types/server → server}/actions/clearSession.d.ts +0 -0
  328. /package/dist/{types/server → server}/actions/getAccessToken.d.ts +0 -0
  329. /package/dist/{types/server → server}/actions/getClientOrigin.d.ts +0 -0
  330. /package/dist/{types/server → server}/actions/getSessionId.d.ts +0 -0
  331. /package/dist/{types/server → server}/actions/getSessionPayload.d.ts +0 -0
  332. /package/dist/{types/server → server}/actions/getUserAction.d.ts +0 -0
  333. /package/dist/{types/server → server}/actions/getUserProfileAction.d.ts +0 -0
  334. /package/dist/{types/server → server}/actions/handleOAuthCallbackAction.d.ts +0 -0
  335. /package/dist/{types/server → server}/actions/isSignedIn.d.ts +0 -0
  336. /package/dist/{types/server → server}/actions/refreshToken.d.ts +0 -0
  337. /package/dist/{types/server → server}/actions/signInAction.d.ts +0 -0
  338. /package/dist/{types/server → server}/actions/signOutAction.d.ts +0 -0
  339. /package/dist/{types/server → server}/actions/signUpAction.d.ts +0 -0
  340. /package/dist/{types/server → server}/actions/updateUserProfileAction.d.ts +0 -0
  341. /package/dist/{types/server → server}/getClient.d.ts +0 -0
  342. /package/dist/{types/server/middleware → server/proxy}/createRouteMatcher.d.ts +0 -0
  343. /package/dist/{types/server → server}/thunderid.d.ts +0 -0
  344. /package/dist/{types/utils → utils}/SessionManager.d.ts +0 -0
  345. /package/dist/{types/utils → utils}/createRouteMatcher.d.ts +0 -0
  346. /package/dist/{types/utils → utils}/decorateConfigWithNextEnv.d.ts +0 -0
  347. /package/dist/{types/utils → utils}/handleRefreshToken.d.ts +0 -0
  348. /package/dist/{types/utils → utils}/logger.d.ts +0 -0
  349. /package/dist/{types/utils → utils}/sessionUtils.d.ts +0 -0
@@ -1,2376 +0,0 @@
1
- import { f as __commonJS, h as __toESM, i as require_dynamic_rendering_utils, l as require_work_async_storage_external, m as __toDynamicImportESM, n as require_bailout_to_csr, o as require_hooks_server_context, p as __require, s as require_work_unit_async_storage_external, t as require_dynamic_rendering, u as require_async_local_storage } from "./dynamic-rendering-CXn-s32e.js";
2
- import { n as require_headers, t as SessionManager_default } from "./SessionManager-BvmZ19QF.js";
3
- import { t as getSessionId_default } from "./getSessionId-_7hj8QSX.js";
4
- import { t as require_segment } from "./segment-DRUZ6e3T.js";
5
- import { EmbeddedSignInFlowStatus, ThunderIDAPIError, ThunderIDNodeClient, ThunderIDRuntimeError, createLogger, createOrganization, deriveOrganizationHandleFromBaseUrl, extractUserClaimsFromIdToken, flattenUserSchema, generateFlattenedUserProfile, generateSessionId, generateUserProfile, getAllOrganizations, getBrandingPreference, getMeOrganizations, getOrganization, getSchemas, getScim2Me, isEmpty, logger, updateMeProfile } from "@thunderid/node";
6
- import { createContext, useEffect, useMemo, useRef, useState } from "react";
7
- import { BrandingProvider, FlowMetaProvider, FlowProvider, I18nProvider, OrganizationProvider, ThemeProvider, UserProvider, getActiveTheme } from "@thunderid/react";
8
-
9
- //#region src/server/actions/getClientOrigin.ts
10
- var import_headers$7 = /* @__PURE__ */ __toESM(require_headers(), 1);
11
- const getClientOrigin = async () => {
12
- const headersList = await (0, import_headers$7.headers)();
13
- const host = headersList.get("host");
14
- return `${headersList.get("x-forwarded-proto") ?? "http"}://${host}`;
15
- };
16
- var getClientOrigin_default = getClientOrigin;
17
-
18
- //#endregion
19
- //#region src/utils/decorateConfigWithNextEnv.ts
20
- const decorateConfigWithNextEnv = (config) => {
21
- const { organizationHandle, scopes, applicationId, baseUrl, clientId, clientSecret, signInUrl, signUpUrl, afterSignInUrl, afterSignOutUrl,...rest } = config;
22
- const envExpiryTime = process.env["THUNDERID_SESSION_COOKIE_EXPIRY_TIME"] ? parseInt(process.env["THUNDERID_SESSION_COOKIE_EXPIRY_TIME"], 10) : void 0;
23
- return {
24
- ...rest,
25
- afterSignInUrl: afterSignInUrl || process.env["NEXT_PUBLIC_THUNDERID_AFTER_SIGN_IN_URL"],
26
- afterSignOutUrl: afterSignOutUrl || process.env["NEXT_PUBLIC_THUNDERID_AFTER_SIGN_OUT_URL"],
27
- applicationId: applicationId || process.env["NEXT_PUBLIC_THUNDERID_APPLICATION_ID"],
28
- baseUrl: baseUrl || process.env["NEXT_PUBLIC_THUNDERID_BASE_URL"],
29
- clientId: clientId || process.env["NEXT_PUBLIC_THUNDERID_CLIENT_ID"],
30
- clientSecret: clientSecret || process.env["THUNDERID_CLIENT_SECRET"],
31
- organizationHandle: organizationHandle || process.env["NEXT_PUBLIC_THUNDERID_ORGANIZATION_HANDLE"],
32
- scopes: scopes || process.env["NEXT_PUBLIC_THUNDERID_SCOPES"],
33
- sessionCookie: {
34
- ...rest.sessionCookie,
35
- expiryTime: rest.sessionCookie?.expiryTime || envExpiryTime
36
- },
37
- signInUrl: signInUrl || process.env["NEXT_PUBLIC_THUNDERID_SIGN_IN_URL"],
38
- signUpUrl: signUpUrl || process.env["NEXT_PUBLIC_THUNDERID_SIGN_UP_URL"]
39
- };
40
- };
41
- var decorateConfigWithNextEnv_default = decorateConfigWithNextEnv;
42
-
43
- //#endregion
44
- //#region src/ThunderIDNextClient.ts
45
- var ThunderIDNextClient = class extends ThunderIDNodeClient {
46
- isInitialized = false;
47
- constructor() {
48
- super();
49
- }
50
- async ensureInitialized() {
51
- if (!this.isInitialized) throw new Error("[ThunderIDNextClient] Client is not initialized. Make sure you have wrapped your app with ThunderIDProvider and provided the required configuration (baseUrl, clientId, etc.).");
52
- }
53
- async initialize(config, storage) {
54
- if (this.isInitialized) return Promise.resolve(true);
55
- const { baseUrl, organizationHandle, clientId, clientSecret, signInUrl, afterSignInUrl, afterSignOutUrl, signUpUrl,...rest } = decorateConfigWithNextEnv_default(config);
56
- let resolvedOrganizationHandle = organizationHandle;
57
- if (!resolvedOrganizationHandle) resolvedOrganizationHandle = deriveOrganizationHandleFromBaseUrl(baseUrl);
58
- const origin = await getClientOrigin_default();
59
- const initialized = await super.initialize({
60
- ...rest,
61
- afterSignInUrl: afterSignInUrl ?? origin,
62
- afterSignOutUrl: afterSignOutUrl ?? origin,
63
- baseUrl,
64
- clientId,
65
- clientSecret,
66
- enablePKCE: clientSecret == null,
67
- organizationHandle: resolvedOrganizationHandle,
68
- signInUrl,
69
- signUpUrl
70
- }, storage);
71
- this.isInitialized = initialized;
72
- return initialized;
73
- }
74
- async reInitialize(config) {
75
- try {
76
- await super.reInitialize(config);
77
- return true;
78
- } catch (error) {
79
- throw new ThunderIDRuntimeError(`Failed to re-initialize the client: ${error instanceof Error ? error.message : String(error)}`, "ThunderIDNextClient-reInitialize-RuntimeError-001", "nextjs", "An error occurred while re-initializing the client. Please check your configuration and network connection.");
80
- }
81
- }
82
- async getUser(userId) {
83
- await this.ensureInitialized();
84
- const resolvedSessionId = userId || await getSessionId_default();
85
- try {
86
- const baseUrl = (await this.getStorageManager().getConfigData())?.baseUrl;
87
- return generateUserProfile(await getScim2Me({
88
- baseUrl,
89
- headers: { Authorization: `Bearer ${await this.getAccessToken(userId)}` }
90
- }), flattenUserSchema(await getSchemas({
91
- baseUrl,
92
- headers: { Authorization: `Bearer ${await this.getAccessToken(userId)}` }
93
- })));
94
- } catch (error) {
95
- return await super.getUser(resolvedSessionId);
96
- }
97
- }
98
- async getUserProfile(userId) {
99
- await this.ensureInitialized();
100
- try {
101
- const baseUrl = (await this.getStorageManager().getConfigData())?.baseUrl;
102
- const profile = await getScim2Me({
103
- baseUrl,
104
- headers: { Authorization: `Bearer ${await this.getAccessToken(userId)}` }
105
- });
106
- const processedSchemas = flattenUserSchema(await getSchemas({
107
- baseUrl,
108
- headers: { Authorization: `Bearer ${await this.getAccessToken(userId)}` }
109
- }));
110
- return {
111
- flattenedProfile: generateFlattenedUserProfile(profile, processedSchemas),
112
- profile,
113
- schemas: processedSchemas
114
- };
115
- } catch (error) {
116
- return {
117
- flattenedProfile: extractUserClaimsFromIdToken(await super.getDecodedIdToken(userId)),
118
- profile: extractUserClaimsFromIdToken(await super.getDecodedIdToken(userId)),
119
- schemas: []
120
- };
121
- }
122
- }
123
- async updateUserProfile(payload, userId) {
124
- await this.ensureInitialized();
125
- try {
126
- const baseUrl = (await this.getStorageManager().getConfigData())?.baseUrl;
127
- return updateMeProfile({
128
- baseUrl,
129
- headers: { Authorization: `Bearer ${await this.getAccessToken(userId)}` },
130
- payload
131
- });
132
- } catch (error) {
133
- throw new ThunderIDRuntimeError(`Failed to update user profile: ${error instanceof Error ? error.message : String(error)}`, "ThunderIDNextClient-UpdateProfileError-001", "react", "An error occurred while updating the user profile. Please check your configuration and network connection.");
134
- }
135
- }
136
- async createOrganization(payload, userId) {
137
- try {
138
- const baseUrl = (await this.getStorageManager().getConfigData())?.baseUrl;
139
- return createOrganization({
140
- baseUrl,
141
- headers: { Authorization: `Bearer ${await this.getAccessToken(userId)}` },
142
- payload
143
- });
144
- } catch (error) {
145
- throw new ThunderIDRuntimeError(`Failed to create organization: ${error instanceof Error ? error.message : String(error)}`, "ThunderIDReactClient-createOrganization-RuntimeError-001", "nextjs", "An error occurred while creating the organization. Please check your configuration and network connection.");
146
- }
147
- }
148
- async getOrganization(organizationId, userId) {
149
- try {
150
- const baseUrl = (await this.getStorageManager().getConfigData())?.baseUrl;
151
- return getOrganization({
152
- baseUrl,
153
- headers: { Authorization: `Bearer ${await this.getAccessToken(userId)}` },
154
- organizationId
155
- });
156
- } catch (error) {
157
- throw new ThunderIDRuntimeError(`Failed to fetch the organization details of ${organizationId}: ${String(error)}`, "ThunderIDReactClient-getOrganization-RuntimeError-001", "nextjs", `An error occurred while fetching the organization with the id: ${organizationId}.`);
158
- }
159
- }
160
- async getMyOrganizations(options, userId) {
161
- try {
162
- const baseUrl = (await this.getStorageManager().getConfigData())?.baseUrl;
163
- return getMeOrganizations({
164
- baseUrl,
165
- headers: { Authorization: `Bearer ${await this.getAccessToken(userId)}` }
166
- });
167
- } catch (error) {
168
- throw new ThunderIDRuntimeError(`Failed to fetch the user's associated organizations: ${error instanceof Error ? error.message : String(error)}`, "ThunderIDNextClient-getMyOrganizations-RuntimeError-001", "nextjs", "An error occurred while fetching associated organizations of the signed-in user.");
169
- }
170
- }
171
- async getAllOrganizations(options, userId) {
172
- try {
173
- const baseUrl = (await this.getStorageManager().getConfigData())?.baseUrl;
174
- return getAllOrganizations({
175
- baseUrl,
176
- headers: { Authorization: `Bearer ${await this.getAccessToken(userId)}` }
177
- });
178
- } catch (error) {
179
- throw new ThunderIDRuntimeError(`Failed to fetch all organizations: ${error instanceof Error ? error.message : String(error)}`, "ThunderIDNextClient-getAllOrganizations-RuntimeError-001", "nextjs", "An error occurred while fetching all the organizations associated with the user.");
180
- }
181
- }
182
- async getCurrentOrganization(userId) {
183
- const idToken = await super.getDecodedIdToken(userId);
184
- return {
185
- id: idToken?.org_id,
186
- name: idToken?.org_name,
187
- orgHandle: idToken?.org_handle
188
- };
189
- }
190
- async switchOrganization(organization, userId) {
191
- try {
192
- if (!organization.id) throw new ThunderIDRuntimeError("Organization ID is required for switching organizations", "ThunderIDNextClient-switchOrganization-ValidationError-001", "nextjs", "The organization object must contain a valid ID to perform the organization switch.");
193
- const exchangeConfig = {
194
- attachToken: false,
195
- data: {
196
- client_id: "{{clientId}}",
197
- client_secret: "{{clientSecret}}",
198
- grant_type: "organization_switch",
199
- scope: "{{scopes}}",
200
- switching_organization: organization.id,
201
- token: "{{accessToken}}"
202
- },
203
- id: "organization-switch",
204
- returnsSession: true,
205
- signInRequired: true
206
- };
207
- return super.exchangeToken(exchangeConfig, userId);
208
- } catch (error) {
209
- throw new ThunderIDRuntimeError(`Failed to switch organization: ${error instanceof Error ? error.message : String(JSON.stringify(error))}`, "ThunderIDReactClient-RuntimeError-003", "nextjs", "An error occurred while switching to the specified organization. Please try again.");
210
- }
211
- }
212
- isLoading() {
213
- return false;
214
- }
215
- isSignedIn(sessionId) {
216
- return super.isSignedIn(sessionId);
217
- }
218
- exchangeToken(config, sessionId) {
219
- return super.exchangeToken(config, sessionId);
220
- }
221
- async getAccessToken(_sessionId) {
222
- const { default: getAccessToken } = await import("./getAccessToken-oRxArjVC.js");
223
- const token = await getAccessToken();
224
- if (typeof token !== "string" || !token) throw new ThunderIDRuntimeError("Failed to get access token.", "ThunderIDNextClient-getAccessToken-RuntimeError-003", "nextjs", "An error occurred while obtaining the access token. Please check your configuration and network connection.");
225
- return token;
226
- }
227
- async getDecodedIdToken(sessionId, idToken) {
228
- await this.ensureInitialized();
229
- return await super.getDecodedIdToken(sessionId, idToken);
230
- }
231
- async signIn(...args) {
232
- const arg1 = args[0];
233
- args[1];
234
- const arg3 = args[2];
235
- const arg4 = args[3];
236
- return super.signIn(arg4, arg3, arg1?.code, arg1?.session_state, arg1?.state, arg1);
237
- }
238
- async signOut(...args) {
239
- if (args[1] && typeof args[1] !== "string") throw new Error("The second argument must be a string.");
240
- const afterSignOutUrl = this.getConfiguration()?.afterSignOutUrl || "/";
241
- const resolvedSessionId = args[1] || await getSessionId_default();
242
- try {
243
- await super.signOut(resolvedSessionId);
244
- } catch (error) {
245
- if (!(error instanceof Error ? error.message : String(error)).includes("end_session_endpoint")) throw error;
246
- }
247
- return afterSignOutUrl;
248
- }
249
- async signUp(_options) {
250
- throw new ThunderIDRuntimeError("Not implemented", "ThunderIDNextClient-ValidationError-002", "nextjs", "The signUp method is not implemented in the Next.js client.");
251
- }
252
- signInSilently(_options) {
253
- throw new ThunderIDRuntimeError("Not implemented", "ThunderIDNextClient-signInSilently-NotImplementedError-001", "nextjs", "The signInSilently method is not implemented in the Next.js client.");
254
- }
255
- async getAuthorizeRequestUrl(customParams, userId) {
256
- await this.ensureInitialized();
257
- return this.getSignInUrl(customParams, userId);
258
- }
259
- getStorageManager() {
260
- return super.getStorageManager();
261
- }
262
- async clearSession() {
263
- throw new ThunderIDRuntimeError("Not implemented", "ThunderIDNextClient-clearSession-NotImplementedError-001", "nextjs", "The clearSession method is not implemented in the Next.js client.");
264
- }
265
- async setSession(sessionData, sessionId) {
266
- return this.getStorageManager().setSessionData(sessionData, sessionId);
267
- }
268
- decodeJwtToken(token) {
269
- return super.decodeJwtToken(token);
270
- }
271
- };
272
- var ThunderIDNextClient_default = ThunderIDNextClient;
273
-
274
- //#endregion
275
- //#region src/server/getClient.ts
276
- let _instance;
277
- /**
278
- * Returns the shared `ThunderIDNextClient` instance for this Node.js process.
279
- * Creates a new instance on first call; subsequent calls return the same instance.
280
- *
281
- * @returns The shared ThunderIDNextClient instance.
282
- */
283
- const getClient = () => {
284
- if (!_instance) _instance = new ThunderIDNextClient_default();
285
- return _instance;
286
- };
287
- var getClient_default = getClient;
288
-
289
- //#endregion
290
- //#region src/server/thunderid.ts
291
- const thunderid = async () => {
292
- const getAccessToken = async (sessionId) => {
293
- return getClient_default().getAccessToken(sessionId);
294
- };
295
- const getSessionId = async () => getSessionId_default();
296
- const exchangeToken = async (config, sessionId) => {
297
- return getClient_default().exchangeToken(config, sessionId);
298
- };
299
- const reInitialize = async (config) => {
300
- return getClient_default().reInitialize(config);
301
- };
302
- return {
303
- exchangeToken,
304
- getAccessToken,
305
- getSessionId,
306
- reInitialize
307
- };
308
- };
309
- var thunderid_default = thunderid;
310
-
311
- //#endregion
312
- //#region src/utils/logger.ts
313
- const logger$1 = createLogger({ level: "error" });
314
- var logger_default = logger$1;
315
-
316
- //#endregion
317
- //#region src/server/actions/clearSession.ts
318
- var import_headers$6 = /* @__PURE__ */ __toESM(require_headers(), 1);
319
- /**
320
- * Deletes all ThunderID session cookies from the browser without contacting the
321
- * identity server.
322
- *
323
- * Use this for error-recovery scenarios where the local session must be wiped
324
- * immediately: refresh token failures, corrupt sessions, or forced local sign-out
325
- * when the identity server is unreachable.
326
- *
327
- * For a complete sign-out that also revokes the server-side session and obtains the
328
- * after-sign-out redirect URL, use `signOutAction` instead.
329
- *
330
- * @example
331
- * ```typescript
332
- * import { clearSession } from '@thunderid/nextjs/server';
333
- *
334
- * // Inside a Server Action or Route Handler:
335
- * await clearSession();
336
- * redirect('/sign-in');
337
- * ```
338
- */
339
- const clearSession = async () => {
340
- const cookieStore = await (0, import_headers$6.cookies)();
341
- cookieStore.delete(SessionManager_default.getSessionCookieName());
342
- cookieStore.delete(SessionManager_default.getTempSessionCookieName());
343
- logger_default.debug("[clearSession] Session cookies cleared.");
344
- };
345
- var clearSession_default = clearSession;
346
-
347
- //#endregion
348
- //#region src/server/actions/createOrganization.ts
349
- /**
350
- * Server action to create an organization.
351
- */
352
- const createOrganization$1 = async (payload, sessionId) => {
353
- try {
354
- return await getClient_default().createOrganization(payload, sessionId ?? await getSessionId_default());
355
- } catch (error) {
356
- throw new ThunderIDAPIError(`Failed to create the organization: ${error instanceof Error ? error.message : String(error)}`, "createOrganization-ServerActionError-001", "nextjs", error instanceof ThunderIDAPIError ? error.statusCode : void 0);
357
- }
358
- };
359
- var createOrganization_default = createOrganization$1;
360
-
361
- //#endregion
362
- //#region src/server/actions/getAllOrganizations.ts
363
- /**
364
- * Server action to get organizations.
365
- */
366
- const getAllOrganizations$1 = async (options, sessionId) => {
367
- try {
368
- return await getClient_default().getAllOrganizations(options, sessionId ?? await getSessionId_default());
369
- } catch (error) {
370
- throw new ThunderIDAPIError(`Failed to get all the organizations for the user: ${error instanceof Error ? error.message : String(error)}`, "getAllOrganizations-ServerActionError-001", "nextjs", error instanceof ThunderIDAPIError ? error.statusCode : void 0);
371
- }
372
- };
373
- var getAllOrganizations_default = getAllOrganizations$1;
374
-
375
- //#endregion
376
- //#region src/server/actions/getBrandingPreference.ts
377
- /**
378
- * Server action to get branding preferences.
379
- */
380
- const getBrandingPreference$1 = async (config, sessionId) => {
381
- try {
382
- return await getBrandingPreference(config);
383
- } catch (error) {
384
- throw new ThunderIDAPIError(`Failed to get branding preferences: ${error instanceof Error ? error.message : String(error)}`, "getBrandingPreferenceAction-ServerActionError-001", "nextjs", error instanceof ThunderIDAPIError ? error.statusCode : void 0);
385
- }
386
- };
387
- var getBrandingPreference_default = getBrandingPreference$1;
388
-
389
- //#endregion
390
- //#region src/server/actions/getCurrentOrganizationAction.ts
391
- /**
392
- * Server action to create an organization.
393
- */
394
- const getCurrentOrganizationAction = async (sessionId) => {
395
- try {
396
- return {
397
- data: { organization: await getClient_default().getCurrentOrganization(sessionId) },
398
- error: null,
399
- success: true
400
- };
401
- } catch (error) {
402
- return {
403
- data: { user: {} },
404
- error: "Failed to get the current organization",
405
- success: false
406
- };
407
- }
408
- };
409
- var getCurrentOrganizationAction_default = getCurrentOrganizationAction;
410
-
411
- //#endregion
412
- //#region src/server/actions/getMyOrganizations.ts
413
- /**
414
- * Server action to get organizations.
415
- */
416
- const getMyOrganizations = async (options, sessionId) => {
417
- try {
418
- const client = getClient_default();
419
- let resolvedSessionId = sessionId;
420
- if (!resolvedSessionId) {
421
- const { default: getSessionId } = await import("./getSessionId-6IipYdCB.js");
422
- resolvedSessionId = await getSessionId();
423
- }
424
- if (!resolvedSessionId) throw new ThunderIDAPIError("No session ID available for fetching organizations", "getMyOrganizations-SessionError-001", "nextjs", 401);
425
- try {
426
- if (!await client.getAccessToken(resolvedSessionId)) throw new ThunderIDAPIError("No access token available - user is not signed in", "getMyOrganizations-NoAccessToken-001", "nextjs", 401);
427
- } catch (error) {
428
- console.error("[getMyOrganizations] Failed to get access token:", error);
429
- throw new ThunderIDAPIError("User is not signed in - access token retrieval failed", "getMyOrganizations-NotSignedIn-001", "nextjs", 401);
430
- }
431
- return await client.getMyOrganizations(options, resolvedSessionId);
432
- } catch (error) {
433
- throw new ThunderIDAPIError(`Failed to get the organizations for the user: ${error instanceof Error ? error.message : String(error)}`, "getMyOrganizations-ServerActionError-001", "nextjs", error instanceof ThunderIDAPIError ? error.statusCode : void 0);
434
- }
435
- };
436
- var getMyOrganizations_default = getMyOrganizations;
437
-
438
- //#endregion
439
- //#region src/server/actions/getSessionPayload.ts
440
- var import_headers$5 = /* @__PURE__ */ __toESM(require_headers(), 1);
441
- /**
442
- * Get the session payload from JWT session cookie.
443
- * This includes user ID, session ID, scopes, and organization ID.
444
- *
445
- * @returns The session payload if valid JWT session exists, undefined otherwise
446
- */
447
- const getSessionPayload = async () => {
448
- const sessionToken = (await (0, import_headers$5.cookies)()).get(SessionManager_default.getSessionCookieName())?.value;
449
- if (!sessionToken) return;
450
- try {
451
- return await SessionManager_default.verifySessionToken(sessionToken);
452
- } catch {
453
- return;
454
- }
455
- };
456
- var getSessionPayload_default = getSessionPayload;
457
-
458
- //#endregion
459
- //#region src/server/actions/getUserAction.ts
460
- /**
461
- * Server action to get the current user.
462
- * Returns the user profile if signed in.
463
- */
464
- const getUserAction = async (sessionId) => {
465
- try {
466
- return {
467
- data: { user: await getClient_default().getUser(sessionId) },
468
- error: null,
469
- success: true
470
- };
471
- } catch (error) {
472
- return {
473
- data: { user: null },
474
- error: "Failed to get user",
475
- success: false
476
- };
477
- }
478
- };
479
- var getUserAction_default = getUserAction;
480
-
481
- //#endregion
482
- //#region src/server/actions/getUserProfileAction.ts
483
- /**
484
- * Server action to get the current user.
485
- * Returns the user profile if signed in.
486
- */
487
- const getUserProfileAction = async (sessionId) => {
488
- try {
489
- return {
490
- data: { userProfile: await getClient_default().getUserProfile(sessionId) },
491
- error: null,
492
- success: true
493
- };
494
- } catch (error) {
495
- return {
496
- data: { userProfile: {
497
- flattenedProfile: {},
498
- profile: {},
499
- schemas: []
500
- } },
501
- error: "Failed to get user profile",
502
- success: false
503
- };
504
- }
505
- };
506
- var getUserProfileAction_default = getUserProfileAction;
507
-
508
- //#endregion
509
- //#region src/server/actions/handleOAuthCallbackAction.ts
510
- var import_headers$4 = /* @__PURE__ */ __toESM(require_headers(), 1);
511
- /**
512
- * Server action to handle OAuth callback with authorization code.
513
- * This action processes the authorization code received from the OAuth provider
514
- * and exchanges it for tokens to complete the authentication flow.
515
- *
516
- * @param code - Authorization code from OAuth provider
517
- * @param state - State parameter from OAuth provider for CSRF protection
518
- * @param sessionState - Session state parameter from OAuth provider
519
- * @returns Promise that resolves with success status and optional error message
520
- */
521
- const handleOAuthCallbackAction = async (code, state, sessionState) => {
522
- try {
523
- if (!code || !state) return {
524
- error: "Missing required OAuth parameters: code and state are required",
525
- success: false
526
- };
527
- const thunderIDClient = getClient_default();
528
- if (!thunderIDClient.isInitialized) return {
529
- error: "ThunderID client is not initialized",
530
- success: false
531
- };
532
- const cookieStore = await (0, import_headers$4.cookies)();
533
- let sessionId;
534
- const tempSessionToken = cookieStore.get(SessionManager_default.getTempSessionCookieName())?.value;
535
- if (tempSessionToken) try {
536
- sessionId = (await SessionManager_default.verifyTempSession(tempSessionToken)).sessionId;
537
- } catch {
538
- logger_default.error("[handleOAuthCallbackAction] Invalid temporary session token, falling back to session ID from cookies.");
539
- }
540
- if (!sessionId) {
541
- logger_default.error("[handleOAuthCallbackAction] No session ID found in cookies or temporary session token.");
542
- return {
543
- error: "No session found. Please start the authentication flow again.",
544
- success: false
545
- };
546
- }
547
- const signInResult = await thunderIDClient.signIn({
548
- code,
549
- session_state: sessionState,
550
- state
551
- }, {}, sessionId);
552
- const config = await thunderIDClient.getConfiguration();
553
- if (signInResult) try {
554
- const idToken = await thunderIDClient.getDecodedIdToken(sessionId, signInResult["id_token"] || signInResult["idToken"]);
555
- const accessToken = signInResult["accessToken"] || signInResult["access_token"];
556
- const refreshToken$1 = signInResult["refreshToken"] ?? "";
557
- const userIdFromToken = idToken.sub || signInResult["sub"] || sessionId;
558
- const scopes = signInResult["scope"];
559
- const organizationId = idToken["user_org"] || idToken["organization_id"];
560
- const expiresIn = signInResult["expiresIn"];
561
- const sessionCookieExpiryTime = SessionManager_default.resolveSessionCookieExpiry(config.sessionCookie?.expiryTime);
562
- const sessionToken = await SessionManager_default.createSessionToken(accessToken, userIdFromToken, sessionId, scopes, expiresIn, refreshToken$1, organizationId);
563
- cookieStore.set(SessionManager_default.getSessionCookieName(), sessionToken, SessionManager_default.getSessionCookieOptions(sessionCookieExpiryTime));
564
- cookieStore.delete(SessionManager_default.getTempSessionCookieName());
565
- } catch (error) {
566
- logger_default.error(`[handleOAuthCallbackAction] Failed to create JWT session, continuing with legacy session:
567
- ${typeof error === "string" ? error : JSON.stringify(error)}`);
568
- }
569
- return {
570
- redirectUrl: config.afterSignInUrl || "/",
571
- success: true
572
- };
573
- } catch (error) {
574
- let errorMessage = "Authentication failed";
575
- if (error instanceof Error) errorMessage = error.message;
576
- else if (error && typeof error === "object" && "message" in error) errorMessage = String(error.message);
577
- else if (typeof error === "string") errorMessage = error;
578
- return {
579
- error: errorMessage,
580
- success: false
581
- };
582
- }
583
- };
584
- var handleOAuthCallbackAction_default = handleOAuthCallbackAction;
585
-
586
- //#endregion
587
- //#region src/server/actions/isSignedIn.ts
588
- /**
589
- * Check if the user is currently signed in.
590
- *
591
- * For JWT-based sessions: the session JWT exp claim is now tied to the access
592
- * token expiry. A successful jwtVerify (inside getSessionPayload) already proves
593
- * exp > now, so no separate timestamp comparison is needed here.
594
- *
595
- * Falls back to the legacy SDK in-memory check when no JWT session cookie exists.
596
- *
597
- * @param sessionId - Optional session ID (used only for the legacy fallback path)
598
- * @returns True if the user is signed in with a valid, non-expired token
599
- */
600
- const isSignedIn = async (sessionId) => {
601
- try {
602
- if (await getSessionPayload_default()) return true;
603
- const resolvedSessionId = sessionId || await getSessionId_default();
604
- if (!resolvedSessionId) return false;
605
- const client = getClient_default();
606
- try {
607
- return !!await client.getAccessToken(resolvedSessionId);
608
- } catch {
609
- return false;
610
- }
611
- } catch {
612
- return false;
613
- }
614
- };
615
- var isSignedIn_default = isSignedIn;
616
-
617
- //#endregion
618
- //#region src/utils/handleRefreshToken.ts
619
- /**
620
- * Handles the OAuth refresh_token grant and builds a new session JWT string.
621
- *
622
- * Intentionally decoupled from cookie APIs so it can be called from both the Edge
623
- * Runtime (Next.js middleware) and the Node.js Runtime (server actions).
624
- * Cookie persistence is the caller's responsibility.
625
- */
626
- const handleRefreshToken = async (sessionPayload, config) => {
627
- const { baseUrl, clientId, clientSecret, sessionCookie } = config;
628
- const { refreshToken: storedRefreshToken, sessionId, sub, scopes, organizationId } = sessionPayload;
629
- if (!storedRefreshToken) throw new Error("No refresh token found in session payload.");
630
- const tokenEndpoint = `${baseUrl}/oauth2/token`;
631
- const body = new URLSearchParams({
632
- client_id: clientId ?? "",
633
- client_secret: clientSecret ?? "",
634
- grant_type: "refresh_token",
635
- refresh_token: storedRefreshToken
636
- });
637
- let response;
638
- try {
639
- response = await fetch(tokenEndpoint, {
640
- body: body.toString(),
641
- headers: { "Content-Type": "application/x-www-form-urlencoded" },
642
- method: "POST"
643
- });
644
- } catch (fetchError) {
645
- throw new Error(`Token refresh network error: ${fetchError instanceof Error ? fetchError.message : String(fetchError)}`);
646
- }
647
- if (!response.ok) throw new Error(`Token endpoint rejected refresh (HTTP ${response.status}).`);
648
- let tokenData;
649
- try {
650
- tokenData = await response.json();
651
- } catch {
652
- throw new Error("Failed to parse token endpoint response as JSON.");
653
- }
654
- const newAccessToken = tokenData["access_token"];
655
- const expiresIn = tokenData["expires_in"];
656
- const newRefreshToken = tokenData["refresh_token"] ?? storedRefreshToken;
657
- const newScopes = tokenData["scope"] ?? (Array.isArray(scopes) ? scopes.join(" ") : scopes ?? "");
658
- const resolvedSessionCookieExpiry = SessionManager_default.resolveSessionCookieExpiry(sessionCookie?.expiryTime);
659
- return {
660
- newSessionToken: await SessionManager_default.createSessionToken(newAccessToken, sub, sessionId, newScopes, expiresIn, newRefreshToken, organizationId),
661
- sessionCookieExpiryTime: resolvedSessionCookieExpiry,
662
- tokenResponse: {
663
- accessToken: newAccessToken,
664
- createdAt: Math.floor(Date.now() / 1e3),
665
- expiresIn: String(expiresIn),
666
- idToken: tokenData["id_token"] ?? "",
667
- refreshToken: newRefreshToken,
668
- scope: newScopes,
669
- tokenType: tokenData["token_type"] ?? "Bearer"
670
- }
671
- };
672
- };
673
- var handleRefreshToken_default = handleRefreshToken;
674
-
675
- //#endregion
676
- //#region src/server/actions/refreshToken.ts
677
- var import_headers$3 = /* @__PURE__ */ __toESM(require_headers(), 1);
678
- /**
679
- * Server action to refresh the access token using the stored refresh token.
680
- * Exchanges the refresh token for a new token set and updates the session cookie.
681
- *
682
- * Delegates the HTTP exchange to handleRefreshToken so the same logic is shared
683
- * with the middleware token refresh path.
684
- *
685
- * Called from the client side (e.g. ThunderIDClientProvider refreshOnMount) where
686
- * Next.js allows cookie mutation. When invoked during SSR rendering the cookie
687
- * write is silently skipped and a warning is logged.
688
- */
689
- const refreshToken = async () => {
690
- try {
691
- const cookieStore = await (0, import_headers$3.cookies)();
692
- const sessionToken = cookieStore.get(SessionManager_default.getSessionCookieName())?.value;
693
- if (!sessionToken) throw new ThunderIDAPIError("No active session found. User must be signed in to refresh the token.", "refreshToken-ServerActionError-002", "nextjs", 401);
694
- const sessionPayload = await SessionManager_default.verifySessionTokenForRefresh(sessionToken);
695
- const config = await getClient_default().getConfiguration();
696
- const result = await handleRefreshToken_default(sessionPayload, {
697
- baseUrl: config.baseUrl ?? "",
698
- clientId: config.clientId ?? "",
699
- clientSecret: config.clientSecret ?? "",
700
- sessionCookie: config.sessionCookie
701
- });
702
- try {
703
- cookieStore.set(SessionManager_default.getSessionCookieName(), result.newSessionToken, SessionManager_default.getSessionCookieOptions(result.sessionCookieExpiryTime));
704
- } catch {
705
- logger.warn("[refreshToken] Could not write session cookie — called from SSR rendering context.");
706
- }
707
- const rawExpiresIn = result.tokenResponse.expiresIn;
708
- const expiresInSeconds = parseInt(rawExpiresIn ?? "", 10);
709
- if (Number.isNaN(expiresInSeconds)) throw new Error(`[refreshToken] Invalid expiresIn value received: ${rawExpiresIn}`);
710
- const expiresAt = Math.floor(Date.now() / 1e3) + expiresInSeconds;
711
- logger.debug("[refreshToken] Token refresh succeeded.");
712
- return { expiresAt };
713
- } catch (error) {
714
- try {
715
- (await (0, import_headers$3.cookies)()).delete(SessionManager_default.getSessionCookieName());
716
- logger.debug("[refreshToken] Cleared session cookie after refresh failure.");
717
- } catch {}
718
- throw new ThunderIDAPIError(`Failed to refresh the session: ${error instanceof Error ? error.message : JSON.stringify(error)}`, "refreshToken-ServerActionError-001", "nextjs", error instanceof ThunderIDAPIError ? error.statusCode : void 0);
719
- }
720
- };
721
- var refreshToken_default = refreshToken;
722
-
723
- //#endregion
724
- //#region src/server/actions/signInAction.ts
725
- var import_headers$2 = /* @__PURE__ */ __toESM(require_headers(), 1);
726
- /**
727
- * Server action for signing in a user.
728
- * Handles the embedded sign-in flow and manages session cookies.
729
- *
730
- * @param payload - The embedded sign-in flow payload
731
- * @param request - The embedded flow execute request config
732
- * @returns Promise that resolves when sign-in is complete
733
- */
734
- const signInAction = async (payload, request) => {
735
- try {
736
- const client = getClient_default();
737
- const cookieStore = await (0, import_headers$2.cookies)();
738
- let sessionId;
739
- const existingSessionToken = cookieStore.get(SessionManager_default.getSessionCookieName())?.value;
740
- if (existingSessionToken) try {
741
- sessionId = (await SessionManager_default.verifySessionToken(existingSessionToken)).sessionId;
742
- } catch {}
743
- if (!sessionId) {
744
- const tempSessionToken = cookieStore.get(SessionManager_default.getTempSessionCookieName())?.value;
745
- if (tempSessionToken) try {
746
- sessionId = (await SessionManager_default.verifyTempSession(tempSessionToken)).sessionId;
747
- } catch {}
748
- }
749
- if (!sessionId) {
750
- sessionId = generateSessionId();
751
- const tempSessionToken = await SessionManager_default.createTempSession(sessionId);
752
- cookieStore.set(SessionManager_default.getTempSessionCookieName(), tempSessionToken, SessionManager_default.getTempSessionCookieOptions());
753
- }
754
- if (!payload || isEmpty(payload)) {
755
- const defaultSignInUrl = await client.getAuthorizeRequestUrl({}, sessionId);
756
- return {
757
- data: { signInUrl: String(defaultSignInUrl) },
758
- success: true
759
- };
760
- }
761
- const response = await client.signIn(payload, request, sessionId);
762
- if (response.flowStatus === EmbeddedSignInFlowStatus.Complete) {
763
- const signInResult = await client.signIn({
764
- code: response?.authData?.code,
765
- session_state: response?.authData?.session_state,
766
- state: response?.authData?.state
767
- }, {}, sessionId);
768
- if (signInResult) {
769
- const idToken = await client.getDecodedIdToken(sessionId, signInResult["idToken"] || signInResult["id_token"]);
770
- const userIdFromToken = idToken.sub || signInResult["sub"] || sessionId;
771
- const { accessToken } = signInResult;
772
- const refreshToken$1 = signInResult["refreshToken"] ?? "";
773
- const scopes = signInResult["scope"];
774
- const organizationId = idToken["user_org"] || idToken["organization_id"];
775
- const rawExpiresIn = signInResult["expiresIn"] ?? signInResult["expires_in"];
776
- const expiresIn = Number(rawExpiresIn);
777
- if (Number.isNaN(expiresIn)) throw new Error(`[signInAction] Invalid expiresIn value received: ${rawExpiresIn}`);
778
- const config = await client.getConfiguration();
779
- const sessionCookieExpiryTime = SessionManager_default.resolveSessionCookieExpiry(config.sessionCookie?.expiryTime);
780
- const sessionToken = await SessionManager_default.createSessionToken(accessToken, userIdFromToken, sessionId, scopes, expiresIn, refreshToken$1, organizationId);
781
- cookieStore.set(SessionManager_default.getSessionCookieName(), sessionToken, SessionManager_default.getSessionCookieOptions(sessionCookieExpiryTime));
782
- cookieStore.delete(SessionManager_default.getTempSessionCookieName());
783
- }
784
- const afterSignInUrl = await (await client.getStorageManager()).getConfigDataParameter("afterSignInUrl");
785
- return {
786
- data: { afterSignInUrl: String(afterSignInUrl) },
787
- success: true
788
- };
789
- }
790
- return {
791
- data: response,
792
- success: true
793
- };
794
- } catch (error) {
795
- logger_default.error(`[signInAction] Error during sign-in: ${error instanceof Error ? error.message : String(error)}`);
796
- return {
797
- error: String(error),
798
- success: false
799
- };
800
- }
801
- };
802
- var signInAction_default = signInAction;
803
-
804
- //#endregion
805
- //#region src/server/actions/signOutAction.ts
806
- var import_headers$1 = /* @__PURE__ */ __toESM(require_headers(), 1);
807
- /**
808
- * Server action for signing out a user.
809
- * Clears both JWT and legacy session cookies.
810
- *
811
- * @returns Promise that resolves with success status and optional after sign-out URL
812
- */
813
- const signOutAction = async () => {
814
- logger_default.debug("[signOutAction] Initiating sign out process from the server action.");
815
- const clearSessionCookies = async () => {
816
- const cookieStore = await (0, import_headers$1.cookies)();
817
- cookieStore.delete(SessionManager_default.getSessionCookieName());
818
- cookieStore.delete(SessionManager_default.getTempSessionCookieName());
819
- };
820
- try {
821
- const client = getClient_default();
822
- const sessionId = await getSessionId_default();
823
- let afterSignOutUrl = "/";
824
- if (sessionId) {
825
- logger_default.debug("[signOutAction] Session ID found, invoking the `signOut` to obtain the `afterSignOutUrl`.");
826
- afterSignOutUrl = await client.signOut({}, sessionId);
827
- }
828
- await clearSessionCookies();
829
- return {
830
- data: { afterSignOutUrl },
831
- success: true
832
- };
833
- } catch (error) {
834
- logger_default.error("[signOutAction] Error during sign out from the server action:", error);
835
- logger_default.debug("[signOutAction] Clearing session cookies due to error as a fallback.");
836
- await clearSessionCookies();
837
- let errorMessage;
838
- if (typeof error === "string") errorMessage = error;
839
- else if (error instanceof Error) errorMessage = error.message;
840
- else errorMessage = JSON.stringify(error);
841
- return {
842
- error: errorMessage,
843
- success: false
844
- };
845
- }
846
- };
847
- var signOutAction_default = signOutAction;
848
-
849
- //#endregion
850
- //#region src/server/actions/signUpAction.ts
851
- /**
852
- * Server action for initiating the sign-up redirect flow.
853
- */
854
- const signUpAction = async () => {
855
- try {
856
- return {
857
- data: { signUpUrl: getClient_default().getConfiguration()?.signUpUrl ?? "" },
858
- success: true
859
- };
860
- } catch (error) {
861
- return {
862
- error: String(error),
863
- success: false
864
- };
865
- }
866
- };
867
- var signUpAction_default = signUpAction;
868
-
869
- //#endregion
870
- //#region src/server/actions/switchOrganization.ts
871
- var import_headers = /* @__PURE__ */ __toESM(require_headers(), 1);
872
- /**
873
- * Server action to switch organization.
874
- */
875
- const switchOrganization = async (organization, sessionId) => {
876
- try {
877
- const cookieStore = await (0, import_headers.cookies)();
878
- const client = getClient_default();
879
- const resolvedSessionId = sessionId ?? await getSessionId_default();
880
- const response = await client.switchOrganization(organization, resolvedSessionId);
881
- const { revalidatePath } = await import("./cache-DOmEIb7_.js").then(__toDynamicImportESM(1));
882
- revalidatePath("/");
883
- if (response && response.accessToken) {
884
- const tokenResponse = response;
885
- const idToken = await client.getDecodedIdToken(resolvedSessionId, tokenResponse.idToken);
886
- const userIdFromToken = idToken.sub;
887
- const organizationId = idToken["user_org"] || idToken["organization_id"];
888
- const config = await client.getConfiguration();
889
- const sessionCookieExpiryTime = SessionManager_default.resolveSessionCookieExpiry(config.sessionCookie?.expiryTime);
890
- const expiresIn = parseInt(tokenResponse.expiresIn, 10);
891
- const sessionToken = await SessionManager_default.createSessionToken(tokenResponse.accessToken, userIdFromToken, resolvedSessionId, tokenResponse.scope, expiresIn, tokenResponse.refreshToken ?? "", organizationId);
892
- logger_default.debug("[switchOrganization] Session token created successfully.");
893
- cookieStore.set(SessionManager_default.getSessionCookieName(), sessionToken, SessionManager_default.getSessionCookieOptions(sessionCookieExpiryTime));
894
- }
895
- return response;
896
- } catch (error) {
897
- throw new ThunderIDAPIError(`Failed to switch the organizations: ${error instanceof Error ? error.message : String(JSON.stringify(error))}`, "switchOrganization-ServerActionError-001", "nextjs", error instanceof ThunderIDAPIError ? error.statusCode : void 0);
898
- }
899
- };
900
- var switchOrganization_default = switchOrganization;
901
-
902
- //#endregion
903
- //#region src/server/actions/updateUserProfileAction.ts
904
- /**
905
- * Server action to get the current user.
906
- * Returns the user profile if signed in.
907
- */
908
- const updateUserProfileAction = async (payload, sessionId) => {
909
- try {
910
- return {
911
- data: { user: await getClient_default().updateUserProfile(payload, sessionId) },
912
- error: "",
913
- success: true
914
- };
915
- } catch (error) {
916
- return {
917
- data: { user: {} },
918
- error: `Failed to get user profile: ${error instanceof Error ? error.message : String(error)}`,
919
- success: false
920
- };
921
- }
922
- };
923
- var updateUserProfileAction_default = updateUserProfileAction;
924
-
925
- //#endregion
926
- //#region ../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_default.cjs
927
- var require__interop_require_default = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_default.cjs": ((exports) => {
928
- function _interop_require_default(obj) {
929
- return obj && obj.__esModule ? obj : { default: obj };
930
- }
931
- exports._ = _interop_require_default;
932
- }) });
933
-
934
- //#endregion
935
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js
936
- var require_app_router_context_shared_runtime = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js": ((exports) => {
937
- Object.defineProperty(exports, "__esModule", { value: true });
938
- function _export$8(target, all) {
939
- for (var name in all) Object.defineProperty(target, name, {
940
- enumerable: true,
941
- get: all[name]
942
- });
943
- }
944
- _export$8(exports, {
945
- AppRouterContext: function() {
946
- return AppRouterContext;
947
- },
948
- GlobalLayoutRouterContext: function() {
949
- return GlobalLayoutRouterContext;
950
- },
951
- LayoutRouterContext: function() {
952
- return LayoutRouterContext;
953
- },
954
- MissingSlotContext: function() {
955
- return MissingSlotContext;
956
- },
957
- TemplateContext: function() {
958
- return TemplateContext;
959
- }
960
- });
961
- const _react$3 = /* @__PURE__ */ require__interop_require_default()._(__require("react"));
962
- const AppRouterContext = _react$3.default.createContext(null);
963
- const LayoutRouterContext = _react$3.default.createContext(null);
964
- const GlobalLayoutRouterContext = _react$3.default.createContext(null);
965
- const TemplateContext = _react$3.default.createContext(null);
966
- if (process.env.NODE_ENV !== "production") {
967
- AppRouterContext.displayName = "AppRouterContext";
968
- LayoutRouterContext.displayName = "LayoutRouterContext";
969
- GlobalLayoutRouterContext.displayName = "GlobalLayoutRouterContext";
970
- TemplateContext.displayName = "TemplateContext";
971
- }
972
- const MissingSlotContext = _react$3.default.createContext(/* @__PURE__ */ new Set());
973
- }) });
974
-
975
- //#endregion
976
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js
977
- var require_hooks_client_context_shared_runtime = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js": ((exports) => {
978
- Object.defineProperty(exports, "__esModule", { value: true });
979
- function _export$7(target, all) {
980
- for (var name in all) Object.defineProperty(target, name, {
981
- enumerable: true,
982
- get: all[name]
983
- });
984
- }
985
- _export$7(exports, {
986
- PathParamsContext: function() {
987
- return PathParamsContext;
988
- },
989
- PathnameContext: function() {
990
- return PathnameContext;
991
- },
992
- SearchParamsContext: function() {
993
- return SearchParamsContext;
994
- }
995
- });
996
- const _react$2 = __require("react");
997
- const SearchParamsContext = (0, _react$2.createContext)(null);
998
- const PathnameContext = (0, _react$2.createContext)(null);
999
- const PathParamsContext = (0, _react$2.createContext)(null);
1000
- if (process.env.NODE_ENV !== "production") {
1001
- SearchParamsContext.displayName = "SearchParamsContext";
1002
- PathnameContext.displayName = "PathnameContext";
1003
- PathParamsContext.displayName = "PathParamsContext";
1004
- }
1005
- }) });
1006
-
1007
- //#endregion
1008
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js
1009
- var require_get_segment_value = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js": ((exports, module) => {
1010
- Object.defineProperty(exports, "__esModule", { value: true });
1011
- Object.defineProperty(exports, "getSegmentValue", {
1012
- enumerable: true,
1013
- get: function() {
1014
- return getSegmentValue;
1015
- }
1016
- });
1017
- function getSegmentValue(segment) {
1018
- return Array.isArray(segment) ? segment[1] : segment;
1019
- }
1020
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1021
- Object.defineProperty(exports.default, "__esModule", { value: true });
1022
- Object.assign(exports.default, exports);
1023
- module.exports = exports.default;
1024
- }
1025
- }) });
1026
-
1027
- //#endregion
1028
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/redirect-status-code.js
1029
- var require_redirect_status_code = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/redirect-status-code.js": ((exports, module) => {
1030
- Object.defineProperty(exports, "__esModule", { value: true });
1031
- Object.defineProperty(exports, "RedirectStatusCode", {
1032
- enumerable: true,
1033
- get: function() {
1034
- return RedirectStatusCode;
1035
- }
1036
- });
1037
- var RedirectStatusCode = /* @__PURE__ */ function(RedirectStatusCode$1) {
1038
- RedirectStatusCode$1[RedirectStatusCode$1["SeeOther"] = 303] = "SeeOther";
1039
- RedirectStatusCode$1[RedirectStatusCode$1["TemporaryRedirect"] = 307] = "TemporaryRedirect";
1040
- RedirectStatusCode$1[RedirectStatusCode$1["PermanentRedirect"] = 308] = "PermanentRedirect";
1041
- return RedirectStatusCode$1;
1042
- }({});
1043
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1044
- Object.defineProperty(exports.default, "__esModule", { value: true });
1045
- Object.assign(exports.default, exports);
1046
- module.exports = exports.default;
1047
- }
1048
- }) });
1049
-
1050
- //#endregion
1051
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/redirect-error.js
1052
- var require_redirect_error = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/redirect-error.js": ((exports, module) => {
1053
- Object.defineProperty(exports, "__esModule", { value: true });
1054
- function _export$6(target, all) {
1055
- for (var name in all) Object.defineProperty(target, name, {
1056
- enumerable: true,
1057
- get: all[name]
1058
- });
1059
- }
1060
- _export$6(exports, {
1061
- REDIRECT_ERROR_CODE: function() {
1062
- return REDIRECT_ERROR_CODE;
1063
- },
1064
- RedirectType: function() {
1065
- return RedirectType;
1066
- },
1067
- isRedirectError: function() {
1068
- return isRedirectError;
1069
- }
1070
- });
1071
- const _redirectstatuscode$1 = require_redirect_status_code();
1072
- const REDIRECT_ERROR_CODE = "NEXT_REDIRECT";
1073
- var RedirectType = /* @__PURE__ */ function(RedirectType$1) {
1074
- RedirectType$1["push"] = "push";
1075
- RedirectType$1["replace"] = "replace";
1076
- return RedirectType$1;
1077
- }({});
1078
- function isRedirectError(error) {
1079
- if (typeof error !== "object" || error === null || !("digest" in error) || typeof error.digest !== "string") return false;
1080
- const digest = error.digest.split(";");
1081
- const [errorCode, type] = digest;
1082
- const destination = digest.slice(2, -2).join(";");
1083
- const status = digest.at(-2);
1084
- const statusCode = Number(status);
1085
- return errorCode === REDIRECT_ERROR_CODE && (type === "replace" || type === "push") && typeof destination === "string" && !isNaN(statusCode) && statusCode in _redirectstatuscode$1.RedirectStatusCode;
1086
- }
1087
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1088
- Object.defineProperty(exports.default, "__esModule", { value: true });
1089
- Object.assign(exports.default, exports);
1090
- module.exports = exports.default;
1091
- }
1092
- }) });
1093
-
1094
- //#endregion
1095
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/server/app-render/action-async-storage-instance.js
1096
- var require_action_async_storage_instance = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/server/app-render/action-async-storage-instance.js": ((exports) => {
1097
- Object.defineProperty(exports, "__esModule", { value: true });
1098
- Object.defineProperty(exports, "actionAsyncStorageInstance", {
1099
- enumerable: true,
1100
- get: function() {
1101
- return actionAsyncStorageInstance;
1102
- }
1103
- });
1104
- const actionAsyncStorageInstance = (0, require_async_local_storage().createAsyncLocalStorage)();
1105
- }) });
1106
-
1107
- //#endregion
1108
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/server/app-render/action-async-storage.external.js
1109
- var require_action_async_storage_external = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/server/app-render/action-async-storage.external.js": ((exports) => {
1110
- Object.defineProperty(exports, "__esModule", { value: true });
1111
- Object.defineProperty(exports, "actionAsyncStorage", {
1112
- enumerable: true,
1113
- get: function() {
1114
- return _actionasyncstorageinstance.actionAsyncStorageInstance;
1115
- }
1116
- });
1117
- const _actionasyncstorageinstance = require_action_async_storage_instance();
1118
- }) });
1119
-
1120
- //#endregion
1121
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/redirect.js
1122
- var require_redirect = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/redirect.js": ((exports, module) => {
1123
- Object.defineProperty(exports, "__esModule", { value: true });
1124
- function _export$5(target, all) {
1125
- for (var name in all) Object.defineProperty(target, name, {
1126
- enumerable: true,
1127
- get: all[name]
1128
- });
1129
- }
1130
- _export$5(exports, {
1131
- getRedirectError: function() {
1132
- return getRedirectError;
1133
- },
1134
- getRedirectStatusCodeFromError: function() {
1135
- return getRedirectStatusCodeFromError;
1136
- },
1137
- getRedirectTypeFromError: function() {
1138
- return getRedirectTypeFromError;
1139
- },
1140
- getURLFromRedirectError: function() {
1141
- return getURLFromRedirectError;
1142
- },
1143
- permanentRedirect: function() {
1144
- return permanentRedirect;
1145
- },
1146
- redirect: function() {
1147
- return redirect;
1148
- }
1149
- });
1150
- const _redirectstatuscode = require_redirect_status_code();
1151
- const _redirecterror$2 = require_redirect_error();
1152
- const actionAsyncStorage = typeof window === "undefined" ? require_action_async_storage_external().actionAsyncStorage : void 0;
1153
- function getRedirectError(url, type, statusCode) {
1154
- if (statusCode === void 0) statusCode = _redirectstatuscode.RedirectStatusCode.TemporaryRedirect;
1155
- const error = Object.defineProperty(new Error(_redirecterror$2.REDIRECT_ERROR_CODE), "__NEXT_ERROR_CODE", {
1156
- value: "E394",
1157
- enumerable: false,
1158
- configurable: true
1159
- });
1160
- error.digest = _redirecterror$2.REDIRECT_ERROR_CODE + ";" + type + ";" + url + ";" + statusCode + ";";
1161
- return error;
1162
- }
1163
- function redirect(url, type) {
1164
- var _actionAsyncStorage_getStore;
1165
- type ??= (actionAsyncStorage == null ? void 0 : (_actionAsyncStorage_getStore = actionAsyncStorage.getStore()) == null ? void 0 : _actionAsyncStorage_getStore.isAction) ? _redirecterror$2.RedirectType.push : _redirecterror$2.RedirectType.replace;
1166
- throw getRedirectError(url, type, _redirectstatuscode.RedirectStatusCode.TemporaryRedirect);
1167
- }
1168
- function permanentRedirect(url, type) {
1169
- if (type === void 0) type = _redirecterror$2.RedirectType.replace;
1170
- throw getRedirectError(url, type, _redirectstatuscode.RedirectStatusCode.PermanentRedirect);
1171
- }
1172
- function getURLFromRedirectError(error) {
1173
- if (!(0, _redirecterror$2.isRedirectError)(error)) return null;
1174
- return error.digest.split(";").slice(2, -2).join(";");
1175
- }
1176
- function getRedirectTypeFromError(error) {
1177
- if (!(0, _redirecterror$2.isRedirectError)(error)) throw Object.defineProperty(/* @__PURE__ */ new Error("Not a redirect error"), "__NEXT_ERROR_CODE", {
1178
- value: "E260",
1179
- enumerable: false,
1180
- configurable: true
1181
- });
1182
- return error.digest.split(";", 2)[1];
1183
- }
1184
- function getRedirectStatusCodeFromError(error) {
1185
- if (!(0, _redirecterror$2.isRedirectError)(error)) throw Object.defineProperty(/* @__PURE__ */ new Error("Not a redirect error"), "__NEXT_ERROR_CODE", {
1186
- value: "E260",
1187
- enumerable: false,
1188
- configurable: true
1189
- });
1190
- return Number(error.digest.split(";").at(-2));
1191
- }
1192
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1193
- Object.defineProperty(exports.default, "__esModule", { value: true });
1194
- Object.assign(exports.default, exports);
1195
- module.exports = exports.default;
1196
- }
1197
- }) });
1198
-
1199
- //#endregion
1200
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js
1201
- var require_http_access_fallback = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/http-access-fallback/http-access-fallback.js": ((exports, module) => {
1202
- Object.defineProperty(exports, "__esModule", { value: true });
1203
- function _export$4(target, all) {
1204
- for (var name in all) Object.defineProperty(target, name, {
1205
- enumerable: true,
1206
- get: all[name]
1207
- });
1208
- }
1209
- _export$4(exports, {
1210
- HTTPAccessErrorStatus: function() {
1211
- return HTTPAccessErrorStatus;
1212
- },
1213
- HTTP_ERROR_FALLBACK_ERROR_CODE: function() {
1214
- return HTTP_ERROR_FALLBACK_ERROR_CODE;
1215
- },
1216
- getAccessFallbackErrorTypeByStatus: function() {
1217
- return getAccessFallbackErrorTypeByStatus;
1218
- },
1219
- getAccessFallbackHTTPStatus: function() {
1220
- return getAccessFallbackHTTPStatus;
1221
- },
1222
- isHTTPAccessFallbackError: function() {
1223
- return isHTTPAccessFallbackError;
1224
- }
1225
- });
1226
- const HTTPAccessErrorStatus = {
1227
- NOT_FOUND: 404,
1228
- FORBIDDEN: 403,
1229
- UNAUTHORIZED: 401
1230
- };
1231
- const ALLOWED_CODES = new Set(Object.values(HTTPAccessErrorStatus));
1232
- const HTTP_ERROR_FALLBACK_ERROR_CODE = "NEXT_HTTP_ERROR_FALLBACK";
1233
- function isHTTPAccessFallbackError(error) {
1234
- if (typeof error !== "object" || error === null || !("digest" in error) || typeof error.digest !== "string") return false;
1235
- const [prefix, httpStatus] = error.digest.split(";");
1236
- return prefix === HTTP_ERROR_FALLBACK_ERROR_CODE && ALLOWED_CODES.has(Number(httpStatus));
1237
- }
1238
- function getAccessFallbackHTTPStatus(error) {
1239
- const httpStatus = error.digest.split(";")[1];
1240
- return Number(httpStatus);
1241
- }
1242
- function getAccessFallbackErrorTypeByStatus(status) {
1243
- switch (status) {
1244
- case 401: return "unauthorized";
1245
- case 403: return "forbidden";
1246
- case 404: return "not-found";
1247
- default: return;
1248
- }
1249
- }
1250
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1251
- Object.defineProperty(exports.default, "__esModule", { value: true });
1252
- Object.assign(exports.default, exports);
1253
- module.exports = exports.default;
1254
- }
1255
- }) });
1256
-
1257
- //#endregion
1258
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/not-found.js
1259
- var require_not_found = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/not-found.js": ((exports, module) => {
1260
- Object.defineProperty(exports, "__esModule", { value: true });
1261
- Object.defineProperty(exports, "notFound", {
1262
- enumerable: true,
1263
- get: function() {
1264
- return notFound;
1265
- }
1266
- });
1267
- /**
1268
- * This function allows you to render the [not-found.js file](https://nextjs.org/docs/app/api-reference/file-conventions/not-found)
1269
- * within a route segment as well as inject a tag.
1270
- *
1271
- * `notFound()` can be used in
1272
- * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),
1273
- * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and
1274
- * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).
1275
- *
1276
- * - In a Server Component, this will insert a `<meta name="robots" content="noindex" />` meta tag and set the status code to 404.
1277
- * - In a Route Handler or Server Action, it will serve a 404 to the caller.
1278
- *
1279
- * Read more: [Next.js Docs: `notFound`](https://nextjs.org/docs/app/api-reference/functions/not-found)
1280
- */ const DIGEST$2 = "" + require_http_access_fallback().HTTP_ERROR_FALLBACK_ERROR_CODE + ";404";
1281
- function notFound() {
1282
- const error = Object.defineProperty(new Error(DIGEST$2), "__NEXT_ERROR_CODE", {
1283
- value: "E394",
1284
- enumerable: false,
1285
- configurable: true
1286
- });
1287
- error.digest = DIGEST$2;
1288
- throw error;
1289
- }
1290
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1291
- Object.defineProperty(exports.default, "__esModule", { value: true });
1292
- Object.assign(exports.default, exports);
1293
- module.exports = exports.default;
1294
- }
1295
- }) });
1296
-
1297
- //#endregion
1298
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/forbidden.js
1299
- var require_forbidden = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/forbidden.js": ((exports, module) => {
1300
- Object.defineProperty(exports, "__esModule", { value: true });
1301
- Object.defineProperty(exports, "forbidden", {
1302
- enumerable: true,
1303
- get: function() {
1304
- return forbidden;
1305
- }
1306
- });
1307
- /**
1308
- * @experimental
1309
- * This function allows you to render the [forbidden.js file](https://nextjs.org/docs/app/api-reference/file-conventions/forbidden)
1310
- * within a route segment as well as inject a tag.
1311
- *
1312
- * `forbidden()` can be used in
1313
- * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),
1314
- * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and
1315
- * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).
1316
- *
1317
- * Read more: [Next.js Docs: `forbidden`](https://nextjs.org/docs/app/api-reference/functions/forbidden)
1318
- */ const DIGEST$1 = "" + require_http_access_fallback().HTTP_ERROR_FALLBACK_ERROR_CODE + ";403";
1319
- function forbidden() {
1320
- if (!process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS) throw Object.defineProperty(/* @__PURE__ */ new Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."), "__NEXT_ERROR_CODE", {
1321
- value: "E488",
1322
- enumerable: false,
1323
- configurable: true
1324
- });
1325
- const error = Object.defineProperty(new Error(DIGEST$1), "__NEXT_ERROR_CODE", {
1326
- value: "E394",
1327
- enumerable: false,
1328
- configurable: true
1329
- });
1330
- error.digest = DIGEST$1;
1331
- throw error;
1332
- }
1333
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1334
- Object.defineProperty(exports.default, "__esModule", { value: true });
1335
- Object.assign(exports.default, exports);
1336
- module.exports = exports.default;
1337
- }
1338
- }) });
1339
-
1340
- //#endregion
1341
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/unauthorized.js
1342
- var require_unauthorized = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/unauthorized.js": ((exports, module) => {
1343
- Object.defineProperty(exports, "__esModule", { value: true });
1344
- Object.defineProperty(exports, "unauthorized", {
1345
- enumerable: true,
1346
- get: function() {
1347
- return unauthorized;
1348
- }
1349
- });
1350
- /**
1351
- * @experimental
1352
- * This function allows you to render the [unauthorized.js file](https://nextjs.org/docs/app/api-reference/file-conventions/unauthorized)
1353
- * within a route segment as well as inject a tag.
1354
- *
1355
- * `unauthorized()` can be used in
1356
- * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),
1357
- * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and
1358
- * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).
1359
- *
1360
- *
1361
- * Read more: [Next.js Docs: `unauthorized`](https://nextjs.org/docs/app/api-reference/functions/unauthorized)
1362
- */ const DIGEST = "" + require_http_access_fallback().HTTP_ERROR_FALLBACK_ERROR_CODE + ";401";
1363
- function unauthorized() {
1364
- if (!process.env.__NEXT_EXPERIMENTAL_AUTH_INTERRUPTS) throw Object.defineProperty(/* @__PURE__ */ new Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."), "__NEXT_ERROR_CODE", {
1365
- value: "E411",
1366
- enumerable: false,
1367
- configurable: true
1368
- });
1369
- const error = Object.defineProperty(new Error(DIGEST), "__NEXT_ERROR_CODE", {
1370
- value: "E394",
1371
- enumerable: false,
1372
- configurable: true
1373
- });
1374
- error.digest = DIGEST;
1375
- throw error;
1376
- }
1377
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1378
- Object.defineProperty(exports.default, "__esModule", { value: true });
1379
- Object.assign(exports.default, exports);
1380
- module.exports = exports.default;
1381
- }
1382
- }) });
1383
-
1384
- //#endregion
1385
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/server/lib/router-utils/is-postpone.js
1386
- var require_is_postpone = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/server/lib/router-utils/is-postpone.js": ((exports) => {
1387
- Object.defineProperty(exports, "__esModule", { value: true });
1388
- Object.defineProperty(exports, "isPostpone", {
1389
- enumerable: true,
1390
- get: function() {
1391
- return isPostpone;
1392
- }
1393
- });
1394
- const REACT_POSTPONE_TYPE = Symbol.for("react.postpone");
1395
- function isPostpone(error) {
1396
- return typeof error === "object" && error !== null && error.$$typeof === REACT_POSTPONE_TYPE;
1397
- }
1398
- }) });
1399
-
1400
- //#endregion
1401
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/is-next-router-error.js
1402
- var require_is_next_router_error = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/is-next-router-error.js": ((exports, module) => {
1403
- Object.defineProperty(exports, "__esModule", { value: true });
1404
- Object.defineProperty(exports, "isNextRouterError", {
1405
- enumerable: true,
1406
- get: function() {
1407
- return isNextRouterError;
1408
- }
1409
- });
1410
- const _httpaccessfallback = require_http_access_fallback();
1411
- const _redirecterror$1 = require_redirect_error();
1412
- function isNextRouterError(error) {
1413
- return (0, _redirecterror$1.isRedirectError)(error) || (0, _httpaccessfallback.isHTTPAccessFallbackError)(error);
1414
- }
1415
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1416
- Object.defineProperty(exports.default, "__esModule", { value: true });
1417
- Object.assign(exports.default, exports);
1418
- module.exports = exports.default;
1419
- }
1420
- }) });
1421
-
1422
- //#endregion
1423
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/unstable-rethrow.server.js
1424
- var require_unstable_rethrow_server = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/unstable-rethrow.server.js": ((exports, module) => {
1425
- Object.defineProperty(exports, "__esModule", { value: true });
1426
- Object.defineProperty(exports, "unstable_rethrow", {
1427
- enumerable: true,
1428
- get: function() {
1429
- return unstable_rethrow$2;
1430
- }
1431
- });
1432
- const _dynamicrenderingutils = require_dynamic_rendering_utils();
1433
- const _ispostpone = require_is_postpone();
1434
- const _bailouttocsr$2 = require_bailout_to_csr();
1435
- const _isnextroutererror$1 = require_is_next_router_error();
1436
- const _dynamicrendering = require_dynamic_rendering();
1437
- const _hooksservercontext = require_hooks_server_context();
1438
- function unstable_rethrow$2(error) {
1439
- if ((0, _isnextroutererror$1.isNextRouterError)(error) || (0, _bailouttocsr$2.isBailoutToCSRError)(error) || (0, _hooksservercontext.isDynamicServerError)(error) || (0, _dynamicrendering.isDynamicPostpone)(error) || (0, _ispostpone.isPostpone)(error) || (0, _dynamicrenderingutils.isHangingPromiseRejectionError)(error)) throw error;
1440
- if (error instanceof Error && "cause" in error) unstable_rethrow$2(error.cause);
1441
- }
1442
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1443
- Object.defineProperty(exports.default, "__esModule", { value: true });
1444
- Object.assign(exports.default, exports);
1445
- module.exports = exports.default;
1446
- }
1447
- }) });
1448
-
1449
- //#endregion
1450
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/unstable-rethrow.browser.js
1451
- var require_unstable_rethrow_browser = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/unstable-rethrow.browser.js": ((exports, module) => {
1452
- Object.defineProperty(exports, "__esModule", { value: true });
1453
- Object.defineProperty(exports, "unstable_rethrow", {
1454
- enumerable: true,
1455
- get: function() {
1456
- return unstable_rethrow$1;
1457
- }
1458
- });
1459
- const _bailouttocsr$1 = require_bailout_to_csr();
1460
- const _isnextroutererror = require_is_next_router_error();
1461
- function unstable_rethrow$1(error) {
1462
- if ((0, _isnextroutererror.isNextRouterError)(error) || (0, _bailouttocsr$1.isBailoutToCSRError)(error)) throw error;
1463
- if (error instanceof Error && "cause" in error) unstable_rethrow$1(error.cause);
1464
- }
1465
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1466
- Object.defineProperty(exports.default, "__esModule", { value: true });
1467
- Object.assign(exports.default, exports);
1468
- module.exports = exports.default;
1469
- }
1470
- }) });
1471
-
1472
- //#endregion
1473
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/unstable-rethrow.js
1474
- var require_unstable_rethrow = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/unstable-rethrow.js": ((exports, module) => {
1475
- Object.defineProperty(exports, "__esModule", { value: true });
1476
- Object.defineProperty(exports, "unstable_rethrow", {
1477
- enumerable: true,
1478
- get: function() {
1479
- return unstable_rethrow;
1480
- }
1481
- });
1482
- const unstable_rethrow = typeof window === "undefined" ? require_unstable_rethrow_server().unstable_rethrow : require_unstable_rethrow_browser().unstable_rethrow;
1483
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1484
- Object.defineProperty(exports.default, "__esModule", { value: true });
1485
- Object.assign(exports.default, exports);
1486
- module.exports = exports.default;
1487
- }
1488
- }) });
1489
-
1490
- //#endregion
1491
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/navigation.react-server.js
1492
- var require_navigation_react_server = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/navigation.react-server.js": ((exports, module) => {
1493
- Object.defineProperty(exports, "__esModule", { value: true });
1494
- function _export$3(target, all) {
1495
- for (var name in all) Object.defineProperty(target, name, {
1496
- enumerable: true,
1497
- get: all[name]
1498
- });
1499
- }
1500
- _export$3(exports, {
1501
- ReadonlyURLSearchParams: function() {
1502
- return ReadonlyURLSearchParams;
1503
- },
1504
- RedirectType: function() {
1505
- return _redirecterror.RedirectType;
1506
- },
1507
- forbidden: function() {
1508
- return _forbidden.forbidden;
1509
- },
1510
- notFound: function() {
1511
- return _notfound.notFound;
1512
- },
1513
- permanentRedirect: function() {
1514
- return _redirect.permanentRedirect;
1515
- },
1516
- redirect: function() {
1517
- return _redirect.redirect;
1518
- },
1519
- unauthorized: function() {
1520
- return _unauthorized.unauthorized;
1521
- },
1522
- unstable_isUnrecognizedActionError: function() {
1523
- return unstable_isUnrecognizedActionError$1;
1524
- },
1525
- unstable_rethrow: function() {
1526
- return _unstablerethrow.unstable_rethrow;
1527
- }
1528
- });
1529
- const _redirect = require_redirect();
1530
- const _redirecterror = require_redirect_error();
1531
- const _notfound = require_not_found();
1532
- const _forbidden = require_forbidden();
1533
- const _unauthorized = require_unauthorized();
1534
- const _unstablerethrow = require_unstable_rethrow();
1535
- var ReadonlyURLSearchParamsError = class extends Error {
1536
- constructor() {
1537
- super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams");
1538
- }
1539
- };
1540
- var ReadonlyURLSearchParams = class extends URLSearchParams {
1541
- /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ append() {
1542
- throw new ReadonlyURLSearchParamsError();
1543
- }
1544
- /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ delete() {
1545
- throw new ReadonlyURLSearchParamsError();
1546
- }
1547
- /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ set() {
1548
- throw new ReadonlyURLSearchParamsError();
1549
- }
1550
- /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ sort() {
1551
- throw new ReadonlyURLSearchParamsError();
1552
- }
1553
- };
1554
- function unstable_isUnrecognizedActionError$1() {
1555
- throw Object.defineProperty(/* @__PURE__ */ new Error("`unstable_isUnrecognizedActionError` can only be used on the client."), "__NEXT_ERROR_CODE", {
1556
- value: "E776",
1557
- enumerable: false,
1558
- configurable: true
1559
- });
1560
- }
1561
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1562
- Object.defineProperty(exports.default, "__esModule", { value: true });
1563
- Object.assign(exports.default, exports);
1564
- module.exports = exports.default;
1565
- }
1566
- }) });
1567
-
1568
- //#endregion
1569
- //#region ../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs
1570
- var require__interop_require_wildcard = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs": ((exports) => {
1571
- function _getRequireWildcardCache(nodeInterop) {
1572
- if (typeof WeakMap !== "function") return null;
1573
- var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
1574
- var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
1575
- return (_getRequireWildcardCache = function(nodeInterop$1) {
1576
- return nodeInterop$1 ? cacheNodeInterop : cacheBabelInterop;
1577
- })(nodeInterop);
1578
- }
1579
- function _interop_require_wildcard(obj, nodeInterop) {
1580
- if (!nodeInterop && obj && obj.__esModule) return obj;
1581
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") return { default: obj };
1582
- var cache = _getRequireWildcardCache(nodeInterop);
1583
- if (cache && cache.has(obj)) return cache.get(obj);
1584
- var newObj = { __proto__: null };
1585
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
1586
- for (var key in obj) if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
1587
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
1588
- if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);
1589
- else newObj[key] = obj[key];
1590
- }
1591
- newObj.default = obj;
1592
- if (cache) cache.set(obj, newObj);
1593
- return newObj;
1594
- }
1595
- exports._ = _interop_require_wildcard;
1596
- }) });
1597
-
1598
- //#endregion
1599
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js
1600
- var require_server_inserted_html_shared_runtime = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.js": ((exports) => {
1601
- Object.defineProperty(exports, "__esModule", { value: true });
1602
- function _export$2(target, all) {
1603
- for (var name in all) Object.defineProperty(target, name, {
1604
- enumerable: true,
1605
- get: all[name]
1606
- });
1607
- }
1608
- _export$2(exports, {
1609
- ServerInsertedHTMLContext: function() {
1610
- return ServerInsertedHTMLContext;
1611
- },
1612
- useServerInsertedHTML: function() {
1613
- return useServerInsertedHTML;
1614
- }
1615
- });
1616
- const _react$1 = /* @__PURE__ */ require__interop_require_wildcard()._(__require("react"));
1617
- const ServerInsertedHTMLContext = /* @__PURE__ */ _react$1.default.createContext(null);
1618
- function useServerInsertedHTML(callback) {
1619
- const addInsertedServerHTMLCallback = (0, _react$1.useContext)(ServerInsertedHTMLContext);
1620
- if (addInsertedServerHTMLCallback) addInsertedServerHTMLCallback(callback);
1621
- }
1622
- }) });
1623
-
1624
- //#endregion
1625
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/unrecognized-action-error.js
1626
- var require_unrecognized_action_error = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/unrecognized-action-error.js": ((exports, module) => {
1627
- Object.defineProperty(exports, "__esModule", { value: true });
1628
- function _export$1(target, all) {
1629
- for (var name in all) Object.defineProperty(target, name, {
1630
- enumerable: true,
1631
- get: all[name]
1632
- });
1633
- }
1634
- _export$1(exports, {
1635
- UnrecognizedActionError: function() {
1636
- return UnrecognizedActionError;
1637
- },
1638
- unstable_isUnrecognizedActionError: function() {
1639
- return unstable_isUnrecognizedActionError;
1640
- }
1641
- });
1642
- var UnrecognizedActionError = class extends Error {
1643
- constructor(...args) {
1644
- super(...args);
1645
- this.name = "UnrecognizedActionError";
1646
- }
1647
- };
1648
- function unstable_isUnrecognizedActionError(error) {
1649
- return !!(error && typeof error === "object" && error instanceof UnrecognizedActionError);
1650
- }
1651
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1652
- Object.defineProperty(exports.default, "__esModule", { value: true });
1653
- Object.assign(exports.default, exports);
1654
- module.exports = exports.default;
1655
- }
1656
- }) });
1657
-
1658
- //#endregion
1659
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/bailout-to-client-rendering.js
1660
- var require_bailout_to_client_rendering = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/bailout-to-client-rendering.js": ((exports, module) => {
1661
- Object.defineProperty(exports, "__esModule", { value: true });
1662
- Object.defineProperty(exports, "bailoutToClientRendering", {
1663
- enumerable: true,
1664
- get: function() {
1665
- return bailoutToClientRendering;
1666
- }
1667
- });
1668
- const _bailouttocsr = require_bailout_to_csr();
1669
- const _workasyncstorageexternal = require_work_async_storage_external();
1670
- const _workunitasyncstorageexternal = require_work_unit_async_storage_external();
1671
- function bailoutToClientRendering(reason) {
1672
- const workStore = _workasyncstorageexternal.workAsyncStorage.getStore();
1673
- if (workStore == null ? void 0 : workStore.forceStatic) return;
1674
- const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore();
1675
- if (workUnitStore) switch (workUnitStore.type) {
1676
- case "prerender":
1677
- case "prerender-runtime":
1678
- case "prerender-client":
1679
- case "prerender-ppr":
1680
- case "prerender-legacy": throw Object.defineProperty(new _bailouttocsr.BailoutToCSRError(reason), "__NEXT_ERROR_CODE", {
1681
- value: "E394",
1682
- enumerable: false,
1683
- configurable: true
1684
- });
1685
- case "request":
1686
- case "cache":
1687
- case "private-cache":
1688
- case "unstable-cache": break;
1689
- default:
1690
- }
1691
- }
1692
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1693
- Object.defineProperty(exports.default, "__esModule", { value: true });
1694
- Object.assign(exports.default, exports);
1695
- module.exports = exports.default;
1696
- }
1697
- }) });
1698
-
1699
- //#endregion
1700
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/navigation.js
1701
- var require_navigation$1 = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/dist/client/components/navigation.js": ((exports, module) => {
1702
- Object.defineProperty(exports, "__esModule", { value: true });
1703
- function _export(target, all) {
1704
- for (var name in all) Object.defineProperty(target, name, {
1705
- enumerable: true,
1706
- get: all[name]
1707
- });
1708
- }
1709
- _export(exports, {
1710
- ReadonlyURLSearchParams: function() {
1711
- return _navigationreactserver.ReadonlyURLSearchParams;
1712
- },
1713
- RedirectType: function() {
1714
- return _navigationreactserver.RedirectType;
1715
- },
1716
- ServerInsertedHTMLContext: function() {
1717
- return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext;
1718
- },
1719
- forbidden: function() {
1720
- return _navigationreactserver.forbidden;
1721
- },
1722
- notFound: function() {
1723
- return _navigationreactserver.notFound;
1724
- },
1725
- permanentRedirect: function() {
1726
- return _navigationreactserver.permanentRedirect;
1727
- },
1728
- redirect: function() {
1729
- return _navigationreactserver.redirect;
1730
- },
1731
- unauthorized: function() {
1732
- return _navigationreactserver.unauthorized;
1733
- },
1734
- unstable_isUnrecognizedActionError: function() {
1735
- return _unrecognizedactionerror.unstable_isUnrecognizedActionError;
1736
- },
1737
- unstable_rethrow: function() {
1738
- return _navigationreactserver.unstable_rethrow;
1739
- },
1740
- useParams: function() {
1741
- return useParams;
1742
- },
1743
- usePathname: function() {
1744
- return usePathname;
1745
- },
1746
- useRouter: function() {
1747
- return useRouter$1;
1748
- },
1749
- useSearchParams: function() {
1750
- return useSearchParams$1;
1751
- },
1752
- useSelectedLayoutSegment: function() {
1753
- return useSelectedLayoutSegment;
1754
- },
1755
- useSelectedLayoutSegments: function() {
1756
- return useSelectedLayoutSegments;
1757
- },
1758
- useServerInsertedHTML: function() {
1759
- return _serverinsertedhtmlsharedruntime.useServerInsertedHTML;
1760
- }
1761
- });
1762
- const _react = __require("react");
1763
- const _approutercontextsharedruntime = require_app_router_context_shared_runtime();
1764
- const _hooksclientcontextsharedruntime = require_hooks_client_context_shared_runtime();
1765
- const _getsegmentvalue = require_get_segment_value();
1766
- const _segment = require_segment();
1767
- const _navigationreactserver = require_navigation_react_server();
1768
- const _serverinsertedhtmlsharedruntime = require_server_inserted_html_shared_runtime();
1769
- const _unrecognizedactionerror = require_unrecognized_action_error();
1770
- const useDynamicRouteParams = typeof window === "undefined" ? require_dynamic_rendering().useDynamicRouteParams : void 0;
1771
- function useSearchParams$1() {
1772
- const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext);
1773
- const readonlySearchParams = (0, _react.useMemo)(() => {
1774
- if (!searchParams) return null;
1775
- return new _navigationreactserver.ReadonlyURLSearchParams(searchParams);
1776
- }, [searchParams]);
1777
- if (typeof window === "undefined") {
1778
- const { bailoutToClientRendering: bailoutToClientRendering$1 } = require_bailout_to_client_rendering();
1779
- bailoutToClientRendering$1("useSearchParams()");
1780
- }
1781
- return readonlySearchParams;
1782
- }
1783
- function usePathname() {
1784
- useDynamicRouteParams?.("usePathname()");
1785
- return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext);
1786
- }
1787
- function useRouter$1() {
1788
- const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext);
1789
- if (router === null) throw Object.defineProperty(/* @__PURE__ */ new Error("invariant expected app router to be mounted"), "__NEXT_ERROR_CODE", {
1790
- value: "E238",
1791
- enumerable: false,
1792
- configurable: true
1793
- });
1794
- return router;
1795
- }
1796
- function useParams() {
1797
- useDynamicRouteParams?.("useParams()");
1798
- return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext);
1799
- }
1800
- /** Get the canonical parameters from the current level to the leaf node. */ function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first, segmentPath) {
1801
- if (first === void 0) first = true;
1802
- if (segmentPath === void 0) segmentPath = [];
1803
- let node;
1804
- if (first) node = tree[1][parallelRouteKey];
1805
- else {
1806
- const parallelRoutes = tree[1];
1807
- var _parallelRoutes_children;
1808
- node = (_parallelRoutes_children = parallelRoutes.children) != null ? _parallelRoutes_children : Object.values(parallelRoutes)[0];
1809
- }
1810
- if (!node) return segmentPath;
1811
- const segment = node[0];
1812
- let segmentValue = (0, _getsegmentvalue.getSegmentValue)(segment);
1813
- if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) return segmentPath;
1814
- segmentPath.push(segmentValue);
1815
- return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath);
1816
- }
1817
- function useSelectedLayoutSegments(parallelRouteKey) {
1818
- if (parallelRouteKey === void 0) parallelRouteKey = "children";
1819
- useDynamicRouteParams?.("useSelectedLayoutSegments()");
1820
- const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);
1821
- if (!context) return null;
1822
- return getSelectedLayoutSegmentPath(context.parentTree, parallelRouteKey);
1823
- }
1824
- function useSelectedLayoutSegment(parallelRouteKey) {
1825
- if (parallelRouteKey === void 0) parallelRouteKey = "children";
1826
- useDynamicRouteParams?.("useSelectedLayoutSegment()");
1827
- const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey);
1828
- if (!selectedLayoutSegments || selectedLayoutSegments.length === 0) return null;
1829
- const selectedLayoutSegment = parallelRouteKey === "children" ? selectedLayoutSegments[0] : selectedLayoutSegments[selectedLayoutSegments.length - 1];
1830
- return selectedLayoutSegment === _segment.DEFAULT_SEGMENT_KEY ? null : selectedLayoutSegment;
1831
- }
1832
- if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") {
1833
- Object.defineProperty(exports.default, "__esModule", { value: true });
1834
- Object.assign(exports.default, exports);
1835
- module.exports = exports.default;
1836
- }
1837
- }) });
1838
-
1839
- //#endregion
1840
- //#region ../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/navigation.js
1841
- var require_navigation = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/next@15.5.18_@playwright+test@1.60.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/next/navigation.js": ((exports, module) => {
1842
- module.exports = require_navigation$1();
1843
- }) });
1844
-
1845
- //#endregion
1846
- //#region src/client/contexts/ThunderID/ThunderIDContext.ts
1847
- /**
1848
- * Context object for managing the Authentication flow builder core context.
1849
- */
1850
- const ThunderIDContext = createContext({
1851
- afterSignInUrl: void 0,
1852
- applicationId: void 0,
1853
- baseUrl: void 0,
1854
- clearSession: () => Promise.resolve(),
1855
- isInitialized: false,
1856
- isLoading: true,
1857
- isSignedIn: false,
1858
- organizationHandle: void 0,
1859
- refreshToken: () => Promise.resolve({ expiresAt: 0 }),
1860
- signIn: () => Promise.resolve({}),
1861
- signInUrl: void 0,
1862
- signOut: () => Promise.resolve({}),
1863
- signUp: () => Promise.resolve({}),
1864
- signUpUrl: void 0,
1865
- user: null
1866
- });
1867
- ThunderIDContext.displayName = "ThunderIDContext";
1868
- var ThunderIDContext_default = ThunderIDContext;
1869
-
1870
- //#endregion
1871
- //#region ../../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.production.js
1872
- var require_react_jsx_runtime_production = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.production.js": ((exports) => {
1873
- var REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment");
1874
- function jsxProd(type, config, maybeKey) {
1875
- var key = null;
1876
- void 0 !== maybeKey && (key = "" + maybeKey);
1877
- void 0 !== config.key && (key = "" + config.key);
1878
- if ("key" in config) {
1879
- maybeKey = {};
1880
- for (var propName in config) "key" !== propName && (maybeKey[propName] = config[propName]);
1881
- } else maybeKey = config;
1882
- config = maybeKey.ref;
1883
- return {
1884
- $$typeof: REACT_ELEMENT_TYPE,
1885
- type,
1886
- key,
1887
- ref: void 0 !== config ? config : null,
1888
- props: maybeKey
1889
- };
1890
- }
1891
- exports.Fragment = REACT_FRAGMENT_TYPE;
1892
- exports.jsx = jsxProd;
1893
- exports.jsxs = jsxProd;
1894
- }) });
1895
-
1896
- //#endregion
1897
- //#region ../../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.development.js
1898
- var require_react_jsx_runtime_development = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/react@19.2.3/node_modules/react/cjs/react-jsx-runtime.development.js": ((exports) => {
1899
- "production" !== process.env.NODE_ENV && (function() {
1900
- function getComponentNameFromType(type) {
1901
- if (null == type) return null;
1902
- if ("function" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;
1903
- if ("string" === typeof type) return type;
1904
- switch (type) {
1905
- case REACT_FRAGMENT_TYPE$1: return "Fragment";
1906
- case REACT_PROFILER_TYPE: return "Profiler";
1907
- case REACT_STRICT_MODE_TYPE: return "StrictMode";
1908
- case REACT_SUSPENSE_TYPE: return "Suspense";
1909
- case REACT_SUSPENSE_LIST_TYPE: return "SuspenseList";
1910
- case REACT_ACTIVITY_TYPE: return "Activity";
1911
- }
1912
- if ("object" === typeof type) switch ("number" === typeof type.tag && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof) {
1913
- case REACT_PORTAL_TYPE: return "Portal";
1914
- case REACT_CONTEXT_TYPE: return type.displayName || "Context";
1915
- case REACT_CONSUMER_TYPE: return (type._context.displayName || "Context") + ".Consumer";
1916
- case REACT_FORWARD_REF_TYPE:
1917
- var innerType = type.render;
1918
- type = type.displayName;
1919
- type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef");
1920
- return type;
1921
- case REACT_MEMO_TYPE: return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo";
1922
- case REACT_LAZY_TYPE:
1923
- innerType = type._payload;
1924
- type = type._init;
1925
- try {
1926
- return getComponentNameFromType(type(innerType));
1927
- } catch (x) {}
1928
- }
1929
- return null;
1930
- }
1931
- function testStringCoercion(value) {
1932
- return "" + value;
1933
- }
1934
- function checkKeyStringCoercion(value) {
1935
- try {
1936
- testStringCoercion(value);
1937
- var JSCompiler_inline_result = !1;
1938
- } catch (e) {
1939
- JSCompiler_inline_result = !0;
1940
- }
1941
- if (JSCompiler_inline_result) {
1942
- JSCompiler_inline_result = console;
1943
- var JSCompiler_temp_const = JSCompiler_inline_result.error;
1944
- var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object";
1945
- JSCompiler_temp_const.call(JSCompiler_inline_result, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", JSCompiler_inline_result$jscomp$0);
1946
- return testStringCoercion(value);
1947
- }
1948
- }
1949
- function getTaskName(type) {
1950
- if (type === REACT_FRAGMENT_TYPE$1) return "<>";
1951
- if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE) return "<...>";
1952
- try {
1953
- var name = getComponentNameFromType(type);
1954
- return name ? "<" + name + ">" : "<...>";
1955
- } catch (x) {
1956
- return "<...>";
1957
- }
1958
- }
1959
- function getOwner() {
1960
- var dispatcher = ReactSharedInternals.A;
1961
- return null === dispatcher ? null : dispatcher.getOwner();
1962
- }
1963
- function UnknownOwner() {
1964
- return Error("react-stack-top-frame");
1965
- }
1966
- function hasValidKey(config) {
1967
- if (hasOwnProperty.call(config, "key")) {
1968
- var getter = Object.getOwnPropertyDescriptor(config, "key").get;
1969
- if (getter && getter.isReactWarning) return !1;
1970
- }
1971
- return void 0 !== config.key;
1972
- }
1973
- function defineKeyPropWarningGetter(props, displayName) {
1974
- function warnAboutAccessingKey() {
1975
- specialPropKeyWarningShown || (specialPropKeyWarningShown = !0, console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)", displayName));
1976
- }
1977
- warnAboutAccessingKey.isReactWarning = !0;
1978
- Object.defineProperty(props, "key", {
1979
- get: warnAboutAccessingKey,
1980
- configurable: !0
1981
- });
1982
- }
1983
- function elementRefGetterWithDeprecationWarning() {
1984
- var componentName = getComponentNameFromType(this.type);
1985
- didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = !0, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."));
1986
- componentName = this.props.ref;
1987
- return void 0 !== componentName ? componentName : null;
1988
- }
1989
- function ReactElement(type, key, props, owner, debugStack, debugTask) {
1990
- var refProp = props.ref;
1991
- type = {
1992
- $$typeof: REACT_ELEMENT_TYPE$1,
1993
- type,
1994
- key,
1995
- props,
1996
- _owner: owner
1997
- };
1998
- null !== (void 0 !== refProp ? refProp : null) ? Object.defineProperty(type, "ref", {
1999
- enumerable: !1,
2000
- get: elementRefGetterWithDeprecationWarning
2001
- }) : Object.defineProperty(type, "ref", {
2002
- enumerable: !1,
2003
- value: null
2004
- });
2005
- type._store = {};
2006
- Object.defineProperty(type._store, "validated", {
2007
- configurable: !1,
2008
- enumerable: !1,
2009
- writable: !0,
2010
- value: 0
2011
- });
2012
- Object.defineProperty(type, "_debugInfo", {
2013
- configurable: !1,
2014
- enumerable: !1,
2015
- writable: !0,
2016
- value: null
2017
- });
2018
- Object.defineProperty(type, "_debugStack", {
2019
- configurable: !1,
2020
- enumerable: !1,
2021
- writable: !0,
2022
- value: debugStack
2023
- });
2024
- Object.defineProperty(type, "_debugTask", {
2025
- configurable: !1,
2026
- enumerable: !1,
2027
- writable: !0,
2028
- value: debugTask
2029
- });
2030
- Object.freeze && (Object.freeze(type.props), Object.freeze(type));
2031
- return type;
2032
- }
2033
- function jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStack, debugTask) {
2034
- var children = config.children;
2035
- if (void 0 !== children) if (isStaticChildren) if (isArrayImpl(children)) {
2036
- for (isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++) validateChildKeys(children[isStaticChildren]);
2037
- Object.freeze && Object.freeze(children);
2038
- } else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");
2039
- else validateChildKeys(children);
2040
- if (hasOwnProperty.call(config, "key")) {
2041
- children = getComponentNameFromType(type);
2042
- var keys = Object.keys(config).filter(function(k) {
2043
- return "key" !== k;
2044
- });
2045
- isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}";
2046
- didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error("A props object containing a \"key\" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />", isStaticChildren, children, keys, children), didWarnAboutKeySpread[children + isStaticChildren] = !0);
2047
- }
2048
- children = null;
2049
- void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey);
2050
- hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key);
2051
- if ("key" in config) {
2052
- maybeKey = {};
2053
- for (var propName in config) "key" !== propName && (maybeKey[propName] = config[propName]);
2054
- } else maybeKey = config;
2055
- children && defineKeyPropWarningGetter(maybeKey, "function" === typeof type ? type.displayName || type.name || "Unknown" : type);
2056
- return ReactElement(type, children, maybeKey, getOwner(), debugStack, debugTask);
2057
- }
2058
- function validateChildKeys(node) {
2059
- isValidElement(node) ? node._store && (node._store.validated = 1) : "object" === typeof node && null !== node && node.$$typeof === REACT_LAZY_TYPE && ("fulfilled" === node._payload.status ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1));
2060
- }
2061
- function isValidElement(object) {
2062
- return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE$1;
2063
- }
2064
- var React = __require("react"), REACT_ELEMENT_TYPE$1 = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE$1 = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() {
2065
- return null;
2066
- };
2067
- React = { react_stack_bottom_frame: function(callStackForError) {
2068
- return callStackForError();
2069
- } };
2070
- var specialPropKeyWarningShown;
2071
- var didWarnAboutElementRef = {};
2072
- var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(React, UnknownOwner)();
2073
- var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));
2074
- var didWarnAboutKeySpread = {};
2075
- exports.Fragment = REACT_FRAGMENT_TYPE$1;
2076
- exports.jsx = function(type, config, maybeKey) {
2077
- var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
2078
- return jsxDEVImpl(type, config, maybeKey, !1, trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
2079
- };
2080
- exports.jsxs = function(type, config, maybeKey) {
2081
- var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;
2082
- return jsxDEVImpl(type, config, maybeKey, !0, trackActualOwner ? Error("react-stack-top-frame") : unknownOwnerDebugStack, trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask);
2083
- };
2084
- })();
2085
- }) });
2086
-
2087
- //#endregion
2088
- //#region ../../node_modules/.pnpm/react@19.2.3/node_modules/react/jsx-runtime.js
2089
- var require_jsx_runtime = /* @__PURE__ */ __commonJS({ "../../node_modules/.pnpm/react@19.2.3/node_modules/react/jsx-runtime.js": ((exports, module) => {
2090
- if (process.env.NODE_ENV === "production") module.exports = require_react_jsx_runtime_production();
2091
- else module.exports = require_react_jsx_runtime_development();
2092
- }) });
2093
-
2094
- //#endregion
2095
- //#region src/client/contexts/ThunderID/ThunderIDProvider.tsx
2096
- var import_navigation = /* @__PURE__ */ __toESM(require_navigation());
2097
- var import_jsx_runtime = /* @__PURE__ */ __toESM(require_jsx_runtime());
2098
- const ThunderIDClientProvider = ({ baseUrl, children, signIn, clearSession: clearSession$1, refreshToken: refreshToken$1, signOut, signUp, handleOAuthCallback, createOrganization: createOrganization$2, preferences, isSignedIn: isSignedIn$1, signInUrl, signUpUrl, user: _user, userProfile: _userProfile, currentOrganization, updateProfile, applicationId, organizationHandle, scopes, myOrganizations, revalidateMyOrganizations, getAllOrganizations: getAllOrganizations$2, switchOrganization: switchOrganization$1, brandingPreference }) => {
2099
- const reRenderCheckRef = useRef(false);
2100
- const router = (0, import_navigation.useRouter)();
2101
- const searchParams = (0, import_navigation.useSearchParams)();
2102
- const [isLoading, setIsLoading] = useState(true);
2103
- const [user, setUser] = useState(_user);
2104
- const [userProfile, setUserProfile] = useState(_userProfile);
2105
- useEffect(() => {
2106
- setUserProfile(_userProfile);
2107
- }, [_userProfile]);
2108
- useEffect(() => {
2109
- setUser(_user);
2110
- }, [_user]);
2111
- useEffect(() => {
2112
- if (reRenderCheckRef.current) return;
2113
- reRenderCheckRef.current = true;
2114
- if (isSignedIn$1) return;
2115
- (async () => {
2116
- try {
2117
- const code = searchParams.get("code");
2118
- const state = searchParams.get("state");
2119
- const sessionState = searchParams.get("session_state");
2120
- if (searchParams.get("error")) {
2121
- logger_default.error("[ThunderIDClientProvider] An error was received for the initiated sign-in request.");
2122
- return;
2123
- }
2124
- if (code && state) {
2125
- setIsLoading(true);
2126
- const result = await handleOAuthCallback(code, state, sessionState || void 0);
2127
- if (result.success) if (result.redirectUrl) router.push(result.redirectUrl);
2128
- else window.location.reload();
2129
- else logger_default.error(`[ThunderIDClientProvider] An error occurred while signing in: ${result.error || "Authentication failed"}`);
2130
- }
2131
- } catch (error) {
2132
- logger_default.error("[ThunderIDClientProvider] Failed to handle OAuth callback:", error);
2133
- }
2134
- })();
2135
- }, []);
2136
- useEffect(() => {
2137
- setIsLoading(false);
2138
- }, [isSignedIn$1, user]);
2139
- const handleSignIn = async (payload, request) => {
2140
- if (!signIn) throw new ThunderIDRuntimeError("`signIn` function is not available.", "ThunderIDClientProvider-handleSignIn-RuntimeError-001", "nextjs");
2141
- const result = await signIn(payload, request);
2142
- if (result?.data?.signInUrl) {
2143
- router.push(result.data.signInUrl);
2144
- return;
2145
- }
2146
- if (result?.data?.afterSignInUrl) {
2147
- router.push(result.data.afterSignInUrl);
2148
- return;
2149
- }
2150
- if (result?.error) throw new Error(result.error);
2151
- return result?.data ?? result;
2152
- };
2153
- const handleSignUp = async (payload, request) => {
2154
- if (!signUp) throw new ThunderIDRuntimeError("`signUp` function is not available.", "ThunderIDClientProvider-handleSignUp-RuntimeError-001", "nextjs");
2155
- const result = await signUp(payload, request);
2156
- if (result?.data?.signUpUrl) {
2157
- router.push(result.data.signUpUrl);
2158
- return;
2159
- }
2160
- if (result?.data?.afterSignUpUrl) {
2161
- router.push(result.data.afterSignUpUrl);
2162
- return;
2163
- }
2164
- if (result?.error) throw new Error(result.error);
2165
- return result?.data ?? result;
2166
- };
2167
- const handleSignOut = async () => {
2168
- logger_default.debug("[ThunderIDClientProvider][handleSignOut] `handleSignOut` called.");
2169
- try {
2170
- const result = await signOut();
2171
- logger_default.debug("[ThunderIDClientProvider][handleSignOut] Sign out result:", result);
2172
- if (result?.data?.afterSignOutUrl) {
2173
- router.push(result.data.afterSignOutUrl);
2174
- return {
2175
- location: result.data.afterSignOutUrl,
2176
- redirected: true
2177
- };
2178
- }
2179
- if (result?.error) logger_default.error("[ThunderIDClientProvider][handleSignOut] Error result was returned during signing the user out with a button click:", result.error);
2180
- return result?.data ?? result;
2181
- } catch (error) {
2182
- logger_default.error("[ThunderIDClientProvider][handleSignOut] Error occurred during signing the user out with a button click:", error);
2183
- return;
2184
- }
2185
- };
2186
- const contextValue = useMemo(() => ({
2187
- applicationId,
2188
- baseUrl,
2189
- clearSession: clearSession$1,
2190
- isLoading,
2191
- isSignedIn: isSignedIn$1,
2192
- organizationHandle,
2193
- refreshToken: refreshToken$1,
2194
- scopes,
2195
- signIn: handleSignIn,
2196
- signInUrl,
2197
- signOut: handleSignOut,
2198
- signUp: handleSignUp,
2199
- signUpUrl,
2200
- user
2201
- }), [
2202
- baseUrl,
2203
- user,
2204
- isSignedIn$1,
2205
- isLoading,
2206
- signInUrl,
2207
- signUpUrl,
2208
- applicationId,
2209
- organizationHandle,
2210
- scopes
2211
- ]);
2212
- const handleProfileUpdate = (payload) => {
2213
- setUser(payload);
2214
- setUserProfile((prev) => ({
2215
- ...prev,
2216
- flattenedProfile: generateFlattenedUserProfile(payload, prev?.schemas),
2217
- profile: payload
2218
- }));
2219
- };
2220
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThunderIDContext_default.Provider, {
2221
- value: contextValue,
2222
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(I18nProvider, {
2223
- preferences: preferences?.i18n,
2224
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FlowMetaProvider, {
2225
- enabled: preferences?.resolveFromMeta !== false,
2226
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BrandingProvider, {
2227
- brandingPreference,
2228
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThemeProvider, {
2229
- theme: preferences?.theme?.overrides,
2230
- mode: getActiveTheme(preferences?.theme?.mode),
2231
- inheritFromBranding: true,
2232
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FlowProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UserProvider, {
2233
- profile: userProfile,
2234
- onUpdateProfile: handleProfileUpdate,
2235
- updateProfile,
2236
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(OrganizationProvider, {
2237
- createOrganization: createOrganization$2,
2238
- getAllOrganizations: getAllOrganizations$2,
2239
- myOrganizations,
2240
- currentOrganization,
2241
- onOrganizationSwitch: switchOrganization$1,
2242
- revalidateMyOrganizations,
2243
- children
2244
- })
2245
- }) })
2246
- })
2247
- })
2248
- })
2249
- })
2250
- });
2251
- };
2252
- var ThunderIDProvider_default$1 = ThunderIDClientProvider;
2253
-
2254
- //#endregion
2255
- //#region src/server/ThunderIDProvider.tsx
2256
- /**
2257
- * Server-side provider component for ThunderID authentication.
2258
- * Wraps the client-side provider and handles server-side authentication logic.
2259
- * Uses the singleton ThunderIDNextClient instance for consistent authentication state.
2260
- *
2261
- * @param props - Props injected into the component.
2262
- *
2263
- * @example
2264
- * ```tsx
2265
- * <ThunderIDServerProvider config={thunderidConfig}>
2266
- * <YourApp />
2267
- * </ThunderIDServerProvider>
2268
- * ```
2269
- *
2270
- * @returns ThunderIDServerProvider component.
2271
- */
2272
- const ThunderIDServerProvider = async ({ children, afterSignInUrl, afterSignOutUrl,..._config }) => {
2273
- const thunderIDClient = getClient_default();
2274
- let config = {};
2275
- try {
2276
- await thunderIDClient.initialize(_config);
2277
- logger_default.debug("[ThunderIDServerProvider] ThunderID client initialized successfully.");
2278
- config = await thunderIDClient.getConfiguration();
2279
- } catch (error) {
2280
- logger_default.error("[ThunderIDServerProvider] Failed to initialize ThunderID client:", error?.toString());
2281
- throw new ThunderIDRuntimeError(`Failed to initialize ThunderID client: ${error?.toString()}`, "next-ConfigurationError-001", "next", "An error occurred while initializing the ThunderID client. Please check your configuration.");
2282
- }
2283
- if (!thunderIDClient.isInitialized) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {});
2284
- const sessionPayload = await getSessionPayload_default();
2285
- const sessionId = sessionPayload?.sessionId || await getSessionId_default() || "";
2286
- const signedIn = await isSignedIn_default(sessionId);
2287
- let user = {};
2288
- let userProfile = {
2289
- flattenedProfile: {},
2290
- profile: {},
2291
- schemas: []
2292
- };
2293
- let currentOrganization = {
2294
- id: "",
2295
- name: "",
2296
- orgHandle: ""
2297
- };
2298
- let myOrganizations = [];
2299
- let brandingPreference = null;
2300
- if (signedIn) {
2301
- let updatedBaseUrl = config?.baseUrl;
2302
- if (sessionPayload?.organizationId) {
2303
- updatedBaseUrl = `${config?.baseUrl}/o`;
2304
- config = {
2305
- ...config,
2306
- baseUrl: updatedBaseUrl
2307
- };
2308
- } else if (sessionId) try {
2309
- if ((await thunderIDClient.getDecodedIdToken(sessionId))?.["user_org"]) {
2310
- updatedBaseUrl = `${config?.baseUrl}/o`;
2311
- config = {
2312
- ...config,
2313
- baseUrl: updatedBaseUrl
2314
- };
2315
- }
2316
- } catch {}
2317
- const shouldFetchUserProfile = config?.preferences?.user?.fetchUserProfile !== false;
2318
- const shouldFetchOrganizations = config?.preferences?.user?.fetchOrganizations !== false;
2319
- if (shouldFetchUserProfile) try {
2320
- const userResponse = await getUserAction_default(sessionId);
2321
- const userProfileResponse = await getUserProfileAction_default(sessionId);
2322
- user = userResponse.data?.user || {};
2323
- userProfile = userProfileResponse.data?.userProfile ?? userProfile;
2324
- } catch (error) {
2325
- logger_default.warn("[ThunderIDServerProvider] Failed to fetch user profile from SCIM2:", error?.toString());
2326
- }
2327
- if (shouldFetchOrganizations) try {
2328
- const currentOrganizationResponse = await getCurrentOrganizationAction_default(sessionId);
2329
- if (sessionId) myOrganizations = await getMyOrganizations_default({}, sessionId);
2330
- else logger_default.warn("[ThunderIDServerProvider] No session ID available, skipping organization fetch");
2331
- currentOrganization = currentOrganizationResponse?.data?.organization;
2332
- } catch (error) {
2333
- logger_default.warn("[ThunderIDServerProvider] Failed to fetch organization info:", error?.toString());
2334
- }
2335
- }
2336
- if (config?.preferences?.theme?.inheritFromBranding !== false) try {
2337
- brandingPreference = await getBrandingPreference_default({
2338
- baseUrl: config?.baseUrl,
2339
- locale: "en-US",
2340
- name: config.applicationId || config.organizationHandle,
2341
- type: config.applicationId ? "APP" : "ORG"
2342
- }, sessionId);
2343
- } catch (error) {
2344
- console.warn("[ThunderIDServerProvider] Failed to fetch branding preference:", error);
2345
- }
2346
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ThunderIDProvider_default$1, {
2347
- organizationHandle: config?.organizationHandle,
2348
- applicationId: config?.applicationId,
2349
- baseUrl: config?.baseUrl,
2350
- signIn: signInAction_default,
2351
- clearSession: clearSession_default,
2352
- refreshToken: refreshToken_default,
2353
- signOut: signOutAction_default,
2354
- signUp: signUpAction_default,
2355
- handleOAuthCallback: handleOAuthCallbackAction_default,
2356
- signInUrl: config?.signInUrl,
2357
- signUpUrl: config?.signUpUrl,
2358
- preferences: config?.preferences,
2359
- clientId: config?.clientId,
2360
- user,
2361
- currentOrganization,
2362
- userProfile,
2363
- updateProfile: updateUserProfileAction_default,
2364
- isSignedIn: signedIn,
2365
- myOrganizations,
2366
- getAllOrganizations: getAllOrganizations_default,
2367
- switchOrganization: switchOrganization_default,
2368
- brandingPreference,
2369
- createOrganization: createOrganization_default,
2370
- children
2371
- });
2372
- };
2373
- var ThunderIDProvider_default = ThunderIDServerProvider;
2374
-
2375
- //#endregion
2376
- export { logger_default as a, ThunderIDNextClient_default as c, require_navigation as i, require_jsx_runtime as n, thunderid_default as o, ThunderIDContext_default as r, getClient_default as s, ThunderIDProvider_default as t };