@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.mjs ADDED
@@ -0,0 +1,1179 @@
1
+ import {
2
+ resolveAuthConfig,
3
+ resolveCallbackUrl
4
+ } from "./chunk-NQPMNXBL.mjs";
5
+ import {
6
+ DEFAULT_SCOPES,
7
+ IFRAME_ID,
8
+ buildOauth2Client,
9
+ cn,
10
+ displayModeFromState,
11
+ generateState,
12
+ getOauthEndpoints,
13
+ isPopupBlocked,
14
+ validateOauth2Tokens
15
+ } from "./chunk-KBDRDCE5.mjs";
16
+ import {
17
+ __async,
18
+ __objRest,
19
+ __spreadProps,
20
+ __spreadValues
21
+ } from "./chunk-RGHW4PYM.mjs";
22
+
23
+ // src/react/hooks/useUser.tsx
24
+ import { useContext as useContext5 } from "react";
25
+
26
+ // src/react/providers/UserProvider.tsx
27
+ import { createContext as createContext4 } from "react";
28
+ import { useQuery } from "@tanstack/react-query";
29
+
30
+ // src/react/hooks/useAuth.tsx
31
+ import { useContext } from "react";
32
+
33
+ // src/shared/AuthContext.tsx
34
+ import { createContext } from "react";
35
+ var AuthContext = createContext(null);
36
+
37
+ // src/react/hooks/useAuth.tsx
38
+ var useAuth = () => {
39
+ const context = useContext(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
+ import { useContext as useContext3 } from "react";
48
+
49
+ // src/react/providers/TokenProvider.tsx
50
+ import { createContext as createContext3, useMemo } from "react";
51
+ import { useMutation, useQueryClient } from "@tanstack/react-query";
52
+
53
+ // src/react/hooks/useSession.tsx
54
+ import { useContext as useContext2 } from "react";
55
+
56
+ // src/react/providers/SessionProvider.tsx
57
+ import { createContext as createContext2 } from "react";
58
+ import { jsx } from "react/jsx-runtime";
59
+ var defaultSession = {
60
+ authenticated: false,
61
+ idToken: void 0,
62
+ accessToken: void 0,
63
+ displayMode: "iframe"
64
+ };
65
+ var SessionContext = createContext2(defaultSession);
66
+ var SessionProvider = ({ children, session }) => /* @__PURE__ */ jsx(SessionContext.Provider, { value: session || defaultSession, children });
67
+
68
+ // src/react/hooks/useSession.tsx
69
+ var useSession = () => {
70
+ const context = useContext2(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
+ import { parseJWT } from "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
+ import { jsx as jsx2 } from "react/jsx-runtime";
94
+ var TokenContext = createContext3(void 0);
95
+ var TokenProvider = ({ children }) => {
96
+ const { isLoading, error: authError } = useAuth();
97
+ const session = useSession();
98
+ const queryClient3 = useQueryClient();
99
+ const refreshTokenMutation = useMutation({
100
+ mutationFn: () => __async(void 0, null, function* () {
101
+ throw new Error("Method not implemented.");
102
+ }),
103
+ onSuccess: () => {
104
+ queryClient3.invalidateQueries({ queryKey: ["session"] });
105
+ }
106
+ });
107
+ const decodeTokens = useMemo(() => {
108
+ if (!(session == null ? void 0 : session.idToken)) return null;
109
+ const parsedJWT = parseJWT(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 = useMemo(
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__ */ jsx2(TokenContext.Provider, { value, children });
134
+ };
135
+
136
+ // src/react/hooks/useToken.tsx
137
+ var useToken = () => {
138
+ const context = useContext3(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
+ import { jsx as jsx3 } from "react/jsx-runtime";
147
+ var UserContext = createContext4(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 = () => __async(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 __spreadProps(__spreadValues({}, user2), {
165
+ forwardedTokens,
166
+ idToken,
167
+ accessToken,
168
+ refreshToken
169
+ });
170
+ });
171
+ const {
172
+ data: user,
173
+ isLoading: userLoading,
174
+ error: userError
175
+ } = useQuery({
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__ */ jsx3(
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
+ import {
200
+ useCallback as useCallback2,
201
+ useEffect as useEffect2,
202
+ useMemo as useMemo2,
203
+ useRef as useRef2,
204
+ useState as useState2
205
+ } from "react";
206
+ import { useMutation as useMutation2, useQuery as useQuery2, useQueryClient as useQueryClient2 } from "@tanstack/react-query";
207
+
208
+ // src/services/UserInfoService.ts
209
+ import { parseJWT as parseJWT2 } from "oslo/jwt";
210
+ var UserInfoServiceImpl = class {
211
+ constructor(endpoints) {
212
+ this.endpoints = endpoints;
213
+ }
214
+ extractUserFromIdToken(idToken) {
215
+ const parsedJWT = parseJWT2(idToken);
216
+ if (!parsedJWT) {
217
+ return null;
218
+ }
219
+ return parsedJWT.payload;
220
+ }
221
+ getUserInfo(accessToken, idToken) {
222
+ return __async(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
+ import { generateCodeVerifier } from "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 generateCodeVerifier();
250
+ }
251
+ getUserInfoService() {
252
+ return __async(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 __async(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 getOauthEndpoints(this.oauthServer);
268
+ return this.endpoints ? __spreadValues(__spreadValues({}, this.endpoints), jwksEndpoints) : jwksEndpoints;
269
+ });
270
+ }
271
+ getOauth2Client() {
272
+ return __async(this, null, function* () {
273
+ if (this.oauth2Client) {
274
+ return this.oauth2Client;
275
+ }
276
+ const endpoints = yield this.getEndpoints();
277
+ this.oauth2Client = buildOauth2Client(
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(__spreadValues({}, 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 __async(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 __async(this, null, function* () {
337
+ const state = generateState(displayMode);
338
+ const existingSessionData = this.getSessionData();
339
+ this.updateSessionData(__spreadProps(__spreadValues({}, 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 __async(this, null, function* () {
368
+ yield this.getOauth2Client();
369
+ return this;
370
+ });
371
+ }
372
+ logout() {
373
+ return __async(this, null, function* () {
374
+ this.updateSessionData({ authenticated: false });
375
+ });
376
+ }
377
+ determineDisplayMode(displayMode) {
378
+ if (isPopupBlocked() && displayMode === "iframe") {
379
+ displayMode = "redirect";
380
+ }
381
+ return displayMode;
382
+ }
383
+ signIn(displayMode, scopes, nonce) {
384
+ return __async(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 __async(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 = displayModeFromState(
420
+ returnedState,
421
+ session.displayMode
422
+ );
423
+ session = __spreadProps(__spreadValues({}, 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 __async(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 = __spreadProps(__spreadValues({}, 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 __async(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 __async(this, null, function* () {
507
+ const endpoints = yield this.getEndpoints();
508
+ if (!this.oauth2Client) yield this.init();
509
+ return validateOauth2Tokens(
510
+ tokens,
511
+ endpoints,
512
+ this.oauth2Client,
513
+ this.oauthServer
514
+ );
515
+ });
516
+ }
517
+ validateExistingSession() {
518
+ return __async(this, null, function* () {
519
+ const sessionData = this.getSessionData();
520
+ try {
521
+ if (!sessionData.idToken || !sessionData.accessToken) {
522
+ const unAuthenticatedSession = __spreadProps(__spreadValues({}, 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
+ import { useCallback, useEffect, useRef, useState } from "react";
547
+
548
+ // src/react/components/LoadingIcon.tsx
549
+ import { jsx as jsx4, jsxs } from "react/jsx-runtime";
550
+ var LoadingIcon = () => /* @__PURE__ */ jsxs("div", { role: "status", children: [
551
+ /* @__PURE__ */ jsxs(
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__ */ jsx4(
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__ */ jsx4(
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__ */ jsx4("span", { className: "cac-sr-only", children: "Loading..." })
578
+ ] });
579
+
580
+ // src/react/components/CloseIcon.tsx
581
+ import { jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
582
+ var CloseIcon = () => /* @__PURE__ */ jsxs2(
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__ */ jsx5("path", { d: "M18 6 6 18" }),
597
+ /* @__PURE__ */ jsx5("path", { d: "m6 6 12 12" })
598
+ ]
599
+ }
600
+ );
601
+
602
+ // src/react/components/CivicAuthIframe.tsx
603
+ import { forwardRef } from "react";
604
+ import { jsx as jsx6 } from "react/jsx-runtime";
605
+ var CivicAuthIframe = forwardRef(
606
+ ({ authUrl, onLoad }, ref) => {
607
+ return /* @__PURE__ */ jsx6(
608
+ "iframe",
609
+ {
610
+ id: 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
+ import { jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
623
+ var CivicAuthIframeModal = ({
624
+ authUrl,
625
+ redirectUri,
626
+ setAuthResponseUrl,
627
+ onClose,
628
+ iframeRef,
629
+ redirectInProgress = false,
630
+ closeOnRedirect = true
631
+ }) => {
632
+ const [isLoading, setIsLoading] = useState(true);
633
+ const processIframeUrl = useCallback(() => {
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 = useRef();
649
+ const handleEscape = useCallback(
650
+ (event) => {
651
+ if (event.key === "Escape") {
652
+ onClose();
653
+ }
654
+ },
655
+ [onClose]
656
+ );
657
+ useEffect(() => {
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__ */ jsx7(
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__ */ jsxs3(
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__ */ jsx7(
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__ */ jsx7(CloseIcon, {})
685
+ }
686
+ ),
687
+ (isLoading || redirectInProgress) && /* @__PURE__ */ jsx7("div", { className: "cac-absolute cac-inset-0 cac-flex cac-items-center cac-justify-center cac-rounded-3xl cac-bg-neutral-100", children: /* @__PURE__ */ jsx7(LoadingIcon, {}) }),
688
+ /* @__PURE__ */ jsx7(
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
+ import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
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] = useState2(null);
747
+ const [currentUrl, setCurrentUrl] = useState2(null);
748
+ const [isInIframe, setIsInIframe] = useState2(false);
749
+ const [authResponseUrl, setAuthResponseUrl] = useState2(null);
750
+ const [tokenExchangeError, setTokenExchangeError] = useState2();
751
+ const queryClient3 = useQueryClient2();
752
+ const iframeRef = useRef2(null);
753
+ useEffect2(() => {
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 = useMemo2(
761
+ () => (inputRedirectUrl || currentUrl || "").split("?")[0],
762
+ [currentUrl, inputRedirectUrl]
763
+ );
764
+ const authService = useMemo2(
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] = useState2();
774
+ useEffect2(() => {
775
+ if (!authService) return;
776
+ authService.getUserInfoService().then(setUserInfoService);
777
+ }, [authService]);
778
+ const {
779
+ data: session,
780
+ isLoading,
781
+ error
782
+ } = useQuery2({
783
+ queryKey: ["session", authResponseUrl, iframeUrl, currentUrl, isInIframe],
784
+ queryFn: () => __async(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 = useMutation2({
814
+ mutationFn: () => __async(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 = useCallback2(
828
+ (overrideDisplayMode = "iframe") => __async(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
+ 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 = useMemo2(
845
+ () => session ? session.authenticated : false,
846
+ [session]
847
+ );
848
+ const value = useMemo2(
849
+ () => ({
850
+ isLoading,
851
+ error,
852
+ signOut: () => __async(void 0, null, function* () {
853
+ yield signOutMutation.mutateAsync();
854
+ }),
855
+ isAuthenticated,
856
+ signIn
857
+ }),
858
+ [isLoading, error, signOutMutation, isAuthenticated, signIn]
859
+ );
860
+ return /* @__PURE__ */ jsx8(AuthContext.Provider, { value, children: /* @__PURE__ */ jsx8(SessionProvider, { session, children: /* @__PURE__ */ jsx8(TokenProvider, { children: /* @__PURE__ */ jsxs4(UserProvider, { userInfoService, children: [
861
+ !isInIframe && iframeUrl && !(session == null ? void 0 : session.authenticated) && /* @__PURE__ */ jsx8(
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__ */ jsx8("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__ */ jsx8("div", { className: "cac-absolute cac-inset-0 cac-flex cac-items-center cac-justify-center cac-bg-white", children: tokenExchangeError || error ? /* @__PURE__ */ jsxs4("div", { children: [
872
+ "Error: ",
873
+ (tokenExchangeError || error).message
874
+ ] }) : /* @__PURE__ */ jsx8(LoadingIcon, {}) }) }),
875
+ children
876
+ ] }) }) }) });
877
+ };
878
+
879
+ // src/shared/CivicAuthProvider.tsx
880
+ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
881
+ import "@civic/auth/styles.css";
882
+ import { jsx as jsx9 } from "react/jsx-runtime";
883
+ var queryClient = new QueryClient();
884
+ var CivicAuthProvider = (_a) => {
885
+ var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
886
+ return /* @__PURE__ */ jsx9(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx9(AuthProvider, __spreadProps(__spreadValues({}, props), { children })) });
887
+ };
888
+
889
+ // src/react/providers/NextAuthProvider.tsx
890
+ import { createContext as createContext5, useContext as useContext4, useEffect as useEffect4, useMemo as useMemo3, useState as useState3 } from "react";
891
+
892
+ // src/react/hooks/useUserCookie.ts
893
+ import { useEffect as useEffect3, useRef as useRef3 } from "react";
894
+ import { useRouter } from "next/navigation.js";
895
+ import { useQuery as useQuery3 } from "@tanstack/react-query";
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 = useRef3(false);
923
+ const router = useRouter();
924
+ const { data: user } = useQuery3({
925
+ queryKey: ["user"],
926
+ queryFn: () => getUserFromCookie(),
927
+ refetchInterval: 2e3,
928
+ refetchIntervalInBackground: true,
929
+ enabled: !hasRunRef.current,
930
+ refetchOnWindowFocus: true
931
+ });
932
+ useEffect3(() => {
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
+ import { QueryClient as QueryClient2, QueryClientProvider as QueryClientProvider2 } from "@tanstack/react-query";
947
+ import "@civic/auth/styles.css";
948
+ import { jsx as jsx10 } from "react/jsx-runtime";
949
+ var queryClient2 = new QueryClient2();
950
+ var defaultUserContext = { user: null };
951
+ var UserContext2 = createContext5(defaultUserContext);
952
+ var CivicNextAuthProvider = (_a) => {
953
+ var _b = _a, {
954
+ children
955
+ } = _b, props = __objRest(_b, [
956
+ "children"
957
+ ]);
958
+ const user = useUserCookie();
959
+ const [redirectUrl, setRedirectUrl] = useState3("");
960
+ const { clientId, oauthServer, callbackUrl, challengeUrl } = resolveAuthConfig();
961
+ useEffect4(() => {
962
+ if (typeof globalThis.window !== "undefined") {
963
+ const currentUrl = globalThis.window.location.href;
964
+ setRedirectUrl(resolveCallbackUrl(resolveAuthConfig(), currentUrl));
965
+ }
966
+ }, [callbackUrl]);
967
+ const authService = useMemo3(() => {
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__ */ jsx10(QueryClientProvider2, { client: queryClient2, children: /* @__PURE__ */ jsx10(
976
+ AuthProvider,
977
+ __spreadProps(__spreadValues({}, props), {
978
+ config: { oauthServer },
979
+ clientId,
980
+ authServiceImpl: authService,
981
+ serverSideTokenExchange: true,
982
+ children: /* @__PURE__ */ jsx10(UserContext2.Provider, { value: user, children })
983
+ })
984
+ ) });
985
+ };
986
+ var useNextUser = () => useContext4(UserContext2);
987
+
988
+ // src/react/hooks/useUser.tsx
989
+ var useUser = () => {
990
+ const context = useContext5(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
+ import { useCallback as useCallback3, useEffect as useEffect5, useState as useState4 } from "react";
999
+ import { jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
1000
+ var ChevronDown = () => /* @__PURE__ */ jsx11(
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__ */ jsx11("path", { d: "m6 9 6 6 6-6" })
1014
+ }
1015
+ );
1016
+ var ChevronUp = () => /* @__PURE__ */ jsx11(
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__ */ jsx11("path", { d: "m18 15-6-6-6 6" })
1030
+ }
1031
+ );
1032
+ var UserButton = ({
1033
+ displayMode,
1034
+ className
1035
+ }) => {
1036
+ const [isOpen, setIsOpen] = useState4(false);
1037
+ const { signIn, isAuthenticated, signOut } = useAuth();
1038
+ const { user } = useUser();
1039
+ const handleClickOutside = useCallback3((event) => {
1040
+ const target = event.target;
1041
+ if (!target.closest("#civic-dropdown-container")) {
1042
+ setIsOpen(false);
1043
+ }
1044
+ }, []);
1045
+ const handleSignOut = useCallback3(() => __async(void 0, null, function* () {
1046
+ yield signOut();
1047
+ setIsOpen(false);
1048
+ }), [signOut]);
1049
+ const handleSignIn = useCallback3(() => __async(void 0, null, function* () {
1050
+ yield signIn(displayMode);
1051
+ setIsOpen(false);
1052
+ }), [signIn, displayMode]);
1053
+ const handleEscape = useCallback3((event) => {
1054
+ if (event.key === "Escape") {
1055
+ setIsOpen(false);
1056
+ }
1057
+ }, []);
1058
+ useEffect5(() => {
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__ */ jsxs5("div", { className: "cac-relative", id: "civic-dropdown-container", children: [
1070
+ /* @__PURE__ */ jsxs5(
1071
+ "button",
1072
+ {
1073
+ className: cn(
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__ */ jsx11("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__ */ jsx11(
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__ */ jsx11("div", {}),
1087
+ /* @__PURE__ */ jsx11("span", { children: (user == null ? void 0 : user.name) || (user == null ? void 0 : user.email) }),
1088
+ isOpen ? /* @__PURE__ */ jsx11(ChevronUp, {}) : /* @__PURE__ */ jsx11(ChevronDown, {})
1089
+ ]
1090
+ }
1091
+ ),
1092
+ /* @__PURE__ */ jsx11(
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__ */ jsx11("ul", { children: /* @__PURE__ */ jsx11("li", { children: /* @__PURE__ */ jsx11(
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__ */ jsx11(
1109
+ "button",
1110
+ {
1111
+ className: cn(
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
+ import { jsx as jsx12 } from "react/jsx-runtime";
1123
+ var SignInButton = ({
1124
+ displayMode,
1125
+ className
1126
+ }) => {
1127
+ const { signIn } = useAuth();
1128
+ return /* @__PURE__ */ jsx12(
1129
+ "button",
1130
+ {
1131
+ className: cn(
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
+ import { jsx as jsx13 } from "react/jsx-runtime";
1143
+ var SignOutButton = ({ className }) => {
1144
+ const { signOut } = useAuth();
1145
+ return /* @__PURE__ */ jsx13(
1146
+ "button",
1147
+ {
1148
+ className: cn(
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
+ import { jsx as jsx14 } from "react/jsx-runtime";
1160
+ var NextLogOut = ({ children }) => {
1161
+ const config = resolveAuthConfig();
1162
+ const logoutUrl = `${config.logoutUrl}`;
1163
+ return /* @__PURE__ */ jsx14("a", { href: logoutUrl, children });
1164
+ };
1165
+ export {
1166
+ CivicAuthProvider,
1167
+ CivicNextAuthProvider,
1168
+ NextLogOut,
1169
+ SignInButton,
1170
+ SignOutButton,
1171
+ UserButton,
1172
+ useAuth,
1173
+ useNextUser,
1174
+ useSession,
1175
+ useToken,
1176
+ useUser,
1177
+ useUserCookie
1178
+ };
1179
+ //# sourceMappingURL=react.mjs.map