@civic/auth 0.4.3-alpha.0 → 0.4.3

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 (808) hide show
  1. package/CHANGELOG.md +0 -7
  2. package/dist/shared/components/CivicAuthIframe.d.ts.map +1 -1
  3. package/dist/shared/components/CivicAuthIframe.js +20 -17
  4. package/dist/shared/components/CivicAuthIframe.js.map +1 -1
  5. package/dist/shared/components/CivicAuthIframeContainer.d.ts.map +1 -1
  6. package/dist/shared/components/CivicAuthIframeContainer.js +4 -3
  7. package/dist/shared/components/CivicAuthIframeContainer.js.map +1 -1
  8. package/dist/shared/lib/iframeUtils.d.ts +5 -1
  9. package/dist/shared/lib/iframeUtils.d.ts.map +1 -1
  10. package/dist/shared/lib/iframeUtils.js +1 -3
  11. package/dist/shared/lib/iframeUtils.js.map +1 -1
  12. package/dist/shared/providers/IframeProvider.js +1 -1
  13. package/dist/shared/providers/IframeProvider.js.map +1 -1
  14. package/dist/shared/version.d.ts +1 -1
  15. package/dist/shared/version.d.ts.map +1 -1
  16. package/dist/shared/version.js +1 -1
  17. package/dist/shared/version.js.map +1 -1
  18. package/package.json +3 -3
  19. package/dist/cjs/browser/storage.d.ts +0 -10
  20. package/dist/cjs/browser/storage.d.ts.map +0 -1
  21. package/dist/cjs/browser/storage.js +0 -24
  22. package/dist/cjs/browser/storage.js.map +0 -1
  23. package/dist/cjs/config.d.ts +0 -3
  24. package/dist/cjs/config.d.ts.map +0 -1
  25. package/dist/cjs/config.js +0 -8
  26. package/dist/cjs/config.js.map +0 -1
  27. package/dist/cjs/constants.d.ts +0 -15
  28. package/dist/cjs/constants.d.ts.map +0 -1
  29. package/dist/cjs/constants.js +0 -44
  30. package/dist/cjs/constants.js.map +0 -1
  31. package/dist/cjs/index.d.ts +0 -8
  32. package/dist/cjs/index.d.ts.map +0 -1
  33. package/dist/cjs/index.js +0 -11
  34. package/dist/cjs/index.js.map +0 -1
  35. package/dist/cjs/lib/cookies.d.ts +0 -7
  36. package/dist/cjs/lib/cookies.d.ts.map +0 -1
  37. package/dist/cjs/lib/cookies.js +0 -29
  38. package/dist/cjs/lib/cookies.js.map +0 -1
  39. package/dist/cjs/lib/jwt.d.ts +0 -3
  40. package/dist/cjs/lib/jwt.d.ts.map +0 -1
  41. package/dist/cjs/lib/jwt.js +0 -13
  42. package/dist/cjs/lib/jwt.js.map +0 -1
  43. package/dist/cjs/lib/logger.d.ts +0 -26
  44. package/dist/cjs/lib/logger.d.ts.map +0 -1
  45. package/dist/cjs/lib/logger.js +0 -62
  46. package/dist/cjs/lib/logger.js.map +0 -1
  47. package/dist/cjs/lib/oauth.d.ts +0 -19
  48. package/dist/cjs/lib/oauth.d.ts.map +0 -1
  49. package/dist/cjs/lib/oauth.js +0 -74
  50. package/dist/cjs/lib/oauth.js.map +0 -1
  51. package/dist/cjs/lib/obj.d.ts +0 -3
  52. package/dist/cjs/lib/obj.d.ts.map +0 -1
  53. package/dist/cjs/lib/obj.js +0 -21
  54. package/dist/cjs/lib/obj.js.map +0 -1
  55. package/dist/cjs/lib/postMessage.d.ts +0 -4
  56. package/dist/cjs/lib/postMessage.d.ts.map +0 -1
  57. package/dist/cjs/lib/postMessage.js +0 -16
  58. package/dist/cjs/lib/postMessage.js.map +0 -1
  59. package/dist/cjs/lib/windowUtil.d.ts +0 -4
  60. package/dist/cjs/lib/windowUtil.d.ts.map +0 -1
  61. package/dist/cjs/lib/windowUtil.js +0 -35
  62. package/dist/cjs/lib/windowUtil.js.map +0 -1
  63. package/dist/cjs/nextjs/GetUser.d.ts +0 -6
  64. package/dist/cjs/nextjs/GetUser.d.ts.map +0 -1
  65. package/dist/cjs/nextjs/GetUser.js +0 -11
  66. package/dist/cjs/nextjs/GetUser.js.map +0 -1
  67. package/dist/cjs/nextjs/NextAuthenticationRefresherImpl.d.ts +0 -11
  68. package/dist/cjs/nextjs/NextAuthenticationRefresherImpl.d.ts.map +0 -1
  69. package/dist/cjs/nextjs/NextAuthenticationRefresherImpl.js +0 -21
  70. package/dist/cjs/nextjs/NextAuthenticationRefresherImpl.js.map +0 -1
  71. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.d.ts +0 -8
  72. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.d.ts.map +0 -1
  73. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.js +0 -28
  74. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.js.map +0 -1
  75. package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.d.ts +0 -12
  76. package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.d.ts.map +0 -1
  77. package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.js +0 -29
  78. package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.js.map +0 -1
  79. package/dist/cjs/nextjs/config.d.ts +0 -209
  80. package/dist/cjs/nextjs/config.d.ts.map +0 -1
  81. package/dist/cjs/nextjs/config.js +0 -191
  82. package/dist/cjs/nextjs/config.js.map +0 -1
  83. package/dist/cjs/nextjs/cookies.d.ts +0 -16
  84. package/dist/cjs/nextjs/cookies.d.ts.map +0 -1
  85. package/dist/cjs/nextjs/cookies.js +0 -44
  86. package/dist/cjs/nextjs/cookies.js.map +0 -1
  87. package/dist/cjs/nextjs/hooks/index.d.ts +0 -2
  88. package/dist/cjs/nextjs/hooks/index.d.ts.map +0 -1
  89. package/dist/cjs/nextjs/hooks/index.js +0 -6
  90. package/dist/cjs/nextjs/hooks/index.js.map +0 -1
  91. package/dist/cjs/nextjs/hooks/usePrevious.d.ts +0 -2
  92. package/dist/cjs/nextjs/hooks/usePrevious.d.ts.map +0 -1
  93. package/dist/cjs/nextjs/hooks/usePrevious.js +0 -12
  94. package/dist/cjs/nextjs/hooks/usePrevious.js.map +0 -1
  95. package/dist/cjs/nextjs/hooks/useRefresh.d.ts +0 -6
  96. package/dist/cjs/nextjs/hooks/useRefresh.d.ts.map +0 -1
  97. package/dist/cjs/nextjs/hooks/useRefresh.js +0 -51
  98. package/dist/cjs/nextjs/hooks/useRefresh.js.map +0 -1
  99. package/dist/cjs/nextjs/hooks/useUserCookie.d.ts +0 -8
  100. package/dist/cjs/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  101. package/dist/cjs/nextjs/hooks/useUserCookie.js +0 -93
  102. package/dist/cjs/nextjs/hooks/useUserCookie.js.map +0 -1
  103. package/dist/cjs/nextjs/index.d.ts +0 -9
  104. package/dist/cjs/nextjs/index.d.ts.map +0 -1
  105. package/dist/cjs/nextjs/index.js +0 -27
  106. package/dist/cjs/nextjs/index.js.map +0 -1
  107. package/dist/cjs/nextjs/middleware/index.d.ts +0 -2
  108. package/dist/cjs/nextjs/middleware/index.d.ts.map +0 -1
  109. package/dist/cjs/nextjs/middleware/index.js +0 -10
  110. package/dist/cjs/nextjs/middleware/index.js.map +0 -1
  111. package/dist/cjs/nextjs/middleware.d.ts +0 -57
  112. package/dist/cjs/nextjs/middleware.d.ts.map +0 -1
  113. package/dist/cjs/nextjs/middleware.js +0 -110
  114. package/dist/cjs/nextjs/middleware.js.map +0 -1
  115. package/dist/cjs/nextjs/providers/NextAuthProvider.d.ts +0 -9
  116. package/dist/cjs/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  117. package/dist/cjs/nextjs/providers/NextAuthProvider.js +0 -108
  118. package/dist/cjs/nextjs/providers/NextAuthProvider.js.map +0 -1
  119. package/dist/cjs/nextjs/routeHandler.d.ts +0 -19
  120. package/dist/cjs/nextjs/routeHandler.d.ts.map +0 -1
  121. package/dist/cjs/nextjs/routeHandler.js +0 -325
  122. package/dist/cjs/nextjs/routeHandler.js.map +0 -1
  123. package/dist/cjs/nextjs/utils.d.ts +0 -3
  124. package/dist/cjs/nextjs/utils.d.ts.map +0 -1
  125. package/dist/cjs/nextjs/utils.js +0 -9
  126. package/dist/cjs/nextjs/utils.js.map +0 -1
  127. package/dist/cjs/reactjs/components/ButtonContentOrLoader.d.ts +0 -17
  128. package/dist/cjs/reactjs/components/ButtonContentOrLoader.d.ts.map +0 -1
  129. package/dist/cjs/reactjs/components/ButtonContentOrLoader.js +0 -40
  130. package/dist/cjs/reactjs/components/ButtonContentOrLoader.js.map +0 -1
  131. package/dist/cjs/reactjs/components/LoadingSpinner.d.ts +0 -7
  132. package/dist/cjs/reactjs/components/LoadingSpinner.d.ts.map +0 -1
  133. package/dist/cjs/reactjs/components/LoadingSpinner.js +0 -33
  134. package/dist/cjs/reactjs/components/LoadingSpinner.js.map +0 -1
  135. package/dist/cjs/reactjs/components/SignInButton.d.ts +0 -9
  136. package/dist/cjs/reactjs/components/SignInButton.d.ts.map +0 -1
  137. package/dist/cjs/reactjs/components/SignInButton.js +0 -31
  138. package/dist/cjs/reactjs/components/SignInButton.js.map +0 -1
  139. package/dist/cjs/reactjs/components/SignOutButton.d.ts +0 -7
  140. package/dist/cjs/reactjs/components/SignOutButton.d.ts.map +0 -1
  141. package/dist/cjs/reactjs/components/SignOutButton.js +0 -27
  142. package/dist/cjs/reactjs/components/SignOutButton.js.map +0 -1
  143. package/dist/cjs/reactjs/components/UserButton.d.ts +0 -9
  144. package/dist/cjs/reactjs/components/UserButton.d.ts.map +0 -1
  145. package/dist/cjs/reactjs/components/UserButton.js +0 -145
  146. package/dist/cjs/reactjs/components/UserButton.js.map +0 -1
  147. package/dist/cjs/reactjs/components/index.d.ts +0 -6
  148. package/dist/cjs/reactjs/components/index.d.ts.map +0 -1
  149. package/dist/cjs/reactjs/components/index.js +0 -14
  150. package/dist/cjs/reactjs/components/index.js.map +0 -1
  151. package/dist/cjs/reactjs/components/utils.d.ts +0 -13
  152. package/dist/cjs/reactjs/components/utils.d.ts.map +0 -1
  153. package/dist/cjs/reactjs/components/utils.js +0 -31
  154. package/dist/cjs/reactjs/components/utils.js.map +0 -1
  155. package/dist/cjs/reactjs/hooks/index.d.ts +0 -3
  156. package/dist/cjs/reactjs/hooks/index.d.ts.map +0 -1
  157. package/dist/cjs/reactjs/hooks/index.js +0 -8
  158. package/dist/cjs/reactjs/hooks/index.js.map +0 -1
  159. package/dist/cjs/reactjs/hooks/useAuth.d.ts +0 -3
  160. package/dist/cjs/reactjs/hooks/useAuth.d.ts.map +0 -1
  161. package/dist/cjs/reactjs/hooks/useAuth.js +0 -15
  162. package/dist/cjs/reactjs/hooks/useAuth.js.map +0 -1
  163. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  164. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  165. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.js +0 -16
  166. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  167. package/dist/cjs/reactjs/hooks/useSignIn.d.ts +0 -6
  168. package/dist/cjs/reactjs/hooks/useSignIn.d.ts.map +0 -1
  169. package/dist/cjs/reactjs/hooks/useSignIn.js +0 -38
  170. package/dist/cjs/reactjs/hooks/useSignIn.js.map +0 -1
  171. package/dist/cjs/reactjs/hooks/useUser.d.ts +0 -4
  172. package/dist/cjs/reactjs/hooks/useUser.d.ts.map +0 -1
  173. package/dist/cjs/reactjs/hooks/useUser.js +0 -15
  174. package/dist/cjs/reactjs/hooks/useUser.js.map +0 -1
  175. package/dist/cjs/reactjs/index.d.ts +0 -6
  176. package/dist/cjs/reactjs/index.d.ts.map +0 -1
  177. package/dist/cjs/reactjs/index.js +0 -32
  178. package/dist/cjs/reactjs/index.js.map +0 -1
  179. package/dist/cjs/reactjs/providers/AuthProvider.d.ts +0 -10
  180. package/dist/cjs/reactjs/providers/AuthProvider.d.ts.map +0 -1
  181. package/dist/cjs/reactjs/providers/AuthProvider.js +0 -99
  182. package/dist/cjs/reactjs/providers/AuthProvider.js.map +0 -1
  183. package/dist/cjs/reactjs/providers/CivicAuthProvider.d.ts +0 -5
  184. package/dist/cjs/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  185. package/dist/cjs/reactjs/providers/CivicAuthProvider.js +0 -29
  186. package/dist/cjs/reactjs/providers/CivicAuthProvider.js.map +0 -1
  187. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  188. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  189. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -146
  190. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  191. package/dist/cjs/reactjs/providers/index.d.ts +0 -8
  192. package/dist/cjs/reactjs/providers/index.d.ts.map +0 -1
  193. package/dist/cjs/reactjs/providers/index.js +0 -19
  194. package/dist/cjs/reactjs/providers/index.js.map +0 -1
  195. package/dist/cjs/server/ServerAuthenticationResolver.d.ts +0 -20
  196. package/dist/cjs/server/ServerAuthenticationResolver.d.ts.map +0 -1
  197. package/dist/cjs/server/ServerAuthenticationResolver.js +0 -71
  198. package/dist/cjs/server/ServerAuthenticationResolver.js.map +0 -1
  199. package/dist/cjs/server/config.d.ts +0 -11
  200. package/dist/cjs/server/config.d.ts.map +0 -1
  201. package/dist/cjs/server/config.js +0 -3
  202. package/dist/cjs/server/config.js.map +0 -1
  203. package/dist/cjs/server/index.d.ts +0 -9
  204. package/dist/cjs/server/index.d.ts.map +0 -1
  205. package/dist/cjs/server/index.js +0 -21
  206. package/dist/cjs/server/index.js.map +0 -1
  207. package/dist/cjs/server/login.d.ts +0 -17
  208. package/dist/cjs/server/login.d.ts.map +0 -1
  209. package/dist/cjs/server/login.js +0 -42
  210. package/dist/cjs/server/login.js.map +0 -1
  211. package/dist/cjs/server/logout.d.ts +0 -7
  212. package/dist/cjs/server/logout.d.ts.map +0 -1
  213. package/dist/cjs/server/logout.js +0 -26
  214. package/dist/cjs/server/logout.js.map +0 -1
  215. package/dist/cjs/server/refresh.d.ts +0 -7
  216. package/dist/cjs/server/refresh.d.ts.map +0 -1
  217. package/dist/cjs/server/refresh.js +0 -19
  218. package/dist/cjs/server/refresh.js.map +0 -1
  219. package/dist/cjs/services/AuthenticationService.d.ts +0 -93
  220. package/dist/cjs/services/AuthenticationService.d.ts.map +0 -1
  221. package/dist/cjs/services/AuthenticationService.js +0 -367
  222. package/dist/cjs/services/AuthenticationService.js.map +0 -1
  223. package/dist/cjs/services/PKCE.d.ts +0 -20
  224. package/dist/cjs/services/PKCE.d.ts.map +0 -1
  225. package/dist/cjs/services/PKCE.js +0 -50
  226. package/dist/cjs/services/PKCE.js.map +0 -1
  227. package/dist/cjs/services/types.d.ts +0 -24
  228. package/dist/cjs/services/types.d.ts.map +0 -1
  229. package/dist/cjs/services/types.js +0 -11
  230. package/dist/cjs/services/types.js.map +0 -1
  231. package/dist/cjs/shared/components/BlockDisplay.d.ts +0 -6
  232. package/dist/cjs/shared/components/BlockDisplay.d.ts.map +0 -1
  233. package/dist/cjs/shared/components/BlockDisplay.js +0 -32
  234. package/dist/cjs/shared/components/BlockDisplay.js.map +0 -1
  235. package/dist/cjs/shared/components/CivicAuthIframe.d.ts +0 -9
  236. package/dist/cjs/shared/components/CivicAuthIframe.d.ts.map +0 -1
  237. package/dist/cjs/shared/components/CivicAuthIframe.js +0 -72
  238. package/dist/cjs/shared/components/CivicAuthIframe.js.map +0 -1
  239. package/dist/cjs/shared/components/CivicAuthIframeContainer.d.ts +0 -14
  240. package/dist/cjs/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  241. package/dist/cjs/shared/components/CivicAuthIframeContainer.js +0 -158
  242. package/dist/cjs/shared/components/CivicAuthIframeContainer.js.map +0 -1
  243. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -6
  244. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  245. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.js +0 -21
  246. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  247. package/dist/cjs/shared/components/CloseIcon.d.ts +0 -3
  248. package/dist/cjs/shared/components/CloseIcon.d.ts.map +0 -1
  249. package/dist/cjs/shared/components/CloseIcon.js +0 -7
  250. package/dist/cjs/shared/components/CloseIcon.js.map +0 -1
  251. package/dist/cjs/shared/components/IFrameAndLoading.d.ts +0 -7
  252. package/dist/cjs/shared/components/IFrameAndLoading.d.ts.map +0 -1
  253. package/dist/cjs/shared/components/IFrameAndLoading.js +0 -39
  254. package/dist/cjs/shared/components/IFrameAndLoading.js.map +0 -1
  255. package/dist/cjs/shared/components/LoadingIcon.d.ts +0 -6
  256. package/dist/cjs/shared/components/LoadingIcon.d.ts.map +0 -1
  257. package/dist/cjs/shared/components/LoadingIcon.js +0 -28
  258. package/dist/cjs/shared/components/LoadingIcon.js.map +0 -1
  259. package/dist/cjs/shared/components/SVGLoading.d.ts +0 -4
  260. package/dist/cjs/shared/components/SVGLoading.d.ts.map +0 -1
  261. package/dist/cjs/shared/components/SVGLoading.js +0 -30
  262. package/dist/cjs/shared/components/SVGLoading.js.map +0 -1
  263. package/dist/cjs/shared/hooks/index.d.ts +0 -11
  264. package/dist/cjs/shared/hooks/index.d.ts.map +0 -1
  265. package/dist/cjs/shared/hooks/index.js +0 -24
  266. package/dist/cjs/shared/hooks/index.js.map +0 -1
  267. package/dist/cjs/shared/hooks/useAuth.d.ts +0 -3
  268. package/dist/cjs/shared/hooks/useAuth.d.ts.map +0 -1
  269. package/dist/cjs/shared/hooks/useAuth.js +0 -15
  270. package/dist/cjs/shared/hooks/useAuth.js.map +0 -1
  271. package/dist/cjs/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  272. package/dist/cjs/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  273. package/dist/cjs/shared/hooks/useCivicAuthConfig.js +0 -13
  274. package/dist/cjs/shared/hooks/useCivicAuthConfig.js.map +0 -1
  275. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  276. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  277. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js +0 -16
  278. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  279. package/dist/cjs/shared/hooks/useCurrentUrl.d.ts +0 -3
  280. package/dist/cjs/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  281. package/dist/cjs/shared/hooks/useCurrentUrl.js +0 -27
  282. package/dist/cjs/shared/hooks/useCurrentUrl.js.map +0 -1
  283. package/dist/cjs/shared/hooks/useIframe.d.ts +0 -3
  284. package/dist/cjs/shared/hooks/useIframe.d.ts.map +0 -1
  285. package/dist/cjs/shared/hooks/useIframe.js +0 -16
  286. package/dist/cjs/shared/hooks/useIframe.js.map +0 -1
  287. package/dist/cjs/shared/hooks/useIsInIframe.d.ts +0 -3
  288. package/dist/cjs/shared/hooks/useIsInIframe.d.ts.map +0 -1
  289. package/dist/cjs/shared/hooks/useIsInIframe.js +0 -17
  290. package/dist/cjs/shared/hooks/useIsInIframe.js.map +0 -1
  291. package/dist/cjs/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  292. package/dist/cjs/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  293. package/dist/cjs/shared/hooks/useOAuthEndpoints.js +0 -17
  294. package/dist/cjs/shared/hooks/useOAuthEndpoints.js.map +0 -1
  295. package/dist/cjs/shared/hooks/useRefresh.d.ts +0 -6
  296. package/dist/cjs/shared/hooks/useRefresh.d.ts.map +0 -1
  297. package/dist/cjs/shared/hooks/useRefresh.js +0 -49
  298. package/dist/cjs/shared/hooks/useRefresh.js.map +0 -1
  299. package/dist/cjs/shared/hooks/useSession.d.ts +0 -3
  300. package/dist/cjs/shared/hooks/useSession.d.ts.map +0 -1
  301. package/dist/cjs/shared/hooks/useSession.js +0 -16
  302. package/dist/cjs/shared/hooks/useSession.js.map +0 -1
  303. package/dist/cjs/shared/hooks/useSignIn.d.ts +0 -17
  304. package/dist/cjs/shared/hooks/useSignIn.d.ts.map +0 -1
  305. package/dist/cjs/shared/hooks/useSignIn.js +0 -171
  306. package/dist/cjs/shared/hooks/useSignIn.js.map +0 -1
  307. package/dist/cjs/shared/hooks/useToken.d.ts +0 -3
  308. package/dist/cjs/shared/hooks/useToken.d.ts.map +0 -1
  309. package/dist/cjs/shared/hooks/useToken.js +0 -15
  310. package/dist/cjs/shared/hooks/useToken.js.map +0 -1
  311. package/dist/cjs/shared/hooks/useWindowFocused.d.ts +0 -5
  312. package/dist/cjs/shared/hooks/useWindowFocused.d.ts.map +0 -1
  313. package/dist/cjs/shared/hooks/useWindowFocused.js +0 -24
  314. package/dist/cjs/shared/hooks/useWindowFocused.js.map +0 -1
  315. package/dist/cjs/shared/index.d.ts +0 -7
  316. package/dist/cjs/shared/index.d.ts.map +0 -1
  317. package/dist/cjs/shared/index.js +0 -25
  318. package/dist/cjs/shared/index.js.map +0 -1
  319. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.d.ts +0 -14
  320. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.d.ts.map +0 -1
  321. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.js +0 -55
  322. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.js.map +0 -1
  323. package/dist/cjs/shared/lib/BrowserAuthenticationRefresher.d.ts +0 -11
  324. package/dist/cjs/shared/lib/BrowserAuthenticationRefresher.d.ts.map +0 -1
  325. package/dist/cjs/shared/lib/BrowserAuthenticationRefresher.js +0 -63
  326. package/dist/cjs/shared/lib/BrowserAuthenticationRefresher.js.map +0 -1
  327. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts +0 -9
  328. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts.map +0 -1
  329. package/dist/cjs/shared/lib/BrowserCookieStorage.js +0 -60
  330. package/dist/cjs/shared/lib/BrowserCookieStorage.js.map +0 -1
  331. package/dist/cjs/shared/lib/GenericAuthenticationRefresher copy.d.ts +0 -18
  332. package/dist/cjs/shared/lib/GenericAuthenticationRefresher copy.d.ts.map +0 -1
  333. package/dist/cjs/shared/lib/GenericAuthenticationRefresher copy.js +0 -85
  334. package/dist/cjs/shared/lib/GenericAuthenticationRefresher copy.js.map +0 -1
  335. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts +0 -14
  336. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  337. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js +0 -38
  338. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  339. package/dist/cjs/shared/lib/UserSession.d.ts +0 -17
  340. package/dist/cjs/shared/lib/UserSession.d.ts.map +0 -1
  341. package/dist/cjs/shared/lib/UserSession.js +0 -27
  342. package/dist/cjs/shared/lib/UserSession.js.map +0 -1
  343. package/dist/cjs/shared/lib/iframeUtils.d.ts +0 -6
  344. package/dist/cjs/shared/lib/iframeUtils.d.ts.map +0 -1
  345. package/dist/cjs/shared/lib/iframeUtils.js +0 -11
  346. package/dist/cjs/shared/lib/iframeUtils.js.map +0 -1
  347. package/dist/cjs/shared/lib/session.d.ts +0 -4
  348. package/dist/cjs/shared/lib/session.d.ts.map +0 -1
  349. package/dist/cjs/shared/lib/session.js +0 -48
  350. package/dist/cjs/shared/lib/session.js.map +0 -1
  351. package/dist/cjs/shared/lib/storage.d.ts +0 -35
  352. package/dist/cjs/shared/lib/storage.d.ts.map +0 -1
  353. package/dist/cjs/shared/lib/storage.js +0 -21
  354. package/dist/cjs/shared/lib/storage.js.map +0 -1
  355. package/dist/cjs/shared/lib/types.d.ts +0 -39
  356. package/dist/cjs/shared/lib/types.d.ts.map +0 -1
  357. package/dist/cjs/shared/lib/types.js +0 -22
  358. package/dist/cjs/shared/lib/types.js.map +0 -1
  359. package/dist/cjs/shared/lib/util.d.ts +0 -40
  360. package/dist/cjs/shared/lib/util.d.ts.map +0 -1
  361. package/dist/cjs/shared/lib/util.js +0 -252
  362. package/dist/cjs/shared/lib/util.js.map +0 -1
  363. package/dist/cjs/shared/providers/AuthContext.d.ts +0 -12
  364. package/dist/cjs/shared/providers/AuthContext.d.ts.map +0 -1
  365. package/dist/cjs/shared/providers/AuthContext.js +0 -7
  366. package/dist/cjs/shared/providers/AuthContext.js.map +0 -1
  367. package/dist/cjs/shared/providers/AuthProvider.d.ts +0 -22
  368. package/dist/cjs/shared/providers/AuthProvider.d.ts.map +0 -1
  369. package/dist/cjs/shared/providers/AuthProvider.js +0 -108
  370. package/dist/cjs/shared/providers/AuthProvider.js.map +0 -1
  371. package/dist/cjs/shared/providers/CivicAuthConfigContext.d.ts +0 -19
  372. package/dist/cjs/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  373. package/dist/cjs/shared/providers/CivicAuthConfigContext.js +0 -59
  374. package/dist/cjs/shared/providers/CivicAuthConfigContext.js.map +0 -1
  375. package/dist/cjs/shared/providers/CivicAuthProvider.d.ts +0 -6
  376. package/dist/cjs/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  377. package/dist/cjs/shared/providers/CivicAuthProvider.js +0 -38
  378. package/dist/cjs/shared/providers/CivicAuthProvider.js.map +0 -1
  379. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  380. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  381. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js +0 -168
  382. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  383. package/dist/cjs/shared/providers/IframeProvider.d.ts +0 -25
  384. package/dist/cjs/shared/providers/IframeProvider.d.ts.map +0 -1
  385. package/dist/cjs/shared/providers/IframeProvider.js +0 -63
  386. package/dist/cjs/shared/providers/IframeProvider.js.map +0 -1
  387. package/dist/cjs/shared/providers/SessionProvider.d.ts +0 -19
  388. package/dist/cjs/shared/providers/SessionProvider.d.ts.map +0 -1
  389. package/dist/cjs/shared/providers/SessionProvider.js +0 -28
  390. package/dist/cjs/shared/providers/SessionProvider.js.map +0 -1
  391. package/dist/cjs/shared/providers/TokenProvider.d.ts +0 -17
  392. package/dist/cjs/shared/providers/TokenProvider.d.ts.map +0 -1
  393. package/dist/cjs/shared/providers/TokenProvider.js +0 -39
  394. package/dist/cjs/shared/providers/TokenProvider.js.map +0 -1
  395. package/dist/cjs/shared/providers/UserProvider.d.ts +0 -26
  396. package/dist/cjs/shared/providers/UserProvider.d.ts.map +0 -1
  397. package/dist/cjs/shared/providers/UserProvider.js +0 -69
  398. package/dist/cjs/shared/providers/UserProvider.js.map +0 -1
  399. package/dist/cjs/shared/providers/types.d.ts +0 -15
  400. package/dist/cjs/shared/providers/types.d.ts.map +0 -1
  401. package/dist/cjs/shared/providers/types.js +0 -3
  402. package/dist/cjs/shared/providers/types.js.map +0 -1
  403. package/dist/cjs/shared/version.d.ts +0 -2
  404. package/dist/cjs/shared/version.d.ts.map +0 -1
  405. package/dist/cjs/shared/version.js +0 -6
  406. package/dist/cjs/shared/version.js.map +0 -1
  407. package/dist/cjs/types.d.ts +0 -163
  408. package/dist/cjs/types.d.ts.map +0 -1
  409. package/dist/cjs/types.js +0 -20
  410. package/dist/cjs/types.js.map +0 -1
  411. package/dist/cjs/utils.d.ts +0 -15
  412. package/dist/cjs/utils.d.ts.map +0 -1
  413. package/dist/cjs/utils.js +0 -47
  414. package/dist/cjs/utils.js.map +0 -1
  415. package/dist/cjs/version.d.ts +0 -2
  416. package/dist/cjs/version.d.ts.map +0 -1
  417. package/dist/cjs/version.js +0 -6
  418. package/dist/cjs/version.js.map +0 -1
  419. package/dist/esm/browser/storage.d.ts +0 -10
  420. package/dist/esm/browser/storage.d.ts.map +0 -1
  421. package/dist/esm/browser/storage.js +0 -20
  422. package/dist/esm/browser/storage.js.map +0 -1
  423. package/dist/esm/config.d.ts +0 -3
  424. package/dist/esm/config.d.ts.map +0 -1
  425. package/dist/esm/config.js +0 -5
  426. package/dist/esm/config.js.map +0 -1
  427. package/dist/esm/constants.d.ts +0 -15
  428. package/dist/esm/constants.d.ts.map +0 -1
  429. package/dist/esm/constants.js +0 -29
  430. package/dist/esm/constants.js.map +0 -1
  431. package/dist/esm/index.d.ts +0 -8
  432. package/dist/esm/index.d.ts.map +0 -1
  433. package/dist/esm/index.js +0 -6
  434. package/dist/esm/index.js.map +0 -1
  435. package/dist/esm/lib/cookies.d.ts +0 -7
  436. package/dist/esm/lib/cookies.d.ts.map +0 -1
  437. package/dist/esm/lib/cookies.js +0 -26
  438. package/dist/esm/lib/cookies.js.map +0 -1
  439. package/dist/esm/lib/jwt.d.ts +0 -3
  440. package/dist/esm/lib/jwt.d.ts.map +0 -1
  441. package/dist/esm/lib/jwt.js +0 -9
  442. package/dist/esm/lib/jwt.js.map +0 -1
  443. package/dist/esm/lib/logger.d.ts +0 -26
  444. package/dist/esm/lib/logger.d.ts.map +0 -1
  445. package/dist/esm/lib/logger.js +0 -55
  446. package/dist/esm/lib/logger.js.map +0 -1
  447. package/dist/esm/lib/oauth.d.ts +0 -19
  448. package/dist/esm/lib/oauth.d.ts.map +0 -1
  449. package/dist/esm/lib/oauth.js +0 -67
  450. package/dist/esm/lib/oauth.js.map +0 -1
  451. package/dist/esm/lib/obj.d.ts +0 -3
  452. package/dist/esm/lib/obj.d.ts.map +0 -1
  453. package/dist/esm/lib/obj.js +0 -18
  454. package/dist/esm/lib/obj.js.map +0 -1
  455. package/dist/esm/lib/postMessage.d.ts +0 -4
  456. package/dist/esm/lib/postMessage.d.ts.map +0 -1
  457. package/dist/esm/lib/postMessage.js +0 -13
  458. package/dist/esm/lib/postMessage.js.map +0 -1
  459. package/dist/esm/lib/windowUtil.d.ts +0 -4
  460. package/dist/esm/lib/windowUtil.d.ts.map +0 -1
  461. package/dist/esm/lib/windowUtil.js +0 -31
  462. package/dist/esm/lib/windowUtil.js.map +0 -1
  463. package/dist/esm/nextjs/GetUser.d.ts +0 -6
  464. package/dist/esm/nextjs/GetUser.d.ts.map +0 -1
  465. package/dist/esm/nextjs/GetUser.js +0 -7
  466. package/dist/esm/nextjs/GetUser.js.map +0 -1
  467. package/dist/esm/nextjs/NextClientAuthenticationRefresher.d.ts +0 -8
  468. package/dist/esm/nextjs/NextClientAuthenticationRefresher.d.ts.map +0 -1
  469. package/dist/esm/nextjs/NextClientAuthenticationRefresher.js +0 -24
  470. package/dist/esm/nextjs/NextClientAuthenticationRefresher.js.map +0 -1
  471. package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.d.ts +0 -12
  472. package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.d.ts.map +0 -1
  473. package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.js +0 -25
  474. package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.js.map +0 -1
  475. package/dist/esm/nextjs/config.d.ts +0 -209
  476. package/dist/esm/nextjs/config.d.ts.map +0 -1
  477. package/dist/esm/nextjs/config.js +0 -186
  478. package/dist/esm/nextjs/config.js.map +0 -1
  479. package/dist/esm/nextjs/cookies.d.ts +0 -16
  480. package/dist/esm/nextjs/cookies.d.ts.map +0 -1
  481. package/dist/esm/nextjs/cookies.js +0 -41
  482. package/dist/esm/nextjs/cookies.js.map +0 -1
  483. package/dist/esm/nextjs/hooks/index.d.ts +0 -2
  484. package/dist/esm/nextjs/hooks/index.d.ts.map +0 -1
  485. package/dist/esm/nextjs/hooks/index.js +0 -2
  486. package/dist/esm/nextjs/hooks/index.js.map +0 -1
  487. package/dist/esm/nextjs/hooks/usePrevious.d.ts +0 -2
  488. package/dist/esm/nextjs/hooks/usePrevious.d.ts.map +0 -1
  489. package/dist/esm/nextjs/hooks/usePrevious.js +0 -9
  490. package/dist/esm/nextjs/hooks/usePrevious.js.map +0 -1
  491. package/dist/esm/nextjs/hooks/useRefresh.d.ts +0 -6
  492. package/dist/esm/nextjs/hooks/useRefresh.d.ts.map +0 -1
  493. package/dist/esm/nextjs/hooks/useRefresh.js +0 -48
  494. package/dist/esm/nextjs/hooks/useRefresh.js.map +0 -1
  495. package/dist/esm/nextjs/hooks/useUserCookie.d.ts +0 -8
  496. package/dist/esm/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  497. package/dist/esm/nextjs/hooks/useUserCookie.js +0 -89
  498. package/dist/esm/nextjs/hooks/useUserCookie.js.map +0 -1
  499. package/dist/esm/nextjs/index.d.ts +0 -9
  500. package/dist/esm/nextjs/index.d.ts.map +0 -1
  501. package/dist/esm/nextjs/index.js +0 -17
  502. package/dist/esm/nextjs/index.js.map +0 -1
  503. package/dist/esm/nextjs/middleware/index.d.ts +0 -2
  504. package/dist/esm/nextjs/middleware/index.d.ts.map +0 -1
  505. package/dist/esm/nextjs/middleware/index.js +0 -4
  506. package/dist/esm/nextjs/middleware/index.js.map +0 -1
  507. package/dist/esm/nextjs/middleware.d.ts +0 -57
  508. package/dist/esm/nextjs/middleware.d.ts.map +0 -1
  509. package/dist/esm/nextjs/middleware.js +0 -101
  510. package/dist/esm/nextjs/middleware.js.map +0 -1
  511. package/dist/esm/nextjs/providers/NextAuthProvider.d.ts +0 -9
  512. package/dist/esm/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  513. package/dist/esm/nextjs/providers/NextAuthProvider.js +0 -105
  514. package/dist/esm/nextjs/providers/NextAuthProvider.js.map +0 -1
  515. package/dist/esm/nextjs/routeHandler.d.ts +0 -19
  516. package/dist/esm/nextjs/routeHandler.d.ts.map +0 -1
  517. package/dist/esm/nextjs/routeHandler.js +0 -319
  518. package/dist/esm/nextjs/routeHandler.js.map +0 -1
  519. package/dist/esm/nextjs/utils.d.ts +0 -3
  520. package/dist/esm/nextjs/utils.d.ts.map +0 -1
  521. package/dist/esm/nextjs/utils.js +0 -5
  522. package/dist/esm/nextjs/utils.js.map +0 -1
  523. package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts +0 -17
  524. package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts.map +0 -1
  525. package/dist/esm/reactjs/components/ButtonContentOrLoader.js +0 -37
  526. package/dist/esm/reactjs/components/ButtonContentOrLoader.js.map +0 -1
  527. package/dist/esm/reactjs/components/SignInButton.d.ts +0 -9
  528. package/dist/esm/reactjs/components/SignInButton.d.ts.map +0 -1
  529. package/dist/esm/reactjs/components/SignInButton.js +0 -28
  530. package/dist/esm/reactjs/components/SignInButton.js.map +0 -1
  531. package/dist/esm/reactjs/components/SignOutButton.d.ts +0 -7
  532. package/dist/esm/reactjs/components/SignOutButton.d.ts.map +0 -1
  533. package/dist/esm/reactjs/components/SignOutButton.js +0 -24
  534. package/dist/esm/reactjs/components/SignOutButton.js.map +0 -1
  535. package/dist/esm/reactjs/components/UserButton.d.ts +0 -9
  536. package/dist/esm/reactjs/components/UserButton.d.ts.map +0 -1
  537. package/dist/esm/reactjs/components/UserButton.js +0 -142
  538. package/dist/esm/reactjs/components/UserButton.js.map +0 -1
  539. package/dist/esm/reactjs/components/index.d.ts +0 -6
  540. package/dist/esm/reactjs/components/index.d.ts.map +0 -1
  541. package/dist/esm/reactjs/components/index.js +0 -6
  542. package/dist/esm/reactjs/components/index.js.map +0 -1
  543. package/dist/esm/reactjs/components/utils.d.ts +0 -13
  544. package/dist/esm/reactjs/components/utils.d.ts.map +0 -1
  545. package/dist/esm/reactjs/components/utils.js +0 -27
  546. package/dist/esm/reactjs/components/utils.js.map +0 -1
  547. package/dist/esm/reactjs/hooks/index.d.ts +0 -3
  548. package/dist/esm/reactjs/hooks/index.d.ts.map +0 -1
  549. package/dist/esm/reactjs/hooks/index.js +0 -3
  550. package/dist/esm/reactjs/hooks/index.js.map +0 -1
  551. package/dist/esm/reactjs/hooks/useAuth.d.ts +0 -3
  552. package/dist/esm/reactjs/hooks/useAuth.d.ts.map +0 -1
  553. package/dist/esm/reactjs/hooks/useAuth.js +0 -12
  554. package/dist/esm/reactjs/hooks/useAuth.js.map +0 -1
  555. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  556. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  557. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.js +0 -13
  558. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  559. package/dist/esm/reactjs/hooks/useSignIn.d.ts +0 -6
  560. package/dist/esm/reactjs/hooks/useSignIn.d.ts.map +0 -1
  561. package/dist/esm/reactjs/hooks/useSignIn.js +0 -34
  562. package/dist/esm/reactjs/hooks/useSignIn.js.map +0 -1
  563. package/dist/esm/reactjs/hooks/useUser.d.ts +0 -4
  564. package/dist/esm/reactjs/hooks/useUser.d.ts.map +0 -1
  565. package/dist/esm/reactjs/hooks/useUser.js +0 -12
  566. package/dist/esm/reactjs/hooks/useUser.js.map +0 -1
  567. package/dist/esm/reactjs/index.d.ts +0 -6
  568. package/dist/esm/reactjs/index.d.ts.map +0 -1
  569. package/dist/esm/reactjs/index.js +0 -10
  570. package/dist/esm/reactjs/index.js.map +0 -1
  571. package/dist/esm/reactjs/providers/AuthProvider.d.ts +0 -10
  572. package/dist/esm/reactjs/providers/AuthProvider.d.ts.map +0 -1
  573. package/dist/esm/reactjs/providers/AuthProvider.js +0 -97
  574. package/dist/esm/reactjs/providers/AuthProvider.js.map +0 -1
  575. package/dist/esm/reactjs/providers/CivicAuthProvider.d.ts +0 -5
  576. package/dist/esm/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  577. package/dist/esm/reactjs/providers/CivicAuthProvider.js +0 -27
  578. package/dist/esm/reactjs/providers/CivicAuthProvider.js.map +0 -1
  579. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  580. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  581. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -142
  582. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  583. package/dist/esm/reactjs/providers/index.d.ts +0 -8
  584. package/dist/esm/reactjs/providers/index.d.ts.map +0 -1
  585. package/dist/esm/reactjs/providers/index.js +0 -7
  586. package/dist/esm/reactjs/providers/index.js.map +0 -1
  587. package/dist/esm/server/ServerAuthenticationResolver.d.ts +0 -20
  588. package/dist/esm/server/ServerAuthenticationResolver.d.ts.map +0 -1
  589. package/dist/esm/server/ServerAuthenticationResolver.js +0 -67
  590. package/dist/esm/server/ServerAuthenticationResolver.js.map +0 -1
  591. package/dist/esm/server/config.d.ts +0 -11
  592. package/dist/esm/server/config.d.ts.map +0 -1
  593. package/dist/esm/server/config.js +0 -2
  594. package/dist/esm/server/config.js.map +0 -1
  595. package/dist/esm/server/index.d.ts +0 -9
  596. package/dist/esm/server/index.d.ts.map +0 -1
  597. package/dist/esm/server/index.js +0 -9
  598. package/dist/esm/server/index.js.map +0 -1
  599. package/dist/esm/server/login.d.ts +0 -17
  600. package/dist/esm/server/login.d.ts.map +0 -1
  601. package/dist/esm/server/login.js +0 -37
  602. package/dist/esm/server/login.js.map +0 -1
  603. package/dist/esm/server/logout.d.ts +0 -7
  604. package/dist/esm/server/logout.d.ts.map +0 -1
  605. package/dist/esm/server/logout.js +0 -23
  606. package/dist/esm/server/logout.js.map +0 -1
  607. package/dist/esm/server/refresh.d.ts +0 -7
  608. package/dist/esm/server/refresh.d.ts.map +0 -1
  609. package/dist/esm/server/refresh.js +0 -16
  610. package/dist/esm/server/refresh.js.map +0 -1
  611. package/dist/esm/services/AuthenticationService.d.ts +0 -93
  612. package/dist/esm/services/AuthenticationService.d.ts.map +0 -1
  613. package/dist/esm/services/AuthenticationService.js +0 -361
  614. package/dist/esm/services/AuthenticationService.js.map +0 -1
  615. package/dist/esm/services/PKCE.d.ts +0 -20
  616. package/dist/esm/services/PKCE.d.ts.map +0 -1
  617. package/dist/esm/services/PKCE.js +0 -44
  618. package/dist/esm/services/PKCE.js.map +0 -1
  619. package/dist/esm/services/types.d.ts +0 -24
  620. package/dist/esm/services/types.d.ts.map +0 -1
  621. package/dist/esm/services/types.js +0 -7
  622. package/dist/esm/services/types.js.map +0 -1
  623. package/dist/esm/shared/components/BlockDisplay.d.ts +0 -6
  624. package/dist/esm/shared/components/BlockDisplay.d.ts.map +0 -1
  625. package/dist/esm/shared/components/BlockDisplay.js +0 -29
  626. package/dist/esm/shared/components/BlockDisplay.js.map +0 -1
  627. package/dist/esm/shared/components/CivicAuthIframe.d.ts +0 -9
  628. package/dist/esm/shared/components/CivicAuthIframe.d.ts.map +0 -1
  629. package/dist/esm/shared/components/CivicAuthIframe.js +0 -33
  630. package/dist/esm/shared/components/CivicAuthIframe.js.map +0 -1
  631. package/dist/esm/shared/components/CivicAuthIframeContainer.d.ts +0 -14
  632. package/dist/esm/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  633. package/dist/esm/shared/components/CivicAuthIframeContainer.js +0 -154
  634. package/dist/esm/shared/components/CivicAuthIframeContainer.js.map +0 -1
  635. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -6
  636. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  637. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.js +0 -19
  638. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  639. package/dist/esm/shared/components/CloseIcon.d.ts +0 -3
  640. package/dist/esm/shared/components/CloseIcon.d.ts.map +0 -1
  641. package/dist/esm/shared/components/CloseIcon.js +0 -5
  642. package/dist/esm/shared/components/CloseIcon.js.map +0 -1
  643. package/dist/esm/shared/components/IFrameAndLoading.d.ts +0 -7
  644. package/dist/esm/shared/components/IFrameAndLoading.d.ts.map +0 -1
  645. package/dist/esm/shared/components/IFrameAndLoading.js +0 -36
  646. package/dist/esm/shared/components/IFrameAndLoading.js.map +0 -1
  647. package/dist/esm/shared/components/LoadingIcon.d.ts +0 -6
  648. package/dist/esm/shared/components/LoadingIcon.d.ts.map +0 -1
  649. package/dist/esm/shared/components/LoadingIcon.js +0 -26
  650. package/dist/esm/shared/components/LoadingIcon.js.map +0 -1
  651. package/dist/esm/shared/components/SVGLoading.d.ts +0 -4
  652. package/dist/esm/shared/components/SVGLoading.d.ts.map +0 -1
  653. package/dist/esm/shared/components/SVGLoading.js +0 -28
  654. package/dist/esm/shared/components/SVGLoading.js.map +0 -1
  655. package/dist/esm/shared/hooks/index.d.ts +0 -11
  656. package/dist/esm/shared/hooks/index.d.ts.map +0 -1
  657. package/dist/esm/shared/hooks/index.js +0 -11
  658. package/dist/esm/shared/hooks/index.js.map +0 -1
  659. package/dist/esm/shared/hooks/useAuth.d.ts +0 -3
  660. package/dist/esm/shared/hooks/useAuth.d.ts.map +0 -1
  661. package/dist/esm/shared/hooks/useAuth.js +0 -12
  662. package/dist/esm/shared/hooks/useAuth.js.map +0 -1
  663. package/dist/esm/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  664. package/dist/esm/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  665. package/dist/esm/shared/hooks/useCivicAuthConfig.js +0 -10
  666. package/dist/esm/shared/hooks/useCivicAuthConfig.js.map +0 -1
  667. package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  668. package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  669. package/dist/esm/shared/hooks/useClientTokenExchangeSession.js +0 -13
  670. package/dist/esm/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  671. package/dist/esm/shared/hooks/useCurrentUrl.d.ts +0 -3
  672. package/dist/esm/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  673. package/dist/esm/shared/hooks/useCurrentUrl.js +0 -24
  674. package/dist/esm/shared/hooks/useCurrentUrl.js.map +0 -1
  675. package/dist/esm/shared/hooks/useIframe.d.ts +0 -3
  676. package/dist/esm/shared/hooks/useIframe.d.ts.map +0 -1
  677. package/dist/esm/shared/hooks/useIframe.js +0 -13
  678. package/dist/esm/shared/hooks/useIframe.js.map +0 -1
  679. package/dist/esm/shared/hooks/useIsInIframe.d.ts +0 -3
  680. package/dist/esm/shared/hooks/useIsInIframe.d.ts.map +0 -1
  681. package/dist/esm/shared/hooks/useIsInIframe.js +0 -14
  682. package/dist/esm/shared/hooks/useIsInIframe.js.map +0 -1
  683. package/dist/esm/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  684. package/dist/esm/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  685. package/dist/esm/shared/hooks/useOAuthEndpoints.js +0 -14
  686. package/dist/esm/shared/hooks/useOAuthEndpoints.js.map +0 -1
  687. package/dist/esm/shared/hooks/useRefresh.d.ts +0 -6
  688. package/dist/esm/shared/hooks/useRefresh.d.ts.map +0 -1
  689. package/dist/esm/shared/hooks/useRefresh.js +0 -46
  690. package/dist/esm/shared/hooks/useRefresh.js.map +0 -1
  691. package/dist/esm/shared/hooks/useSession.d.ts +0 -3
  692. package/dist/esm/shared/hooks/useSession.d.ts.map +0 -1
  693. package/dist/esm/shared/hooks/useSession.js +0 -13
  694. package/dist/esm/shared/hooks/useSession.js.map +0 -1
  695. package/dist/esm/shared/hooks/useSignIn.d.ts +0 -17
  696. package/dist/esm/shared/hooks/useSignIn.d.ts.map +0 -1
  697. package/dist/esm/shared/hooks/useSignIn.js +0 -168
  698. package/dist/esm/shared/hooks/useSignIn.js.map +0 -1
  699. package/dist/esm/shared/hooks/useToken.d.ts +0 -3
  700. package/dist/esm/shared/hooks/useToken.d.ts.map +0 -1
  701. package/dist/esm/shared/hooks/useToken.js +0 -12
  702. package/dist/esm/shared/hooks/useToken.js.map +0 -1
  703. package/dist/esm/shared/hooks/useWindowFocused.d.ts +0 -5
  704. package/dist/esm/shared/hooks/useWindowFocused.d.ts.map +0 -1
  705. package/dist/esm/shared/hooks/useWindowFocused.js +0 -21
  706. package/dist/esm/shared/hooks/useWindowFocused.js.map +0 -1
  707. package/dist/esm/shared/index.d.ts +0 -7
  708. package/dist/esm/shared/index.d.ts.map +0 -1
  709. package/dist/esm/shared/index.js +0 -18
  710. package/dist/esm/shared/index.js.map +0 -1
  711. package/dist/esm/shared/lib/AuthenticationRefresherImpl.d.ts +0 -14
  712. package/dist/esm/shared/lib/AuthenticationRefresherImpl.d.ts.map +0 -1
  713. package/dist/esm/shared/lib/AuthenticationRefresherImpl.js +0 -51
  714. package/dist/esm/shared/lib/AuthenticationRefresherImpl.js.map +0 -1
  715. package/dist/esm/shared/lib/BrowserAuthenticationRefresher.d.ts +0 -11
  716. package/dist/esm/shared/lib/BrowserAuthenticationRefresher.d.ts.map +0 -1
  717. package/dist/esm/shared/lib/BrowserAuthenticationRefresher.js +0 -59
  718. package/dist/esm/shared/lib/BrowserAuthenticationRefresher.js.map +0 -1
  719. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts +0 -9
  720. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts.map +0 -1
  721. package/dist/esm/shared/lib/BrowserCookieStorage.js +0 -56
  722. package/dist/esm/shared/lib/BrowserCookieStorage.js.map +0 -1
  723. package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts +0 -14
  724. package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  725. package/dist/esm/shared/lib/GenericAuthenticationRefresher.js +0 -34
  726. package/dist/esm/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  727. package/dist/esm/shared/lib/UserSession.d.ts +0 -17
  728. package/dist/esm/shared/lib/UserSession.d.ts.map +0 -1
  729. package/dist/esm/shared/lib/UserSession.js +0 -23
  730. package/dist/esm/shared/lib/UserSession.js.map +0 -1
  731. package/dist/esm/shared/lib/iframeUtils.d.ts +0 -6
  732. package/dist/esm/shared/lib/iframeUtils.d.ts.map +0 -1
  733. package/dist/esm/shared/lib/iframeUtils.js +0 -7
  734. package/dist/esm/shared/lib/iframeUtils.js.map +0 -1
  735. package/dist/esm/shared/lib/session.d.ts +0 -4
  736. package/dist/esm/shared/lib/session.d.ts.map +0 -1
  737. package/dist/esm/shared/lib/session.js +0 -44
  738. package/dist/esm/shared/lib/session.js.map +0 -1
  739. package/dist/esm/shared/lib/storage.d.ts +0 -35
  740. package/dist/esm/shared/lib/storage.d.ts.map +0 -1
  741. package/dist/esm/shared/lib/storage.js +0 -17
  742. package/dist/esm/shared/lib/storage.js.map +0 -1
  743. package/dist/esm/shared/lib/types.d.ts +0 -39
  744. package/dist/esm/shared/lib/types.d.ts.map +0 -1
  745. package/dist/esm/shared/lib/types.js +0 -19
  746. package/dist/esm/shared/lib/types.js.map +0 -1
  747. package/dist/esm/shared/lib/util.d.ts +0 -40
  748. package/dist/esm/shared/lib/util.d.ts.map +0 -1
  749. package/dist/esm/shared/lib/util.js +0 -200
  750. package/dist/esm/shared/lib/util.js.map +0 -1
  751. package/dist/esm/shared/providers/AuthContext.d.ts +0 -12
  752. package/dist/esm/shared/providers/AuthContext.d.ts.map +0 -1
  753. package/dist/esm/shared/providers/AuthContext.js +0 -4
  754. package/dist/esm/shared/providers/AuthContext.js.map +0 -1
  755. package/dist/esm/shared/providers/AuthProvider.d.ts +0 -22
  756. package/dist/esm/shared/providers/AuthProvider.d.ts.map +0 -1
  757. package/dist/esm/shared/providers/AuthProvider.js +0 -72
  758. package/dist/esm/shared/providers/AuthProvider.js.map +0 -1
  759. package/dist/esm/shared/providers/CivicAuthConfigContext.d.ts +0 -19
  760. package/dist/esm/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  761. package/dist/esm/shared/providers/CivicAuthConfigContext.js +0 -55
  762. package/dist/esm/shared/providers/CivicAuthConfigContext.js.map +0 -1
  763. package/dist/esm/shared/providers/CivicAuthProvider.d.ts +0 -6
  764. package/dist/esm/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  765. package/dist/esm/shared/providers/CivicAuthProvider.js +0 -32
  766. package/dist/esm/shared/providers/CivicAuthProvider.js.map +0 -1
  767. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  768. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  769. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js +0 -131
  770. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  771. package/dist/esm/shared/providers/IframeProvider.d.ts +0 -25
  772. package/dist/esm/shared/providers/IframeProvider.d.ts.map +0 -1
  773. package/dist/esm/shared/providers/IframeProvider.js +0 -59
  774. package/dist/esm/shared/providers/IframeProvider.js.map +0 -1
  775. package/dist/esm/shared/providers/SessionProvider.d.ts +0 -19
  776. package/dist/esm/shared/providers/SessionProvider.d.ts.map +0 -1
  777. package/dist/esm/shared/providers/SessionProvider.js +0 -24
  778. package/dist/esm/shared/providers/SessionProvider.js.map +0 -1
  779. package/dist/esm/shared/providers/TokenProvider.d.ts +0 -17
  780. package/dist/esm/shared/providers/TokenProvider.d.ts.map +0 -1
  781. package/dist/esm/shared/providers/TokenProvider.js +0 -35
  782. package/dist/esm/shared/providers/TokenProvider.js.map +0 -1
  783. package/dist/esm/shared/providers/UserProvider.d.ts +0 -26
  784. package/dist/esm/shared/providers/UserProvider.d.ts.map +0 -1
  785. package/dist/esm/shared/providers/UserProvider.js +0 -65
  786. package/dist/esm/shared/providers/UserProvider.js.map +0 -1
  787. package/dist/esm/shared/providers/types.d.ts +0 -15
  788. package/dist/esm/shared/providers/types.d.ts.map +0 -1
  789. package/dist/esm/shared/providers/types.js +0 -2
  790. package/dist/esm/shared/providers/types.js.map +0 -1
  791. package/dist/esm/shared/version.d.ts +0 -2
  792. package/dist/esm/shared/version.d.ts.map +0 -1
  793. package/dist/esm/shared/version.js +0 -3
  794. package/dist/esm/shared/version.js.map +0 -1
  795. package/dist/esm/types.d.ts +0 -163
  796. package/dist/esm/types.d.ts.map +0 -1
  797. package/dist/esm/types.js +0 -17
  798. package/dist/esm/types.js.map +0 -1
  799. package/dist/esm/utils.d.ts +0 -15
  800. package/dist/esm/utils.d.ts.map +0 -1
  801. package/dist/esm/utils.js +0 -42
  802. package/dist/esm/utils.js.map +0 -1
  803. package/dist/esm/version.d.ts +0 -2
  804. package/dist/esm/version.d.ts.map +0 -1
  805. package/dist/esm/version.js +0 -3
  806. package/dist/esm/version.js.map +0 -1
  807. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  808. package/dist/tsconfig.esm.tsbuildinfo +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"routeHandler.js","sourceRoot":"","sources":["../../../src/nextjs/routeHandler.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n TOKEN_EXCHANGE_SUCCESS_TEXT,\n TOKEN_EXCHANGE_TRIGGER_TEXT,\n} from \"@/constants.js\";\nimport { loggers } from \"@/lib/logger.js\";\nimport {\n displayModeFromState,\n serverTokenExchangeFromState,\n} from \"@/lib/oauth.js\";\nimport type { AuthConfig } from \"@/nextjs/config.js\";\nimport { resolveAuthConfig } from \"@/nextjs/config.js\";\nimport { clearAuthCookies, NextjsCookieStorage } from \"@/nextjs/cookies.js\";\nimport { getUser } from \"@/nextjs/index.js\";\nimport { resolveCallbackUrl } from \"@/nextjs/utils.js\";\nimport { resolveOAuthAccessCode } from \"@/server/login.js\";\nimport { GenericPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { CodeVerifier, OAuthTokens } from \"@/shared/lib/types.js\";\nimport { GenericUserSession } from \"@/shared/lib/UserSession.js\";\nimport { generateOauthLogoutUrl } from \"@/shared/lib/util.js\";\nimport { revalidatePath } from \"next/cache.js\";\nimport type { NextRequest } from \"next/server.js\";\nimport { NextResponse } from \"next/server.js\";\nimport { NextServerAuthenticationRefresherImpl } from \"./NextServerAuthenticationRefresherImpl.js\";\n\nconst logger = loggers.nextjs.handlers.auth;\n\nclass AuthError extends Error {\n constructor(\n message: string,\n public readonly status: number = 401,\n ) {\n super(message);\n this.name = \"AuthError\";\n }\n}\n\nconst getAppUrl = (request: NextRequest): string | null =>\n request.cookies.get(CodeVerifier.APP_URL)?.value ||\n request.nextUrl.searchParams.get(\"appUrl\");\n\nconst getIdToken = async (config: AuthConfig): Promise<string | null> => {\n const cookieStorage = new NextjsCookieStorage(config.cookies?.tokens ?? {});\n return cookieStorage.get(OAuthTokens.ID_TOKEN);\n};\n\n/**\n * create a code verifier and challenge for PKCE\n * saving the verifier in a cookie for later use\n * @returns {Promise<NextResponse>}\n */\nasync function handleChallenge(\n request: NextRequest,\n config: AuthConfig,\n): Promise<NextResponse> {\n const cookieStorage = new NextjsCookieStorage(config.cookies?.tokens ?? {});\n const pkceProducer = new GenericPublicClientPKCEProducer(cookieStorage);\n\n const challenge = await pkceProducer.getCodeChallenge();\n const appUrl = request.nextUrl.searchParams.get(\"appUrl\");\n if (appUrl) {\n cookieStorage.set(CodeVerifier.APP_URL, appUrl);\n }\n return NextResponse.json({ status: \"success\", challenge });\n}\n\nasync function performTokenExchangeAndSetCookies(\n config: AuthConfig,\n code: string,\n state: string,\n appUrl: string,\n) {\n const resolvedConfigs = resolveAuthConfig(config);\n // TODO This is messy, better would be to fix the config.cookies type to always be <name: settings>\n // rather than nesting the tokens-related ones *and* code-verifier inside \"tokens\"\n // (despite code-verifier not relating directly to tokens)\n const cookieStorage = new NextjsCookieStorage({\n ...resolvedConfigs.cookies.tokens,\n user: resolvedConfigs.cookies.user,\n });\n\n const callbackUrl = resolveCallbackUrl(resolvedConfigs, appUrl);\n try {\n await resolveOAuthAccessCode(code, state, cookieStorage, {\n ...resolvedConfigs,\n redirectUrl: callbackUrl,\n });\n } catch (error) {\n logger.error(\"Token exchange failed:\", error);\n throw new AuthError(\"Failed to authenticate user\", 401);\n }\n\n const user = await getUser();\n if (!user) {\n throw new AuthError(\"Failed to get user info\", 401);\n }\n const userSession = new GenericUserSession(cookieStorage);\n await userSession.set(user);\n}\nasync function handleRefresh(\n _request: NextRequest,\n config: AuthConfig,\n): Promise<NextResponse> {\n const resolvedConfigs = resolveAuthConfig(config);\n const cookieStorage = new NextjsCookieStorage(config.cookies?.tokens ?? {});\n try {\n const onError = (error: Error) => {\n logger.error(\"handleRefresh: Token refresh failed:\", error);\n throw new AuthError(\"Failed to refresh tokens\", 500);\n };\n const refresher = await NextServerAuthenticationRefresherImpl.build(\n {\n clientId: resolvedConfigs.clientId,\n oauthServer: resolvedConfigs.oauthServer,\n redirectUrl: resolvedConfigs.callbackUrl,\n refreshUrl: resolvedConfigs.refreshUrl,\n },\n cookieStorage,\n onError,\n );\n\n const tokens = await refresher.refreshAccessToken();\n return NextResponse.json({ status: \"success\", tokens });\n } catch (error) {\n logger.error(\"handleRefresh: Token refresh failed:\", error);\n throw new AuthError(\"Failed to refresh tokens\", 500);\n }\n}\n\nconst generateHtmlResponseWithCallback = (\n request: NextRequest,\n callbackUrl: string,\n) => {\n // we need to replace the URL with resolved config in case the server is hosted\n // behind a reverse proxy or load balancer\n const requestUrl = new URL(request.url);\n const fetchUrl = `${callbackUrl}?${requestUrl.searchParams.toString()}&sameDomainCallback=true`;\n return new NextResponse(\n `<html lang=\"en\">\n <body>\n <span style=\"display:none\">\n <script>\n window.onload = function () {\n const appUrl = globalThis.window?.location?.origin;\n fetch('${fetchUrl}&appUrl=' + appUrl).then((response) => {\n response.json().then((jsonResponse) => {\n if (jsonResponse.redirectUrl) {\n window.location.href = jsonResponse.redirectUrl;\n }\n });\n });\n };\n </script>\n </span>\n </body>\n </html>\n `,\n );\n};\n\nasync function handleCallback(\n request: NextRequest,\n config: AuthConfig,\n): Promise<NextResponse> {\n const resolvedConfigs = resolveAuthConfig(config);\n const code = request.nextUrl.searchParams.get(\"code\");\n const state = request.nextUrl.searchParams.get(\"state\");\n if (!code || !state) throw new AuthError(\"Bad parameters\", 400);\n\n // appUrl is passed from the client to the server in the query string\n // this is necessary because the server does not have access to the client's window.location.origin\n // and can not accurately determine the appUrl (specially if the app is behind a reverse proxy)\n const appUrl = getAppUrl(request);\n\n // If we have a code_verifier cookie and the appUrl, we can do a token exchange.\n // Otherwise, just render an empty page.\n // The initial redirect back from the auth server does not send cookies, because the redirect is from a 3rd-party domain.\n // The client will make an additional call to this route with cookies included, at which point we do the token exchange.\n const codeVerifier = request.cookies.get(CodeVerifier.COOKIE_NAME);\n\n if (!codeVerifier || !appUrl) {\n logger.debug(\"handleCallback no code_verifier found\", {\n state,\n serverTokenExchange: serverTokenExchangeFromState(`${state}`),\n });\n let response = new NextResponse(\n `<html lang=\"en\"><body><span style=\"display:none\">${TOKEN_EXCHANGE_TRIGGER_TEXT}</span></body></html>`,\n );\n\n // in server-side token exchange mode we need to launch a page that will trigger the token exchange\n // from the same domain, allowing it access to the code_verifier cookie\n // we only need to do this in redirect mode, as the iframe already triggers a client-side token exchange\n // if no code-verifier cookie is found\n if (state && serverTokenExchangeFromState(state)) {\n logger.debug(\n \"handleCallback serverTokenExchangeFromState, launching redirect page...\",\n {\n requestUrl: request.url,\n configCallbackUrl: resolvedConfigs.callbackUrl,\n },\n );\n // generate a page that will callback to the same domain, allowing access\n // to the code_verifier cookie and passing the appUrl.\n response = generateHtmlResponseWithCallback(\n request,\n resolvedConfigs.callbackUrl,\n );\n }\n\n response.headers.set(\"Content-Type\", \"text/html; charset=utf-8\");\n logger.debug(\n `handleCallback no code_verifier found, returning ${TOKEN_EXCHANGE_TRIGGER_TEXT}`,\n );\n return response;\n }\n\n await performTokenExchangeAndSetCookies(resolvedConfigs, code, state, appUrl);\n\n if (request.url.includes(\"sameDomainCallback=true\")) {\n logger.debug(\n \"handleCallback sameDomainCallback = true, returning redirectUrl\",\n appUrl,\n );\n return NextResponse.json({\n status: \"success\",\n redirectUrl: appUrl,\n });\n }\n\n // this is the case where a 'normal' redirect is happening\n if (serverTokenExchangeFromState(state)) {\n logger.debug(\n \"handleCallback serverTokenExchangeFromState, redirect to appUrl\",\n appUrl,\n );\n if (!appUrl) {\n throw new Error(\"appUrl undefined. Cannot redirect.\");\n }\n return NextResponse.redirect(`${appUrl}`);\n }\n // return an empty HTML response so the iframe doesn't show any response\n // in the short moment between the redirect and the parent window\n // acknowledging the redirect and closing the iframe\n const response = new NextResponse(\n `<html lang=\"en\"><span style=\"display:none\">${TOKEN_EXCHANGE_SUCCESS_TEXT}</span></html>`,\n );\n response.headers.set(\"Content-Type\", \"text/html; charset=utf-8\");\n return response;\n}\n\n/**\n * If redirectPath is an absolute path, return it as-is.\n * Otherwise for relative paths, append it to the current domain.\n * @param redirectPath\n * @param currentBasePath\n * @returns\n */\nconst getAbsoluteRedirectPath = (\n redirectPath: string,\n currentBasePath: string,\n) => new URL(redirectPath, currentBasePath).href;\n\nconst getPostLogoutRedirectUrl = (\n request: NextRequest,\n config: AuthConfig,\n): string | null => {\n const { loginUrl } = resolveAuthConfig(config);\n const redirectTarget = loginUrl ?? \"/\";\n\n // if the optional loginUrl is provided and it is an absolute URL,\n // use it as the redirect target\n const isAbsoluteRedirect = /^(https?:\\/\\/|www\\.).+/i.test(redirectTarget);\n if (isAbsoluteRedirect) {\n return redirectTarget;\n }\n\n // if loginUrl is not defined, the appUrl is passed from the client to the server\n // in the query string or cookies. This is necessary because the server does not\n // have access to the client's window.location and can not accurately determine\n // the appUrl (specially if the app is behind a reverse proxy).\n const appUrl = getAppUrl(request);\n if (appUrl) return getAbsoluteRedirectPath(redirectTarget, appUrl);\n\n return null;\n};\n\nconst revalidateUrlPath = async (url: string) => {\n try {\n const path = new URL(url).pathname;\n revalidatePath(path);\n } catch (error) {\n logger.warn(\"Failed to revalidate path after logout:\", error);\n }\n};\n\nexport async function handleLogout(\n request: NextRequest,\n config: AuthConfig,\n): Promise<NextResponse> {\n const resolvedConfigs = resolveAuthConfig(config);\n\n const postLogoutUrl = new URL(\n resolvedConfigs.logoutCallbackUrl,\n getAppUrl(request) || request.url,\n );\n\n // read the id_token from the cookies\n const idToken = await getIdToken(resolvedConfigs);\n\n // read the state from the query parameters\n const state = request.nextUrl.searchParams.get(\"state\");\n\n if (!state || !idToken) {\n logger.error(\"handleLogout: missing state or idToken\", { state, idToken });\n // if token or state is missing, the logout call to the server will fail,\n // (token has potentially expired already) so go straight to the postLogoutUrl\n // so the user can be signed out.\n return NextResponse.redirect(\n `${postLogoutUrl}${state ? \"?state=\" + state : \"\"}`,\n );\n }\n\n const logoutUrl = await generateOauthLogoutUrl({\n clientId: resolvedConfigs.clientId,\n idToken,\n state,\n redirectUrl: postLogoutUrl.href,\n oauthServer: resolvedConfigs.oauthServer,\n });\n\n return NextResponse.redirect(`${logoutUrl.href}`);\n}\n\nexport async function handleLogoutCallback(\n request: NextRequest,\n config: AuthConfig,\n): Promise<NextResponse> {\n const resolvedConfigs = resolveAuthConfig(config);\n\n const state = request.nextUrl.searchParams.get(\"state\") || \"\";\n const displayMode = displayModeFromState(state, \"iframe\");\n\n const canAccessCookies = !!(await getIdToken(resolvedConfigs));\n const isSameDomainCallback = request.url.includes(\"sameDomainCallback=true\");\n\n if (canAccessCookies || isSameDomainCallback) {\n await clearAuthCookies();\n }\n\n let response;\n\n // handle logout for iframe display mode\n if (displayMode === \"iframe\") {\n // try to read the token from cookies. If cookies cant be read/written\n // because the request cames from a cross-origin redirect,\n // we need to show a page that will trigger the logout from the same domain\n if (canAccessCookies || isSameDomainCallback) {\n // just return success\n return NextResponse.json({ status: \"success\" });\n }\n\n // return a page that will trigger the logout from the same domain\n response = generateHtmlResponseWithCallback(\n request,\n resolvedConfigs.logoutCallbackUrl,\n );\n response.headers.set(\"Content-Type\", \"text/html; charset=utf-8\");\n return response;\n }\n\n // handle logout for non-iframe display mode\n const redirectUrl = getPostLogoutRedirectUrl(request, resolvedConfigs);\n\n if (redirectUrl && (canAccessCookies || isSameDomainCallback)) {\n // just redirect to the app url\n response = NextResponse.redirect(`${redirectUrl}`);\n revalidateUrlPath(redirectUrl);\n } else {\n logger.debug(\"handleLogout no redirectUrl found\", { state });\n response = generateHtmlResponseWithCallback(\n request,\n resolvedConfigs.logoutCallbackUrl,\n );\n response.headers.set(\"Content-Type\", \"text/html; charset=utf-8\");\n }\n\n return response;\n}\n\n/**\n * Creates an authentication handler for Next.js API routes\n *\n * Usage:\n * ```ts\n * // app/api/auth/[...civicauth]/route.ts\n * import { handler } from '@civic/auth/nextjs'\n * export const GET = handler({\n * // optional config overrides\n * })\n * ```\n */\nexport const handler =\n (authConfig = {}) =>\n async (request: NextRequest): Promise<NextResponse> => {\n const config = resolveAuthConfig(authConfig);\n\n try {\n const pathname = request.nextUrl.pathname;\n const pathSegments = pathname.split(\"/\");\n const lastSegment = pathSegments[pathSegments.length - 1];\n\n switch (lastSegment) {\n case \"challenge\":\n return await handleChallenge(request, config);\n case \"callback\":\n return await handleCallback(request, config);\n case \"refresh\":\n return await handleRefresh(request, config);\n case \"logout\":\n return await handleLogout(request, config);\n case \"logoutcallback\":\n return await handleLogoutCallback(request, config);\n default:\n throw new AuthError(`Invalid auth route: ${pathname}`, 404);\n }\n } catch (error) {\n logger.error(\"Auth handler error:\", error);\n\n const status = error instanceof AuthError ? error.status : 500;\n const message =\n error instanceof Error ? error.message : \"Authentication failed\";\n\n const response = NextResponse.json({ error: message }, { status });\n\n await clearAuthCookies();\n return response;\n }\n };\n"]}
@@ -1,3 +0,0 @@
1
- import type { AuthConfigWithDefaults } from "../nextjs/config.js";
2
- export declare const resolveCallbackUrl: (config: AuthConfigWithDefaults, baseUrl?: string) => string;
3
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/nextjs/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,eAAO,MAAM,kBAAkB,WACrB,sBAAsB,YACpB,MAAM,KACf,MAGF,CAAC"}
@@ -1,5 +0,0 @@
1
- export const resolveCallbackUrl = (config, baseUrl) => {
2
- const callbackUrl = new URL(config?.callbackUrl, baseUrl).toString();
3
- return callbackUrl.toString();
4
- };
5
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/nextjs/utils.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAA8B,EAC9B,OAAgB,EACR,EAAE;IACV,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrE,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;AAChC,CAAC,CAAC","sourcesContent":["import type { AuthConfigWithDefaults } from \"@/nextjs/config.js\";\n\nexport const resolveCallbackUrl = (\n config: AuthConfigWithDefaults,\n baseUrl?: string,\n): string => {\n const callbackUrl = new URL(config?.callbackUrl, baseUrl).toString();\n return callbackUrl.toString();\n};\n"]}
@@ -1,17 +0,0 @@
1
- import React from "react";
2
- import type { AuthStatus, DisplayMode } from "../../types.js";
3
- /**
4
- * show the loader if the user action has started and the iframe has not been aborted
5
- * @param {AuthStatus} options.authStatus
6
- * @param {DisplayMode} options.displayMode
7
- * @param {boolean} options.userActionStarted
8
- * @param options.children
9
- * @returns
10
- */
11
- export declare const ButtonContentOrLoader: ({ authStatus, displayMode, userActionStarted, children, }: {
12
- authStatus: AuthStatus;
13
- displayMode: DisplayMode;
14
- userActionStarted?: boolean;
15
- children: React.ReactNode;
16
- }) => import("@emotion/react/jsx-runtime").JSX.Element;
17
- //# sourceMappingURL=ButtonContentOrLoader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonContentOrLoader.d.ts","sourceRoot":"","sources":["../../../../src/reactjs/components/ButtonContentOrLoader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI1D;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,8DAK/B;IACD,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,qDA0CA,CAAC"}
@@ -1,37 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
3
- import React from "react";
4
- import { LoadingIcon } from "../../shared/components/LoadingIcon.js";
5
- import { shouldShowLoader } from "./utils.js";
6
- import { useIframe } from "../../shared/hooks/useIframe.js";
7
- /**
8
- * show the loader if the user action has started and the iframe has not been aborted
9
- * @param {AuthStatus} options.authStatus
10
- * @param {DisplayMode} options.displayMode
11
- * @param {boolean} options.userActionStarted
12
- * @param options.children
13
- * @returns
14
- */
15
- export const ButtonContentOrLoader = ({ authStatus, displayMode, userActionStarted, children, }) => {
16
- const { iframeAborted } = useIframe();
17
- const showLoader = shouldShowLoader(authStatus, displayMode, userActionStarted && !iframeAborted);
18
- return (_jsxs("div", { css: {
19
- position: "relative",
20
- display: "flex",
21
- alignItems: "center",
22
- justifyContent: "center",
23
- }, children: [_jsx("span", { css: {
24
- visibility: showLoader ? "hidden" : "visible",
25
- whiteSpace: "nowrap",
26
- }, children: children }), showLoader ? (_jsx("span", { css: {
27
- position: "absolute",
28
- display: "flex",
29
- justifyContent: "center",
30
- alignItems: "center",
31
- top: 0,
32
- left: 0,
33
- right: 0,
34
- bottom: 0,
35
- }, children: _jsx(LoadingIcon, { width: "1.5em", height: "1.5em" }) })) : null] }));
36
- };
37
- //# sourceMappingURL=ButtonContentOrLoader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonContentOrLoader.js","sourceRoot":"","sources":["../../../../src/reactjs/components/ButtonContentOrLoader.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,QAAQ,GAMT,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,gBAAgB,CACjC,UAAU,EACV,WAAW,EACX,iBAAiB,IAAI,CAAC,aAAa,CACpC,CAAC;IACF,OAAO,CACL,eACE,GAAG,EAAE;YACH,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;SACzB,aAED,eACE,GAAG,EAAE;oBACH,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;oBAC7C,UAAU,EAAE,QAAQ;iBACrB,YAEA,QAAQ,GACJ,EACN,UAAU,CAAC,CAAC,CAAC,CACZ,eACE,GAAG,EAAE;oBACH,QAAQ,EAAE,UAAU;oBACpB,OAAO,EAAE,MAAM;oBACf,cAAc,EAAE,QAAQ;oBACxB,UAAU,EAAE,QAAQ;oBACpB,GAAG,EAAE,CAAC;oBACN,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,CAAC;oBACR,MAAM,EAAE,CAAC;iBACV,YAED,KAAC,WAAW,IAAC,KAAK,EAAC,OAAO,EAAC,MAAM,EAAC,OAAO,GAAG,GACvC,CACR,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["\"use client\";\nimport React from \"react\";\nimport { LoadingIcon } from \"@/shared/components/LoadingIcon.js\";\nimport type { AuthStatus, DisplayMode } from \"@/types.js\";\nimport { shouldShowLoader } from \"./utils.js\";\nimport { useIframe } from \"@/shared/hooks/useIframe.js\";\n\n/**\n * show the loader if the user action has started and the iframe has not been aborted\n * @param {AuthStatus} options.authStatus\n * @param {DisplayMode} options.displayMode\n * @param {boolean} options.userActionStarted\n * @param options.children\n * @returns\n */\nexport const ButtonContentOrLoader = ({\n authStatus,\n displayMode,\n userActionStarted,\n children,\n}: {\n authStatus: AuthStatus;\n displayMode: DisplayMode;\n userActionStarted?: boolean;\n children: React.ReactNode;\n}) => {\n const { iframeAborted } = useIframe();\n const showLoader = shouldShowLoader(\n authStatus,\n displayMode,\n userActionStarted && !iframeAborted,\n );\n return (\n <div\n css={{\n position: \"relative\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <span\n css={{\n visibility: showLoader ? \"hidden\" : \"visible\",\n whiteSpace: \"nowrap\",\n }}\n >\n {children}\n </span>\n {showLoader ? (\n <span\n css={{\n position: \"absolute\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n }}\n >\n <LoadingIcon width=\"1.5em\" height=\"1.5em\" />\n </span>\n ) : null}\n </div>\n );\n};\n"]}
@@ -1,9 +0,0 @@
1
- import { type CSSProperties } from "react";
2
- import { type DisplayMode } from "../../types.js";
3
- declare const SignInButton: ({ displayMode, className, style, }: {
4
- displayMode?: DisplayMode;
5
- className?: string;
6
- style?: CSSProperties;
7
- }) => import("@emotion/react/jsx-runtime").JSX.Element;
8
- export { SignInButton };
9
- //# sourceMappingURL=SignInButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SignInButton.d.ts","sourceRoot":"","sources":["../../../../src/reactjs/components/SignInButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAI1D,QAAA,MAAM,YAAY,uCAIf;IACD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,qDAwCA,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -1,28 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
3
- import { useEffect, useState } from "react";
4
- import { AuthStatus } from "../../types.js";
5
- import { useUser } from "../../reactjs/hooks/useUser.js";
6
- import { ButtonContentOrLoader } from "./ButtonContentOrLoader.js";
7
- const SignInButton = ({ displayMode, className, style, }) => {
8
- const { signIn, authStatus, displayMode: userDisplayMode } = useUser();
9
- const [userActionStarted, setUserActionStarted] = useState(false);
10
- // reset the userActionStarted state if the user logs out or aborts
11
- useEffect(() => {
12
- if ([AuthStatus.AUTHENTICATED, AuthStatus.UNAUTHENTICATED].includes(authStatus)) {
13
- setUserActionStarted(false);
14
- }
15
- }, [authStatus]);
16
- return (_jsx("button", { "data-testid": "sign-in-button", css: {
17
- borderRadius: "9999px",
18
- border: "1px solid #6b7280",
19
- padding: "0.75rem 1rem",
20
- transition: "background-color 0.2s",
21
- minWidth: "9em", // this stops the button from going too small when in loading mode
22
- }, className: className, style: style, onClick: () => {
23
- setUserActionStarted(true);
24
- signIn(displayMode);
25
- }, children: _jsx(ButtonContentOrLoader, { authStatus: authStatus, displayMode: displayMode || userDisplayMode, userActionStarted: userActionStarted, children: "Sign In" }) }));
26
- };
27
- export { SignInButton };
28
- //# sourceMappingURL=SignInButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SignInButton.js","sourceRoot":"","sources":["../../../../src/reactjs/components/SignInButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,YAAY,GAAG,CAAC,EACpB,WAAW,EACX,SAAS,EACT,KAAK,GAKN,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,OAAO,EAAE,CAAC;IACvE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElE,mEAAmE;IACnE,SAAS,CAAC,GAAG,EAAE;QACb,IACE,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,QAAQ,CAC7D,UAAU,CACX,EACD,CAAC;YACD,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACjB,OAAO,CACL,gCACc,gBAAgB,EAC5B,GAAG,EAAE;YACH,YAAY,EAAE,QAAQ;YACtB,MAAM,EAAE,mBAAmB;YAC3B,OAAO,EAAE,cAAc;YACvB,UAAU,EAAE,uBAAuB;YACnC,QAAQ,EAAE,KAAK,EAAE,kEAAkE;SACpF,EACD,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,EAAE;YACZ,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,CAAC,WAAW,CAAC,CAAC;QACtB,CAAC,YAED,KAAC,qBAAqB,IACpB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,IAAI,eAAe,EAC3C,iBAAiB,EAAE,iBAAiB,wBAGd,GACjB,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC","sourcesContent":["\"use client\";\n\nimport { useEffect, useState, type CSSProperties } from \"react\";\nimport { AuthStatus, type DisplayMode } from \"@/types.js\";\nimport { useUser } from \"@/reactjs/hooks/useUser.js\";\nimport { ButtonContentOrLoader } from \"./ButtonContentOrLoader.js\";\n\nconst SignInButton = ({\n displayMode,\n className,\n style,\n}: {\n displayMode?: DisplayMode;\n className?: string;\n style?: CSSProperties;\n}) => {\n const { signIn, authStatus, displayMode: userDisplayMode } = useUser();\n const [userActionStarted, setUserActionStarted] = useState(false);\n\n // reset the userActionStarted state if the user logs out or aborts\n useEffect(() => {\n if (\n [AuthStatus.AUTHENTICATED, AuthStatus.UNAUTHENTICATED].includes(\n authStatus,\n )\n ) {\n setUserActionStarted(false);\n }\n }, [authStatus]);\n return (\n <button\n data-testid=\"sign-in-button\"\n css={{\n borderRadius: \"9999px\",\n border: \"1px solid #6b7280\",\n padding: \"0.75rem 1rem\",\n transition: \"background-color 0.2s\",\n minWidth: \"9em\", // this stops the button from going too small when in loading mode\n }}\n className={className}\n style={style}\n onClick={() => {\n setUserActionStarted(true);\n signIn(displayMode);\n }}\n >\n <ButtonContentOrLoader\n authStatus={authStatus}\n displayMode={displayMode || userDisplayMode}\n userActionStarted={userActionStarted}\n >\n Sign In\n </ButtonContentOrLoader>\n </button>\n );\n};\n\nexport { SignInButton };\n"]}
@@ -1,7 +0,0 @@
1
- import { type CSSProperties } from "react";
2
- declare const SignOutButton: ({ className, style, }: {
3
- className?: string;
4
- style?: CSSProperties;
5
- }) => import("@emotion/react/jsx-runtime").JSX.Element;
6
- export { SignOutButton };
7
- //# sourceMappingURL=SignOutButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SignOutButton.d.ts","sourceRoot":"","sources":["../../../../src/reactjs/components/SignOutButton.tsx"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAKhE,QAAA,MAAM,aAAa,0BAGhB;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,qDAmCA,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -1,24 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "@emotion/react/jsx-runtime";
3
- import { useEffect, useState } from "react";
4
- import { useUser } from "../../reactjs/hooks/useUser.js";
5
- import { ButtonContentOrLoader } from "./ButtonContentOrLoader.js";
6
- import { AuthStatus } from "../../types.js";
7
- const SignOutButton = ({ className, style, }) => {
8
- const { signOut, authStatus, displayMode } = useUser();
9
- const [userActionStarted, setUserActionStarted] = useState(false);
10
- // reset the userActionStarted state if the user logs out or aborts
11
- useEffect(() => {
12
- if ([AuthStatus.AUTHENTICATED, AuthStatus.UNAUTHENTICATED].includes(authStatus)) {
13
- setUserActionStarted(false);
14
- }
15
- }, [authStatus]);
16
- return (_jsx("button", { css: {
17
- borderRadius: "9999px",
18
- border: "1px solid #6b7280",
19
- padding: "0.75rem 1rem",
20
- transition: "background-color 0.2s",
21
- }, className: className, style: style, onClick: () => signOut(), children: _jsx(ButtonContentOrLoader, { authStatus: authStatus, displayMode: displayMode, userActionStarted: userActionStarted, children: "Sign Out" }) }));
22
- };
23
- export { SignOutButton };
24
- //# sourceMappingURL=SignOutButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SignOutButton.js","sourceRoot":"","sources":["../../../../src/reactjs/components/SignOutButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,MAAM,aAAa,GAAG,CAAC,EACrB,SAAS,EACT,KAAK,GAIN,EAAE,EAAE;IACH,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC;IACvD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElE,mEAAmE;IACnE,SAAS,CAAC,GAAG,EAAE;QACb,IACE,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,QAAQ,CAC7D,UAAU,CACX,EACD,CAAC;YACD,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IACjB,OAAO,CACL,iBACE,GAAG,EAAE;YACH,YAAY,EAAE,QAAQ;YACtB,MAAM,EAAE,mBAAmB;YAC3B,OAAO,EAAE,cAAc;YACvB,UAAU,EAAE,uBAAuB;SACpC,EACD,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,YAExB,KAAC,qBAAqB,IACpB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,iBAAiB,yBAGd,GACjB,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC","sourcesContent":["\"use client\";\nimport { useEffect, useState, type CSSProperties } from \"react\";\nimport { useUser } from \"@/reactjs/hooks/useUser.js\";\nimport { ButtonContentOrLoader } from \"./ButtonContentOrLoader.js\";\nimport { AuthStatus } from \"@/types.js\";\n\nconst SignOutButton = ({\n className,\n style,\n}: {\n className?: string;\n style?: CSSProperties;\n}) => {\n const { signOut, authStatus, displayMode } = useUser();\n const [userActionStarted, setUserActionStarted] = useState(false);\n\n // reset the userActionStarted state if the user logs out or aborts\n useEffect(() => {\n if (\n [AuthStatus.AUTHENTICATED, AuthStatus.UNAUTHENTICATED].includes(\n authStatus,\n )\n ) {\n setUserActionStarted(false);\n }\n }, [authStatus]);\n return (\n <button\n css={{\n borderRadius: \"9999px\",\n border: \"1px solid #6b7280\",\n padding: \"0.75rem 1rem\",\n transition: \"background-color 0.2s\",\n }}\n className={className}\n style={style}\n onClick={() => signOut()}\n >\n <ButtonContentOrLoader\n authStatus={authStatus}\n displayMode={displayMode}\n userActionStarted={userActionStarted}\n >\n Sign Out\n </ButtonContentOrLoader>\n </button>\n );\n};\n\nexport { SignOutButton };\n"]}
@@ -1,9 +0,0 @@
1
- import { type CSSProperties } from "react";
2
- declare const UserButton: ({ className, wrapperClassName, style, wrapperStyle, }: {
3
- className?: string;
4
- wrapperClassName?: string;
5
- style?: CSSProperties;
6
- wrapperStyle?: CSSProperties;
7
- }) => import("@emotion/react/jsx-runtime").JSX.Element;
8
- export { UserButton };
9
- //# sourceMappingURL=UserButton.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserButton.d.ts","sourceRoot":"","sources":["../../../../src/reactjs/components/UserButton.tsx"],"names":[],"mappings":"AAEA,OAAc,EAKZ,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AAuCf,QAAA,MAAM,UAAU,0DAKb;IACD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,YAAY,CAAC,EAAE,aAAa,CAAC;CAC9B,qDA0OA,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -1,142 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
3
- import { useUser } from "../../reactjs/hooks/index.js";
4
- import React, { useCallback, useEffect, useRef, useState, } from "react";
5
- import { ButtonContentOrLoader } from "./ButtonContentOrLoader.js";
6
- import { AuthStatus } from "../../types.js";
7
- import { shouldShowLoader } from "./utils.js";
8
- const ChevronDown = () => (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "lucide lucide-chevron-down", children: _jsx("path", { d: "m6 9 6 6 6-6" }) }));
9
- const ChevronUp = () => (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "lucide lucide-chevron-up", children: _jsx("path", { d: "m18 15-6-6-6 6" }) }));
10
- const UserButton = ({ className, wrapperClassName, style, wrapperStyle, }) => {
11
- const [isOpen, setIsOpen] = useState(false);
12
- const [buttonWidth, setButtonWidth] = useState(null);
13
- const { user, signIn, signOut, authStatus, displayMode } = useUser();
14
- const buttonRef = useRef(null);
15
- const dropdownRef = useRef(null);
16
- const [userActionStarted, setUserActionStarted] = useState(false);
17
- useEffect(() => {
18
- if ([AuthStatus.AUTHENTICATED, AuthStatus.UNAUTHENTICATED].includes(authStatus)) {
19
- setUserActionStarted(false);
20
- }
21
- }, [authStatus]);
22
- useEffect(() => {
23
- if (buttonRef.current) {
24
- setButtonWidth(buttonRef.current.offsetWidth);
25
- }
26
- }, [isOpen]);
27
- const handleClickOutside = useCallback((event) => {
28
- const target = event.target;
29
- if (buttonRef.current &&
30
- dropdownRef.current &&
31
- !buttonRef.current.contains(target) &&
32
- !dropdownRef.current.contains(target)) {
33
- setIsOpen(false);
34
- }
35
- }, []);
36
- const handleSignOut = useCallback(async () => {
37
- setIsOpen(false);
38
- await signOut();
39
- }, [signOut]);
40
- const handleSignIn = useCallback(async () => {
41
- setIsOpen(false);
42
- await signIn();
43
- }, [signIn]);
44
- const handleEscape = useCallback((event) => {
45
- if (event.key === "Escape") {
46
- setIsOpen(false);
47
- }
48
- }, []);
49
- useEffect(() => {
50
- if (isOpen) {
51
- window.addEventListener("click", handleClickOutside);
52
- window.addEventListener("keydown", handleEscape);
53
- }
54
- return () => {
55
- window.removeEventListener("click", handleClickOutside);
56
- window.removeEventListener("keydown", handleEscape);
57
- };
58
- }, [handleClickOutside, handleEscape, isOpen]);
59
- if (user) {
60
- return (_jsxs("div", { css: { position: "relative", width: "auto" }, className: wrapperClassName, style: wrapperStyle, id: "civic-dropdown-container", children: [_jsx("button", { ref: buttonRef, css: {
61
- cursor: "pointer",
62
- display: "flex",
63
- minWidth: "10rem",
64
- alignItems: "center",
65
- justifyContent: "space-between",
66
- gap: "0.5rem",
67
- borderRadius: "9999px",
68
- border: "1px solid #6b7280",
69
- padding: "0.75rem 1rem",
70
- color: "#6b7280",
71
- transition: "background-color 0.2s",
72
- "&:hover": {
73
- backgroundColor: "#f3f4f6",
74
- },
75
- }, className: className, style: style, onClick: () => {
76
- setUserActionStarted(true);
77
- authStatus !== AuthStatus.SIGNING_OUT &&
78
- setIsOpen((isOpen) => !isOpen);
79
- }, children: _jsxs(_Fragment, { children: [user?.picture ? (_jsx("span", { css: {
80
- position: "relative",
81
- display: "flex",
82
- height: "1.5rem",
83
- width: "1.5rem",
84
- flexShrink: 0,
85
- gap: "0.5rem",
86
- overflow: "hidden",
87
- borderRadius: "9999px",
88
- }, children: _jsx("img", { css: {
89
- height: "100%",
90
- width: "100%",
91
- objectFit: "cover",
92
- }, src: user.picture, alt: user?.name || user?.email }) })) : (_jsx("span", { css: { display: "block" } })), _jsx(ButtonContentOrLoader, { authStatus: authStatus, displayMode: displayMode, userActionStarted: userActionStarted, children: user?.name || user?.email }), _jsx("span", { css: {
93
- display: "block",
94
- pointerEvents: "none",
95
- visibility: shouldShowLoader(authStatus, displayMode)
96
- ? "hidden"
97
- : "visible",
98
- }, children: isOpen ? _jsx(ChevronUp, {}) : _jsx(ChevronDown, {}) })] }) }), _jsx("div", { ref: dropdownRef, css: isOpen
99
- ? {
100
- position: "absolute",
101
- left: 0,
102
- width: buttonWidth || "auto",
103
- marginTop: "0.5rem",
104
- borderRadius: "0.5rem",
105
- backgroundColor: "white",
106
- padding: "0.5rem 0",
107
- color: "#6b7280",
108
- boxShadow: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",
109
- zIndex: 1000,
110
- }
111
- : { display: "none" }, children: _jsx("ul", { css: { listStyleType: "none", margin: 0, padding: 0 }, children: _jsx("li", { children: _jsx("button", { css: {
112
- display: "block",
113
- width: "100%",
114
- padding: "0.5rem 1rem",
115
- transition: "background-color 0.2s",
116
- background: "none",
117
- border: "none",
118
- textAlign: "center",
119
- cursor: "pointer",
120
- }, onClick: () => {
121
- setUserActionStarted(true);
122
- !shouldShowLoader(authStatus, displayMode) && handleSignOut();
123
- }, onMouseEnter: (e) => (e.currentTarget.style.backgroundColor = "#f3f4f6"), onMouseLeave: (e) => (e.currentTarget.style.backgroundColor = "transparent"), children: "Logout" }) }) }) })] }));
124
- }
125
- return (_jsx("button", { ref: buttonRef, "data-testid": "sign-in-button", css: {
126
- cursor: "pointer",
127
- borderRadius: "9999px",
128
- border: "1px solid #6b7280",
129
- padding: "0.75rem 1rem",
130
- background: "none",
131
- transition: "background-color 0.2s",
132
- minWidth: "9em", // this stops the button from going too small when in loading mode
133
- "&:hover": {
134
- backgroundColor: "#f3f4f6",
135
- },
136
- }, className: className, style: style, onClick: () => {
137
- setUserActionStarted(true);
138
- !shouldShowLoader(authStatus, displayMode) && handleSignIn();
139
- }, children: _jsx(ButtonContentOrLoader, { authStatus: authStatus, displayMode: displayMode, userActionStarted: userActionStarted, children: "Sign in" }) }));
140
- };
141
- export { UserButton };
142
- //# sourceMappingURL=UserButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserButton.js","sourceRoot":"","sources":["../../../../src/reactjs/components/UserButton.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\nimport { useUser } from \"@/reactjs/hooks/index.js\";\nimport React, {\n useCallback,\n useEffect,\n useRef,\n useState,\n type CSSProperties,\n} from \"react\";\nimport { ButtonContentOrLoader } from \"./ButtonContentOrLoader.js\";\nimport { AuthStatus } from \"@/types.js\";\nimport { shouldShowLoader } from \"./utils.js\";\n\nconst ChevronDown = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"lucide lucide-chevron-down\"\n >\n <path d=\"m6 9 6 6 6-6\" />\n </svg>\n);\n\nconst ChevronUp = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"lucide lucide-chevron-up\"\n >\n <path d=\"m18 15-6-6-6 6\" />\n </svg>\n);\n\nconst UserButton = ({\n className,\n wrapperClassName,\n style,\n wrapperStyle,\n}: {\n className?: string;\n wrapperClassName?: string;\n style?: CSSProperties;\n wrapperStyle?: CSSProperties;\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n const [buttonWidth, setButtonWidth] = useState<number | null>(null);\n const { user, signIn, signOut, authStatus, displayMode } = useUser();\n const buttonRef = useRef<HTMLButtonElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const [userActionStarted, setUserActionStarted] = useState(false);\n\n useEffect(() => {\n if (\n [AuthStatus.AUTHENTICATED, AuthStatus.UNAUTHENTICATED].includes(\n authStatus,\n )\n ) {\n setUserActionStarted(false);\n }\n }, [authStatus]);\n\n useEffect(() => {\n if (buttonRef.current) {\n setButtonWidth(buttonRef.current.offsetWidth);\n }\n }, [isOpen]);\n\n const handleClickOutside = useCallback((event: MouseEvent) => {\n const target = event.target as HTMLElement;\n\n if (\n buttonRef.current &&\n dropdownRef.current &&\n !buttonRef.current.contains(target) &&\n !dropdownRef.current.contains(target)\n ) {\n setIsOpen(false);\n }\n }, []);\n\n const handleSignOut = useCallback(async () => {\n setIsOpen(false);\n await signOut();\n }, [signOut]);\n\n const handleSignIn = useCallback(async () => {\n setIsOpen(false);\n await signIn();\n }, [signIn]);\n\n const handleEscape = useCallback((event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n setIsOpen(false);\n }\n }, []);\n\n useEffect(() => {\n if (isOpen) {\n window.addEventListener(\"click\", handleClickOutside);\n\n window.addEventListener(\"keydown\", handleEscape);\n }\n\n return () => {\n window.removeEventListener(\"click\", handleClickOutside);\n\n window.removeEventListener(\"keydown\", handleEscape);\n };\n }, [handleClickOutside, handleEscape, isOpen]);\n\n if (user) {\n return (\n <div\n css={{ position: \"relative\", width: \"auto\" }}\n className={wrapperClassName}\n style={wrapperStyle}\n id=\"civic-dropdown-container\"\n >\n <button\n ref={buttonRef}\n css={{\n cursor: \"pointer\",\n display: \"flex\",\n minWidth: \"10rem\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n gap: \"0.5rem\",\n borderRadius: \"9999px\",\n border: \"1px solid #6b7280\",\n padding: \"0.75rem 1rem\",\n color: \"#6b7280\",\n transition: \"background-color 0.2s\",\n \"&:hover\": {\n backgroundColor: \"#f3f4f6\",\n },\n }}\n className={className}\n style={style}\n onClick={() => {\n setUserActionStarted(true);\n authStatus !== AuthStatus.SIGNING_OUT &&\n setIsOpen((isOpen) => !isOpen);\n }}\n >\n <>\n {user?.picture ? (\n <span\n css={{\n position: \"relative\",\n display: \"flex\",\n height: \"1.5rem\",\n width: \"1.5rem\",\n flexShrink: 0,\n gap: \"0.5rem\",\n overflow: \"hidden\",\n borderRadius: \"9999px\",\n }}\n >\n <img\n css={{\n height: \"100%\",\n width: \"100%\",\n objectFit: \"cover\",\n }}\n src={user.picture}\n alt={user?.name || user?.email}\n />\n </span>\n ) : (\n <span css={{ display: \"block\" }} />\n )}\n\n <ButtonContentOrLoader\n authStatus={authStatus}\n displayMode={displayMode}\n userActionStarted={userActionStarted}\n >\n {user?.name || user?.email}\n </ButtonContentOrLoader>\n <span\n css={{\n display: \"block\",\n pointerEvents: \"none\",\n visibility: shouldShowLoader(authStatus, displayMode)\n ? \"hidden\"\n : \"visible\",\n }}\n >\n {isOpen ? <ChevronUp /> : <ChevronDown />}\n </span>\n </>\n </button>\n <div\n ref={dropdownRef}\n css={\n isOpen\n ? {\n position: \"absolute\",\n left: 0,\n width: buttonWidth || \"auto\",\n marginTop: \"0.5rem\",\n borderRadius: \"0.5rem\",\n backgroundColor: \"white\",\n padding: \"0.5rem 0\",\n color: \"#6b7280\",\n boxShadow:\n \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n zIndex: 1000,\n }\n : { display: \"none\" }\n }\n >\n <ul css={{ listStyleType: \"none\", margin: 0, padding: 0 }}>\n <li>\n <button\n css={{\n display: \"block\",\n width: \"100%\",\n padding: \"0.5rem 1rem\",\n transition: \"background-color 0.2s\",\n background: \"none\",\n border: \"none\",\n textAlign: \"center\",\n cursor: \"pointer\",\n }}\n onClick={() => {\n setUserActionStarted(true);\n !shouldShowLoader(authStatus, displayMode) && handleSignOut();\n }}\n onMouseEnter={(e) =>\n (e.currentTarget.style.backgroundColor = \"#f3f4f6\")\n }\n onMouseLeave={(e) =>\n (e.currentTarget.style.backgroundColor = \"transparent\")\n }\n >\n Logout\n </button>\n </li>\n </ul>\n </div>\n </div>\n );\n }\n\n return (\n <button\n ref={buttonRef}\n data-testid=\"sign-in-button\"\n css={{\n cursor: \"pointer\",\n borderRadius: \"9999px\",\n border: \"1px solid #6b7280\",\n padding: \"0.75rem 1rem\",\n background: \"none\",\n transition: \"background-color 0.2s\",\n minWidth: \"9em\", // this stops the button from going too small when in loading mode\n \"&:hover\": {\n backgroundColor: \"#f3f4f6\",\n },\n }}\n className={className}\n style={style}\n onClick={() => {\n setUserActionStarted(true);\n !shouldShowLoader(authStatus, displayMode) && handleSignIn();\n }}\n >\n <ButtonContentOrLoader\n authStatus={authStatus}\n displayMode={displayMode}\n userActionStarted={userActionStarted}\n >\n Sign in\n </ButtonContentOrLoader>\n </button>\n );\n};\n\nexport { UserButton };\n"]}
@@ -1,6 +0,0 @@
1
- export { CivicAuthIframe } from "../../shared/components/CivicAuthIframe.js";
2
- export { CivicAuthIframeContainer } from "../../shared/components/CivicAuthIframeContainer.js";
3
- export { UserButton } from "../../reactjs/components/UserButton.js";
4
- export { SignInButton } from "../../reactjs/components/SignInButton.js";
5
- export { SignOutButton } from "../../reactjs/components/SignOutButton.js";
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/reactjs/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC"}
@@ -1,6 +0,0 @@
1
- export { CivicAuthIframe } from "../../shared/components/CivicAuthIframe.js";
2
- export { CivicAuthIframeContainer } from "../../shared/components/CivicAuthIframeContainer.js";
3
- export { UserButton } from "../../reactjs/components/UserButton.js";
4
- export { SignInButton } from "../../reactjs/components/SignInButton.js";
5
- export { SignOutButton } from "../../reactjs/components/SignOutButton.js";
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/reactjs/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC","sourcesContent":["export { CivicAuthIframe } from \"@/shared/components/CivicAuthIframe.js\";\nexport { CivicAuthIframeContainer } from \"@/shared/components/CivicAuthIframeContainer.js\";\nexport { UserButton } from \"@/reactjs/components/UserButton.js\";\nexport { SignInButton } from \"@/reactjs/components/SignInButton.js\";\nexport { SignOutButton } from \"@/reactjs/components/SignOutButton.js\";\n"]}
@@ -1,13 +0,0 @@
1
- import { AuthStatus, type DisplayMode } from "../../types.js";
2
- /**
3
- * decide whether to show the loader based on the auth status and display mode
4
- * if the display mode is new_tab, the loader should not be shown
5
- * if the auth status is authenticating, the loader should be shown if the user
6
- * has started an action
7
- * @param {AuthStatus} authStatus
8
- * @param {DisplayMode} displayMode
9
- * @param {boolean} userActionStarted
10
- * @returns {boolean}
11
- */
12
- export declare const shouldShowLoader: (authStatus: AuthStatus, displayMode: DisplayMode, userActionStarted?: boolean) => boolean | undefined;
13
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/reactjs/components/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,eACf,UAAU,eACT,WAAW,sBACJ,OAAO,wBAe5B,CAAC"}
@@ -1,27 +0,0 @@
1
- import { AuthStatus } from "../../types.js";
2
- /**
3
- * decide whether to show the loader based on the auth status and display mode
4
- * if the display mode is new_tab, the loader should not be shown
5
- * if the auth status is authenticating, the loader should be shown if the user
6
- * has started an action
7
- * @param {AuthStatus} authStatus
8
- * @param {DisplayMode} displayMode
9
- * @param {boolean} userActionStarted
10
- * @returns {boolean}
11
- */
12
- export const shouldShowLoader = (authStatus, displayMode, userActionStarted) => {
13
- if (displayMode === "new_tab") {
14
- return false;
15
- }
16
- if (authStatus === AuthStatus.AUTHENTICATING) {
17
- if (displayMode === "iframe") {
18
- return userActionStarted;
19
- }
20
- return true;
21
- }
22
- if (authStatus === AuthStatus.SIGNING_OUT) {
23
- return true;
24
- }
25
- return false;
26
- };
27
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/reactjs/components/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAC;AAE1D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,UAAsB,EACtB,WAAwB,EACxB,iBAA2B,EAC3B,EAAE;IACF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,UAAU,KAAK,UAAU,CAAC,cAAc,EAAE,CAAC;QAC7C,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,iBAAiB,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,UAAU,KAAK,UAAU,CAAC,WAAW,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["import { AuthStatus, type DisplayMode } from \"@/types.js\";\n\n/**\n * decide whether to show the loader based on the auth status and display mode\n * if the display mode is new_tab, the loader should not be shown\n * if the auth status is authenticating, the loader should be shown if the user\n * has started an action\n * @param {AuthStatus} authStatus\n * @param {DisplayMode} displayMode\n * @param {boolean} userActionStarted\n * @returns {boolean}\n */\nexport const shouldShowLoader = (\n authStatus: AuthStatus,\n displayMode: DisplayMode,\n userActionStarted?: boolean,\n) => {\n if (displayMode === \"new_tab\") {\n return false;\n }\n if (authStatus === AuthStatus.AUTHENTICATING) {\n if (displayMode === \"iframe\") {\n return userActionStarted;\n }\n return true;\n }\n if (authStatus === AuthStatus.SIGNING_OUT) {\n return true;\n }\n return false;\n};\n"]}
@@ -1,3 +0,0 @@
1
- export { useUser } from "../../reactjs/hooks/useUser.js";
2
- export { useToken } from "../../shared/hooks/useToken.js";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/reactjs/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,3 +0,0 @@
1
- export { useUser } from "../../reactjs/hooks/useUser.js";
2
- export { useToken } from "../../shared/hooks/useToken.js";
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/reactjs/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC","sourcesContent":["export { useUser } from \"@/reactjs/hooks/useUser.js\";\nexport { useToken } from \"@/shared/hooks/useToken.js\";\n"]}
@@ -1,3 +0,0 @@
1
- declare const useAuth: () => import("../../shared/providers/AuthContext.js").AuthContextType;
2
- export { useAuth };
3
- //# sourceMappingURL=useAuth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../../../../src/reactjs/hooks/useAuth.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,OAAO,mEAQZ,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -1,12 +0,0 @@
1
- "use client";
2
- import { useContext } from "react";
3
- import { AuthContext } from "../../shared/providers/AuthContext.js";
4
- const useAuth = () => {
5
- const context = useContext(AuthContext);
6
- if (!context) {
7
- throw new Error("useAuth must be used within an AuthProvider");
8
- }
9
- return context;
10
- };
11
- export { useAuth };
12
- //# sourceMappingURL=useAuth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAuth.js","sourceRoot":"","sources":["../../../../src/reactjs/hooks/useAuth.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,MAAM,OAAO,GAAG,GAAG,EAAE;IACnB,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC","sourcesContent":["\"use client\";\nimport { useContext } from \"react\";\nimport { AuthContext } from \"@/shared/providers/AuthContext.js\";\n\nconst useAuth = () => {\n const context = useContext(AuthContext);\n\n if (!context) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n\n return context;\n};\n\nexport { useAuth };\n"]}
@@ -1,3 +0,0 @@
1
- declare const useClientTokenExchangeSession: () => import("../../reactjs/providers/ClientTokenExchangeSessionProvider.js").ClientTokenExchangeSessionProviderOutput;
2
- export { useClientTokenExchangeSession };
3
- //# sourceMappingURL=useClientTokenExchangeSession.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useClientTokenExchangeSession.d.ts","sourceRoot":"","sources":["../../../../src/reactjs/hooks/useClientTokenExchangeSession.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,6BAA6B,oHAMlC,CAAC;AAEF,OAAO,EAAE,6BAA6B,EAAE,CAAC"}
@@ -1,13 +0,0 @@
1
- "use client";
2
- import { useContext } from "react";
3
- import { ClientTokenExchangeSessionContext } from "../../reactjs/providers/ClientTokenExchangeSessionProvider.js";
4
- // TokenProvider will use this internal context to access session
5
- const useClientTokenExchangeSession = () => {
6
- const context = useContext(ClientTokenExchangeSessionContext);
7
- if (!context) {
8
- throw new Error("useSession must be used within an SessionProvider");
9
- }
10
- return context;
11
- };
12
- export { useClientTokenExchangeSession };
13
- //# sourceMappingURL=useClientTokenExchangeSession.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useClientTokenExchangeSession.js","sourceRoot":"","sources":["../../../../src/reactjs/hooks/useClientTokenExchangeSession.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,iCAAiC,EAAE,MAAM,2DAA2D,CAAC;AAE9G,iEAAiE;AACjE,MAAM,6BAA6B,GAAG,GAAG,EAAE;IACzC,MAAM,OAAO,GAAG,UAAU,CAAC,iCAAiC,CAAC,CAAC;IAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,OAAO,EAAE,6BAA6B,EAAE,CAAC","sourcesContent":["\"use client\";\nimport { useContext } from \"react\";\nimport { ClientTokenExchangeSessionContext } from \"@/reactjs/providers/ClientTokenExchangeSessionProvider.js\";\n\n// TokenProvider will use this internal context to access session\nconst useClientTokenExchangeSession = () => {\n const context = useContext(ClientTokenExchangeSessionContext);\n if (!context) {\n throw new Error(\"useSession must be used within an SessionProvider\");\n }\n return context;\n};\n\nexport { useClientTokenExchangeSession };\n"]}