@civic/auth 0.0.1-beta.31 → 0.0.1-beta.4

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 (701) hide show
  1. package/README.md +4 -26
  2. package/dist/chunk-3UIVD6NR.mjs +268 -0
  3. package/dist/chunk-3UIVD6NR.mjs.map +1 -0
  4. package/dist/chunk-CRTRMMJ7.js +59 -0
  5. package/dist/chunk-CRTRMMJ7.js.map +1 -0
  6. package/dist/chunk-KBDRDCE5.mjs +239 -0
  7. package/dist/chunk-KBDRDCE5.mjs.map +1 -0
  8. package/dist/chunk-NQPMNXBL.mjs +154 -0
  9. package/dist/chunk-NQPMNXBL.mjs.map +1 -0
  10. package/dist/chunk-OLT5HB3G.js +239 -0
  11. package/dist/chunk-OLT5HB3G.js.map +1 -0
  12. package/dist/chunk-RGHW4PYM.mjs +59 -0
  13. package/dist/chunk-RGHW4PYM.mjs.map +1 -0
  14. package/dist/chunk-T47HULF6.js +268 -0
  15. package/dist/chunk-T47HULF6.js.map +1 -0
  16. package/dist/chunk-WPISYQG3.js +154 -0
  17. package/dist/chunk-WPISYQG3.js.map +1 -0
  18. package/dist/index-DoDoIY_K.d.mts +79 -0
  19. package/dist/index-DoDoIY_K.d.ts +79 -0
  20. package/dist/index.css +339 -0
  21. package/dist/index.css.map +1 -0
  22. package/dist/index.d.mts +3 -0
  23. package/dist/index.d.ts +3 -0
  24. package/dist/index.js +2 -0
  25. package/dist/index.js.map +1 -0
  26. package/dist/index.mjs +2 -0
  27. package/dist/index.mjs.map +1 -0
  28. package/dist/nextjs.d.mts +225 -0
  29. package/dist/nextjs.d.ts +225 -0
  30. package/dist/nextjs.js +253 -0
  31. package/dist/nextjs.js.map +1 -0
  32. package/dist/nextjs.mjs +253 -0
  33. package/dist/nextjs.mjs.map +1 -0
  34. package/dist/react.d.mts +119 -0
  35. package/dist/react.d.ts +119 -0
  36. package/dist/react.js +1179 -0
  37. package/dist/react.js.map +1 -0
  38. package/dist/react.mjs +1179 -0
  39. package/dist/react.mjs.map +1 -0
  40. package/dist/server.d.mts +61 -0
  41. package/dist/server.d.ts +61 -0
  42. package/dist/server.js +19 -0
  43. package/dist/server.js.map +1 -0
  44. package/dist/server.mjs +19 -0
  45. package/dist/server.mjs.map +1 -0
  46. package/package.json +42 -52
  47. package/.eslintignore +0 -3
  48. package/.eslintrc.json +0 -10
  49. package/.prettierignore +0 -3
  50. package/.prettierrc +0 -1
  51. package/.turbo/turbo-build.log +0 -13
  52. package/.turbo/turbo-lint$colon$fix.log +0 -16
  53. package/.turbo/turbo-test.log +0 -1153
  54. package/dist/cjs/src/browser/storage.d.ts +0 -6
  55. package/dist/cjs/src/browser/storage.d.ts.map +0 -1
  56. package/dist/cjs/src/browser/storage.js +0 -13
  57. package/dist/cjs/src/browser/storage.js.map +0 -1
  58. package/dist/cjs/src/config.d.ts +0 -3
  59. package/dist/cjs/src/config.d.ts.map +0 -1
  60. package/dist/cjs/src/config.js +0 -8
  61. package/dist/cjs/src/config.js.map +0 -1
  62. package/dist/cjs/src/constants.d.ts +0 -9
  63. package/dist/cjs/src/constants.d.ts.map +0 -1
  64. package/dist/cjs/src/constants.js +0 -26
  65. package/dist/cjs/src/constants.js.map +0 -1
  66. package/dist/cjs/src/index.d.ts +0 -4
  67. package/dist/cjs/src/index.d.ts.map +0 -1
  68. package/dist/cjs/src/index.js +0 -3
  69. package/dist/cjs/src/index.js.map +0 -1
  70. package/dist/cjs/src/lib/cookies.d.ts +0 -7
  71. package/dist/cjs/src/lib/cookies.d.ts.map +0 -1
  72. package/dist/cjs/src/lib/cookies.js +0 -26
  73. package/dist/cjs/src/lib/cookies.js.map +0 -1
  74. package/dist/cjs/src/lib/jwt.d.ts +0 -3
  75. package/dist/cjs/src/lib/jwt.d.ts.map +0 -1
  76. package/dist/cjs/src/lib/jwt.js +0 -13
  77. package/dist/cjs/src/lib/jwt.js.map +0 -1
  78. package/dist/cjs/src/lib/logger.d.ts +0 -26
  79. package/dist/cjs/src/lib/logger.d.ts.map +0 -1
  80. package/dist/cjs/src/lib/logger.js +0 -62
  81. package/dist/cjs/src/lib/logger.js.map +0 -1
  82. package/dist/cjs/src/lib/oauth.d.ts +0 -19
  83. package/dist/cjs/src/lib/oauth.d.ts.map +0 -1
  84. package/dist/cjs/src/lib/oauth.js +0 -67
  85. package/dist/cjs/src/lib/oauth.js.map +0 -1
  86. package/dist/cjs/src/lib/postMessage.d.ts +0 -4
  87. package/dist/cjs/src/lib/postMessage.d.ts.map +0 -1
  88. package/dist/cjs/src/lib/postMessage.js +0 -18
  89. package/dist/cjs/src/lib/postMessage.js.map +0 -1
  90. package/dist/cjs/src/lib/windowUtil.d.ts +0 -4
  91. package/dist/cjs/src/lib/windowUtil.d.ts.map +0 -1
  92. package/dist/cjs/src/lib/windowUtil.js +0 -34
  93. package/dist/cjs/src/lib/windowUtil.js.map +0 -1
  94. package/dist/cjs/src/nextjs/GetUser.d.ts +0 -6
  95. package/dist/cjs/src/nextjs/GetUser.d.ts.map +0 -1
  96. package/dist/cjs/src/nextjs/GetUser.js +0 -22
  97. package/dist/cjs/src/nextjs/GetUser.js.map +0 -1
  98. package/dist/cjs/src/nextjs/config.d.ts +0 -178
  99. package/dist/cjs/src/nextjs/config.d.ts.map +0 -1
  100. package/dist/cjs/src/nextjs/config.js +0 -167
  101. package/dist/cjs/src/nextjs/config.js.map +0 -1
  102. package/dist/cjs/src/nextjs/cookies.d.ts +0 -30
  103. package/dist/cjs/src/nextjs/cookies.d.ts.map +0 -1
  104. package/dist/cjs/src/nextjs/cookies.js +0 -119
  105. package/dist/cjs/src/nextjs/cookies.js.map +0 -1
  106. package/dist/cjs/src/nextjs/hooks/index.d.ts +0 -2
  107. package/dist/cjs/src/nextjs/hooks/index.d.ts.map +0 -1
  108. package/dist/cjs/src/nextjs/hooks/index.js +0 -6
  109. package/dist/cjs/src/nextjs/hooks/index.js.map +0 -1
  110. package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
  111. package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
  112. package/dist/cjs/src/nextjs/hooks/useTokenCookie.js +0 -41
  113. package/dist/cjs/src/nextjs/hooks/useTokenCookie.js.map +0 -1
  114. package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts +0 -3
  115. package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  116. package/dist/cjs/src/nextjs/hooks/useUserCookie.js +0 -40
  117. package/dist/cjs/src/nextjs/hooks/useUserCookie.js.map +0 -1
  118. package/dist/cjs/src/nextjs/index.d.ts +0 -7
  119. package/dist/cjs/src/nextjs/index.d.ts.map +0 -1
  120. package/dist/cjs/src/nextjs/index.js +0 -18
  121. package/dist/cjs/src/nextjs/index.js.map +0 -1
  122. package/dist/cjs/src/nextjs/middleware/index.d.ts +0 -2
  123. package/dist/cjs/src/nextjs/middleware/index.d.ts.map +0 -1
  124. package/dist/cjs/src/nextjs/middleware/index.js +0 -8
  125. package/dist/cjs/src/nextjs/middleware/index.js.map +0 -1
  126. package/dist/cjs/src/nextjs/middleware.d.ts +0 -59
  127. package/dist/cjs/src/nextjs/middleware.d.ts.map +0 -1
  128. package/dist/cjs/src/nextjs/middleware.js +0 -116
  129. package/dist/cjs/src/nextjs/middleware.js.map +0 -1
  130. package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
  131. package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  132. package/dist/cjs/src/nextjs/providers/NextAuthProvider.js +0 -76
  133. package/dist/cjs/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  134. package/dist/cjs/src/nextjs/routeHandler.d.ts +0 -18
  135. package/dist/cjs/src/nextjs/routeHandler.d.ts.map +0 -1
  136. package/dist/cjs/src/nextjs/routeHandler.js +0 -217
  137. package/dist/cjs/src/nextjs/routeHandler.js.map +0 -1
  138. package/dist/cjs/src/nextjs/utils.d.ts +0 -3
  139. package/dist/cjs/src/nextjs/utils.d.ts.map +0 -1
  140. package/dist/cjs/src/nextjs/utils.js +0 -9
  141. package/dist/cjs/src/nextjs/utils.js.map +0 -1
  142. package/dist/cjs/src/reactjs/components/SignInButton.d.ts +0 -8
  143. package/dist/cjs/src/reactjs/components/SignInButton.d.ts.map +0 -1
  144. package/dist/cjs/src/reactjs/components/SignInButton.js +0 -20
  145. package/dist/cjs/src/reactjs/components/SignInButton.js.map +0 -1
  146. package/dist/cjs/src/reactjs/components/SignOutButton.d.ts +0 -6
  147. package/dist/cjs/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  148. package/dist/cjs/src/reactjs/components/SignOutButton.js +0 -20
  149. package/dist/cjs/src/reactjs/components/SignOutButton.js.map +0 -1
  150. package/dist/cjs/src/reactjs/components/UserButton.d.ts +0 -8
  151. package/dist/cjs/src/reactjs/components/UserButton.d.ts.map +0 -1
  152. package/dist/cjs/src/reactjs/components/UserButton.js +0 -136
  153. package/dist/cjs/src/reactjs/components/UserButton.js.map +0 -1
  154. package/dist/cjs/src/reactjs/components/index.d.ts +0 -6
  155. package/dist/cjs/src/reactjs/components/index.d.ts.map +0 -1
  156. package/dist/cjs/src/reactjs/components/index.js +0 -14
  157. package/dist/cjs/src/reactjs/components/index.js.map +0 -1
  158. package/dist/cjs/src/reactjs/hooks/index.d.ts +0 -7
  159. package/dist/cjs/src/reactjs/hooks/index.d.ts.map +0 -1
  160. package/dist/cjs/src/reactjs/hooks/index.js +0 -16
  161. package/dist/cjs/src/reactjs/hooks/index.js.map +0 -1
  162. package/dist/cjs/src/reactjs/hooks/useAuth.d.ts +0 -3
  163. package/dist/cjs/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  164. package/dist/cjs/src/reactjs/hooks/useAuth.js +0 -15
  165. package/dist/cjs/src/reactjs/hooks/useAuth.js.map +0 -1
  166. package/dist/cjs/src/reactjs/hooks/useUser.d.ts +0 -4
  167. package/dist/cjs/src/reactjs/hooks/useUser.d.ts.map +0 -1
  168. package/dist/cjs/src/reactjs/hooks/useUser.js +0 -15
  169. package/dist/cjs/src/reactjs/hooks/useUser.js.map +0 -1
  170. package/dist/cjs/src/reactjs/index.d.ts +0 -6
  171. package/dist/cjs/src/reactjs/index.d.ts.map +0 -1
  172. package/dist/cjs/src/reactjs/index.js +0 -30
  173. package/dist/cjs/src/reactjs/index.js.map +0 -1
  174. package/dist/cjs/src/reactjs/providers/index.d.ts +0 -8
  175. package/dist/cjs/src/reactjs/providers/index.d.ts.map +0 -1
  176. package/dist/cjs/src/reactjs/providers/index.js +0 -19
  177. package/dist/cjs/src/reactjs/providers/index.js.map +0 -1
  178. package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts +0 -18
  179. package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  180. package/dist/cjs/src/server/ServerAuthenticationResolver.js +0 -61
  181. package/dist/cjs/src/server/ServerAuthenticationResolver.js.map +0 -1
  182. package/dist/cjs/src/server/config.d.ts +0 -16
  183. package/dist/cjs/src/server/config.d.ts.map +0 -1
  184. package/dist/cjs/src/server/config.js +0 -3
  185. package/dist/cjs/src/server/config.js.map +0 -1
  186. package/dist/cjs/src/server/index.d.ts +0 -6
  187. package/dist/cjs/src/server/index.d.ts.map +0 -1
  188. package/dist/cjs/src/server/index.js +0 -14
  189. package/dist/cjs/src/server/index.js.map +0 -1
  190. package/dist/cjs/src/server/login.d.ts +0 -17
  191. package/dist/cjs/src/server/login.d.ts.map +0 -1
  192. package/dist/cjs/src/server/login.js +0 -42
  193. package/dist/cjs/src/server/login.js.map +0 -1
  194. package/dist/cjs/src/server/refresh.d.ts +0 -7
  195. package/dist/cjs/src/server/refresh.d.ts.map +0 -1
  196. package/dist/cjs/src/server/refresh.js +0 -16
  197. package/dist/cjs/src/server/refresh.js.map +0 -1
  198. package/dist/cjs/src/services/AuthenticationService.d.ts +0 -87
  199. package/dist/cjs/src/services/AuthenticationService.d.ts.map +0 -1
  200. package/dist/cjs/src/services/AuthenticationService.js +0 -218
  201. package/dist/cjs/src/services/AuthenticationService.js.map +0 -1
  202. package/dist/cjs/src/services/PKCE.d.ts +0 -20
  203. package/dist/cjs/src/services/PKCE.d.ts.map +0 -1
  204. package/dist/cjs/src/services/PKCE.js +0 -50
  205. package/dist/cjs/src/services/PKCE.js.map +0 -1
  206. package/dist/cjs/src/services/types.d.ts +0 -23
  207. package/dist/cjs/src/services/types.d.ts.map +0 -1
  208. package/dist/cjs/src/services/types.js +0 -11
  209. package/dist/cjs/src/services/types.js.map +0 -1
  210. package/dist/cjs/src/shared/AuthProvider.d.ts +0 -18
  211. package/dist/cjs/src/shared/AuthProvider.d.ts.map +0 -1
  212. package/dist/cjs/src/shared/AuthProvider.js +0 -246
  213. package/dist/cjs/src/shared/AuthProvider.js.map +0 -1
  214. package/dist/cjs/src/shared/CivicAuthProvider.d.ts +0 -6
  215. package/dist/cjs/src/shared/CivicAuthProvider.d.ts.map +0 -1
  216. package/dist/cjs/src/shared/CivicAuthProvider.js +0 -19
  217. package/dist/cjs/src/shared/CivicAuthProvider.js.map +0 -1
  218. package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts +0 -15
  219. package/dist/cjs/src/shared/GenericAuthenticationRefresher.d.ts.map +0 -1
  220. package/dist/cjs/src/shared/GenericAuthenticationRefresher.js +0 -47
  221. package/dist/cjs/src/shared/GenericAuthenticationRefresher.js.map +0 -1
  222. package/dist/cjs/src/shared/UserProvider.d.ts +0 -17
  223. package/dist/cjs/src/shared/UserProvider.d.ts.map +0 -1
  224. package/dist/cjs/src/shared/UserProvider.js +0 -42
  225. package/dist/cjs/src/shared/UserProvider.js.map +0 -1
  226. package/dist/cjs/src/shared/UserSession.d.ts +0 -12
  227. package/dist/cjs/src/shared/UserSession.d.ts.map +0 -1
  228. package/dist/cjs/src/shared/UserSession.js +0 -24
  229. package/dist/cjs/src/shared/UserSession.js.map +0 -1
  230. package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts +0 -8
  231. package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  232. package/dist/cjs/src/shared/components/CivicAuthIframe.js +0 -35
  233. package/dist/cjs/src/shared/components/CivicAuthIframe.js.map +0 -1
  234. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
  235. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  236. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js +0 -154
  237. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  238. package/dist/cjs/src/shared/components/CloseIcon.d.ts +0 -4
  239. package/dist/cjs/src/shared/components/CloseIcon.d.ts.map +0 -1
  240. package/dist/cjs/src/shared/components/CloseIcon.js +0 -12
  241. package/dist/cjs/src/shared/components/CloseIcon.js.map +0 -1
  242. package/dist/cjs/src/shared/components/LoadingIcon.d.ts +0 -4
  243. package/dist/cjs/src/shared/components/LoadingIcon.d.ts.map +0 -1
  244. package/dist/cjs/src/shared/components/LoadingIcon.js +0 -36
  245. package/dist/cjs/src/shared/components/LoadingIcon.js.map +0 -1
  246. package/dist/cjs/src/shared/hooks/index.d.ts +0 -5
  247. package/dist/cjs/src/shared/hooks/index.d.ts.map +0 -1
  248. package/dist/cjs/src/shared/hooks/index.js +0 -12
  249. package/dist/cjs/src/shared/hooks/index.js.map +0 -1
  250. package/dist/cjs/src/shared/hooks/useAuth.d.ts +0 -3
  251. package/dist/cjs/src/shared/hooks/useAuth.d.ts.map +0 -1
  252. package/dist/cjs/src/shared/hooks/useAuth.js +0 -15
  253. package/dist/cjs/src/shared/hooks/useAuth.js.map +0 -1
  254. package/dist/cjs/src/shared/hooks/useConfig.d.ts +0 -3
  255. package/dist/cjs/src/shared/hooks/useConfig.d.ts.map +0 -1
  256. package/dist/cjs/src/shared/hooks/useConfig.js +0 -16
  257. package/dist/cjs/src/shared/hooks/useConfig.js.map +0 -1
  258. package/dist/cjs/src/shared/hooks/useIframe.d.ts +0 -3
  259. package/dist/cjs/src/shared/hooks/useIframe.d.ts.map +0 -1
  260. package/dist/cjs/src/shared/hooks/useIframe.js +0 -16
  261. package/dist/cjs/src/shared/hooks/useIframe.js.map +0 -1
  262. package/dist/cjs/src/shared/hooks/useSession.d.ts +0 -3
  263. package/dist/cjs/src/shared/hooks/useSession.d.ts.map +0 -1
  264. package/dist/cjs/src/shared/hooks/useSession.js +0 -16
  265. package/dist/cjs/src/shared/hooks/useSession.js.map +0 -1
  266. package/dist/cjs/src/shared/hooks/useToken.d.ts +0 -3
  267. package/dist/cjs/src/shared/hooks/useToken.d.ts.map +0 -1
  268. package/dist/cjs/src/shared/hooks/useToken.js +0 -15
  269. package/dist/cjs/src/shared/hooks/useToken.js.map +0 -1
  270. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
  271. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  272. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js +0 -43
  273. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  274. package/dist/cjs/src/shared/lib/UserSession.d.ts +0 -12
  275. package/dist/cjs/src/shared/lib/UserSession.d.ts.map +0 -1
  276. package/dist/cjs/src/shared/lib/UserSession.js +0 -24
  277. package/dist/cjs/src/shared/lib/UserSession.js.map +0 -1
  278. package/dist/cjs/src/shared/lib/session.d.ts +0 -3
  279. package/dist/cjs/src/shared/lib/session.d.ts.map +0 -1
  280. package/dist/cjs/src/shared/lib/session.js +0 -13
  281. package/dist/cjs/src/shared/lib/session.js.map +0 -1
  282. package/dist/cjs/src/shared/lib/storage.d.ts +0 -25
  283. package/dist/cjs/src/shared/lib/storage.d.ts.map +0 -1
  284. package/dist/cjs/src/shared/lib/storage.js +0 -21
  285. package/dist/cjs/src/shared/lib/storage.js.map +0 -1
  286. package/dist/cjs/src/shared/lib/types.d.ts +0 -22
  287. package/dist/cjs/src/shared/lib/types.d.ts.map +0 -1
  288. package/dist/cjs/src/shared/lib/types.js +0 -19
  289. package/dist/cjs/src/shared/lib/types.js.map +0 -1
  290. package/dist/cjs/src/shared/lib/util.d.ts +0 -33
  291. package/dist/cjs/src/shared/lib/util.d.ts.map +0 -1
  292. package/dist/cjs/src/shared/lib/util.js +0 -163
  293. package/dist/cjs/src/shared/lib/util.js.map +0 -1
  294. package/dist/cjs/src/shared/providers/AuthContext.d.ts +0 -10
  295. package/dist/cjs/src/shared/providers/AuthContext.d.ts.map +0 -1
  296. package/dist/cjs/src/shared/providers/AuthContext.js +0 -6
  297. package/dist/cjs/src/shared/providers/AuthContext.js.map +0 -1
  298. package/dist/cjs/src/shared/providers/AuthProvider.d.ts +0 -20
  299. package/dist/cjs/src/shared/providers/AuthProvider.d.ts.map +0 -1
  300. package/dist/cjs/src/shared/providers/AuthProvider.js +0 -289
  301. package/dist/cjs/src/shared/providers/AuthProvider.js.map +0 -1
  302. package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  303. package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  304. package/dist/cjs/src/shared/providers/CivicAuthProvider.js +0 -21
  305. package/dist/cjs/src/shared/providers/CivicAuthProvider.js.map +0 -1
  306. package/dist/cjs/src/shared/providers/ConfigProvider.d.ts +0 -21
  307. package/dist/cjs/src/shared/providers/ConfigProvider.d.ts.map +0 -1
  308. package/dist/cjs/src/shared/providers/ConfigProvider.js +0 -46
  309. package/dist/cjs/src/shared/providers/ConfigProvider.js.map +0 -1
  310. package/dist/cjs/src/shared/providers/IframeProvider.d.ts +0 -16
  311. package/dist/cjs/src/shared/providers/IframeProvider.d.ts.map +0 -1
  312. package/dist/cjs/src/shared/providers/IframeProvider.js +0 -38
  313. package/dist/cjs/src/shared/providers/IframeProvider.js.map +0 -1
  314. package/dist/cjs/src/shared/providers/SessionProvider.d.ts +0 -13
  315. package/dist/cjs/src/shared/providers/SessionProvider.d.ts.map +0 -1
  316. package/dist/cjs/src/shared/providers/SessionProvider.js +0 -40
  317. package/dist/cjs/src/shared/providers/SessionProvider.js.map +0 -1
  318. package/dist/cjs/src/shared/providers/TokenProvider.d.ts +0 -18
  319. package/dist/cjs/src/shared/providers/TokenProvider.d.ts.map +0 -1
  320. package/dist/cjs/src/shared/providers/TokenProvider.js +0 -80
  321. package/dist/cjs/src/shared/providers/TokenProvider.js.map +0 -1
  322. package/dist/cjs/src/shared/providers/UserProvider.d.ts +0 -18
  323. package/dist/cjs/src/shared/providers/UserProvider.d.ts.map +0 -1
  324. package/dist/cjs/src/shared/providers/UserProvider.js +0 -65
  325. package/dist/cjs/src/shared/providers/UserProvider.js.map +0 -1
  326. package/dist/cjs/src/shared/session.d.ts +0 -3
  327. package/dist/cjs/src/shared/session.d.ts.map +0 -1
  328. package/dist/cjs/src/shared/session.js +0 -13
  329. package/dist/cjs/src/shared/session.js.map +0 -1
  330. package/dist/cjs/src/shared/util.d.ts +0 -39
  331. package/dist/cjs/src/shared/util.d.ts.map +0 -1
  332. package/dist/cjs/src/shared/util.js +0 -162
  333. package/dist/cjs/src/shared/util.js.map +0 -1
  334. package/dist/cjs/src/types.d.ts +0 -146
  335. package/dist/cjs/src/types.d.ts.map +0 -1
  336. package/dist/cjs/src/types.js +0 -3
  337. package/dist/cjs/src/types.js.map +0 -1
  338. package/dist/cjs/src/utils.d.ts +0 -15
  339. package/dist/cjs/src/utils.d.ts.map +0 -1
  340. package/dist/cjs/src/utils.js +0 -47
  341. package/dist/cjs/src/utils.js.map +0 -1
  342. package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  343. package/dist/esm/src/browser/storage.d.ts +0 -6
  344. package/dist/esm/src/browser/storage.d.ts.map +0 -1
  345. package/dist/esm/src/browser/storage.js +0 -9
  346. package/dist/esm/src/browser/storage.js.map +0 -1
  347. package/dist/esm/src/config.d.ts +0 -3
  348. package/dist/esm/src/config.d.ts.map +0 -1
  349. package/dist/esm/src/config.js +0 -5
  350. package/dist/esm/src/config.js.map +0 -1
  351. package/dist/esm/src/constants.d.ts +0 -9
  352. package/dist/esm/src/constants.d.ts.map +0 -1
  353. package/dist/esm/src/constants.js +0 -17
  354. package/dist/esm/src/constants.js.map +0 -1
  355. package/dist/esm/src/index.d.ts +0 -4
  356. package/dist/esm/src/index.d.ts.map +0 -1
  357. package/dist/esm/src/index.js +0 -2
  358. package/dist/esm/src/index.js.map +0 -1
  359. package/dist/esm/src/lib/cookies.d.ts +0 -7
  360. package/dist/esm/src/lib/cookies.d.ts.map +0 -1
  361. package/dist/esm/src/lib/cookies.js +0 -23
  362. package/dist/esm/src/lib/cookies.js.map +0 -1
  363. package/dist/esm/src/lib/jwt.d.ts +0 -3
  364. package/dist/esm/src/lib/jwt.d.ts.map +0 -1
  365. package/dist/esm/src/lib/jwt.js +0 -9
  366. package/dist/esm/src/lib/jwt.js.map +0 -1
  367. package/dist/esm/src/lib/logger.d.ts +0 -26
  368. package/dist/esm/src/lib/logger.d.ts.map +0 -1
  369. package/dist/esm/src/lib/logger.js +0 -55
  370. package/dist/esm/src/lib/logger.js.map +0 -1
  371. package/dist/esm/src/lib/oauth.d.ts +0 -19
  372. package/dist/esm/src/lib/oauth.d.ts.map +0 -1
  373. package/dist/esm/src/lib/oauth.js +0 -60
  374. package/dist/esm/src/lib/oauth.js.map +0 -1
  375. package/dist/esm/src/lib/postMessage.d.ts +0 -4
  376. package/dist/esm/src/lib/postMessage.d.ts.map +0 -1
  377. package/dist/esm/src/lib/postMessage.js +0 -15
  378. package/dist/esm/src/lib/postMessage.js.map +0 -1
  379. package/dist/esm/src/lib/windowUtil.d.ts +0 -4
  380. package/dist/esm/src/lib/windowUtil.d.ts.map +0 -1
  381. package/dist/esm/src/lib/windowUtil.js +0 -30
  382. package/dist/esm/src/lib/windowUtil.js.map +0 -1
  383. package/dist/esm/src/nextjs/GetUser.d.ts +0 -6
  384. package/dist/esm/src/nextjs/GetUser.d.ts.map +0 -1
  385. package/dist/esm/src/nextjs/GetUser.js +0 -18
  386. package/dist/esm/src/nextjs/GetUser.js.map +0 -1
  387. package/dist/esm/src/nextjs/config.d.ts +0 -178
  388. package/dist/esm/src/nextjs/config.d.ts.map +0 -1
  389. package/dist/esm/src/nextjs/config.js +0 -162
  390. package/dist/esm/src/nextjs/config.js.map +0 -1
  391. package/dist/esm/src/nextjs/cookies.d.ts +0 -30
  392. package/dist/esm/src/nextjs/cookies.d.ts.map +0 -1
  393. package/dist/esm/src/nextjs/cookies.js +0 -112
  394. package/dist/esm/src/nextjs/cookies.js.map +0 -1
  395. package/dist/esm/src/nextjs/hooks/index.d.ts +0 -2
  396. package/dist/esm/src/nextjs/hooks/index.d.ts.map +0 -1
  397. package/dist/esm/src/nextjs/hooks/index.js +0 -2
  398. package/dist/esm/src/nextjs/hooks/index.js.map +0 -1
  399. package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts +0 -3
  400. package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts.map +0 -1
  401. package/dist/esm/src/nextjs/hooks/useTokenCookie.js +0 -37
  402. package/dist/esm/src/nextjs/hooks/useTokenCookie.js.map +0 -1
  403. package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts +0 -3
  404. package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  405. package/dist/esm/src/nextjs/hooks/useUserCookie.js +0 -36
  406. package/dist/esm/src/nextjs/hooks/useUserCookie.js.map +0 -1
  407. package/dist/esm/src/nextjs/index.d.ts +0 -7
  408. package/dist/esm/src/nextjs/index.d.ts.map +0 -1
  409. package/dist/esm/src/nextjs/index.js +0 -6
  410. package/dist/esm/src/nextjs/index.js.map +0 -1
  411. package/dist/esm/src/nextjs/middleware/index.d.ts +0 -2
  412. package/dist/esm/src/nextjs/middleware/index.d.ts.map +0 -1
  413. package/dist/esm/src/nextjs/middleware/index.js +0 -2
  414. package/dist/esm/src/nextjs/middleware/index.js.map +0 -1
  415. package/dist/esm/src/nextjs/middleware.d.ts +0 -59
  416. package/dist/esm/src/nextjs/middleware.d.ts.map +0 -1
  417. package/dist/esm/src/nextjs/middleware.js +0 -107
  418. package/dist/esm/src/nextjs/middleware.js.map +0 -1
  419. package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts +0 -9
  420. package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  421. package/dist/esm/src/nextjs/providers/NextAuthProvider.js +0 -50
  422. package/dist/esm/src/nextjs/providers/NextAuthProvider.js.map +0 -1
  423. package/dist/esm/src/nextjs/routeHandler.d.ts +0 -18
  424. package/dist/esm/src/nextjs/routeHandler.d.ts.map +0 -1
  425. package/dist/esm/src/nextjs/routeHandler.js +0 -212
  426. package/dist/esm/src/nextjs/routeHandler.js.map +0 -1
  427. package/dist/esm/src/nextjs/utils.d.ts +0 -3
  428. package/dist/esm/src/nextjs/utils.d.ts.map +0 -1
  429. package/dist/esm/src/nextjs/utils.js +0 -5
  430. package/dist/esm/src/nextjs/utils.js.map +0 -1
  431. package/dist/esm/src/reactjs/components/SignInButton.d.ts +0 -8
  432. package/dist/esm/src/reactjs/components/SignInButton.d.ts.map +0 -1
  433. package/dist/esm/src/reactjs/components/SignInButton.js +0 -14
  434. package/dist/esm/src/reactjs/components/SignInButton.js.map +0 -1
  435. package/dist/esm/src/reactjs/components/SignOutButton.d.ts +0 -6
  436. package/dist/esm/src/reactjs/components/SignOutButton.d.ts.map +0 -1
  437. package/dist/esm/src/reactjs/components/SignOutButton.js +0 -14
  438. package/dist/esm/src/reactjs/components/SignOutButton.js.map +0 -1
  439. package/dist/esm/src/reactjs/components/UserButton.d.ts +0 -8
  440. package/dist/esm/src/reactjs/components/UserButton.d.ts.map +0 -1
  441. package/dist/esm/src/reactjs/components/UserButton.js +0 -110
  442. package/dist/esm/src/reactjs/components/UserButton.js.map +0 -1
  443. package/dist/esm/src/reactjs/components/index.d.ts +0 -6
  444. package/dist/esm/src/reactjs/components/index.d.ts.map +0 -1
  445. package/dist/esm/src/reactjs/components/index.js +0 -6
  446. package/dist/esm/src/reactjs/components/index.js.map +0 -1
  447. package/dist/esm/src/reactjs/hooks/index.d.ts +0 -7
  448. package/dist/esm/src/reactjs/hooks/index.d.ts.map +0 -1
  449. package/dist/esm/src/reactjs/hooks/index.js +0 -7
  450. package/dist/esm/src/reactjs/hooks/index.js.map +0 -1
  451. package/dist/esm/src/reactjs/hooks/useAuth.d.ts +0 -3
  452. package/dist/esm/src/reactjs/hooks/useAuth.d.ts.map +0 -1
  453. package/dist/esm/src/reactjs/hooks/useAuth.js +0 -12
  454. package/dist/esm/src/reactjs/hooks/useAuth.js.map +0 -1
  455. package/dist/esm/src/reactjs/hooks/useUser.d.ts +0 -4
  456. package/dist/esm/src/reactjs/hooks/useUser.d.ts.map +0 -1
  457. package/dist/esm/src/reactjs/hooks/useUser.js +0 -12
  458. package/dist/esm/src/reactjs/hooks/useUser.js.map +0 -1
  459. package/dist/esm/src/reactjs/index.d.ts +0 -6
  460. package/dist/esm/src/reactjs/index.d.ts.map +0 -1
  461. package/dist/esm/src/reactjs/index.js +0 -8
  462. package/dist/esm/src/reactjs/index.js.map +0 -1
  463. package/dist/esm/src/reactjs/providers/index.d.ts +0 -8
  464. package/dist/esm/src/reactjs/providers/index.d.ts.map +0 -1
  465. package/dist/esm/src/reactjs/providers/index.js +0 -7
  466. package/dist/esm/src/reactjs/providers/index.js.map +0 -1
  467. package/dist/esm/src/server/ServerAuthenticationResolver.d.ts +0 -18
  468. package/dist/esm/src/server/ServerAuthenticationResolver.d.ts.map +0 -1
  469. package/dist/esm/src/server/ServerAuthenticationResolver.js +0 -57
  470. package/dist/esm/src/server/ServerAuthenticationResolver.js.map +0 -1
  471. package/dist/esm/src/server/config.d.ts +0 -16
  472. package/dist/esm/src/server/config.d.ts.map +0 -1
  473. package/dist/esm/src/server/config.js +0 -2
  474. package/dist/esm/src/server/config.js.map +0 -1
  475. package/dist/esm/src/server/index.d.ts +0 -6
  476. package/dist/esm/src/server/index.d.ts.map +0 -1
  477. package/dist/esm/src/server/index.js +0 -5
  478. package/dist/esm/src/server/index.js.map +0 -1
  479. package/dist/esm/src/server/login.d.ts +0 -17
  480. package/dist/esm/src/server/login.d.ts.map +0 -1
  481. package/dist/esm/src/server/login.js +0 -37
  482. package/dist/esm/src/server/login.js.map +0 -1
  483. package/dist/esm/src/server/refresh.d.ts +0 -7
  484. package/dist/esm/src/server/refresh.d.ts.map +0 -1
  485. package/dist/esm/src/server/refresh.js +0 -13
  486. package/dist/esm/src/server/refresh.js.map +0 -1
  487. package/dist/esm/src/services/AuthenticationService.d.ts +0 -87
  488. package/dist/esm/src/services/AuthenticationService.d.ts.map +0 -1
  489. package/dist/esm/src/services/AuthenticationService.js +0 -212
  490. package/dist/esm/src/services/AuthenticationService.js.map +0 -1
  491. package/dist/esm/src/services/PKCE.d.ts +0 -20
  492. package/dist/esm/src/services/PKCE.d.ts.map +0 -1
  493. package/dist/esm/src/services/PKCE.js +0 -44
  494. package/dist/esm/src/services/PKCE.js.map +0 -1
  495. package/dist/esm/src/services/types.d.ts +0 -23
  496. package/dist/esm/src/services/types.d.ts.map +0 -1
  497. package/dist/esm/src/services/types.js +0 -7
  498. package/dist/esm/src/services/types.js.map +0 -1
  499. package/dist/esm/src/shared/components/CivicAuthIframe.d.ts +0 -8
  500. package/dist/esm/src/shared/components/CivicAuthIframe.d.ts.map +0 -1
  501. package/dist/esm/src/shared/components/CivicAuthIframe.js +0 -9
  502. package/dist/esm/src/shared/components/CivicAuthIframe.js.map +0 -1
  503. package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts +0 -9
  504. package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  505. package/dist/esm/src/shared/components/CivicAuthIframeContainer.js +0 -128
  506. package/dist/esm/src/shared/components/CivicAuthIframeContainer.js.map +0 -1
  507. package/dist/esm/src/shared/components/CloseIcon.d.ts +0 -4
  508. package/dist/esm/src/shared/components/CloseIcon.d.ts.map +0 -1
  509. package/dist/esm/src/shared/components/CloseIcon.js +0 -6
  510. package/dist/esm/src/shared/components/CloseIcon.js.map +0 -1
  511. package/dist/esm/src/shared/components/LoadingIcon.d.ts +0 -4
  512. package/dist/esm/src/shared/components/LoadingIcon.d.ts.map +0 -1
  513. package/dist/esm/src/shared/components/LoadingIcon.js +0 -30
  514. package/dist/esm/src/shared/components/LoadingIcon.js.map +0 -1
  515. package/dist/esm/src/shared/hooks/index.d.ts +0 -5
  516. package/dist/esm/src/shared/hooks/index.d.ts.map +0 -1
  517. package/dist/esm/src/shared/hooks/index.js +0 -5
  518. package/dist/esm/src/shared/hooks/index.js.map +0 -1
  519. package/dist/esm/src/shared/hooks/useAuth.d.ts +0 -3
  520. package/dist/esm/src/shared/hooks/useAuth.d.ts.map +0 -1
  521. package/dist/esm/src/shared/hooks/useAuth.js +0 -12
  522. package/dist/esm/src/shared/hooks/useAuth.js.map +0 -1
  523. package/dist/esm/src/shared/hooks/useConfig.d.ts +0 -3
  524. package/dist/esm/src/shared/hooks/useConfig.d.ts.map +0 -1
  525. package/dist/esm/src/shared/hooks/useConfig.js +0 -13
  526. package/dist/esm/src/shared/hooks/useConfig.js.map +0 -1
  527. package/dist/esm/src/shared/hooks/useIframe.d.ts +0 -3
  528. package/dist/esm/src/shared/hooks/useIframe.d.ts.map +0 -1
  529. package/dist/esm/src/shared/hooks/useIframe.js +0 -13
  530. package/dist/esm/src/shared/hooks/useIframe.js.map +0 -1
  531. package/dist/esm/src/shared/hooks/useSession.d.ts +0 -3
  532. package/dist/esm/src/shared/hooks/useSession.d.ts.map +0 -1
  533. package/dist/esm/src/shared/hooks/useSession.js +0 -13
  534. package/dist/esm/src/shared/hooks/useSession.js.map +0 -1
  535. package/dist/esm/src/shared/hooks/useToken.d.ts +0 -3
  536. package/dist/esm/src/shared/hooks/useToken.d.ts.map +0 -1
  537. package/dist/esm/src/shared/hooks/useToken.js +0 -12
  538. package/dist/esm/src/shared/hooks/useToken.js.map +0 -1
  539. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts +0 -15
  540. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  541. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js +0 -39
  542. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  543. package/dist/esm/src/shared/lib/UserSession.d.ts +0 -12
  544. package/dist/esm/src/shared/lib/UserSession.d.ts.map +0 -1
  545. package/dist/esm/src/shared/lib/UserSession.js +0 -20
  546. package/dist/esm/src/shared/lib/UserSession.js.map +0 -1
  547. package/dist/esm/src/shared/lib/session.d.ts +0 -3
  548. package/dist/esm/src/shared/lib/session.d.ts.map +0 -1
  549. package/dist/esm/src/shared/lib/session.js +0 -10
  550. package/dist/esm/src/shared/lib/session.js.map +0 -1
  551. package/dist/esm/src/shared/lib/storage.d.ts +0 -25
  552. package/dist/esm/src/shared/lib/storage.d.ts.map +0 -1
  553. package/dist/esm/src/shared/lib/storage.js +0 -17
  554. package/dist/esm/src/shared/lib/storage.js.map +0 -1
  555. package/dist/esm/src/shared/lib/types.d.ts +0 -22
  556. package/dist/esm/src/shared/lib/types.d.ts.map +0 -1
  557. package/dist/esm/src/shared/lib/types.js +0 -16
  558. package/dist/esm/src/shared/lib/types.js.map +0 -1
  559. package/dist/esm/src/shared/lib/util.d.ts +0 -33
  560. package/dist/esm/src/shared/lib/util.d.ts.map +0 -1
  561. package/dist/esm/src/shared/lib/util.js +0 -127
  562. package/dist/esm/src/shared/lib/util.js.map +0 -1
  563. package/dist/esm/src/shared/providers/AuthContext.d.ts +0 -10
  564. package/dist/esm/src/shared/providers/AuthContext.d.ts.map +0 -1
  565. package/dist/esm/src/shared/providers/AuthContext.js +0 -3
  566. package/dist/esm/src/shared/providers/AuthContext.js.map +0 -1
  567. package/dist/esm/src/shared/providers/AuthProvider.d.ts +0 -20
  568. package/dist/esm/src/shared/providers/AuthProvider.d.ts.map +0 -1
  569. package/dist/esm/src/shared/providers/AuthProvider.js +0 -263
  570. package/dist/esm/src/shared/providers/AuthProvider.js.map +0 -1
  571. package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts +0 -6
  572. package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  573. package/dist/esm/src/shared/providers/CivicAuthProvider.js +0 -15
  574. package/dist/esm/src/shared/providers/CivicAuthProvider.js.map +0 -1
  575. package/dist/esm/src/shared/providers/ConfigProvider.d.ts +0 -21
  576. package/dist/esm/src/shared/providers/ConfigProvider.d.ts.map +0 -1
  577. package/dist/esm/src/shared/providers/ConfigProvider.js +0 -19
  578. package/dist/esm/src/shared/providers/ConfigProvider.js.map +0 -1
  579. package/dist/esm/src/shared/providers/IframeProvider.d.ts +0 -16
  580. package/dist/esm/src/shared/providers/IframeProvider.d.ts.map +0 -1
  581. package/dist/esm/src/shared/providers/IframeProvider.js +0 -11
  582. package/dist/esm/src/shared/providers/IframeProvider.js.map +0 -1
  583. package/dist/esm/src/shared/providers/SessionProvider.d.ts +0 -13
  584. package/dist/esm/src/shared/providers/SessionProvider.d.ts.map +0 -1
  585. package/dist/esm/src/shared/providers/SessionProvider.js +0 -13
  586. package/dist/esm/src/shared/providers/SessionProvider.js.map +0 -1
  587. package/dist/esm/src/shared/providers/TokenProvider.d.ts +0 -18
  588. package/dist/esm/src/shared/providers/TokenProvider.d.ts.map +0 -1
  589. package/dist/esm/src/shared/providers/TokenProvider.js +0 -53
  590. package/dist/esm/src/shared/providers/TokenProvider.js.map +0 -1
  591. package/dist/esm/src/shared/providers/UserProvider.d.ts +0 -18
  592. package/dist/esm/src/shared/providers/UserProvider.d.ts.map +0 -1
  593. package/dist/esm/src/shared/providers/UserProvider.js +0 -38
  594. package/dist/esm/src/shared/providers/UserProvider.js.map +0 -1
  595. package/dist/esm/src/types.d.ts +0 -146
  596. package/dist/esm/src/types.d.ts.map +0 -1
  597. package/dist/esm/src/types.js +0 -2
  598. package/dist/esm/src/types.js.map +0 -1
  599. package/dist/esm/src/utils.d.ts +0 -15
  600. package/dist/esm/src/utils.d.ts.map +0 -1
  601. package/dist/esm/src/utils.js +0 -43
  602. package/dist/esm/src/utils.js.map +0 -1
  603. package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
  604. package/dist/src/nextjs/cookies.d.ts.map +0 -1
  605. package/dist/src/nextjs/cookies.js +0 -113
  606. package/dist/src/nextjs/cookies.js.map +0 -1
  607. package/dist/tsconfig.tsbuildinfo +0 -1
  608. package/src/browser/storage.ts +0 -11
  609. package/src/config.ts +0 -6
  610. package/src/constants.ts +0 -29
  611. package/src/index.ts +0 -16
  612. package/src/lib/cookies.ts +0 -28
  613. package/src/lib/jwt.ts +0 -15
  614. package/src/lib/logger.ts +0 -72
  615. package/src/lib/oauth.ts +0 -83
  616. package/src/lib/postMessage.ts +0 -22
  617. package/src/lib/windowUtil.ts +0 -29
  618. package/src/nextjs/GetUser.ts +0 -22
  619. package/src/nextjs/config.ts +0 -205
  620. package/src/nextjs/cookies.ts +0 -162
  621. package/src/nextjs/hooks/index.ts +0 -1
  622. package/src/nextjs/hooks/useTokenCookie.ts +0 -41
  623. package/src/nextjs/hooks/useUserCookie.ts +0 -41
  624. package/src/nextjs/index.ts +0 -20
  625. package/src/nextjs/middleware/index.ts +0 -1
  626. package/src/nextjs/middleware.ts +0 -155
  627. package/src/nextjs/providers/NextAuthProvider.tsx +0 -87
  628. package/src/nextjs/routeHandler.ts +0 -297
  629. package/src/nextjs/utils.ts +0 -9
  630. package/src/reactjs/components/SignInButton.tsx +0 -32
  631. package/src/reactjs/components/SignOutButton.tsx +0 -24
  632. package/src/reactjs/components/UserButton.tsx +0 -215
  633. package/src/reactjs/components/index.ts +0 -5
  634. package/src/reactjs/hooks/index.ts +0 -6
  635. package/src/reactjs/hooks/useAuth.ts +0 -15
  636. package/src/reactjs/hooks/useUser.ts +0 -20
  637. package/src/reactjs/index.ts +0 -19
  638. package/src/reactjs/providers/index.ts +0 -27
  639. package/src/server/ServerAuthenticationResolver.ts +0 -102
  640. package/src/server/config.ts +0 -17
  641. package/src/server/index.ts +0 -12
  642. package/src/server/login.ts +0 -59
  643. package/src/server/refresh.ts +0 -23
  644. package/src/services/AuthenticationService.ts +0 -324
  645. package/src/services/PKCE.ts +0 -45
  646. package/src/services/types.ts +0 -54
  647. package/src/shared/components/CivicAuthIframe.tsx +0 -26
  648. package/src/shared/components/CivicAuthIframeContainer.tsx +0 -190
  649. package/src/shared/components/CloseIcon.tsx +0 -21
  650. package/src/shared/components/LoadingIcon.tsx +0 -53
  651. package/src/shared/hooks/index.ts +0 -4
  652. package/src/shared/hooks/useAuth.ts +0 -15
  653. package/src/shared/hooks/useConfig.ts +0 -14
  654. package/src/shared/hooks/useIframe.ts +0 -14
  655. package/src/shared/hooks/useSession.ts +0 -14
  656. package/src/shared/hooks/useToken.ts +0 -15
  657. package/src/shared/lib/GenericAuthenticationRefresher.ts +0 -70
  658. package/src/shared/lib/UserSession.ts +0 -25
  659. package/src/shared/lib/session.ts +0 -11
  660. package/src/shared/lib/storage.ts +0 -40
  661. package/src/shared/lib/types.ts +0 -26
  662. package/src/shared/lib/util.ts +0 -217
  663. package/src/shared/providers/AuthContext.tsx +0 -11
  664. package/src/shared/providers/AuthProvider.tsx +0 -390
  665. package/src/shared/providers/CivicAuthProvider.tsx +0 -31
  666. package/src/shared/providers/ConfigProvider.tsx +0 -50
  667. package/src/shared/providers/IframeProvider.tsx +0 -34
  668. package/src/shared/providers/SessionProvider.tsx +0 -29
  669. package/src/shared/providers/TokenProvider.tsx +0 -78
  670. package/src/shared/providers/UserProvider.tsx +0 -80
  671. package/src/types.ts +0 -227
  672. package/src/utils.ts +0 -58
  673. package/test/integration/sdk.test.tsx +0 -266
  674. package/test/support/fixtures.ts +0 -56
  675. package/test/support/tokens.json +0 -26
  676. package/test/unit/lib/oauth.test.ts +0 -72
  677. package/test/unit/logger.test.ts +0 -175
  678. package/test/unit/nextjs/NextAuthProvider.test.tsx +0 -38
  679. package/test/unit/nextjs/config.test.ts +0 -218
  680. package/test/unit/nextjs/getUser.test.ts +0 -41
  681. package/test/unit/nextjs/middleware.test.ts +0 -138
  682. package/test/unit/nextjs/routeHandler.test.ts.skipped +0 -369
  683. package/test/unit/nextjs/utils.test.ts +0 -17
  684. package/test/unit/publicApi/__snapshots__/apiSnapshot.test.ts.snap +0 -17
  685. package/test/unit/publicApi/apiSnapshot.test.ts +0 -11
  686. package/test/unit/react/components/SignInButton.test.tsx +0 -50
  687. package/test/unit/react/components/SignOutButton.test.tsx +0 -49
  688. package/test/unit/server/login.test.ts +0 -181
  689. package/test/unit/server/session.test.ts +0 -51
  690. package/test/unit/services/AuthenticationService.test.ts +0 -152
  691. package/test/unit/services/ServerAuthenticationResolver.test.ts +0 -115
  692. package/test/unit/shared/GenericAuthenticationRefresher.test.ts +0 -89
  693. package/test/unit/shared/UserSession.test.ts +0 -42
  694. package/test/unit/shared/components/CivicAuthIframeContainer.test.tsx +0 -154
  695. package/test/unit/shared/storage.test.ts +0 -67
  696. package/test/unit/utils.test.ts +0 -48
  697. package/tsconfig.build.json +0 -5
  698. package/tsconfig.cjs.json +0 -8
  699. package/tsconfig.esm.json +0 -7
  700. package/tsconfig.json +0 -42
  701. package/vitest.config.ts +0 -41
package/dist/react.js ADDED
@@ -0,0 +1,1179 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+ var _chunkWPISYQG3js = require('./chunk-WPISYQG3.js');
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+ var _chunkOLT5HB3Gjs = require('./chunk-OLT5HB3G.js');
16
+
17
+
18
+
19
+
20
+
21
+ var _chunkCRTRMMJ7js = require('./chunk-CRTRMMJ7.js');
22
+
23
+ // src/react/hooks/useUser.tsx
24
+ var _react = require('react');
25
+
26
+ // src/react/providers/UserProvider.tsx
27
+
28
+ var _reactquery = require('@tanstack/react-query');
29
+
30
+ // src/react/hooks/useAuth.tsx
31
+
32
+
33
+ // src/shared/AuthContext.tsx
34
+
35
+ var AuthContext = _react.createContext.call(void 0, null);
36
+
37
+ // src/react/hooks/useAuth.tsx
38
+ var useAuth = () => {
39
+ const context = _react.useContext.call(void 0, AuthContext);
40
+ if (!context) {
41
+ throw new Error("useAuth must be used within an AuthProvider");
42
+ }
43
+ return context;
44
+ };
45
+
46
+ // src/react/hooks/useToken.tsx
47
+
48
+
49
+ // src/react/providers/TokenProvider.tsx
50
+
51
+
52
+
53
+ // src/react/hooks/useSession.tsx
54
+
55
+
56
+ // src/react/providers/SessionProvider.tsx
57
+
58
+ var _jsxruntime = require('react/jsx-runtime');
59
+ var defaultSession = {
60
+ authenticated: false,
61
+ idToken: void 0,
62
+ accessToken: void 0,
63
+ displayMode: "iframe"
64
+ };
65
+ var SessionContext = _react.createContext.call(void 0, defaultSession);
66
+ var SessionProvider = ({ children, session }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SessionContext.Provider, { value: session || defaultSession, children });
67
+
68
+ // src/react/hooks/useSession.tsx
69
+ var useSession = () => {
70
+ const context = _react.useContext.call(void 0, SessionContext);
71
+ if (!context) {
72
+ throw new Error("useSession must be used within an SessionProvider");
73
+ }
74
+ return context;
75
+ };
76
+
77
+ // src/react/providers/TokenProvider.tsx
78
+ var _jwt = require('oslo/jwt');
79
+
80
+ // src/lib/jwt.ts
81
+ var convertForwardedTokenFormat = (inputTokens) => Object.fromEntries(
82
+ Object.entries(inputTokens).map(([source, tokens]) => [
83
+ source,
84
+ {
85
+ idToken: tokens == null ? void 0 : tokens.id_token,
86
+ accessToken: tokens == null ? void 0 : tokens.access_token,
87
+ refreshToken: tokens == null ? void 0 : tokens.refresh_token
88
+ }
89
+ ])
90
+ );
91
+
92
+ // src/react/providers/TokenProvider.tsx
93
+
94
+ var TokenContext = _react.createContext.call(void 0, void 0);
95
+ var TokenProvider = ({ children }) => {
96
+ const { isLoading, error: authError } = useAuth();
97
+ const session = useSession();
98
+ const queryClient3 = _reactquery.useQueryClient.call(void 0, );
99
+ const refreshTokenMutation = _reactquery.useMutation.call(void 0, {
100
+ mutationFn: () => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
101
+ throw new Error("Method not implemented.");
102
+ }),
103
+ onSuccess: () => {
104
+ queryClient3.invalidateQueries({ queryKey: ["session"] });
105
+ }
106
+ });
107
+ const decodeTokens = _react.useMemo.call(void 0, () => {
108
+ if (!(session == null ? void 0 : session.idToken)) return null;
109
+ const parsedJWT = _jwt.parseJWT.call(void 0, session.idToken);
110
+ if (!parsedJWT) return null;
111
+ const { forwardedTokens } = parsedJWT.payload;
112
+ return forwardedTokens ? convertForwardedTokenFormat(forwardedTokens) : null;
113
+ }, [session == null ? void 0 : session.idToken]);
114
+ const value = _react.useMemo.call(void 0,
115
+ () => ({
116
+ accessToken: session.accessToken || null,
117
+ idToken: session.idToken || null,
118
+ forwardedTokens: decodeTokens || {},
119
+ refreshToken: refreshTokenMutation.mutateAsync,
120
+ isLoading,
121
+ error: authError || refreshTokenMutation.error
122
+ }),
123
+ [
124
+ session.accessToken,
125
+ session.idToken,
126
+ decodeTokens,
127
+ refreshTokenMutation.mutateAsync,
128
+ refreshTokenMutation.error,
129
+ isLoading,
130
+ authError
131
+ ]
132
+ );
133
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TokenContext.Provider, { value, children });
134
+ };
135
+
136
+ // src/react/hooks/useToken.tsx
137
+ var useToken = () => {
138
+ const context = _react.useContext.call(void 0, TokenContext);
139
+ if (!context) {
140
+ throw new Error("useToken must be used within a TokenProvider");
141
+ }
142
+ return context;
143
+ };
144
+
145
+ // src/react/providers/UserProvider.tsx
146
+
147
+ var UserContext = _react.createContext.call(void 0, null);
148
+ var UserProvider = ({
149
+ children,
150
+ userInfoService
151
+ }) => {
152
+ const { isLoading: authLoading, error: authError } = useAuth();
153
+ const session = useSession();
154
+ const { forwardedTokens, idToken, accessToken, refreshToken } = useToken();
155
+ const { signIn, signOut } = useAuth();
156
+ const fetchUser = () => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
157
+ if (!accessToken || !userInfoService) {
158
+ return null;
159
+ }
160
+ const user2 = yield userInfoService == null ? void 0 : userInfoService.getUserInfo(accessToken, idToken);
161
+ if (!user2) {
162
+ return null;
163
+ }
164
+ return _chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, user2), {
165
+ forwardedTokens,
166
+ idToken,
167
+ accessToken,
168
+ refreshToken
169
+ });
170
+ });
171
+ const {
172
+ data: user,
173
+ isLoading: userLoading,
174
+ error: userError
175
+ } = _reactquery.useQuery.call(void 0, {
176
+ queryKey: ["user", session == null ? void 0 : session.idToken],
177
+ queryFn: fetchUser,
178
+ enabled: !!(session == null ? void 0 : session.idToken)
179
+ // Only run the query if we have an access token
180
+ });
181
+ const isLoading = authLoading || userLoading;
182
+ const error = authError || userError;
183
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
184
+ UserContext.Provider,
185
+ {
186
+ value: {
187
+ user: user != null ? user : null,
188
+ isLoading,
189
+ error,
190
+ signIn,
191
+ signOut
192
+ },
193
+ children
194
+ }
195
+ );
196
+ };
197
+
198
+ // src/shared/AuthProvider.tsx
199
+
200
+
201
+
202
+
203
+
204
+
205
+
206
+
207
+
208
+ // src/services/UserInfoService.ts
209
+
210
+ var UserInfoServiceImpl = class {
211
+ constructor(endpoints) {
212
+ this.endpoints = endpoints;
213
+ }
214
+ extractUserFromIdToken(idToken) {
215
+ const parsedJWT = _jwt.parseJWT.call(void 0, idToken);
216
+ if (!parsedJWT) {
217
+ return null;
218
+ }
219
+ return parsedJWT.payload;
220
+ }
221
+ getUserInfo(accessToken, idToken) {
222
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
223
+ if (idToken) {
224
+ return this.extractUserFromIdToken(idToken);
225
+ }
226
+ const userInfo = yield fetch(this.endpoints.userinfo, {
227
+ headers: { Authorization: `Bearer ${accessToken}` }
228
+ });
229
+ return userInfo.json();
230
+ });
231
+ }
232
+ };
233
+
234
+ // src/services/SessionService.ts
235
+ var _oauth2 = require('oslo/oauth2');
236
+ var AuthSessionServiceImpl = class {
237
+ constructor(clientId, redirectUrl, oauthServer, inputEndpoints) {
238
+ this.clientId = clientId;
239
+ this.redirectUrl = redirectUrl;
240
+ this.oauthServer = oauthServer;
241
+ this.inputEndpoints = inputEndpoints;
242
+ this.codeVerifier = void 0;
243
+ this.refreshTokenTimeout = null;
244
+ this.codeVerifier = this.getCodeVerifier();
245
+ this.endpoints = inputEndpoints;
246
+ this.redirectUrl = redirectUrl;
247
+ }
248
+ getCodeVerifier() {
249
+ return _oauth2.generateCodeVerifier.call(void 0, );
250
+ }
251
+ getUserInfoService() {
252
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
253
+ if (this.userInfoService) {
254
+ return this.userInfoService;
255
+ }
256
+ const endpoints = yield this.getEndpoints();
257
+ this.userInfoService = new UserInfoServiceImpl(endpoints);
258
+ return this.userInfoService;
259
+ });
260
+ }
261
+ getEndpoints() {
262
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
263
+ var _a;
264
+ if ((_a = this.endpoints) == null ? void 0 : _a.auth) {
265
+ return this.endpoints;
266
+ }
267
+ const jwksEndpoints = yield _chunkOLT5HB3Gjs.getOauthEndpoints.call(void 0, this.oauthServer);
268
+ return this.endpoints ? _chunkCRTRMMJ7js.__spreadValues.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, this.endpoints), jwksEndpoints) : jwksEndpoints;
269
+ });
270
+ }
271
+ getOauth2Client() {
272
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
273
+ if (this.oauth2Client) {
274
+ return this.oauth2Client;
275
+ }
276
+ const endpoints = yield this.getEndpoints();
277
+ this.oauth2Client = _chunkOLT5HB3Gjs.buildOauth2Client.call(void 0,
278
+ this.clientId,
279
+ this.redirectUrl,
280
+ endpoints
281
+ );
282
+ return this.oauth2Client;
283
+ });
284
+ }
285
+ getSessionData() {
286
+ console.log("getSessionData", this.clientId);
287
+ const storedItem = localStorage.getItem(`civic-auth:${this.clientId}`) || "{}";
288
+ console.log("stored item", storedItem);
289
+ return JSON.parse(storedItem);
290
+ }
291
+ updateSessionData(data) {
292
+ localStorage.setItem(
293
+ `civic-auth:${this.clientId}`,
294
+ JSON.stringify(_chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, data))
295
+ );
296
+ }
297
+ getUser() {
298
+ return JSON.parse(
299
+ localStorage.getItem(`civic-auth:${this.clientId}:user`) || "{}"
300
+ );
301
+ }
302
+ setUser(data) {
303
+ localStorage.setItem(
304
+ `civic-auth:${this.clientId}:user`,
305
+ JSON.stringify(data === null ? {} : data)
306
+ );
307
+ }
308
+ clearSessionData() {
309
+ localStorage.setItem(`civic-auth:${this.clientId}`, JSON.stringify({}));
310
+ }
311
+ getAuthorizationUrlWithChallenge(state, scopes) {
312
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
313
+ var _a;
314
+ const oauth2Client = yield this.getOauth2Client();
315
+ if ((_a = this.endpoints) == null ? void 0 : _a.challenge) {
316
+ const challenge = yield fetch(this.endpoints.challenge).then(
317
+ (res) => res.json().then((data) => data.challenge)
318
+ );
319
+ const oAuthUrl = yield oauth2Client.createAuthorizationURL({
320
+ state,
321
+ scopes
322
+ });
323
+ oAuthUrl.searchParams.append("code_challenge", challenge);
324
+ oAuthUrl.searchParams.append("code_challenge_method", "S256");
325
+ return oAuthUrl;
326
+ }
327
+ return oauth2Client.createAuthorizationURL({
328
+ state,
329
+ codeVerifier: this.codeVerifier,
330
+ codeChallengeMethod: "S256",
331
+ scopes
332
+ });
333
+ });
334
+ }
335
+ getAuthorizationUrl(scopes, displayMode, nonce) {
336
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
337
+ const state = _chunkOLT5HB3Gjs.generateState.call(void 0, displayMode);
338
+ const existingSessionData = this.getSessionData();
339
+ this.updateSessionData(_chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, existingSessionData), {
340
+ codeVerifier: this.codeVerifier,
341
+ displayMode
342
+ }));
343
+ const oAuthUrl = yield this.getAuthorizationUrlWithChallenge(state, scopes);
344
+ if (nonce) {
345
+ oAuthUrl.searchParams.append("nonce", nonce);
346
+ }
347
+ oAuthUrl.searchParams.append("prompt", "consent");
348
+ return oAuthUrl.toString();
349
+ });
350
+ }
351
+ // TODO fix the Window reference
352
+ loadAuthorizationUrl(authorizationURL, displayMode) {
353
+ switch (displayMode) {
354
+ case "iframe":
355
+ break;
356
+ case "redirect":
357
+ window.location.href = authorizationURL;
358
+ break;
359
+ case "new_tab":
360
+ window.open(authorizationURL, "_blank");
361
+ break;
362
+ case "custom_tab":
363
+ break;
364
+ }
365
+ }
366
+ init() {
367
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
368
+ yield this.getOauth2Client();
369
+ return this;
370
+ });
371
+ }
372
+ logout() {
373
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
374
+ this.updateSessionData({ authenticated: false });
375
+ });
376
+ }
377
+ determineDisplayMode(displayMode) {
378
+ if (_chunkOLT5HB3Gjs.isPopupBlocked.call(void 0, ) && displayMode === "iframe") {
379
+ displayMode = "redirect";
380
+ }
381
+ return displayMode;
382
+ }
383
+ signIn(displayMode, scopes, nonce) {
384
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
385
+ const authorizationURL = yield this.getAuthorizationUrl(
386
+ scopes,
387
+ displayMode,
388
+ nonce
389
+ );
390
+ this.loadAuthorizationUrl(authorizationURL, displayMode);
391
+ });
392
+ }
393
+ tokenExchange(responseUrl) {
394
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
395
+ let session = this.getSessionData();
396
+ if (!session.authenticated) {
397
+ const url = new URL(responseUrl);
398
+ const authorizationCode = url.searchParams.get("code");
399
+ const returnedState = url.searchParams.get("state");
400
+ if (!authorizationCode || !returnedState) {
401
+ throw new Error("Invalid authorization response");
402
+ }
403
+ const codeVerifier = session.codeVerifier;
404
+ const oauth2Client = yield this.getOauth2Client();
405
+ const tokens = yield oauth2Client.validateAuthorizationCode(
406
+ authorizationCode,
407
+ {
408
+ codeVerifier
409
+ }
410
+ );
411
+ try {
412
+ yield this.validateTokens(tokens);
413
+ } catch (error) {
414
+ console.error("tokenExchange tokens", { error, tokens });
415
+ throw new Error(
416
+ `OIDC tokens validation failed: ${error.message}`
417
+ );
418
+ }
419
+ const parsedDisplayMode = _chunkOLT5HB3Gjs.displayModeFromState.call(void 0,
420
+ returnedState,
421
+ session.displayMode
422
+ );
423
+ session = _chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, session), {
424
+ displayMode: parsedDisplayMode,
425
+ idToken: tokens.id_token,
426
+ authenticated: true,
427
+ state: returnedState,
428
+ accessToken: tokens.access_token,
429
+ refreshToken: tokens.refresh_token,
430
+ timestamp: Date.now(),
431
+ expiresIn: tokens.expires_in
432
+ });
433
+ this.updateSessionData(session);
434
+ const user = yield (yield this.getUserInfoService()).getUserInfo(tokens.access_token, tokens.id_token || null);
435
+ this.setUser(user);
436
+ }
437
+ this.setupTokenRefresh(session);
438
+ if (session.displayMode === "new_tab") {
439
+ window.close();
440
+ } else if (session.displayMode === "redirect") {
441
+ }
442
+ return session;
443
+ });
444
+ }
445
+ setupTokenRefresh(session) {
446
+ if (this.refreshTokenTimeout) {
447
+ clearTimeout(this.refreshTokenTimeout);
448
+ }
449
+ if (session.expiresIn) {
450
+ const elapsedTime = Date.now() - (session.timestamp || 0);
451
+ const remainingTime = session.expiresIn * 1e3 - elapsedTime;
452
+ const refreshTime = Math.max(0, remainingTime - 6e4);
453
+ this.refreshTokenTimeout = setTimeout(() => {
454
+ this.refreshToken().then((newSession) => {
455
+ console.log("Token refreshed successfully", newSession);
456
+ }).catch((error) => {
457
+ console.error("Failed to refresh token:", error);
458
+ this.updateSessionData({});
459
+ });
460
+ }, refreshTime);
461
+ }
462
+ }
463
+ refreshToken() {
464
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
465
+ const sessionData = this.getSessionData();
466
+ if (!sessionData.refreshToken) {
467
+ throw new Error("No refresh token available");
468
+ }
469
+ const oauth2Client = yield this.getOauth2Client();
470
+ const tokens = yield oauth2Client.refreshAccessToken(
471
+ sessionData.refreshToken
472
+ );
473
+ const session = _chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, sessionData), {
474
+ idToken: tokens.id_token,
475
+ authenticated: true,
476
+ accessToken: tokens.access_token,
477
+ refreshToken: tokens.refresh_token,
478
+ timestamp: Date.now(),
479
+ expiresIn: tokens.expires_in
480
+ });
481
+ this.updateSessionData(session);
482
+ this.setupTokenRefresh(session);
483
+ return session;
484
+ });
485
+ }
486
+ getUserInfo() {
487
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
488
+ const sessionData = this.getSessionData();
489
+ if (!sessionData.accessToken) {
490
+ throw new Error("No access token available");
491
+ }
492
+ const userInfoService = yield this.getUserInfoService();
493
+ return userInfoService.getUserInfo(
494
+ sessionData.accessToken,
495
+ sessionData.idToken || null
496
+ );
497
+ });
498
+ }
499
+ /**
500
+ * Uses the jose library to validate a JWT token using the OAuth JWKS endpoint
501
+ * @returns {Promise<jose.JWTPayload>}
502
+ * @throws {Error} if the token is invalid
503
+ * @param tokens
504
+ */
505
+ validateTokens(tokens) {
506
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
507
+ const endpoints = yield this.getEndpoints();
508
+ if (!this.oauth2Client) yield this.init();
509
+ return _chunkOLT5HB3Gjs.validateOauth2Tokens.call(void 0,
510
+ tokens,
511
+ endpoints,
512
+ this.oauth2Client,
513
+ this.oauthServer
514
+ );
515
+ });
516
+ }
517
+ validateExistingSession() {
518
+ return _chunkCRTRMMJ7js.__async.call(void 0, this, null, function* () {
519
+ const sessionData = this.getSessionData();
520
+ try {
521
+ if (!sessionData.idToken || !sessionData.accessToken) {
522
+ const unAuthenticatedSession = _chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, sessionData), { authenticated: false });
523
+ this.updateSessionData(unAuthenticatedSession);
524
+ return unAuthenticatedSession;
525
+ }
526
+ yield this.validateTokens({
527
+ id_token: sessionData.idToken,
528
+ access_token: sessionData.accessToken,
529
+ refresh_token: sessionData.refreshToken
530
+ });
531
+ sessionData.authenticated = true;
532
+ return sessionData;
533
+ } catch (error) {
534
+ console.warn("Failed to validate existing tokens", error);
535
+ const unAuthenticatedSession = {
536
+ authenticated: false
537
+ };
538
+ this.updateSessionData(unAuthenticatedSession);
539
+ return unAuthenticatedSession;
540
+ }
541
+ });
542
+ }
543
+ };
544
+
545
+ // src/react/components/CivicAuthIframeModal.tsx
546
+
547
+
548
+ // src/react/components/LoadingIcon.tsx
549
+
550
+ var LoadingIcon = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { role: "status", children: [
551
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
552
+ "svg",
553
+ {
554
+ "aria-hidden": "true",
555
+ className: "cac-inline cac-h-8 cac-w-8 cac-animate-spin cac-fill-neutral-600 cac-text-neutral-200 dark:cac-fill-neutral-300 dark:cac-text-neutral-600",
556
+ viewBox: "0 0 100 101",
557
+ fill: "none",
558
+ xmlns: "http://www.w3.org/2000/svg",
559
+ children: [
560
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
561
+ "path",
562
+ {
563
+ d: "M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",
564
+ fill: "currentColor"
565
+ }
566
+ ),
567
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
568
+ "path",
569
+ {
570
+ d: "M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",
571
+ fill: "currentFill"
572
+ }
573
+ )
574
+ ]
575
+ }
576
+ ),
577
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "cac-sr-only", children: "Loading..." })
578
+ ] });
579
+
580
+ // src/react/components/CloseIcon.tsx
581
+
582
+ var CloseIcon = () => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
583
+ "svg",
584
+ {
585
+ xmlns: "http://www.w3.org/2000/svg",
586
+ width: "24",
587
+ height: "24",
588
+ viewBox: "0 0 24 24",
589
+ fill: "none",
590
+ stroke: "currentColor",
591
+ strokeWidth: "2",
592
+ strokeLinecap: "round",
593
+ strokeLinejoin: "round",
594
+ className: "lucide lucide-x",
595
+ children: [
596
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "M18 6 6 18" }),
597
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "m6 6 12 12" })
598
+ ]
599
+ }
600
+ );
601
+
602
+ // src/react/components/CivicAuthIframe.tsx
603
+
604
+
605
+ var CivicAuthIframe = _react.forwardRef.call(void 0,
606
+ ({ authUrl, onLoad }, ref) => {
607
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
608
+ "iframe",
609
+ {
610
+ id: _chunkOLT5HB3Gjs.IFRAME_ID,
611
+ ref,
612
+ src: authUrl,
613
+ className: "cac-h-96 cac-w-80 cac-border-none",
614
+ onLoad
615
+ }
616
+ );
617
+ }
618
+ );
619
+ CivicAuthIframe.displayName = "CivicAuthIframe";
620
+
621
+ // src/react/components/CivicAuthIframeModal.tsx
622
+
623
+ var CivicAuthIframeModal = ({
624
+ authUrl,
625
+ redirectUri,
626
+ setAuthResponseUrl,
627
+ onClose,
628
+ iframeRef,
629
+ redirectInProgress = false,
630
+ closeOnRedirect = true
631
+ }) => {
632
+ const [isLoading, setIsLoading] = _react.useState.call(void 0, true);
633
+ const processIframeUrl = _react.useCallback.call(void 0, () => {
634
+ if (iframeRef.current && iframeRef.current.contentWindow) {
635
+ try {
636
+ const iframeUrl = iframeRef.current.contentWindow.location.href;
637
+ if (iframeUrl.startsWith(redirectUri)) {
638
+ setAuthResponseUrl(iframeUrl);
639
+ if (closeOnRedirect) onClose();
640
+ return true;
641
+ }
642
+ } catch (e) {
643
+ console.log("Waiting for redirect...");
644
+ }
645
+ }
646
+ return false;
647
+ }, [closeOnRedirect, iframeRef, onClose, redirectUri, setAuthResponseUrl]);
648
+ const intervalId = _react.useRef.call(void 0, );
649
+ const handleEscape = _react.useCallback.call(void 0,
650
+ (event) => {
651
+ if (event.key === "Escape") {
652
+ onClose();
653
+ }
654
+ },
655
+ [onClose]
656
+ );
657
+ _react.useEffect.call(void 0, () => {
658
+ window.addEventListener("keydown", handleEscape);
659
+ return () => window.removeEventListener("keydown", handleEscape);
660
+ });
661
+ const handleIframeLoad = () => {
662
+ setIsLoading(false);
663
+ console.log("handleIframeLoad");
664
+ if (processIframeUrl() && intervalId.current) {
665
+ clearInterval(intervalId.current);
666
+ }
667
+ };
668
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
669
+ "div",
670
+ {
671
+ className: "cac-absolute cac-left-0 cac-top-0 cac-z-50 cac-flex cac-h-screen cac-w-screen cac-items-center cac-justify-center cac-bg-neutral-950 cac-bg-opacity-50",
672
+ onClick: onClose,
673
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
674
+ "div",
675
+ {
676
+ className: "cac-relative cac-rounded-3xl cac-bg-white cac-p-6 cac-shadow-lg",
677
+ onClick: (e) => e.stopPropagation(),
678
+ children: [
679
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
680
+ "button",
681
+ {
682
+ className: "cac-absolute cac-right-4 cac-top-4 cac-flex cac-cursor-pointer cac-items-center cac-justify-center cac-border-none cac-bg-transparent cac-p-1 cac-text-neutral-400",
683
+ onClick: onClose,
684
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CloseIcon, {})
685
+ }
686
+ ),
687
+ (isLoading || redirectInProgress) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "cac-absolute cac-inset-0 cac-flex cac-items-center cac-justify-center cac-rounded-3xl cac-bg-neutral-100", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadingIcon, {}) }),
688
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
689
+ CivicAuthIframe,
690
+ {
691
+ ref: iframeRef,
692
+ authUrl,
693
+ onLoad: handleIframeLoad
694
+ }
695
+ )
696
+ ]
697
+ }
698
+ )
699
+ }
700
+ );
701
+ };
702
+
703
+ // src/config.ts
704
+ var authConfig = {
705
+ // TODO change this to the production URL once we're out of beta
706
+ oauthServer: "https://auth-dev.civic.com/oauth/"
707
+ };
708
+
709
+ // src/lib/windowUtil.ts
710
+ var isWindowInIframe = (window2) => {
711
+ var _a;
712
+ if (typeof window2 !== "undefined") {
713
+ try {
714
+ if (((_a = window2 == null ? void 0 : window2.frameElement) == null ? void 0 : _a.id) === "civic-auth-iframe") {
715
+ return true;
716
+ }
717
+ } catch (_e) {
718
+ return false;
719
+ }
720
+ }
721
+ return false;
722
+ };
723
+
724
+ // src/shared/AuthProvider.tsx
725
+
726
+ var globalThisObject;
727
+ if (typeof window !== "undefined") {
728
+ globalThisObject = window;
729
+ } else if (typeof global !== "undefined") {
730
+ globalThisObject = global;
731
+ } else {
732
+ globalThisObject = Function("return this")();
733
+ }
734
+ globalThisObject.globalThis = globalThisObject;
735
+ var AuthProvider = ({
736
+ children,
737
+ clientId,
738
+ redirectUrl: inputRedirectUrl,
739
+ config = authConfig,
740
+ nonce,
741
+ onSignIn,
742
+ onSignOut,
743
+ authServiceImpl,
744
+ serverSideTokenExchange
745
+ }) => {
746
+ const [iframeUrl, setIframeUrl] = _react.useState.call(void 0, null);
747
+ const [currentUrl, setCurrentUrl] = _react.useState.call(void 0, null);
748
+ const [isInIframe, setIsInIframe] = _react.useState.call(void 0, false);
749
+ const [authResponseUrl, setAuthResponseUrl] = _react.useState.call(void 0, null);
750
+ const [tokenExchangeError, setTokenExchangeError] = _react.useState.call(void 0, );
751
+ const queryClient3 = _reactquery.useQueryClient.call(void 0, );
752
+ const iframeRef = _react.useRef.call(void 0, null);
753
+ _react.useEffect.call(void 0, () => {
754
+ if (typeof globalThis.window !== "undefined") {
755
+ setCurrentUrl(globalThis.window.location.href);
756
+ const isInIframeVal = isWindowInIframe(globalThis.window);
757
+ setIsInIframe(isInIframeVal);
758
+ }
759
+ }, []);
760
+ const redirectUrl = _react.useMemo.call(void 0,
761
+ () => (inputRedirectUrl || currentUrl || "").split("?")[0],
762
+ [currentUrl, inputRedirectUrl]
763
+ );
764
+ const authService = _react.useMemo.call(void 0,
765
+ () => currentUrl ? authServiceImpl || new AuthSessionServiceImpl(
766
+ clientId,
767
+ redirectUrl,
768
+ config == null ? void 0 : config.oauthServer,
769
+ config == null ? void 0 : config.endpoints
770
+ ) : null,
771
+ [currentUrl, clientId, redirectUrl, config, authServiceImpl]
772
+ );
773
+ const [userInfoService, setUserInfoService] = _react.useState.call(void 0, );
774
+ _react.useEffect.call(void 0, () => {
775
+ if (!authService) return;
776
+ authService.getUserInfoService().then(setUserInfoService);
777
+ }, [authService]);
778
+ const {
779
+ data: session,
780
+ isLoading,
781
+ error
782
+ } = _reactquery.useQuery.call(void 0, {
783
+ queryKey: ["session", authResponseUrl, iframeUrl, currentUrl, isInIframe],
784
+ queryFn: () => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
785
+ if (!authService) {
786
+ return { authenticated: false };
787
+ }
788
+ const url = new URL(
789
+ authResponseUrl ? authResponseUrl : globalThis.window.location.href || ""
790
+ );
791
+ const code = url.searchParams.get("code");
792
+ if (code && !isInIframe && !serverSideTokenExchange) {
793
+ try {
794
+ console.log("AuthProvider useQuery code", { isInIframe, code });
795
+ const newSession = yield authService.tokenExchange(url.toString());
796
+ onSignIn == null ? void 0 : onSignIn();
797
+ return newSession;
798
+ } catch (error2) {
799
+ setTokenExchangeError(error2);
800
+ onSignIn == null ? void 0 : onSignIn(
801
+ error2 instanceof Error ? error2 : new Error("Failed to sign in")
802
+ );
803
+ return { authenticated: false };
804
+ }
805
+ }
806
+ const existingSessionData = yield authService.validateExistingSession();
807
+ if (existingSessionData.authenticated) {
808
+ return existingSessionData;
809
+ }
810
+ return existingSessionData;
811
+ })
812
+ });
813
+ const signOutMutation = _reactquery.useMutation.call(void 0, {
814
+ mutationFn: () => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
815
+ authService == null ? void 0 : authService.updateSessionData({});
816
+ setIframeUrl(null);
817
+ setAuthResponseUrl(null);
818
+ onSignOut == null ? void 0 : onSignOut();
819
+ }),
820
+ onSuccess: () => {
821
+ queryClient3.setQueryData(
822
+ ["session", authResponseUrl, iframeUrl, currentUrl, isInIframe],
823
+ null
824
+ );
825
+ }
826
+ });
827
+ const signIn = _react.useCallback.call(void 0,
828
+ (overrideDisplayMode = "iframe") => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
829
+ if (!authService) return;
830
+ const url = yield authService.getAuthorizationUrl(
831
+ // This is the default scope. We will eventually pull this from the partner dashboard
832
+ _chunkOLT5HB3Gjs.DEFAULT_SCOPES,
833
+ overrideDisplayMode,
834
+ nonce
835
+ );
836
+ if (overrideDisplayMode === "iframe") {
837
+ setIframeUrl(url);
838
+ return;
839
+ }
840
+ authService.loadAuthorizationUrl(url, overrideDisplayMode);
841
+ }),
842
+ [authService, nonce]
843
+ );
844
+ const isAuthenticated = _react.useMemo.call(void 0,
845
+ () => session ? session.authenticated : false,
846
+ [session]
847
+ );
848
+ const value = _react.useMemo.call(void 0,
849
+ () => ({
850
+ isLoading,
851
+ error,
852
+ signOut: () => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
853
+ yield signOutMutation.mutateAsync();
854
+ }),
855
+ isAuthenticated,
856
+ signIn
857
+ }),
858
+ [isLoading, error, signOutMutation, isAuthenticated, signIn]
859
+ );
860
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AuthContext.Provider, { value, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SessionProvider, { session, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TokenProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, UserProvider, { userInfoService, children: [
861
+ !isInIframe && iframeUrl && !(session == null ? void 0 : session.authenticated) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
862
+ CivicAuthIframeModal,
863
+ {
864
+ iframeRef,
865
+ authUrl: iframeUrl,
866
+ redirectUri: redirectUrl,
867
+ setAuthResponseUrl,
868
+ onClose: () => setIframeUrl(null)
869
+ }
870
+ ),
871
+ (tokenExchangeError || isLoading || error || isInIframe && !(tokenExchangeError || error)) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "cac-absolute cac-left-0 cac-top-0 cac-z-50 cac-flex cac-h-screen cac-w-screen cac-items-center cac-justify-center cac-bg-white", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "cac-absolute cac-inset-0 cac-flex cac-items-center cac-justify-center cac-bg-white", children: tokenExchangeError || error ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
872
+ "Error: ",
873
+ (tokenExchangeError || error).message
874
+ ] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadingIcon, {}) }) }),
875
+ children
876
+ ] }) }) }) });
877
+ };
878
+
879
+ // src/shared/CivicAuthProvider.tsx
880
+
881
+ require('@civic/auth/styles.css');
882
+
883
+ var queryClient = new (0, _reactquery.QueryClient)();
884
+ var CivicAuthProvider = (_a) => {
885
+ var _b = _a, { children } = _b, props = _chunkCRTRMMJ7js.__objRest.call(void 0, _b, ["children"]);
886
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactquery.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AuthProvider, _chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, props), { children })) });
887
+ };
888
+
889
+ // src/react/providers/NextAuthProvider.tsx
890
+
891
+
892
+ // src/react/hooks/useUserCookie.ts
893
+
894
+ var _navigationjs = require('next/navigation.js');
895
+
896
+
897
+ // src/lib/cookies.ts
898
+ var getCookieValue = (key, window2) => {
899
+ const cookie = window2.document.cookie;
900
+ if (!cookie) return null;
901
+ const cookies = cookie.split(";");
902
+ for (const c of cookies) {
903
+ const [name, value] = c.trim().split("=");
904
+ if (name === key) {
905
+ try {
906
+ return JSON.parse(decodeURIComponent(value));
907
+ } catch (e) {
908
+ console.log("Error parsing cookie value", e);
909
+ return value;
910
+ }
911
+ }
912
+ }
913
+ return null;
914
+ };
915
+
916
+ // src/react/hooks/useUserCookie.ts
917
+ var getUserFromCookie = () => {
918
+ const userCookie = getCookieValue("user", globalThis.window);
919
+ return userCookie;
920
+ };
921
+ var useUserCookie = () => {
922
+ const hasRunRef = _react.useRef.call(void 0, false);
923
+ const router = _navigationjs.useRouter.call(void 0, );
924
+ const { data: user } = _reactquery.useQuery.call(void 0, {
925
+ queryKey: ["user"],
926
+ queryFn: () => getUserFromCookie(),
927
+ refetchInterval: 2e3,
928
+ refetchIntervalInBackground: true,
929
+ enabled: !hasRunRef.current,
930
+ refetchOnWindowFocus: true
931
+ });
932
+ _react.useEffect.call(void 0, () => {
933
+ if (user) {
934
+ if (!hasRunRef.current) {
935
+ hasRunRef.current = true;
936
+ router.refresh();
937
+ }
938
+ } else {
939
+ hasRunRef.current = false;
940
+ }
941
+ }, [user, router]);
942
+ return user;
943
+ };
944
+
945
+ // src/react/providers/NextAuthProvider.tsx
946
+
947
+
948
+
949
+ var queryClient2 = new (0, _reactquery.QueryClient)();
950
+ var defaultUserContext = { user: null };
951
+ var UserContext2 = _react.createContext.call(void 0, defaultUserContext);
952
+ var CivicNextAuthProvider = (_a) => {
953
+ var _b = _a, {
954
+ children
955
+ } = _b, props = _chunkCRTRMMJ7js.__objRest.call(void 0, _b, [
956
+ "children"
957
+ ]);
958
+ const user = useUserCookie();
959
+ const [redirectUrl, setRedirectUrl] = _react.useState.call(void 0, "");
960
+ const { clientId, oauthServer, callbackUrl, challengeUrl } = _chunkWPISYQG3js.resolveAuthConfig.call(void 0, );
961
+ _react.useEffect.call(void 0, () => {
962
+ if (typeof globalThis.window !== "undefined") {
963
+ const currentUrl = globalThis.window.location.href;
964
+ setRedirectUrl(_chunkWPISYQG3js.resolveCallbackUrl.call(void 0, _chunkWPISYQG3js.resolveAuthConfig.call(void 0, ), currentUrl));
965
+ }
966
+ }, [callbackUrl]);
967
+ const authService = _react.useMemo.call(void 0, () => {
968
+ if (redirectUrl && clientId && oauthServer) {
969
+ return new AuthSessionServiceImpl(clientId, redirectUrl, oauthServer, {
970
+ challenge: challengeUrl
971
+ });
972
+ }
973
+ return void 0;
974
+ }, [redirectUrl, clientId, oauthServer, challengeUrl]);
975
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactquery.QueryClientProvider, { client: queryClient2, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
976
+ AuthProvider,
977
+ _chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, props), {
978
+ config: { oauthServer },
979
+ clientId,
980
+ authServiceImpl: authService,
981
+ serverSideTokenExchange: true,
982
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserContext2.Provider, { value: user, children })
983
+ })
984
+ ) });
985
+ };
986
+ var useNextUser = () => _react.useContext.call(void 0, UserContext2);
987
+
988
+ // src/react/hooks/useUser.tsx
989
+ var useUser = () => {
990
+ const context = _react.useContext.call(void 0, UserContext);
991
+ if (!context) {
992
+ throw new Error("useUser must be used within a UserProvider");
993
+ }
994
+ return context;
995
+ };
996
+
997
+ // src/react/components/UserButton.tsx
998
+
999
+
1000
+ var ChevronDown = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1001
+ "svg",
1002
+ {
1003
+ xmlns: "http://www.w3.org/2000/svg",
1004
+ width: "24",
1005
+ height: "24",
1006
+ viewBox: "0 0 24 24",
1007
+ fill: "none",
1008
+ stroke: "currentColor",
1009
+ strokeWidth: "2",
1010
+ strokeLinecap: "round",
1011
+ strokeLinejoin: "round",
1012
+ className: "lucide lucide-chevron-down",
1013
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "m6 9 6 6 6-6" })
1014
+ }
1015
+ );
1016
+ var ChevronUp = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1017
+ "svg",
1018
+ {
1019
+ xmlns: "http://www.w3.org/2000/svg",
1020
+ width: "24",
1021
+ height: "24",
1022
+ viewBox: "0 0 24 24",
1023
+ fill: "none",
1024
+ stroke: "currentColor",
1025
+ strokeWidth: "2",
1026
+ strokeLinecap: "round",
1027
+ strokeLinejoin: "round",
1028
+ className: "lucide lucide-chevron-up",
1029
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "path", { d: "m18 15-6-6-6 6" })
1030
+ }
1031
+ );
1032
+ var UserButton = ({
1033
+ displayMode,
1034
+ className
1035
+ }) => {
1036
+ const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
1037
+ const { signIn, isAuthenticated, signOut } = useAuth();
1038
+ const { user } = useUser();
1039
+ const handleClickOutside = _react.useCallback.call(void 0, (event) => {
1040
+ const target = event.target;
1041
+ if (!target.closest("#civic-dropdown-container")) {
1042
+ setIsOpen(false);
1043
+ }
1044
+ }, []);
1045
+ const handleSignOut = _react.useCallback.call(void 0, () => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
1046
+ yield signOut();
1047
+ setIsOpen(false);
1048
+ }), [signOut]);
1049
+ const handleSignIn = _react.useCallback.call(void 0, () => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
1050
+ yield signIn(displayMode);
1051
+ setIsOpen(false);
1052
+ }), [signIn, displayMode]);
1053
+ const handleEscape = _react.useCallback.call(void 0, (event) => {
1054
+ if (event.key === "Escape") {
1055
+ setIsOpen(false);
1056
+ }
1057
+ }, []);
1058
+ _react.useEffect.call(void 0, () => {
1059
+ if (isOpen) {
1060
+ window.addEventListener("click", handleClickOutside);
1061
+ window.addEventListener("keydown", handleEscape);
1062
+ }
1063
+ return () => {
1064
+ window.removeEventListener("click", handleClickOutside);
1065
+ window.removeEventListener("keydown", handleEscape);
1066
+ };
1067
+ }, [handleClickOutside, handleEscape, isOpen]);
1068
+ if (isAuthenticated) {
1069
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "cac-relative", id: "civic-dropdown-container", children: [
1070
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1071
+ "button",
1072
+ {
1073
+ className: _chunkOLT5HB3Gjs.cn.call(void 0,
1074
+ "cac-flex cac-w-full cac-items-center cac-justify-between cac-gap-2 cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-text-neutral-500 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50",
1075
+ className
1076
+ ),
1077
+ onClick: () => setIsOpen((isOpen2) => !isOpen2),
1078
+ children: [
1079
+ (user == null ? void 0 : user.picture) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "cac-relative cac-flex cac-h-10 cac-w-10 cac-shrink-0 cac-gap-2 cac-overflow-hidden cac-rounded-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1080
+ "img",
1081
+ {
1082
+ className: "cac-h-full cac-w-full cac-object-cover",
1083
+ src: user.picture,
1084
+ alt: (user == null ? void 0 : user.name) || (user == null ? void 0 : user.email)
1085
+ }
1086
+ ) }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", {}),
1087
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: (user == null ? void 0 : user.name) || (user == null ? void 0 : user.email) }),
1088
+ isOpen ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChevronUp, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChevronDown, {})
1089
+ ]
1090
+ }
1091
+ ),
1092
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1093
+ "div",
1094
+ {
1095
+ className: isOpen ? "cac-absolute cac-right-0 cac-mt-2 cac-w-full cac-rounded-lg cac-bg-white cac-py-2 cac-text-neutral-500 cac-shadow-xl" : "cac-hidden",
1096
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1097
+ "button",
1098
+ {
1099
+ className: "cac-block cac-w-full cac-px-4 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50",
1100
+ onClick: handleSignOut,
1101
+ children: "Logout"
1102
+ }
1103
+ ) }) })
1104
+ }
1105
+ )
1106
+ ] });
1107
+ }
1108
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1109
+ "button",
1110
+ {
1111
+ className: _chunkOLT5HB3Gjs.cn.call(void 0,
1112
+ "cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50",
1113
+ className
1114
+ ),
1115
+ onClick: handleSignIn,
1116
+ children: "Sign in"
1117
+ }
1118
+ );
1119
+ };
1120
+
1121
+ // src/react/components/SignInButton.tsx
1122
+
1123
+ var SignInButton = ({
1124
+ displayMode,
1125
+ className
1126
+ }) => {
1127
+ const { signIn } = useAuth();
1128
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1129
+ "button",
1130
+ {
1131
+ className: _chunkOLT5HB3Gjs.cn.call(void 0,
1132
+ "cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50",
1133
+ className
1134
+ ),
1135
+ onClick: () => signIn(displayMode),
1136
+ children: "Sign In"
1137
+ }
1138
+ );
1139
+ };
1140
+
1141
+ // src/react/components/SignOutButton.tsx
1142
+
1143
+ var SignOutButton = ({ className }) => {
1144
+ const { signOut } = useAuth();
1145
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1146
+ "button",
1147
+ {
1148
+ className: _chunkOLT5HB3Gjs.cn.call(void 0,
1149
+ "cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50",
1150
+ className
1151
+ ),
1152
+ onClick: () => signOut(),
1153
+ children: "Sign Out"
1154
+ }
1155
+ );
1156
+ };
1157
+
1158
+ // src/react/components/NextLogOut.tsx
1159
+
1160
+ var NextLogOut = ({ children }) => {
1161
+ const config = _chunkWPISYQG3js.resolveAuthConfig.call(void 0, );
1162
+ const logoutUrl = `${config.logoutUrl}`;
1163
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: logoutUrl, children });
1164
+ };
1165
+
1166
+
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+
1174
+
1175
+
1176
+
1177
+
1178
+ exports.CivicAuthProvider = CivicAuthProvider; exports.CivicNextAuthProvider = CivicNextAuthProvider; exports.NextLogOut = NextLogOut; exports.SignInButton = SignInButton; exports.SignOutButton = SignOutButton; exports.UserButton = UserButton; exports.useAuth = useAuth; exports.useNextUser = useNextUser; exports.useSession = useSession; exports.useToken = useToken; exports.useUser = useUser; exports.useUserCookie = useUserCookie;
1179
+ //# sourceMappingURL=react.js.map