@civic/auth 0.0.1-beta.3 → 0.0.1-beta.30

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 (1080) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc.json +10 -0
  3. package/.prettierignore +3 -0
  4. package/.prettierrc +1 -0
  5. package/.turbo/turbo-build.log +13 -0
  6. package/.turbo/turbo-lint.log +14 -0
  7. package/.turbo/turbo-test.log +1678 -0
  8. package/README.md +26 -4
  9. package/civic-auth-0.0.1-beta.15.tgz +0 -0
  10. package/civic-auth-0.0.1-beta.17.tgz +0 -0
  11. package/dist/AuthProvider-BYZ8w92b.d.mts +15 -0
  12. package/dist/AuthProvider-BgOwv9h8.d.ts +15 -0
  13. package/dist/AuthProvider-Bj_Prt1x.d.ts +21 -0
  14. package/dist/AuthProvider-DUAoX4G9.d.mts +21 -0
  15. package/dist/UserProvider-BA2uflVB.d.ts +16 -0
  16. package/dist/UserProvider-Bl3j1PUO.d.mts +16 -0
  17. package/dist/UserProvider-CMLaYOUD.d.ts +16 -0
  18. package/dist/UserProvider-Cbm8MZkJ.d.mts +16 -0
  19. package/dist/chunk-4PLCDPEN.mjs +599 -0
  20. package/dist/chunk-4PLCDPEN.mjs.map +1 -0
  21. package/dist/chunk-5UQQYXCX.js +1 -0
  22. package/dist/chunk-5UQQYXCX.js.map +1 -0
  23. package/dist/{chunk-UV56GNIT.mjs → chunk-63YGK3A7.mjs} +84 -62
  24. package/dist/chunk-63YGK3A7.mjs.map +1 -0
  25. package/dist/{chunk-4GIHS7LB.js → chunk-6RFRDWIP.js} +88 -66
  26. package/dist/chunk-6RFRDWIP.js.map +1 -0
  27. package/dist/chunk-7K3QN2AT.js +599 -0
  28. package/dist/chunk-7K3QN2AT.js.map +1 -0
  29. package/dist/chunk-AM2Y662I.js +601 -0
  30. package/dist/chunk-AM2Y662I.js.map +1 -0
  31. package/dist/chunk-AP4627CS.mjs +223 -0
  32. package/dist/chunk-AP4627CS.mjs.map +1 -0
  33. package/dist/chunk-CRTRMMJ7.js.map +1 -1
  34. package/dist/chunk-CTVJJBBA.js +118 -0
  35. package/dist/chunk-CTVJJBBA.js.map +1 -0
  36. package/dist/chunk-EKLYHP2D.mjs +711 -0
  37. package/dist/chunk-EKLYHP2D.mjs.map +1 -0
  38. package/dist/chunk-FHRZSX3C.js +710 -0
  39. package/dist/chunk-FHRZSX3C.js.map +1 -0
  40. package/dist/chunk-GB3H3I47.js +711 -0
  41. package/dist/chunk-GB3H3I47.js.map +1 -0
  42. package/dist/{chunk-WPISYQG3.js → chunk-JDZPCA3P.js} +51 -32
  43. package/dist/chunk-JDZPCA3P.js.map +1 -0
  44. package/dist/chunk-JEOPLLWO.js +223 -0
  45. package/dist/chunk-JEOPLLWO.js.map +1 -0
  46. package/dist/chunk-MK7557NR.mjs +118 -0
  47. package/dist/chunk-MK7557NR.mjs.map +1 -0
  48. package/dist/chunk-NLRREFOX.mjs +710 -0
  49. package/dist/chunk-NLRREFOX.mjs.map +1 -0
  50. package/dist/{chunk-NQPMNXBL.mjs → chunk-O3WGNLRO.mjs} +50 -31
  51. package/dist/chunk-O3WGNLRO.mjs.map +1 -0
  52. package/dist/chunk-OXXUQ36U.mjs +283 -0
  53. package/dist/chunk-OXXUQ36U.mjs.map +1 -0
  54. package/dist/chunk-PMJAV4JJ.mjs +1 -0
  55. package/dist/chunk-PMJAV4JJ.mjs.map +1 -0
  56. package/dist/chunk-Q7DSPTUG.mjs +601 -0
  57. package/dist/chunk-Q7DSPTUG.mjs.map +1 -0
  58. package/dist/chunk-TH6FI2XI.js +283 -0
  59. package/dist/chunk-TH6FI2XI.js.map +1 -0
  60. package/dist/cjs/src/browser/storage.d.ts +6 -0
  61. package/dist/cjs/src/browser/storage.d.ts.map +1 -0
  62. package/dist/cjs/src/browser/storage.js +13 -0
  63. package/dist/cjs/src/browser/storage.js.map +1 -0
  64. package/dist/cjs/src/config.d.ts +3 -0
  65. package/dist/cjs/src/config.d.ts.map +1 -0
  66. package/dist/cjs/src/config.js +8 -0
  67. package/dist/cjs/src/config.js.map +1 -0
  68. package/dist/cjs/src/constants.d.ts +9 -0
  69. package/dist/cjs/src/constants.d.ts.map +1 -0
  70. package/dist/cjs/src/constants.js +26 -0
  71. package/dist/cjs/src/constants.js.map +1 -0
  72. package/dist/cjs/src/index.d.ts +4 -0
  73. package/dist/cjs/src/index.d.ts.map +1 -0
  74. package/dist/cjs/src/index.js +3 -0
  75. package/dist/cjs/src/index.js.map +1 -0
  76. package/dist/cjs/src/lib/cookies.d.ts +7 -0
  77. package/dist/cjs/src/lib/cookies.d.ts.map +1 -0
  78. package/dist/cjs/src/lib/cookies.js +26 -0
  79. package/dist/cjs/src/lib/cookies.js.map +1 -0
  80. package/dist/cjs/src/lib/jwt.d.ts +3 -0
  81. package/dist/cjs/src/lib/jwt.d.ts.map +1 -0
  82. package/dist/cjs/src/lib/jwt.js +13 -0
  83. package/dist/cjs/src/lib/jwt.js.map +1 -0
  84. package/dist/cjs/src/lib/logger.d.ts +26 -0
  85. package/dist/cjs/src/lib/logger.d.ts.map +1 -0
  86. package/dist/cjs/src/lib/logger.js +62 -0
  87. package/dist/cjs/src/lib/logger.js.map +1 -0
  88. package/dist/cjs/src/lib/oauth.d.ts +19 -0
  89. package/dist/cjs/src/lib/oauth.d.ts.map +1 -0
  90. package/dist/cjs/src/lib/oauth.js +67 -0
  91. package/dist/cjs/src/lib/oauth.js.map +1 -0
  92. package/dist/cjs/src/lib/postMessage.d.ts +4 -0
  93. package/dist/cjs/src/lib/postMessage.d.ts.map +1 -0
  94. package/dist/cjs/src/lib/postMessage.js +18 -0
  95. package/dist/cjs/src/lib/postMessage.js.map +1 -0
  96. package/dist/cjs/src/lib/windowUtil.d.ts +4 -0
  97. package/dist/cjs/src/lib/windowUtil.d.ts.map +1 -0
  98. package/dist/cjs/src/lib/windowUtil.js +34 -0
  99. package/dist/cjs/src/lib/windowUtil.js.map +1 -0
  100. package/dist/cjs/src/nextjs/GetUser.d.ts +6 -0
  101. package/dist/cjs/src/nextjs/GetUser.d.ts.map +1 -0
  102. package/dist/cjs/src/nextjs/GetUser.js +22 -0
  103. package/dist/cjs/src/nextjs/GetUser.js.map +1 -0
  104. package/dist/cjs/src/nextjs/config.d.ts +178 -0
  105. package/dist/cjs/src/nextjs/config.d.ts.map +1 -0
  106. package/dist/cjs/src/nextjs/config.js +167 -0
  107. package/dist/cjs/src/nextjs/config.js.map +1 -0
  108. package/dist/cjs/src/nextjs/cookies.d.ts +30 -0
  109. package/dist/cjs/src/nextjs/cookies.d.ts.map +1 -0
  110. package/dist/cjs/src/nextjs/cookies.js +119 -0
  111. package/dist/cjs/src/nextjs/cookies.js.map +1 -0
  112. package/dist/cjs/src/nextjs/hooks/index.d.ts +2 -0
  113. package/dist/cjs/src/nextjs/hooks/index.d.ts.map +1 -0
  114. package/dist/cjs/src/nextjs/hooks/index.js +6 -0
  115. package/dist/cjs/src/nextjs/hooks/index.js.map +1 -0
  116. package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts +3 -0
  117. package/dist/cjs/src/nextjs/hooks/useTokenCookie.d.ts.map +1 -0
  118. package/dist/cjs/src/nextjs/hooks/useTokenCookie.js +41 -0
  119. package/dist/cjs/src/nextjs/hooks/useTokenCookie.js.map +1 -0
  120. package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts +3 -0
  121. package/dist/cjs/src/nextjs/hooks/useUserCookie.d.ts.map +1 -0
  122. package/dist/cjs/src/nextjs/hooks/useUserCookie.js +40 -0
  123. package/dist/cjs/src/nextjs/hooks/useUserCookie.js.map +1 -0
  124. package/dist/cjs/src/nextjs/index.d.ts +7 -0
  125. package/dist/cjs/src/nextjs/index.d.ts.map +1 -0
  126. package/dist/cjs/src/nextjs/index.js +18 -0
  127. package/dist/cjs/src/nextjs/index.js.map +1 -0
  128. package/dist/cjs/src/nextjs/middleware/index.d.ts +2 -0
  129. package/dist/cjs/src/nextjs/middleware/index.d.ts.map +1 -0
  130. package/dist/cjs/src/nextjs/middleware/index.js +8 -0
  131. package/dist/cjs/src/nextjs/middleware/index.js.map +1 -0
  132. package/dist/cjs/src/nextjs/middleware.d.ts +59 -0
  133. package/dist/cjs/src/nextjs/middleware.d.ts.map +1 -0
  134. package/dist/cjs/src/nextjs/middleware.js +116 -0
  135. package/dist/cjs/src/nextjs/middleware.js.map +1 -0
  136. package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts +9 -0
  137. package/dist/cjs/src/nextjs/providers/NextAuthProvider.d.ts.map +1 -0
  138. package/dist/cjs/src/nextjs/providers/NextAuthProvider.js +76 -0
  139. package/dist/cjs/src/nextjs/providers/NextAuthProvider.js.map +1 -0
  140. package/dist/cjs/src/nextjs/routeHandler.d.ts +18 -0
  141. package/dist/cjs/src/nextjs/routeHandler.d.ts.map +1 -0
  142. package/dist/cjs/src/nextjs/routeHandler.js +217 -0
  143. package/dist/cjs/src/nextjs/routeHandler.js.map +1 -0
  144. package/dist/cjs/src/nextjs/utils.d.ts +3 -0
  145. package/dist/cjs/src/nextjs/utils.d.ts.map +1 -0
  146. package/dist/cjs/src/nextjs/utils.js +9 -0
  147. package/dist/cjs/src/nextjs/utils.js.map +1 -0
  148. package/dist/cjs/src/reactjs/components/SignInButton.d.ts +8 -0
  149. package/dist/cjs/src/reactjs/components/SignInButton.d.ts.map +1 -0
  150. package/dist/cjs/src/reactjs/components/SignInButton.js +20 -0
  151. package/dist/cjs/src/reactjs/components/SignInButton.js.map +1 -0
  152. package/dist/cjs/src/reactjs/components/SignOutButton.d.ts +6 -0
  153. package/dist/cjs/src/reactjs/components/SignOutButton.d.ts.map +1 -0
  154. package/dist/cjs/src/reactjs/components/SignOutButton.js +20 -0
  155. package/dist/cjs/src/reactjs/components/SignOutButton.js.map +1 -0
  156. package/dist/cjs/src/reactjs/components/UserButton.d.ts +8 -0
  157. package/dist/cjs/src/reactjs/components/UserButton.d.ts.map +1 -0
  158. package/dist/cjs/src/reactjs/components/UserButton.js +136 -0
  159. package/dist/cjs/src/reactjs/components/UserButton.js.map +1 -0
  160. package/dist/cjs/src/reactjs/components/index.d.ts +6 -0
  161. package/dist/cjs/src/reactjs/components/index.d.ts.map +1 -0
  162. package/dist/cjs/src/reactjs/components/index.js +14 -0
  163. package/dist/cjs/src/reactjs/components/index.js.map +1 -0
  164. package/dist/cjs/src/reactjs/hooks/index.d.ts +7 -0
  165. package/dist/cjs/src/reactjs/hooks/index.d.ts.map +1 -0
  166. package/dist/cjs/src/reactjs/hooks/index.js +16 -0
  167. package/dist/cjs/src/reactjs/hooks/index.js.map +1 -0
  168. package/dist/cjs/src/reactjs/hooks/useAuth.d.ts +3 -0
  169. package/dist/cjs/src/reactjs/hooks/useAuth.d.ts.map +1 -0
  170. package/dist/cjs/src/reactjs/hooks/useAuth.js +15 -0
  171. package/dist/cjs/src/reactjs/hooks/useAuth.js.map +1 -0
  172. package/dist/cjs/src/reactjs/hooks/useUser.d.ts +4 -0
  173. package/dist/cjs/src/reactjs/hooks/useUser.d.ts.map +1 -0
  174. package/dist/cjs/src/reactjs/hooks/useUser.js +15 -0
  175. package/dist/cjs/src/reactjs/hooks/useUser.js.map +1 -0
  176. package/dist/cjs/src/reactjs/index.d.ts +6 -0
  177. package/dist/cjs/src/reactjs/index.d.ts.map +1 -0
  178. package/dist/cjs/src/reactjs/index.js +30 -0
  179. package/dist/cjs/src/reactjs/index.js.map +1 -0
  180. package/dist/cjs/src/reactjs/providers/index.d.ts +8 -0
  181. package/dist/cjs/src/reactjs/providers/index.d.ts.map +1 -0
  182. package/dist/cjs/src/reactjs/providers/index.js +19 -0
  183. package/dist/cjs/src/reactjs/providers/index.js.map +1 -0
  184. package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts +18 -0
  185. package/dist/cjs/src/server/ServerAuthenticationResolver.d.ts.map +1 -0
  186. package/dist/cjs/src/server/ServerAuthenticationResolver.js +61 -0
  187. package/dist/cjs/src/server/ServerAuthenticationResolver.js.map +1 -0
  188. package/dist/cjs/src/server/config.d.ts +16 -0
  189. package/dist/cjs/src/server/config.d.ts.map +1 -0
  190. package/dist/cjs/src/server/config.js +3 -0
  191. package/dist/cjs/src/server/config.js.map +1 -0
  192. package/dist/cjs/src/server/index.d.ts +6 -0
  193. package/dist/cjs/src/server/index.d.ts.map +1 -0
  194. package/dist/cjs/src/server/index.js +14 -0
  195. package/dist/cjs/src/server/index.js.map +1 -0
  196. package/dist/cjs/src/server/login.d.ts +17 -0
  197. package/dist/cjs/src/server/login.d.ts.map +1 -0
  198. package/dist/cjs/src/server/login.js +42 -0
  199. package/dist/cjs/src/server/login.js.map +1 -0
  200. package/dist/cjs/src/server/refresh.d.ts +7 -0
  201. package/dist/cjs/src/server/refresh.d.ts.map +1 -0
  202. package/dist/cjs/src/server/refresh.js +16 -0
  203. package/dist/cjs/src/server/refresh.js.map +1 -0
  204. package/dist/cjs/src/services/AuthenticationService.d.ts +87 -0
  205. package/dist/cjs/src/services/AuthenticationService.d.ts.map +1 -0
  206. package/dist/cjs/src/services/AuthenticationService.js +218 -0
  207. package/dist/cjs/src/services/AuthenticationService.js.map +1 -0
  208. package/dist/cjs/src/services/PKCE.d.ts +20 -0
  209. package/dist/cjs/src/services/PKCE.d.ts.map +1 -0
  210. package/dist/cjs/src/services/PKCE.js +50 -0
  211. package/dist/cjs/src/services/PKCE.js.map +1 -0
  212. package/dist/cjs/src/services/types.d.ts +23 -0
  213. package/dist/cjs/src/services/types.d.ts.map +1 -0
  214. package/dist/cjs/src/services/types.js +11 -0
  215. package/dist/cjs/src/services/types.js.map +1 -0
  216. package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts +8 -0
  217. package/dist/cjs/src/shared/components/CivicAuthIframe.d.ts.map +1 -0
  218. package/dist/cjs/src/shared/components/CivicAuthIframe.js +35 -0
  219. package/dist/cjs/src/shared/components/CivicAuthIframe.js.map +1 -0
  220. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts +9 -0
  221. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.d.ts.map +1 -0
  222. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js +154 -0
  223. package/dist/cjs/src/shared/components/CivicAuthIframeContainer.js.map +1 -0
  224. package/dist/cjs/src/shared/components/CloseIcon.d.ts +4 -0
  225. package/dist/cjs/src/shared/components/CloseIcon.d.ts.map +1 -0
  226. package/dist/cjs/src/shared/components/CloseIcon.js +12 -0
  227. package/dist/cjs/src/shared/components/CloseIcon.js.map +1 -0
  228. package/dist/cjs/src/shared/components/LoadingIcon.d.ts +4 -0
  229. package/dist/cjs/src/shared/components/LoadingIcon.d.ts.map +1 -0
  230. package/dist/cjs/src/shared/components/LoadingIcon.js +36 -0
  231. package/dist/cjs/src/shared/components/LoadingIcon.js.map +1 -0
  232. package/dist/cjs/src/shared/hooks/index.d.ts +5 -0
  233. package/dist/cjs/src/shared/hooks/index.d.ts.map +1 -0
  234. package/dist/cjs/src/shared/hooks/index.js +12 -0
  235. package/dist/cjs/src/shared/hooks/index.js.map +1 -0
  236. package/dist/cjs/src/shared/hooks/useAuth.d.ts +3 -0
  237. package/dist/cjs/src/shared/hooks/useAuth.d.ts.map +1 -0
  238. package/dist/cjs/src/shared/hooks/useAuth.js +15 -0
  239. package/dist/cjs/src/shared/hooks/useAuth.js.map +1 -0
  240. package/dist/cjs/src/shared/hooks/useConfig.d.ts +3 -0
  241. package/dist/cjs/src/shared/hooks/useConfig.d.ts.map +1 -0
  242. package/dist/cjs/src/shared/hooks/useConfig.js +16 -0
  243. package/dist/cjs/src/shared/hooks/useConfig.js.map +1 -0
  244. package/dist/cjs/src/shared/hooks/useIframe.d.ts +3 -0
  245. package/dist/cjs/src/shared/hooks/useIframe.d.ts.map +1 -0
  246. package/dist/cjs/src/shared/hooks/useIframe.js +16 -0
  247. package/dist/cjs/src/shared/hooks/useIframe.js.map +1 -0
  248. package/dist/cjs/src/shared/hooks/useSession.d.ts +3 -0
  249. package/dist/cjs/src/shared/hooks/useSession.d.ts.map +1 -0
  250. package/dist/cjs/src/shared/hooks/useSession.js +16 -0
  251. package/dist/cjs/src/shared/hooks/useSession.js.map +1 -0
  252. package/dist/cjs/src/shared/hooks/useToken.d.ts +3 -0
  253. package/dist/cjs/src/shared/hooks/useToken.d.ts.map +1 -0
  254. package/dist/cjs/src/shared/hooks/useToken.js +15 -0
  255. package/dist/cjs/src/shared/hooks/useToken.js.map +1 -0
  256. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts +15 -0
  257. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -0
  258. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js +43 -0
  259. package/dist/cjs/src/shared/lib/GenericAuthenticationRefresher.js.map +1 -0
  260. package/dist/cjs/src/shared/lib/UserSession.d.ts +12 -0
  261. package/dist/cjs/src/shared/lib/UserSession.d.ts.map +1 -0
  262. package/dist/cjs/src/shared/lib/UserSession.js +24 -0
  263. package/dist/cjs/src/shared/lib/UserSession.js.map +1 -0
  264. package/dist/cjs/src/shared/lib/session.d.ts +3 -0
  265. package/dist/cjs/src/shared/lib/session.d.ts.map +1 -0
  266. package/dist/cjs/src/shared/lib/session.js +13 -0
  267. package/dist/cjs/src/shared/lib/session.js.map +1 -0
  268. package/dist/cjs/src/shared/lib/storage.d.ts +25 -0
  269. package/dist/cjs/src/shared/lib/storage.d.ts.map +1 -0
  270. package/dist/cjs/src/shared/lib/storage.js +21 -0
  271. package/dist/cjs/src/shared/lib/storage.js.map +1 -0
  272. package/dist/cjs/src/shared/lib/types.d.ts +22 -0
  273. package/dist/cjs/src/shared/lib/types.d.ts.map +1 -0
  274. package/dist/cjs/src/shared/lib/types.js +19 -0
  275. package/dist/cjs/src/shared/lib/types.js.map +1 -0
  276. package/dist/cjs/src/shared/lib/util.d.ts +33 -0
  277. package/dist/cjs/src/shared/lib/util.d.ts.map +1 -0
  278. package/dist/cjs/src/shared/lib/util.js +163 -0
  279. package/dist/cjs/src/shared/lib/util.js.map +1 -0
  280. package/dist/cjs/src/shared/providers/AuthContext.d.ts +10 -0
  281. package/dist/cjs/src/shared/providers/AuthContext.d.ts.map +1 -0
  282. package/dist/cjs/src/shared/providers/AuthContext.js +6 -0
  283. package/dist/cjs/src/shared/providers/AuthContext.js.map +1 -0
  284. package/dist/cjs/src/shared/providers/AuthProvider.d.ts +20 -0
  285. package/dist/cjs/src/shared/providers/AuthProvider.d.ts.map +1 -0
  286. package/dist/cjs/src/shared/providers/AuthProvider.js +289 -0
  287. package/dist/cjs/src/shared/providers/AuthProvider.js.map +1 -0
  288. package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts +6 -0
  289. package/dist/cjs/src/shared/providers/CivicAuthProvider.d.ts.map +1 -0
  290. package/dist/cjs/src/shared/providers/CivicAuthProvider.js +21 -0
  291. package/dist/cjs/src/shared/providers/CivicAuthProvider.js.map +1 -0
  292. package/dist/cjs/src/shared/providers/ConfigProvider.d.ts +21 -0
  293. package/dist/cjs/src/shared/providers/ConfigProvider.d.ts.map +1 -0
  294. package/dist/cjs/src/shared/providers/ConfigProvider.js +46 -0
  295. package/dist/cjs/src/shared/providers/ConfigProvider.js.map +1 -0
  296. package/dist/cjs/src/shared/providers/IframeProvider.d.ts +16 -0
  297. package/dist/cjs/src/shared/providers/IframeProvider.d.ts.map +1 -0
  298. package/dist/cjs/src/shared/providers/IframeProvider.js +38 -0
  299. package/dist/cjs/src/shared/providers/IframeProvider.js.map +1 -0
  300. package/dist/cjs/src/shared/providers/SessionProvider.d.ts +13 -0
  301. package/dist/cjs/src/shared/providers/SessionProvider.d.ts.map +1 -0
  302. package/dist/cjs/src/shared/providers/SessionProvider.js +40 -0
  303. package/dist/cjs/src/shared/providers/SessionProvider.js.map +1 -0
  304. package/dist/cjs/src/shared/providers/TokenProvider.d.ts +18 -0
  305. package/dist/cjs/src/shared/providers/TokenProvider.d.ts.map +1 -0
  306. package/dist/cjs/src/shared/providers/TokenProvider.js +80 -0
  307. package/dist/cjs/src/shared/providers/TokenProvider.js.map +1 -0
  308. package/dist/cjs/src/shared/providers/UserProvider.d.ts +18 -0
  309. package/dist/cjs/src/shared/providers/UserProvider.d.ts.map +1 -0
  310. package/dist/cjs/src/shared/providers/UserProvider.js +65 -0
  311. package/dist/cjs/src/shared/providers/UserProvider.js.map +1 -0
  312. package/dist/cjs/src/types.d.ts +146 -0
  313. package/dist/cjs/src/types.d.ts.map +1 -0
  314. package/dist/cjs/src/types.js +3 -0
  315. package/dist/cjs/src/types.js.map +1 -0
  316. package/dist/cjs/src/utils.d.ts +15 -0
  317. package/dist/cjs/src/utils.d.ts.map +1 -0
  318. package/dist/cjs/src/utils.js +47 -0
  319. package/dist/cjs/src/utils.js.map +1 -0
  320. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  321. package/dist/esm/src/browser/storage.d.ts +6 -0
  322. package/dist/esm/src/browser/storage.d.ts.map +1 -0
  323. package/dist/esm/src/browser/storage.js +9 -0
  324. package/dist/esm/src/browser/storage.js.map +1 -0
  325. package/dist/esm/src/config.d.ts +3 -0
  326. package/dist/esm/src/config.d.ts.map +1 -0
  327. package/dist/esm/src/config.js +5 -0
  328. package/dist/esm/src/config.js.map +1 -0
  329. package/dist/esm/src/constants.d.ts +9 -0
  330. package/dist/esm/src/constants.d.ts.map +1 -0
  331. package/dist/esm/src/constants.js +17 -0
  332. package/dist/esm/src/constants.js.map +1 -0
  333. package/dist/esm/src/index.d.ts +4 -0
  334. package/dist/esm/src/index.d.ts.map +1 -0
  335. package/dist/esm/src/index.js +2 -0
  336. package/dist/esm/src/index.js.map +1 -0
  337. package/dist/esm/src/lib/cookies.d.ts +7 -0
  338. package/dist/esm/src/lib/cookies.d.ts.map +1 -0
  339. package/dist/esm/src/lib/cookies.js +23 -0
  340. package/dist/esm/src/lib/cookies.js.map +1 -0
  341. package/dist/esm/src/lib/jwt.d.ts +3 -0
  342. package/dist/esm/src/lib/jwt.d.ts.map +1 -0
  343. package/dist/esm/src/lib/jwt.js +9 -0
  344. package/dist/esm/src/lib/jwt.js.map +1 -0
  345. package/dist/esm/src/lib/logger.d.ts +26 -0
  346. package/dist/esm/src/lib/logger.d.ts.map +1 -0
  347. package/dist/esm/src/lib/logger.js +55 -0
  348. package/dist/esm/src/lib/logger.js.map +1 -0
  349. package/dist/esm/src/lib/oauth.d.ts +19 -0
  350. package/dist/esm/src/lib/oauth.d.ts.map +1 -0
  351. package/dist/esm/src/lib/oauth.js +60 -0
  352. package/dist/esm/src/lib/oauth.js.map +1 -0
  353. package/dist/esm/src/lib/postMessage.d.ts +4 -0
  354. package/dist/esm/src/lib/postMessage.d.ts.map +1 -0
  355. package/dist/esm/src/lib/postMessage.js +15 -0
  356. package/dist/esm/src/lib/postMessage.js.map +1 -0
  357. package/dist/esm/src/lib/windowUtil.d.ts +4 -0
  358. package/dist/esm/src/lib/windowUtil.d.ts.map +1 -0
  359. package/dist/esm/src/lib/windowUtil.js +30 -0
  360. package/dist/esm/src/lib/windowUtil.js.map +1 -0
  361. package/dist/esm/src/nextjs/GetUser.d.ts +6 -0
  362. package/dist/esm/src/nextjs/GetUser.d.ts.map +1 -0
  363. package/dist/esm/src/nextjs/GetUser.js +18 -0
  364. package/dist/esm/src/nextjs/GetUser.js.map +1 -0
  365. package/dist/esm/src/nextjs/config.d.ts +178 -0
  366. package/dist/esm/src/nextjs/config.d.ts.map +1 -0
  367. package/dist/esm/src/nextjs/config.js +162 -0
  368. package/dist/esm/src/nextjs/config.js.map +1 -0
  369. package/dist/esm/src/nextjs/cookies.d.ts +30 -0
  370. package/dist/esm/src/nextjs/cookies.d.ts.map +1 -0
  371. package/dist/esm/src/nextjs/cookies.js +112 -0
  372. package/dist/esm/src/nextjs/cookies.js.map +1 -0
  373. package/dist/esm/src/nextjs/hooks/index.d.ts +2 -0
  374. package/dist/esm/src/nextjs/hooks/index.d.ts.map +1 -0
  375. package/dist/esm/src/nextjs/hooks/index.js +2 -0
  376. package/dist/esm/src/nextjs/hooks/index.js.map +1 -0
  377. package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts +3 -0
  378. package/dist/esm/src/nextjs/hooks/useTokenCookie.d.ts.map +1 -0
  379. package/dist/esm/src/nextjs/hooks/useTokenCookie.js +37 -0
  380. package/dist/esm/src/nextjs/hooks/useTokenCookie.js.map +1 -0
  381. package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts +3 -0
  382. package/dist/esm/src/nextjs/hooks/useUserCookie.d.ts.map +1 -0
  383. package/dist/esm/src/nextjs/hooks/useUserCookie.js +36 -0
  384. package/dist/esm/src/nextjs/hooks/useUserCookie.js.map +1 -0
  385. package/dist/esm/src/nextjs/index.d.ts +7 -0
  386. package/dist/esm/src/nextjs/index.d.ts.map +1 -0
  387. package/dist/esm/src/nextjs/index.js +6 -0
  388. package/dist/esm/src/nextjs/index.js.map +1 -0
  389. package/dist/esm/src/nextjs/middleware/index.d.ts +2 -0
  390. package/dist/esm/src/nextjs/middleware/index.d.ts.map +1 -0
  391. package/dist/esm/src/nextjs/middleware/index.js +2 -0
  392. package/dist/esm/src/nextjs/middleware/index.js.map +1 -0
  393. package/dist/esm/src/nextjs/middleware.d.ts +59 -0
  394. package/dist/esm/src/nextjs/middleware.d.ts.map +1 -0
  395. package/dist/esm/src/nextjs/middleware.js +107 -0
  396. package/dist/esm/src/nextjs/middleware.js.map +1 -0
  397. package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts +9 -0
  398. package/dist/esm/src/nextjs/providers/NextAuthProvider.d.ts.map +1 -0
  399. package/dist/esm/src/nextjs/providers/NextAuthProvider.js +50 -0
  400. package/dist/esm/src/nextjs/providers/NextAuthProvider.js.map +1 -0
  401. package/dist/esm/src/nextjs/routeHandler.d.ts +18 -0
  402. package/dist/esm/src/nextjs/routeHandler.d.ts.map +1 -0
  403. package/dist/esm/src/nextjs/routeHandler.js +212 -0
  404. package/dist/esm/src/nextjs/routeHandler.js.map +1 -0
  405. package/dist/esm/src/nextjs/utils.d.ts +3 -0
  406. package/dist/esm/src/nextjs/utils.d.ts.map +1 -0
  407. package/dist/esm/src/nextjs/utils.js +5 -0
  408. package/dist/esm/src/nextjs/utils.js.map +1 -0
  409. package/dist/esm/src/reactjs/components/SignInButton.d.ts +8 -0
  410. package/dist/esm/src/reactjs/components/SignInButton.d.ts.map +1 -0
  411. package/dist/esm/src/reactjs/components/SignInButton.js +14 -0
  412. package/dist/esm/src/reactjs/components/SignInButton.js.map +1 -0
  413. package/dist/esm/src/reactjs/components/SignOutButton.d.ts +6 -0
  414. package/dist/esm/src/reactjs/components/SignOutButton.d.ts.map +1 -0
  415. package/dist/esm/src/reactjs/components/SignOutButton.js +14 -0
  416. package/dist/esm/src/reactjs/components/SignOutButton.js.map +1 -0
  417. package/dist/esm/src/reactjs/components/UserButton.d.ts +8 -0
  418. package/dist/esm/src/reactjs/components/UserButton.d.ts.map +1 -0
  419. package/dist/esm/src/reactjs/components/UserButton.js +110 -0
  420. package/dist/esm/src/reactjs/components/UserButton.js.map +1 -0
  421. package/dist/esm/src/reactjs/components/index.d.ts +6 -0
  422. package/dist/esm/src/reactjs/components/index.d.ts.map +1 -0
  423. package/dist/esm/src/reactjs/components/index.js +6 -0
  424. package/dist/esm/src/reactjs/components/index.js.map +1 -0
  425. package/dist/esm/src/reactjs/hooks/index.d.ts +7 -0
  426. package/dist/esm/src/reactjs/hooks/index.d.ts.map +1 -0
  427. package/dist/esm/src/reactjs/hooks/index.js +7 -0
  428. package/dist/esm/src/reactjs/hooks/index.js.map +1 -0
  429. package/dist/esm/src/reactjs/hooks/useAuth.d.ts +3 -0
  430. package/dist/esm/src/reactjs/hooks/useAuth.d.ts.map +1 -0
  431. package/dist/esm/src/reactjs/hooks/useAuth.js +12 -0
  432. package/dist/esm/src/reactjs/hooks/useAuth.js.map +1 -0
  433. package/dist/esm/src/reactjs/hooks/useUser.d.ts +4 -0
  434. package/dist/esm/src/reactjs/hooks/useUser.d.ts.map +1 -0
  435. package/dist/esm/src/reactjs/hooks/useUser.js +12 -0
  436. package/dist/esm/src/reactjs/hooks/useUser.js.map +1 -0
  437. package/dist/esm/src/reactjs/index.d.ts +6 -0
  438. package/dist/esm/src/reactjs/index.d.ts.map +1 -0
  439. package/dist/esm/src/reactjs/index.js +8 -0
  440. package/dist/esm/src/reactjs/index.js.map +1 -0
  441. package/dist/esm/src/reactjs/providers/index.d.ts +8 -0
  442. package/dist/esm/src/reactjs/providers/index.d.ts.map +1 -0
  443. package/dist/esm/src/reactjs/providers/index.js +7 -0
  444. package/dist/esm/src/reactjs/providers/index.js.map +1 -0
  445. package/dist/esm/src/server/ServerAuthenticationResolver.d.ts +18 -0
  446. package/dist/esm/src/server/ServerAuthenticationResolver.d.ts.map +1 -0
  447. package/dist/esm/src/server/ServerAuthenticationResolver.js +57 -0
  448. package/dist/esm/src/server/ServerAuthenticationResolver.js.map +1 -0
  449. package/dist/esm/src/server/config.d.ts +16 -0
  450. package/dist/esm/src/server/config.d.ts.map +1 -0
  451. package/dist/esm/src/server/config.js +2 -0
  452. package/dist/esm/src/server/config.js.map +1 -0
  453. package/dist/esm/src/server/index.d.ts +6 -0
  454. package/dist/esm/src/server/index.d.ts.map +1 -0
  455. package/dist/esm/src/server/index.js +5 -0
  456. package/dist/esm/src/server/index.js.map +1 -0
  457. package/dist/esm/src/server/login.d.ts +17 -0
  458. package/dist/esm/src/server/login.d.ts.map +1 -0
  459. package/dist/esm/src/server/login.js +37 -0
  460. package/dist/esm/src/server/login.js.map +1 -0
  461. package/dist/esm/src/server/refresh.d.ts +7 -0
  462. package/dist/esm/src/server/refresh.d.ts.map +1 -0
  463. package/dist/esm/src/server/refresh.js +13 -0
  464. package/dist/esm/src/server/refresh.js.map +1 -0
  465. package/dist/esm/src/services/AuthenticationService.d.ts +87 -0
  466. package/dist/esm/src/services/AuthenticationService.d.ts.map +1 -0
  467. package/dist/esm/src/services/AuthenticationService.js +212 -0
  468. package/dist/esm/src/services/AuthenticationService.js.map +1 -0
  469. package/dist/esm/src/services/PKCE.d.ts +20 -0
  470. package/dist/esm/src/services/PKCE.d.ts.map +1 -0
  471. package/dist/esm/src/services/PKCE.js +44 -0
  472. package/dist/esm/src/services/PKCE.js.map +1 -0
  473. package/dist/esm/src/services/types.d.ts +23 -0
  474. package/dist/esm/src/services/types.d.ts.map +1 -0
  475. package/dist/esm/src/services/types.js +7 -0
  476. package/dist/esm/src/services/types.js.map +1 -0
  477. package/dist/esm/src/shared/components/CivicAuthIframe.d.ts +8 -0
  478. package/dist/esm/src/shared/components/CivicAuthIframe.d.ts.map +1 -0
  479. package/dist/esm/src/shared/components/CivicAuthIframe.js +9 -0
  480. package/dist/esm/src/shared/components/CivicAuthIframe.js.map +1 -0
  481. package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts +9 -0
  482. package/dist/esm/src/shared/components/CivicAuthIframeContainer.d.ts.map +1 -0
  483. package/dist/esm/src/shared/components/CivicAuthIframeContainer.js +128 -0
  484. package/dist/esm/src/shared/components/CivicAuthIframeContainer.js.map +1 -0
  485. package/dist/esm/src/shared/components/CloseIcon.d.ts +4 -0
  486. package/dist/esm/src/shared/components/CloseIcon.d.ts.map +1 -0
  487. package/dist/esm/src/shared/components/CloseIcon.js +6 -0
  488. package/dist/esm/src/shared/components/CloseIcon.js.map +1 -0
  489. package/dist/esm/src/shared/components/LoadingIcon.d.ts +4 -0
  490. package/dist/esm/src/shared/components/LoadingIcon.d.ts.map +1 -0
  491. package/dist/esm/src/shared/components/LoadingIcon.js +30 -0
  492. package/dist/esm/src/shared/components/LoadingIcon.js.map +1 -0
  493. package/dist/esm/src/shared/hooks/index.d.ts +5 -0
  494. package/dist/esm/src/shared/hooks/index.d.ts.map +1 -0
  495. package/dist/esm/src/shared/hooks/index.js +5 -0
  496. package/dist/esm/src/shared/hooks/index.js.map +1 -0
  497. package/dist/esm/src/shared/hooks/useAuth.d.ts +3 -0
  498. package/dist/esm/src/shared/hooks/useAuth.d.ts.map +1 -0
  499. package/dist/esm/src/shared/hooks/useAuth.js +12 -0
  500. package/dist/esm/src/shared/hooks/useAuth.js.map +1 -0
  501. package/dist/esm/src/shared/hooks/useConfig.d.ts +3 -0
  502. package/dist/esm/src/shared/hooks/useConfig.d.ts.map +1 -0
  503. package/dist/esm/src/shared/hooks/useConfig.js +13 -0
  504. package/dist/esm/src/shared/hooks/useConfig.js.map +1 -0
  505. package/dist/esm/src/shared/hooks/useIframe.d.ts +3 -0
  506. package/dist/esm/src/shared/hooks/useIframe.d.ts.map +1 -0
  507. package/dist/esm/src/shared/hooks/useIframe.js +13 -0
  508. package/dist/esm/src/shared/hooks/useIframe.js.map +1 -0
  509. package/dist/esm/src/shared/hooks/useSession.d.ts +3 -0
  510. package/dist/esm/src/shared/hooks/useSession.d.ts.map +1 -0
  511. package/dist/esm/src/shared/hooks/useSession.js +13 -0
  512. package/dist/esm/src/shared/hooks/useSession.js.map +1 -0
  513. package/dist/esm/src/shared/hooks/useToken.d.ts +3 -0
  514. package/dist/esm/src/shared/hooks/useToken.d.ts.map +1 -0
  515. package/dist/esm/src/shared/hooks/useToken.js +12 -0
  516. package/dist/esm/src/shared/hooks/useToken.js.map +1 -0
  517. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts +15 -0
  518. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -0
  519. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js +39 -0
  520. package/dist/esm/src/shared/lib/GenericAuthenticationRefresher.js.map +1 -0
  521. package/dist/esm/src/shared/lib/UserSession.d.ts +12 -0
  522. package/dist/esm/src/shared/lib/UserSession.d.ts.map +1 -0
  523. package/dist/esm/src/shared/lib/UserSession.js +20 -0
  524. package/dist/esm/src/shared/lib/UserSession.js.map +1 -0
  525. package/dist/esm/src/shared/lib/session.d.ts +3 -0
  526. package/dist/esm/src/shared/lib/session.d.ts.map +1 -0
  527. package/dist/esm/src/shared/lib/session.js +10 -0
  528. package/dist/esm/src/shared/lib/session.js.map +1 -0
  529. package/dist/esm/src/shared/lib/storage.d.ts +25 -0
  530. package/dist/esm/src/shared/lib/storage.d.ts.map +1 -0
  531. package/dist/esm/src/shared/lib/storage.js +17 -0
  532. package/dist/esm/src/shared/lib/storage.js.map +1 -0
  533. package/dist/esm/src/shared/lib/types.d.ts +22 -0
  534. package/dist/esm/src/shared/lib/types.d.ts.map +1 -0
  535. package/dist/esm/src/shared/lib/types.js +16 -0
  536. package/dist/esm/src/shared/lib/types.js.map +1 -0
  537. package/dist/esm/src/shared/lib/util.d.ts +33 -0
  538. package/dist/esm/src/shared/lib/util.d.ts.map +1 -0
  539. package/dist/esm/src/shared/lib/util.js +127 -0
  540. package/dist/esm/src/shared/lib/util.js.map +1 -0
  541. package/dist/esm/src/shared/providers/AuthContext.d.ts +10 -0
  542. package/dist/esm/src/shared/providers/AuthContext.d.ts.map +1 -0
  543. package/dist/esm/src/shared/providers/AuthContext.js +3 -0
  544. package/dist/esm/src/shared/providers/AuthContext.js.map +1 -0
  545. package/dist/esm/src/shared/providers/AuthProvider.d.ts +20 -0
  546. package/dist/esm/src/shared/providers/AuthProvider.d.ts.map +1 -0
  547. package/dist/esm/src/shared/providers/AuthProvider.js +263 -0
  548. package/dist/esm/src/shared/providers/AuthProvider.js.map +1 -0
  549. package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts +6 -0
  550. package/dist/esm/src/shared/providers/CivicAuthProvider.d.ts.map +1 -0
  551. package/dist/esm/src/shared/providers/CivicAuthProvider.js +15 -0
  552. package/dist/esm/src/shared/providers/CivicAuthProvider.js.map +1 -0
  553. package/dist/esm/src/shared/providers/ConfigProvider.d.ts +21 -0
  554. package/dist/esm/src/shared/providers/ConfigProvider.d.ts.map +1 -0
  555. package/dist/esm/src/shared/providers/ConfigProvider.js +19 -0
  556. package/dist/esm/src/shared/providers/ConfigProvider.js.map +1 -0
  557. package/dist/esm/src/shared/providers/IframeProvider.d.ts +16 -0
  558. package/dist/esm/src/shared/providers/IframeProvider.d.ts.map +1 -0
  559. package/dist/esm/src/shared/providers/IframeProvider.js +11 -0
  560. package/dist/esm/src/shared/providers/IframeProvider.js.map +1 -0
  561. package/dist/esm/src/shared/providers/SessionProvider.d.ts +13 -0
  562. package/dist/esm/src/shared/providers/SessionProvider.d.ts.map +1 -0
  563. package/dist/esm/src/shared/providers/SessionProvider.js +13 -0
  564. package/dist/esm/src/shared/providers/SessionProvider.js.map +1 -0
  565. package/dist/esm/src/shared/providers/TokenProvider.d.ts +18 -0
  566. package/dist/esm/src/shared/providers/TokenProvider.d.ts.map +1 -0
  567. package/dist/esm/src/shared/providers/TokenProvider.js +53 -0
  568. package/dist/esm/src/shared/providers/TokenProvider.js.map +1 -0
  569. package/dist/esm/src/shared/providers/UserProvider.d.ts +18 -0
  570. package/dist/esm/src/shared/providers/UserProvider.d.ts.map +1 -0
  571. package/dist/esm/src/shared/providers/UserProvider.js +38 -0
  572. package/dist/esm/src/shared/providers/UserProvider.js.map +1 -0
  573. package/dist/esm/src/types.d.ts +146 -0
  574. package/dist/esm/src/types.d.ts.map +1 -0
  575. package/dist/esm/src/types.js +2 -0
  576. package/dist/esm/src/types.js.map +1 -0
  577. package/dist/esm/src/utils.d.ts +15 -0
  578. package/dist/esm/src/utils.d.ts.map +1 -0
  579. package/dist/esm/src/utils.js +43 -0
  580. package/dist/esm/src/utils.js.map +1 -0
  581. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  582. package/dist/index.css +71 -73
  583. package/dist/index.css.map +1 -1
  584. package/dist/index.d.mts +3 -1
  585. package/dist/index.d.ts +3 -1
  586. package/dist/index.js +2 -1
  587. package/dist/index.js.map +1 -1
  588. package/dist/index.mjs +1 -0
  589. package/dist/nextjs/client.css +340 -0
  590. package/dist/nextjs/client.css.map +1 -0
  591. package/dist/nextjs/client.d.mts +10 -0
  592. package/dist/nextjs/client.d.ts +10 -0
  593. package/dist/nextjs/client.js +185 -0
  594. package/dist/nextjs/client.js.map +1 -0
  595. package/dist/nextjs/client.mjs +185 -0
  596. package/dist/nextjs/client.mjs.map +1 -0
  597. package/dist/nextjs.d.mts +60 -18
  598. package/dist/nextjs.d.ts +60 -18
  599. package/dist/nextjs.js +156 -94
  600. package/dist/nextjs.js.map +1 -1
  601. package/dist/nextjs.mjs +147 -85
  602. package/dist/nextjs.mjs.map +1 -1
  603. package/dist/react.d.mts +30 -84
  604. package/dist/react.d.ts +30 -84
  605. package/dist/react.js +31 -983
  606. package/dist/react.js.map +1 -1
  607. package/dist/react.mjs +62 -1014
  608. package/dist/react.mjs.map +1 -1
  609. package/dist/server.d.mts +14 -34
  610. package/dist/server.d.ts +14 -34
  611. package/dist/server.js +6 -3
  612. package/dist/server.js.map +1 -1
  613. package/dist/server.mjs +6 -3
  614. package/dist/src/browser/storage.d.ts +6 -0
  615. package/dist/src/browser/storage.d.ts.map +1 -0
  616. package/dist/src/browser/storage.js +9 -0
  617. package/dist/src/browser/storage.js.map +1 -0
  618. package/dist/src/config.d.ts +3 -0
  619. package/dist/src/config.d.ts.map +1 -0
  620. package/dist/src/config.js +5 -0
  621. package/dist/src/config.js.map +1 -0
  622. package/dist/src/constants.d.ts +9 -0
  623. package/dist/src/constants.d.ts.map +1 -0
  624. package/dist/src/constants.js +17 -0
  625. package/dist/src/constants.js.map +1 -0
  626. package/dist/src/index.d.ts +4 -0
  627. package/dist/src/index.d.ts.map +1 -0
  628. package/dist/src/index.js +2 -0
  629. package/dist/src/index.js.map +1 -0
  630. package/dist/src/lib/cookies.d.ts +7 -0
  631. package/dist/src/lib/cookies.d.ts.map +1 -0
  632. package/dist/src/lib/cookies.js +23 -0
  633. package/dist/src/lib/cookies.js.map +1 -0
  634. package/dist/src/lib/jwt.d.ts +3 -0
  635. package/dist/src/lib/jwt.d.ts.map +1 -0
  636. package/dist/src/lib/jwt.js +9 -0
  637. package/dist/src/lib/jwt.js.map +1 -0
  638. package/dist/src/lib/logger.d.ts +26 -0
  639. package/dist/src/lib/logger.d.ts.map +1 -0
  640. package/dist/src/lib/logger.js +55 -0
  641. package/dist/src/lib/logger.js.map +1 -0
  642. package/dist/src/lib/oauth.d.ts +19 -0
  643. package/dist/src/lib/oauth.d.ts.map +1 -0
  644. package/dist/src/lib/oauth.js +60 -0
  645. package/dist/src/lib/oauth.js.map +1 -0
  646. package/dist/src/lib/postMessage.d.ts +4 -0
  647. package/dist/src/lib/postMessage.d.ts.map +1 -0
  648. package/dist/src/lib/postMessage.js +15 -0
  649. package/dist/src/lib/postMessage.js.map +1 -0
  650. package/dist/src/lib/windowUtil.d.ts +4 -0
  651. package/dist/src/lib/windowUtil.d.ts.map +1 -0
  652. package/dist/src/lib/windowUtil.js +30 -0
  653. package/dist/src/lib/windowUtil.js.map +1 -0
  654. package/dist/src/nextjs/GetUser.d.ts +6 -0
  655. package/dist/src/nextjs/GetUser.d.ts.map +1 -0
  656. package/dist/src/nextjs/GetUser.js +18 -0
  657. package/dist/src/nextjs/GetUser.js.map +1 -0
  658. package/dist/src/nextjs/config.d.ts +178 -0
  659. package/dist/src/nextjs/config.d.ts.map +1 -0
  660. package/dist/src/nextjs/config.js +164 -0
  661. package/dist/src/nextjs/config.js.map +1 -0
  662. package/dist/src/nextjs/cookies.d.ts +30 -0
  663. package/dist/src/nextjs/cookies.d.ts.map +1 -0
  664. package/dist/src/nextjs/cookies.js +109 -0
  665. package/dist/src/nextjs/cookies.js.map +1 -0
  666. package/dist/src/nextjs/hooks/index.d.ts +2 -0
  667. package/dist/src/nextjs/hooks/index.d.ts.map +1 -0
  668. package/dist/src/nextjs/hooks/index.js +2 -0
  669. package/dist/src/nextjs/hooks/index.js.map +1 -0
  670. package/dist/src/nextjs/hooks/useTokenCookie.d.ts +3 -0
  671. package/dist/src/nextjs/hooks/useTokenCookie.d.ts.map +1 -0
  672. package/dist/src/nextjs/hooks/useTokenCookie.js +37 -0
  673. package/dist/src/nextjs/hooks/useTokenCookie.js.map +1 -0
  674. package/dist/src/nextjs/hooks/useUserCookie.d.ts +3 -0
  675. package/dist/src/nextjs/hooks/useUserCookie.d.ts.map +1 -0
  676. package/dist/src/nextjs/hooks/useUserCookie.js +36 -0
  677. package/dist/src/nextjs/hooks/useUserCookie.js.map +1 -0
  678. package/dist/src/nextjs/index.d.ts +7 -0
  679. package/dist/src/nextjs/index.d.ts.map +1 -0
  680. package/dist/src/nextjs/index.js +6 -0
  681. package/dist/src/nextjs/index.js.map +1 -0
  682. package/dist/src/nextjs/middleware/index.d.ts +2 -0
  683. package/dist/src/nextjs/middleware/index.d.ts.map +1 -0
  684. package/dist/src/nextjs/middleware/index.js +2 -0
  685. package/dist/src/nextjs/middleware/index.js.map +1 -0
  686. package/dist/src/nextjs/middleware.d.ts +59 -0
  687. package/dist/src/nextjs/middleware.d.ts.map +1 -0
  688. package/dist/src/nextjs/middleware.js +107 -0
  689. package/dist/src/nextjs/middleware.js.map +1 -0
  690. package/dist/src/nextjs/providers/NextAuthProvider.d.ts +9 -0
  691. package/dist/src/nextjs/providers/NextAuthProvider.d.ts.map +1 -0
  692. package/dist/src/nextjs/providers/NextAuthProvider.js +50 -0
  693. package/dist/src/nextjs/providers/NextAuthProvider.js.map +1 -0
  694. package/dist/src/nextjs/routeHandler.d.ts +18 -0
  695. package/dist/src/nextjs/routeHandler.d.ts.map +1 -0
  696. package/dist/src/nextjs/routeHandler.js +216 -0
  697. package/dist/src/nextjs/routeHandler.js.map +1 -0
  698. package/dist/src/nextjs/utils.d.ts +3 -0
  699. package/dist/src/nextjs/utils.d.ts.map +1 -0
  700. package/dist/src/nextjs/utils.js +5 -0
  701. package/dist/src/nextjs/utils.js.map +1 -0
  702. package/dist/src/reactjs/components/SignInButton.d.ts +8 -0
  703. package/dist/src/reactjs/components/SignInButton.d.ts.map +1 -0
  704. package/dist/src/reactjs/components/SignInButton.js +14 -0
  705. package/dist/src/reactjs/components/SignInButton.js.map +1 -0
  706. package/dist/src/reactjs/components/SignOutButton.d.ts +6 -0
  707. package/dist/src/reactjs/components/SignOutButton.d.ts.map +1 -0
  708. package/dist/src/reactjs/components/SignOutButton.js +14 -0
  709. package/dist/src/reactjs/components/SignOutButton.js.map +1 -0
  710. package/dist/src/reactjs/components/UserButton.d.ts +8 -0
  711. package/dist/src/reactjs/components/UserButton.d.ts.map +1 -0
  712. package/dist/src/reactjs/components/UserButton.js +110 -0
  713. package/dist/src/reactjs/components/UserButton.js.map +1 -0
  714. package/dist/src/reactjs/components/index.d.ts +6 -0
  715. package/dist/src/reactjs/components/index.d.ts.map +1 -0
  716. package/dist/src/reactjs/components/index.js +6 -0
  717. package/dist/src/reactjs/components/index.js.map +1 -0
  718. package/dist/src/reactjs/hooks/index.d.ts +8 -0
  719. package/dist/src/reactjs/hooks/index.d.ts.map +1 -0
  720. package/dist/src/reactjs/hooks/index.js +8 -0
  721. package/dist/src/reactjs/hooks/index.js.map +1 -0
  722. package/dist/src/reactjs/hooks/useAuth.d.ts +3 -0
  723. package/dist/src/reactjs/hooks/useAuth.d.ts.map +1 -0
  724. package/dist/src/reactjs/hooks/useAuth.js +12 -0
  725. package/dist/src/reactjs/hooks/useAuth.js.map +1 -0
  726. package/dist/src/reactjs/hooks/useUser.d.ts +4 -0
  727. package/dist/src/reactjs/hooks/useUser.d.ts.map +1 -0
  728. package/dist/src/reactjs/hooks/useUser.js +12 -0
  729. package/dist/src/reactjs/hooks/useUser.js.map +1 -0
  730. package/dist/src/reactjs/index.d.ts +6 -0
  731. package/dist/src/reactjs/index.d.ts.map +1 -0
  732. package/dist/src/reactjs/index.js +8 -0
  733. package/dist/src/reactjs/index.js.map +1 -0
  734. package/dist/src/reactjs/providers/index.d.ts +8 -0
  735. package/dist/src/reactjs/providers/index.d.ts.map +1 -0
  736. package/dist/src/reactjs/providers/index.js +7 -0
  737. package/dist/src/reactjs/providers/index.js.map +1 -0
  738. package/dist/src/server/ServerAuthenticationResolver.d.ts +18 -0
  739. package/dist/src/server/ServerAuthenticationResolver.d.ts.map +1 -0
  740. package/dist/src/server/ServerAuthenticationResolver.js +62 -0
  741. package/dist/src/server/ServerAuthenticationResolver.js.map +1 -0
  742. package/dist/src/server/config.d.ts +16 -0
  743. package/dist/src/server/config.d.ts.map +1 -0
  744. package/dist/src/server/config.js +2 -0
  745. package/dist/src/server/config.js.map +1 -0
  746. package/dist/src/server/index.d.ts +6 -0
  747. package/dist/src/server/index.d.ts.map +1 -0
  748. package/dist/src/server/index.js +5 -0
  749. package/dist/src/server/index.js.map +1 -0
  750. package/dist/src/server/login.d.ts +17 -0
  751. package/dist/src/server/login.d.ts.map +1 -0
  752. package/dist/src/server/login.js +37 -0
  753. package/dist/src/server/login.js.map +1 -0
  754. package/dist/src/server/refresh.d.ts +7 -0
  755. package/dist/src/server/refresh.d.ts.map +1 -0
  756. package/dist/src/server/refresh.js +13 -0
  757. package/dist/src/server/refresh.js.map +1 -0
  758. package/dist/src/services/AuthenticationService.d.ts +87 -0
  759. package/dist/src/services/AuthenticationService.d.ts.map +1 -0
  760. package/dist/src/services/AuthenticationService.js +222 -0
  761. package/dist/src/services/AuthenticationService.js.map +1 -0
  762. package/dist/src/services/PKCE.d.ts +20 -0
  763. package/dist/src/services/PKCE.d.ts.map +1 -0
  764. package/dist/src/services/PKCE.js +44 -0
  765. package/dist/src/services/PKCE.js.map +1 -0
  766. package/dist/src/services/types.d.ts +23 -0
  767. package/dist/src/services/types.d.ts.map +1 -0
  768. package/dist/src/services/types.js +7 -0
  769. package/dist/src/services/types.js.map +1 -0
  770. package/dist/src/shared/components/CivicAuthIframe.d.ts +8 -0
  771. package/dist/src/shared/components/CivicAuthIframe.d.ts.map +1 -0
  772. package/dist/src/shared/components/CivicAuthIframe.js +9 -0
  773. package/dist/src/shared/components/CivicAuthIframe.js.map +1 -0
  774. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts +9 -0
  775. package/dist/src/shared/components/CivicAuthIframeContainer.d.ts.map +1 -0
  776. package/dist/src/shared/components/CivicAuthIframeContainer.js +130 -0
  777. package/dist/src/shared/components/CivicAuthIframeContainer.js.map +1 -0
  778. package/dist/src/shared/components/CloseIcon.d.ts +4 -0
  779. package/dist/src/shared/components/CloseIcon.d.ts.map +1 -0
  780. package/dist/src/shared/components/CloseIcon.js +6 -0
  781. package/dist/src/shared/components/CloseIcon.js.map +1 -0
  782. package/dist/src/shared/components/LoadingIcon.d.ts +4 -0
  783. package/dist/src/shared/components/LoadingIcon.d.ts.map +1 -0
  784. package/dist/src/shared/components/LoadingIcon.js +24 -0
  785. package/dist/src/shared/components/LoadingIcon.js.map +1 -0
  786. package/dist/src/shared/hooks/index.d.ts +5 -0
  787. package/dist/src/shared/hooks/index.d.ts.map +1 -0
  788. package/dist/src/shared/hooks/index.js +5 -0
  789. package/dist/src/shared/hooks/index.js.map +1 -0
  790. package/dist/src/shared/hooks/useAuth.d.ts +3 -0
  791. package/dist/src/shared/hooks/useAuth.d.ts.map +1 -0
  792. package/dist/src/shared/hooks/useAuth.js +12 -0
  793. package/dist/src/shared/hooks/useAuth.js.map +1 -0
  794. package/dist/src/shared/hooks/useConfig.d.ts +3 -0
  795. package/dist/src/shared/hooks/useConfig.d.ts.map +1 -0
  796. package/dist/src/shared/hooks/useConfig.js +13 -0
  797. package/dist/src/shared/hooks/useConfig.js.map +1 -0
  798. package/dist/src/shared/hooks/useIframe.d.ts +3 -0
  799. package/dist/src/shared/hooks/useIframe.d.ts.map +1 -0
  800. package/dist/src/shared/hooks/useIframe.js +13 -0
  801. package/dist/src/shared/hooks/useIframe.js.map +1 -0
  802. package/dist/src/shared/hooks/useSession.d.ts +3 -0
  803. package/dist/src/shared/hooks/useSession.d.ts.map +1 -0
  804. package/dist/src/shared/hooks/useSession.js +13 -0
  805. package/dist/src/shared/hooks/useSession.js.map +1 -0
  806. package/dist/src/shared/hooks/useToken.d.ts +3 -0
  807. package/dist/src/shared/hooks/useToken.d.ts.map +1 -0
  808. package/dist/src/shared/hooks/useToken.js +12 -0
  809. package/dist/src/shared/hooks/useToken.js.map +1 -0
  810. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts +15 -0
  811. package/dist/src/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -0
  812. package/dist/src/shared/lib/GenericAuthenticationRefresher.js +43 -0
  813. package/dist/src/shared/lib/GenericAuthenticationRefresher.js.map +1 -0
  814. package/dist/src/shared/lib/UserSession.d.ts +12 -0
  815. package/dist/src/shared/lib/UserSession.d.ts.map +1 -0
  816. package/dist/src/shared/lib/UserSession.js +20 -0
  817. package/dist/src/shared/lib/UserSession.js.map +1 -0
  818. package/dist/src/shared/lib/session.d.ts +3 -0
  819. package/dist/src/shared/lib/session.d.ts.map +1 -0
  820. package/dist/src/shared/lib/session.js +10 -0
  821. package/dist/src/shared/lib/session.js.map +1 -0
  822. package/dist/src/shared/lib/storage.d.ts +25 -0
  823. package/dist/src/shared/lib/storage.d.ts.map +1 -0
  824. package/dist/src/shared/lib/storage.js +17 -0
  825. package/dist/src/shared/lib/storage.js.map +1 -0
  826. package/dist/src/shared/lib/types.d.ts +22 -0
  827. package/dist/src/shared/lib/types.d.ts.map +1 -0
  828. package/dist/src/shared/lib/types.js +16 -0
  829. package/dist/src/shared/lib/types.js.map +1 -0
  830. package/dist/src/shared/lib/util.d.ts +33 -0
  831. package/dist/src/shared/lib/util.d.ts.map +1 -0
  832. package/dist/src/shared/lib/util.js +126 -0
  833. package/dist/src/shared/lib/util.js.map +1 -0
  834. package/dist/src/shared/providers/AuthContext.d.ts +10 -0
  835. package/dist/src/shared/providers/AuthContext.d.ts.map +1 -0
  836. package/dist/src/shared/providers/AuthContext.js +3 -0
  837. package/dist/src/shared/providers/AuthContext.js.map +1 -0
  838. package/dist/src/shared/providers/AuthProvider.d.ts +20 -0
  839. package/dist/src/shared/providers/AuthProvider.d.ts.map +1 -0
  840. package/dist/src/shared/providers/AuthProvider.js +263 -0
  841. package/dist/src/shared/providers/AuthProvider.js.map +1 -0
  842. package/dist/src/shared/providers/CivicAuthProvider.d.ts +6 -0
  843. package/dist/src/shared/providers/CivicAuthProvider.d.ts.map +1 -0
  844. package/dist/src/shared/providers/CivicAuthProvider.js +15 -0
  845. package/dist/src/shared/providers/CivicAuthProvider.js.map +1 -0
  846. package/dist/src/shared/providers/ConfigProvider.d.ts +21 -0
  847. package/dist/src/shared/providers/ConfigProvider.d.ts.map +1 -0
  848. package/dist/src/shared/providers/ConfigProvider.js +19 -0
  849. package/dist/src/shared/providers/ConfigProvider.js.map +1 -0
  850. package/dist/src/shared/providers/IframeProvider.d.ts +16 -0
  851. package/dist/src/shared/providers/IframeProvider.d.ts.map +1 -0
  852. package/dist/src/shared/providers/IframeProvider.js +11 -0
  853. package/dist/src/shared/providers/IframeProvider.js.map +1 -0
  854. package/dist/src/shared/providers/SessionProvider.d.ts +13 -0
  855. package/dist/src/shared/providers/SessionProvider.d.ts.map +1 -0
  856. package/dist/src/shared/providers/SessionProvider.js +13 -0
  857. package/dist/src/shared/providers/SessionProvider.js.map +1 -0
  858. package/dist/src/shared/providers/TokenProvider.d.ts +18 -0
  859. package/dist/src/shared/providers/TokenProvider.d.ts.map +1 -0
  860. package/dist/src/shared/providers/TokenProvider.js +53 -0
  861. package/dist/src/shared/providers/TokenProvider.js.map +1 -0
  862. package/dist/src/shared/providers/UserProvider.d.ts +18 -0
  863. package/dist/src/shared/providers/UserProvider.d.ts.map +1 -0
  864. package/dist/src/shared/providers/UserProvider.js +38 -0
  865. package/dist/src/shared/providers/UserProvider.js.map +1 -0
  866. package/dist/src/types.d.ts +146 -0
  867. package/dist/src/types.d.ts.map +1 -0
  868. package/dist/src/types.js +2 -0
  869. package/dist/src/types.js.map +1 -0
  870. package/dist/src/utils.d.ts +15 -0
  871. package/dist/src/utils.d.ts.map +1 -0
  872. package/dist/src/utils.js +43 -0
  873. package/dist/src/utils.js.map +1 -0
  874. package/dist/storage-ANmRwpZ3.d.ts +25 -0
  875. package/dist/storage-B2eAQNdv.d.ts +25 -0
  876. package/dist/storage-BJPUpxhm.d.mts +25 -0
  877. package/dist/storage-BJyqsZwC.d.mts +25 -0
  878. package/dist/test/integration/sdk.test.d.ts +2 -0
  879. package/dist/test/integration/sdk.test.d.ts.map +1 -0
  880. package/dist/test/integration/sdk.test.js +183 -0
  881. package/dist/test/integration/sdk.test.js.map +1 -0
  882. package/dist/test/support/fixtures.d.ts +26 -0
  883. package/dist/test/support/fixtures.d.ts.map +1 -0
  884. package/dist/test/support/fixtures.js +55 -0
  885. package/dist/test/support/fixtures.js.map +1 -0
  886. package/dist/test/support/tokens.json +26 -0
  887. package/dist/test/unit/lib/oauth.test.d.ts +2 -0
  888. package/dist/test/unit/lib/oauth.test.d.ts.map +1 -0
  889. package/dist/test/unit/lib/oauth.test.js +55 -0
  890. package/dist/test/unit/lib/oauth.test.js.map +1 -0
  891. package/dist/test/unit/logger.test.d.ts +2 -0
  892. package/dist/test/unit/logger.test.d.ts.map +1 -0
  893. package/dist/test/unit/logger.test.js +141 -0
  894. package/dist/test/unit/logger.test.js.map +1 -0
  895. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts +2 -0
  896. package/dist/test/unit/nextjs/NextAuthProvider.test.d.ts.map +1 -0
  897. package/dist/test/unit/nextjs/NextAuthProvider.test.js +29 -0
  898. package/dist/test/unit/nextjs/NextAuthProvider.test.js.map +1 -0
  899. package/dist/test/unit/nextjs/config.test.d.ts +2 -0
  900. package/dist/test/unit/nextjs/config.test.d.ts.map +1 -0
  901. package/dist/test/unit/nextjs/config.test.js +189 -0
  902. package/dist/test/unit/nextjs/config.test.js.map +1 -0
  903. package/dist/test/unit/nextjs/getUser.test.d.ts +2 -0
  904. package/dist/test/unit/nextjs/getUser.test.d.ts.map +1 -0
  905. package/dist/test/unit/nextjs/getUser.test.js +36 -0
  906. package/dist/test/unit/nextjs/getUser.test.js.map +1 -0
  907. package/dist/test/unit/nextjs/middleware.test.d.ts +2 -0
  908. package/dist/test/unit/nextjs/middleware.test.d.ts.map +1 -0
  909. package/dist/test/unit/nextjs/middleware.test.js +113 -0
  910. package/dist/test/unit/nextjs/middleware.test.js.map +1 -0
  911. package/dist/test/unit/nextjs/utils.test.d.ts +2 -0
  912. package/dist/test/unit/nextjs/utils.test.d.ts.map +1 -0
  913. package/dist/test/unit/nextjs/utils.test.js +13 -0
  914. package/dist/test/unit/nextjs/utils.test.js.map +1 -0
  915. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts +2 -0
  916. package/dist/test/unit/publicApi/apiSnapshot.test.d.ts.map +1 -0
  917. package/dist/test/unit/publicApi/apiSnapshot.test.js +10 -0
  918. package/dist/test/unit/publicApi/apiSnapshot.test.js.map +1 -0
  919. package/dist/test/unit/react/components/SignInButton.test.d.ts +2 -0
  920. package/dist/test/unit/react/components/SignInButton.test.d.ts.map +1 -0
  921. package/dist/test/unit/react/components/SignInButton.test.js +31 -0
  922. package/dist/test/unit/react/components/SignInButton.test.js.map +1 -0
  923. package/dist/test/unit/react/components/SignOutButton.test.d.ts +2 -0
  924. package/dist/test/unit/react/components/SignOutButton.test.d.ts.map +1 -0
  925. package/dist/test/unit/react/components/SignOutButton.test.js +30 -0
  926. package/dist/test/unit/react/components/SignOutButton.test.js.map +1 -0
  927. package/dist/test/unit/server/login.test.d.ts +2 -0
  928. package/dist/test/unit/server/login.test.d.ts.map +1 -0
  929. package/dist/test/unit/server/login.test.js +127 -0
  930. package/dist/test/unit/server/login.test.js.map +1 -0
  931. package/dist/test/unit/server/session.test.d.ts +2 -0
  932. package/dist/test/unit/server/session.test.d.ts.map +1 -0
  933. package/dist/test/unit/server/session.test.js +41 -0
  934. package/dist/test/unit/server/session.test.js.map +1 -0
  935. package/dist/test/unit/services/AuthenticationService.test.d.ts +2 -0
  936. package/dist/test/unit/services/AuthenticationService.test.d.ts.map +1 -0
  937. package/dist/test/unit/services/AuthenticationService.test.js +104 -0
  938. package/dist/test/unit/services/AuthenticationService.test.js.map +1 -0
  939. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts +2 -0
  940. package/dist/test/unit/services/ServerAuthenticationResolver.test.d.ts.map +1 -0
  941. package/dist/test/unit/services/ServerAuthenticationResolver.test.js +74 -0
  942. package/dist/test/unit/services/ServerAuthenticationResolver.test.js.map +1 -0
  943. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts +2 -0
  944. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.d.ts.map +1 -0
  945. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js +61 -0
  946. package/dist/test/unit/shared/GenericAuthenticationRefresher.test.js.map +1 -0
  947. package/dist/test/unit/shared/UserSession.test.d.ts +2 -0
  948. package/dist/test/unit/shared/UserSession.test.d.ts.map +1 -0
  949. package/dist/test/unit/shared/UserSession.test.js +37 -0
  950. package/dist/test/unit/shared/UserSession.test.js.map +1 -0
  951. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts +2 -0
  952. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.d.ts.map +1 -0
  953. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js +120 -0
  954. package/dist/test/unit/shared/components/CivicAuthIframeContainer.test.js.map +1 -0
  955. package/dist/test/unit/shared/storage.test.d.ts +2 -0
  956. package/dist/test/unit/shared/storage.test.d.ts.map +1 -0
  957. package/dist/test/unit/shared/storage.test.js +53 -0
  958. package/dist/test/unit/shared/storage.test.js.map +1 -0
  959. package/dist/test/unit/utils.test.d.ts +2 -0
  960. package/dist/test/unit/utils.test.d.ts.map +1 -0
  961. package/dist/test/unit/utils.test.js +40 -0
  962. package/dist/test/unit/utils.test.js.map +1 -0
  963. package/dist/tsconfig.tsbuildinfo +1 -0
  964. package/dist/types-Bqm9OCZN.d.mts +22 -0
  965. package/dist/types-Bqm9OCZN.d.ts +22 -0
  966. package/dist/types-BxAubCqO.d.mts +58 -0
  967. package/dist/types-BxAubCqO.d.ts +58 -0
  968. package/dist/types-DOfl9w7j.d.mts +23 -0
  969. package/dist/types-DOfl9w7j.d.ts +23 -0
  970. package/dist/types-HdCjGldB.d.mts +58 -0
  971. package/dist/types-HdCjGldB.d.ts +58 -0
  972. package/dist/vitest.config.d.ts +3 -0
  973. package/dist/vitest.config.d.ts.map +1 -0
  974. package/dist/vitest.config.js +40 -0
  975. package/dist/vitest.config.js.map +1 -0
  976. package/package.json +53 -43
  977. package/src/browser/storage.ts +11 -0
  978. package/src/config.ts +6 -0
  979. package/src/constants.ts +29 -0
  980. package/src/index.ts +16 -0
  981. package/src/lib/cookies.ts +28 -0
  982. package/src/lib/jwt.ts +15 -0
  983. package/src/lib/logger.ts +72 -0
  984. package/src/lib/oauth.ts +83 -0
  985. package/src/lib/postMessage.ts +22 -0
  986. package/src/lib/windowUtil.ts +29 -0
  987. package/src/nextjs/GetUser.ts +22 -0
  988. package/src/nextjs/config.ts +205 -0
  989. package/src/nextjs/cookies.ts +162 -0
  990. package/src/nextjs/hooks/index.ts +1 -0
  991. package/src/nextjs/hooks/useTokenCookie.ts +41 -0
  992. package/src/nextjs/hooks/useUserCookie.ts +41 -0
  993. package/src/nextjs/index.ts +20 -0
  994. package/src/nextjs/middleware/index.ts +1 -0
  995. package/src/nextjs/middleware.ts +155 -0
  996. package/src/nextjs/providers/NextAuthProvider.tsx +87 -0
  997. package/src/nextjs/routeHandler.ts +297 -0
  998. package/src/nextjs/utils.ts +9 -0
  999. package/src/reactjs/components/SignInButton.tsx +32 -0
  1000. package/src/reactjs/components/SignOutButton.tsx +24 -0
  1001. package/src/reactjs/components/UserButton.tsx +215 -0
  1002. package/src/reactjs/components/index.ts +5 -0
  1003. package/src/reactjs/hooks/index.ts +6 -0
  1004. package/src/reactjs/hooks/useAuth.ts +15 -0
  1005. package/src/reactjs/hooks/useUser.ts +20 -0
  1006. package/src/reactjs/index.ts +19 -0
  1007. package/src/reactjs/providers/index.ts +27 -0
  1008. package/src/server/ServerAuthenticationResolver.ts +102 -0
  1009. package/src/server/config.ts +17 -0
  1010. package/src/server/index.ts +12 -0
  1011. package/src/server/login.ts +59 -0
  1012. package/src/server/refresh.ts +23 -0
  1013. package/src/services/AuthenticationService.ts +324 -0
  1014. package/src/services/PKCE.ts +45 -0
  1015. package/src/services/types.ts +54 -0
  1016. package/src/shared/components/CivicAuthIframe.tsx +26 -0
  1017. package/src/shared/components/CivicAuthIframeContainer.tsx +190 -0
  1018. package/src/shared/components/CloseIcon.tsx +21 -0
  1019. package/src/shared/components/LoadingIcon.tsx +53 -0
  1020. package/src/shared/hooks/index.ts +4 -0
  1021. package/src/shared/hooks/useAuth.ts +15 -0
  1022. package/src/shared/hooks/useConfig.ts +14 -0
  1023. package/src/shared/hooks/useIframe.ts +14 -0
  1024. package/src/shared/hooks/useSession.ts +14 -0
  1025. package/src/shared/hooks/useToken.ts +15 -0
  1026. package/src/shared/lib/GenericAuthenticationRefresher.ts +70 -0
  1027. package/src/shared/lib/UserSession.ts +25 -0
  1028. package/src/shared/lib/session.ts +11 -0
  1029. package/src/shared/lib/storage.ts +40 -0
  1030. package/src/shared/lib/types.ts +26 -0
  1031. package/src/shared/lib/util.ts +217 -0
  1032. package/src/shared/providers/AuthContext.tsx +11 -0
  1033. package/src/shared/providers/AuthProvider.tsx +390 -0
  1034. package/src/shared/providers/CivicAuthProvider.tsx +31 -0
  1035. package/src/shared/providers/ConfigProvider.tsx +50 -0
  1036. package/src/shared/providers/IframeProvider.tsx +34 -0
  1037. package/src/shared/providers/SessionProvider.tsx +29 -0
  1038. package/src/shared/providers/TokenProvider.tsx +78 -0
  1039. package/src/shared/providers/UserProvider.tsx +80 -0
  1040. package/src/types.ts +227 -0
  1041. package/src/utils.ts +58 -0
  1042. package/test/integration/sdk.test.tsx +266 -0
  1043. package/test/support/fixtures.ts +56 -0
  1044. package/test/support/tokens.json +26 -0
  1045. package/test/unit/lib/oauth.test.ts +72 -0
  1046. package/test/unit/logger.test.ts +175 -0
  1047. package/test/unit/nextjs/NextAuthProvider.test.tsx +38 -0
  1048. package/test/unit/nextjs/config.test.ts +218 -0
  1049. package/test/unit/nextjs/getUser.test.ts +41 -0
  1050. package/test/unit/nextjs/middleware.test.ts +138 -0
  1051. package/test/unit/nextjs/routeHandler.test.ts.skipped +369 -0
  1052. package/test/unit/nextjs/utils.test.ts +17 -0
  1053. package/test/unit/publicApi/__snapshots__/apiSnapshot.test.ts.snap +17 -0
  1054. package/test/unit/publicApi/apiSnapshot.test.ts +11 -0
  1055. package/test/unit/react/components/SignInButton.test.tsx +50 -0
  1056. package/test/unit/react/components/SignOutButton.test.tsx +49 -0
  1057. package/test/unit/server/login.test.ts +181 -0
  1058. package/test/unit/server/session.test.ts +51 -0
  1059. package/test/unit/services/AuthenticationService.test.ts +152 -0
  1060. package/test/unit/services/ServerAuthenticationResolver.test.ts +115 -0
  1061. package/test/unit/shared/GenericAuthenticationRefresher.test.ts +89 -0
  1062. package/test/unit/shared/UserSession.test.ts +42 -0
  1063. package/test/unit/shared/components/CivicAuthIframeContainer.test.tsx +154 -0
  1064. package/test/unit/shared/storage.test.ts +67 -0
  1065. package/test/unit/utils.test.ts +48 -0
  1066. package/tsconfig.build.json +5 -0
  1067. package/tsconfig.cjs.json +8 -0
  1068. package/tsconfig.esm.json +7 -0
  1069. package/tsconfig.json +42 -0
  1070. package/vitest.config.ts +41 -0
  1071. package/dist/chunk-4GIHS7LB.js.map +0 -1
  1072. package/dist/chunk-GNGLWGZJ.mjs +0 -238
  1073. package/dist/chunk-GNGLWGZJ.mjs.map +0 -1
  1074. package/dist/chunk-NQPMNXBL.mjs.map +0 -1
  1075. package/dist/chunk-UV56GNIT.mjs.map +0 -1
  1076. package/dist/chunk-VXIWRZWU.js +0 -238
  1077. package/dist/chunk-VXIWRZWU.js.map +0 -1
  1078. package/dist/chunk-WPISYQG3.js.map +0 -1
  1079. package/dist/index-DoDoIY_K.d.mts +0 -79
  1080. package/dist/index-DoDoIY_K.d.ts +0 -79
package/dist/react.mjs CHANGED
@@ -1,18 +1,19 @@
1
1
  import {
2
- resolveAuthConfig,
3
- resolveCallbackUrl
4
- } from "./chunk-NQPMNXBL.mjs";
2
+ AuthProvider,
3
+ CivicAuthIframeContainer,
4
+ UserContext,
5
+ UserProvider,
6
+ useAuth,
7
+ useConfig,
8
+ useIframe,
9
+ useSession,
10
+ useToken
11
+ } from "./chunk-EKLYHP2D.mjs";
5
12
  import {
6
- DEFAULT_SCOPES,
7
- IFRAME_ID,
8
- buildOauth2Client,
9
- cn,
10
- displayModeFromState,
11
- generateState,
12
- getOauthEndpoints,
13
- isPopupBlocked,
14
- validateOauth2Tokens
15
- } from "./chunk-GNGLWGZJ.mjs";
13
+ BrowserPublicClientPKCEProducer,
14
+ LocalStorageAdapter,
15
+ cn
16
+ } from "./chunk-Q7DSPTUG.mjs";
16
17
  import {
17
18
  __async,
18
19
  __objRest,
@@ -21,972 +22,27 @@ import {
21
22
  } from "./chunk-RGHW4PYM.mjs";
22
23
 
23
24
  // 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
25
  import { useContext } from "react";
32
26
 
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: "inline h-8 w-8 animate-spin fill-neutral-600 text-neutral-200 dark:fill-neutral-300 dark: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: "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: "h-96 w-80 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: "absolute left-0 top-0 z-50 flex h-screen w-screen items-center justify-center bg-neutral-950 bg-opacity-50",
672
- onClick: onClose,
673
- children: /* @__PURE__ */ jsxs3(
674
- "div",
675
- {
676
- className: "relative rounded-3xl bg-white p-6 shadow-lg",
677
- onClick: (e) => e.stopPropagation(),
678
- children: [
679
- /* @__PURE__ */ jsx7(
680
- "button",
681
- {
682
- className: "absolute right-4 top-4 flex cursor-pointer items-center justify-center border-none bg-transparent p-1 text-neutral-400",
683
- onClick: onClose,
684
- children: /* @__PURE__ */ jsx7(CloseIcon, {})
685
- }
686
- ),
687
- (isLoading || redirectInProgress) && /* @__PURE__ */ jsx7("div", { className: "absolute inset-0 flex items-center justify-center rounded-3xl 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: "absolute left-0 top-0 z-50 flex h-screen w-screen items-center justify-center bg-white", children: /* @__PURE__ */ jsx8("div", { className: "absolute inset-0 flex items-center justify-center 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
27
  // src/shared/CivicAuthProvider.tsx
880
28
  import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
881
29
  import "@civic/auth/styles.css";
882
- import { jsx as jsx9 } from "react/jsx-runtime";
30
+ import { jsx } from "react/jsx-runtime";
883
31
  var queryClient = new QueryClient();
884
32
  var CivicAuthProvider = (_a) => {
885
33
  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 { jsx as jsx10 } from "react/jsx-runtime";
948
- var queryClient2 = new QueryClient2();
949
- var defaultUserContext = { user: null };
950
- var UserContext2 = createContext5(defaultUserContext);
951
- var CivicNextAuthProvider = (_a) => {
952
- var _b = _a, {
953
- children
954
- } = _b, props = __objRest(_b, [
955
- "children"
956
- ]);
957
- const user = useUserCookie();
958
- const [redirectUrl, setRedirectUrl] = useState3("");
959
- const { clientId, oauthServer, callbackUrl, challengeUrl } = resolveAuthConfig();
960
- useEffect4(() => {
961
- if (typeof globalThis.window !== "undefined") {
962
- const currentUrl = globalThis.window.location.href;
963
- setRedirectUrl(resolveCallbackUrl(resolveAuthConfig(), currentUrl));
964
- }
965
- }, [callbackUrl]);
966
- const authService = useMemo3(() => {
967
- if (redirectUrl && clientId && oauthServer) {
968
- return new AuthSessionServiceImpl(clientId, redirectUrl, oauthServer, {
969
- challenge: challengeUrl
970
- });
971
- }
972
- return void 0;
973
- }, [redirectUrl, clientId, oauthServer, challengeUrl]);
974
- return /* @__PURE__ */ jsx10(QueryClientProvider2, { client: queryClient2, children: /* @__PURE__ */ jsx10(
34
+ return /* @__PURE__ */ jsx(QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ jsx(
975
35
  AuthProvider,
976
36
  __spreadProps(__spreadValues({}, props), {
977
- config: { oauthServer },
978
- clientId,
979
- authServiceImpl: authService,
980
- serverSideTokenExchange: true,
981
- children: /* @__PURE__ */ jsx10(UserContext2.Provider, { value: user, children })
37
+ pkceConsumer: new BrowserPublicClientPKCEProducer(),
38
+ children: /* @__PURE__ */ jsx(UserProvider, { storage: new LocalStorageAdapter(), children })
982
39
  })
983
40
  ) });
984
41
  };
985
- var useNextUser = () => useContext4(UserContext2);
986
42
 
987
43
  // src/react/hooks/useUser.tsx
988
44
  var useUser = () => {
989
- const context = useContext5(UserContext);
45
+ const context = useContext(UserContext);
990
46
  if (!context) {
991
47
  throw new Error("useUser must be used within a UserProvider");
992
48
  }
@@ -994,9 +50,9 @@ var useUser = () => {
994
50
  };
995
51
 
996
52
  // src/react/components/UserButton.tsx
997
- import { useCallback as useCallback3, useEffect as useEffect5, useState as useState4 } from "react";
998
- import { jsx as jsx11, jsxs as jsxs5 } from "react/jsx-runtime";
999
- var ChevronDown = () => /* @__PURE__ */ jsx11(
53
+ import { useCallback, useEffect, useState } from "react";
54
+ import { jsx as jsx2, jsxs } from "react/jsx-runtime";
55
+ var ChevronDown = () => /* @__PURE__ */ jsx2(
1000
56
  "svg",
1001
57
  {
1002
58
  xmlns: "http://www.w3.org/2000/svg",
@@ -1009,10 +65,10 @@ var ChevronDown = () => /* @__PURE__ */ jsx11(
1009
65
  strokeLinecap: "round",
1010
66
  strokeLinejoin: "round",
1011
67
  className: "lucide lucide-chevron-down",
1012
- children: /* @__PURE__ */ jsx11("path", { d: "m6 9 6 6 6-6" })
68
+ children: /* @__PURE__ */ jsx2("path", { d: "m6 9 6 6 6-6" })
1013
69
  }
1014
70
  );
1015
- var ChevronUp = () => /* @__PURE__ */ jsx11(
71
+ var ChevronUp = () => /* @__PURE__ */ jsx2(
1016
72
  "svg",
1017
73
  {
1018
74
  xmlns: "http://www.w3.org/2000/svg",
@@ -1025,36 +81,35 @@ var ChevronUp = () => /* @__PURE__ */ jsx11(
1025
81
  strokeLinecap: "round",
1026
82
  strokeLinejoin: "round",
1027
83
  className: "lucide lucide-chevron-up",
1028
- children: /* @__PURE__ */ jsx11("path", { d: "m18 15-6-6-6 6" })
84
+ children: /* @__PURE__ */ jsx2("path", { d: "m18 15-6-6-6 6" })
1029
85
  }
1030
86
  );
1031
87
  var UserButton = ({
1032
88
  displayMode,
1033
89
  className
1034
90
  }) => {
1035
- const [isOpen, setIsOpen] = useState4(false);
1036
- const { signIn, isAuthenticated, signOut } = useAuth();
1037
- const { user } = useUser();
1038
- const handleClickOutside = useCallback3((event) => {
91
+ const [isOpen, setIsOpen] = useState(false);
92
+ const { user, signIn, signOut } = useUser();
93
+ const handleClickOutside = useCallback((event) => {
1039
94
  const target = event.target;
1040
95
  if (!target.closest("#civic-dropdown-container")) {
1041
96
  setIsOpen(false);
1042
97
  }
1043
98
  }, []);
1044
- const handleSignOut = useCallback3(() => __async(void 0, null, function* () {
1045
- yield signOut();
99
+ const handleSignOut = useCallback(() => __async(void 0, null, function* () {
100
+ signOut();
1046
101
  setIsOpen(false);
1047
102
  }), [signOut]);
1048
- const handleSignIn = useCallback3(() => __async(void 0, null, function* () {
103
+ const handleSignIn = useCallback(() => __async(void 0, null, function* () {
1049
104
  yield signIn(displayMode);
1050
105
  setIsOpen(false);
1051
106
  }), [signIn, displayMode]);
1052
- const handleEscape = useCallback3((event) => {
107
+ const handleEscape = useCallback((event) => {
1053
108
  if (event.key === "Escape") {
1054
109
  setIsOpen(false);
1055
110
  }
1056
111
  }, []);
1057
- useEffect5(() => {
112
+ useEffect(() => {
1058
113
  if (isOpen) {
1059
114
  window.addEventListener("click", handleClickOutside);
1060
115
  window.addEventListener("keydown", handleEscape);
@@ -1064,38 +119,38 @@ var UserButton = ({
1064
119
  window.removeEventListener("keydown", handleEscape);
1065
120
  };
1066
121
  }, [handleClickOutside, handleEscape, isOpen]);
1067
- if (isAuthenticated) {
1068
- return /* @__PURE__ */ jsxs5("div", { className: "relative", id: "civic-dropdown-container", children: [
1069
- /* @__PURE__ */ jsxs5(
122
+ if (user) {
123
+ return /* @__PURE__ */ jsxs("div", { className: "cac-relative", id: "civic-dropdown-container", children: [
124
+ /* @__PURE__ */ jsxs(
1070
125
  "button",
1071
126
  {
1072
127
  className: cn(
1073
- "flex w-full items-center justify-between gap-2 rounded-full border border-neutral-500 px-3 py-2 text-neutral-500 transition-colors hover:bg-neutral-200 hover:bg-opacity-50",
128
+ "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",
1074
129
  className
1075
130
  ),
1076
131
  onClick: () => setIsOpen((isOpen2) => !isOpen2),
1077
132
  children: [
1078
- (user == null ? void 0 : user.picture) ? /* @__PURE__ */ jsx11("span", { className: "relative flex h-10 w-10 shrink-0 gap-2 overflow-hidden rounded-full", children: /* @__PURE__ */ jsx11(
133
+ (user == null ? void 0 : user.picture) ? /* @__PURE__ */ jsx2("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__ */ jsx2(
1079
134
  "img",
1080
135
  {
1081
- className: "h-full w-full object-cover",
136
+ className: "cac-h-full cac-w-full cac-object-cover",
1082
137
  src: user.picture,
1083
138
  alt: (user == null ? void 0 : user.name) || (user == null ? void 0 : user.email)
1084
139
  }
1085
- ) }) : /* @__PURE__ */ jsx11("div", {}),
1086
- /* @__PURE__ */ jsx11("span", { children: (user == null ? void 0 : user.name) || (user == null ? void 0 : user.email) }),
1087
- isOpen ? /* @__PURE__ */ jsx11(ChevronUp, {}) : /* @__PURE__ */ jsx11(ChevronDown, {})
140
+ ) }) : /* @__PURE__ */ jsx2("div", {}),
141
+ /* @__PURE__ */ jsx2("span", { children: (user == null ? void 0 : user.name) || (user == null ? void 0 : user.email) }),
142
+ isOpen ? /* @__PURE__ */ jsx2(ChevronUp, {}) : /* @__PURE__ */ jsx2(ChevronDown, {})
1088
143
  ]
1089
144
  }
1090
145
  ),
1091
- /* @__PURE__ */ jsx11(
146
+ /* @__PURE__ */ jsx2(
1092
147
  "div",
1093
148
  {
1094
- className: isOpen ? "absolute right-0 mt-2 w-full rounded-lg bg-white py-2 text-neutral-500 shadow-xl" : "hidden",
1095
- children: /* @__PURE__ */ jsx11("ul", { children: /* @__PURE__ */ jsx11("li", { children: /* @__PURE__ */ jsx11(
149
+ 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",
150
+ children: /* @__PURE__ */ jsx2("ul", { children: /* @__PURE__ */ jsx2("li", { children: /* @__PURE__ */ jsx2(
1096
151
  "button",
1097
152
  {
1098
- className: "block w-full px-4 py-2 transition-colors hover:bg-neutral-200 hover:bg-opacity-50",
153
+ 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",
1099
154
  onClick: handleSignOut,
1100
155
  children: "Logout"
1101
156
  }
@@ -1104,11 +159,12 @@ var UserButton = ({
1104
159
  )
1105
160
  ] });
1106
161
  }
1107
- return /* @__PURE__ */ jsx11(
162
+ return /* @__PURE__ */ jsx2(
1108
163
  "button",
1109
164
  {
165
+ "data-testid": "sign-in-button",
1110
166
  className: cn(
1111
- "rounded-full border border-neutral-500 px-3 py-2 transition-colors hover:bg-neutral-200 hover:bg-opacity-50",
167
+ "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",
1112
168
  className
1113
169
  ),
1114
170
  onClick: handleSignIn,
@@ -1118,17 +174,18 @@ var UserButton = ({
1118
174
  };
1119
175
 
1120
176
  // src/react/components/SignInButton.tsx
1121
- import { jsx as jsx12 } from "react/jsx-runtime";
177
+ import { jsx as jsx3 } from "react/jsx-runtime";
1122
178
  var SignInButton = ({
1123
179
  displayMode,
1124
180
  className
1125
181
  }) => {
1126
- const { signIn } = useAuth();
1127
- return /* @__PURE__ */ jsx12(
182
+ const { signIn } = useUser();
183
+ return /* @__PURE__ */ jsx3(
1128
184
  "button",
1129
185
  {
186
+ "data-testid": "sign-in-button",
1130
187
  className: cn(
1131
- "rounded-full border border-neutral-500 px-3 py-2 transition-colors hover:bg-neutral-200 hover:bg-opacity-50",
188
+ "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",
1132
189
  className
1133
190
  ),
1134
191
  onClick: () => signIn(displayMode),
@@ -1138,14 +195,14 @@ var SignInButton = ({
1138
195
  };
1139
196
 
1140
197
  // src/react/components/SignOutButton.tsx
1141
- import { jsx as jsx13 } from "react/jsx-runtime";
198
+ import { jsx as jsx4 } from "react/jsx-runtime";
1142
199
  var SignOutButton = ({ className }) => {
1143
- const { signOut } = useAuth();
1144
- return /* @__PURE__ */ jsx13(
200
+ const { signOut } = useUser();
201
+ return /* @__PURE__ */ jsx4(
1145
202
  "button",
1146
203
  {
1147
204
  className: cn(
1148
- "rounded-full border border-neutral-500 px-3 py-2 transition-colors hover:bg-neutral-200 hover:bg-opacity-50",
205
+ "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",
1149
206
  className
1150
207
  ),
1151
208
  onClick: () => signOut(),
@@ -1153,26 +210,17 @@ var SignOutButton = ({ className }) => {
1153
210
  }
1154
211
  );
1155
212
  };
1156
-
1157
- // src/react/components/NextLogOut.tsx
1158
- import { jsx as jsx14 } from "react/jsx-runtime";
1159
- var NextLogOut = ({ children }) => {
1160
- const config = resolveAuthConfig();
1161
- const logoutUrl = `${config.logoutUrl}`;
1162
- return /* @__PURE__ */ jsx14("a", { href: logoutUrl, children });
1163
- };
1164
213
  export {
214
+ CivicAuthIframeContainer,
1165
215
  CivicAuthProvider,
1166
- CivicNextAuthProvider,
1167
- NextLogOut,
1168
216
  SignInButton,
1169
217
  SignOutButton,
1170
218
  UserButton,
1171
219
  useAuth,
1172
- useNextUser,
220
+ useConfig,
221
+ useIframe,
1173
222
  useSession,
1174
223
  useToken,
1175
- useUser,
1176
- useUserCookie
224
+ useUser
1177
225
  };
1178
226
  //# sourceMappingURL=react.mjs.map