@civic/auth 0.3.5-temp-debug-logs.2 → 0.3.6-beta.0

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 (975) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/browser/storage.d.ts.map +1 -0
  3. package/dist/browser/storage.js.map +1 -0
  4. package/dist/config.d.ts.map +1 -0
  5. package/dist/config.js.map +1 -0
  6. package/dist/constants.d.ts +15 -0
  7. package/dist/constants.d.ts.map +1 -0
  8. package/dist/constants.js +29 -0
  9. package/dist/constants.js.map +1 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/lib/cookies.d.ts.map +1 -0
  13. package/dist/lib/cookies.js.map +1 -0
  14. package/dist/lib/jwt.d.ts.map +1 -0
  15. package/dist/lib/jwt.js.map +1 -0
  16. package/dist/lib/logger.d.ts.map +1 -0
  17. package/dist/lib/logger.js.map +1 -0
  18. package/dist/lib/oauth.d.ts.map +1 -0
  19. package/dist/lib/oauth.js.map +1 -0
  20. package/dist/lib/obj.d.ts.map +1 -0
  21. package/dist/lib/obj.js.map +1 -0
  22. package/dist/lib/postMessage.d.ts.map +1 -0
  23. package/dist/lib/postMessage.js +13 -0
  24. package/dist/lib/postMessage.js.map +1 -0
  25. package/dist/lib/windowUtil.d.ts.map +1 -0
  26. package/dist/lib/windowUtil.js.map +1 -0
  27. package/dist/nextjs/NextClientAuthenticationRefresher.d.ts.map +1 -0
  28. package/dist/nextjs/NextClientAuthenticationRefresher.js.map +1 -0
  29. package/dist/nextjs/NextServerAuthenticationRefresherImpl.d.ts +11 -0
  30. package/dist/nextjs/NextServerAuthenticationRefresherImpl.d.ts.map +1 -0
  31. package/dist/nextjs/NextServerAuthenticationRefresherImpl.js +17 -0
  32. package/dist/nextjs/NextServerAuthenticationRefresherImpl.js.map +1 -0
  33. package/dist/nextjs/config.d.ts.map +1 -0
  34. package/dist/nextjs/config.js.map +1 -0
  35. package/dist/nextjs/cookies.d.ts +16 -0
  36. package/dist/nextjs/cookies.d.ts.map +1 -0
  37. package/dist/nextjs/cookies.js +41 -0
  38. package/dist/nextjs/cookies.js.map +1 -0
  39. package/dist/nextjs/hooks/index.d.ts.map +1 -0
  40. package/dist/nextjs/hooks/index.js.map +1 -0
  41. package/dist/nextjs/hooks/usePrevious.d.ts.map +1 -0
  42. package/dist/nextjs/hooks/usePrevious.js.map +1 -0
  43. package/dist/nextjs/hooks/useRefresh.d.ts.map +1 -0
  44. package/dist/nextjs/hooks/useRefresh.js.map +1 -0
  45. package/dist/nextjs/hooks/useUserCookie.d.ts.map +1 -0
  46. package/dist/nextjs/hooks/useUserCookie.js.map +1 -0
  47. package/dist/nextjs/index.d.ts.map +1 -0
  48. package/dist/nextjs/index.js.map +1 -0
  49. package/dist/nextjs/middleware/index.d.ts.map +1 -0
  50. package/dist/nextjs/middleware/index.js.map +1 -0
  51. package/dist/nextjs/middleware.d.ts.map +1 -0
  52. package/dist/nextjs/middleware.js +101 -0
  53. package/dist/nextjs/middleware.js.map +1 -0
  54. package/dist/nextjs/providers/NextAuthProvider.d.ts.map +1 -0
  55. package/dist/nextjs/providers/NextAuthProvider.js.map +1 -0
  56. package/dist/nextjs/routeHandler.d.ts.map +1 -0
  57. package/dist/nextjs/routeHandler.js +312 -0
  58. package/dist/nextjs/routeHandler.js.map +1 -0
  59. package/dist/nextjs/utils.d.ts.map +1 -0
  60. package/dist/nextjs/utils.js.map +1 -0
  61. package/dist/reactjs/components/ButtonContentOrLoader.d.ts.map +1 -0
  62. package/dist/reactjs/components/ButtonContentOrLoader.js.map +1 -0
  63. package/dist/reactjs/components/SignInButton.d.ts.map +1 -0
  64. package/dist/reactjs/components/SignInButton.js.map +1 -0
  65. package/dist/reactjs/components/SignOutButton.d.ts.map +1 -0
  66. package/dist/reactjs/components/SignOutButton.js.map +1 -0
  67. package/dist/reactjs/components/UserButton.d.ts.map +1 -0
  68. package/dist/reactjs/components/UserButton.js +142 -0
  69. package/dist/reactjs/components/UserButton.js.map +1 -0
  70. package/dist/reactjs/components/index.d.ts.map +1 -0
  71. package/dist/reactjs/components/index.js.map +1 -0
  72. package/dist/reactjs/components/utils.d.ts.map +1 -0
  73. package/dist/reactjs/components/utils.js.map +1 -0
  74. package/dist/reactjs/hooks/index.d.ts.map +1 -0
  75. package/dist/reactjs/hooks/index.js.map +1 -0
  76. package/dist/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +1 -0
  77. package/dist/reactjs/hooks/useClientTokenExchangeSession.js.map +1 -0
  78. package/dist/reactjs/hooks/useUser.d.ts.map +1 -0
  79. package/dist/reactjs/hooks/useUser.js.map +1 -0
  80. package/dist/reactjs/index.d.ts.map +1 -0
  81. package/dist/reactjs/index.js.map +1 -0
  82. package/dist/reactjs/providers/AuthProvider.d.ts.map +1 -0
  83. package/dist/reactjs/providers/AuthProvider.js.map +1 -0
  84. package/dist/reactjs/providers/CivicAuthProvider.d.ts.map +1 -0
  85. package/dist/reactjs/providers/CivicAuthProvider.js.map +1 -0
  86. package/dist/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +1 -0
  87. package/dist/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +1 -0
  88. package/dist/reactjs/providers/index.d.ts.map +1 -0
  89. package/dist/reactjs/providers/index.js.map +1 -0
  90. package/dist/server/ServerAuthenticationResolver.d.ts.map +1 -0
  91. package/dist/server/ServerAuthenticationResolver.js +67 -0
  92. package/dist/server/ServerAuthenticationResolver.js.map +1 -0
  93. package/dist/server/config.d.ts.map +1 -0
  94. package/dist/server/config.js.map +1 -0
  95. package/dist/server/index.d.ts.map +1 -0
  96. package/dist/server/index.js.map +1 -0
  97. package/dist/server/login.d.ts.map +1 -0
  98. package/dist/server/login.js.map +1 -0
  99. package/dist/server/logout.d.ts.map +1 -0
  100. package/dist/server/logout.js.map +1 -0
  101. package/dist/server/refresh.d.ts.map +1 -0
  102. package/dist/server/refresh.js.map +1 -0
  103. package/dist/services/AuthenticationService.d.ts +93 -0
  104. package/dist/services/AuthenticationService.d.ts.map +1 -0
  105. package/dist/services/AuthenticationService.js +366 -0
  106. package/dist/services/AuthenticationService.js.map +1 -0
  107. package/dist/services/PKCE.d.ts.map +1 -0
  108. package/dist/services/PKCE.js.map +1 -0
  109. package/dist/services/types.d.ts.map +1 -0
  110. package/dist/services/types.js.map +1 -0
  111. package/dist/shared/components/BlockDisplay.d.ts.map +1 -0
  112. package/dist/shared/components/BlockDisplay.js +29 -0
  113. package/dist/shared/components/BlockDisplay.js.map +1 -0
  114. package/dist/shared/components/CivicAuthIframe.d.ts.map +1 -0
  115. package/dist/shared/components/CivicAuthIframe.js +27 -0
  116. package/dist/shared/components/CivicAuthIframe.js.map +1 -0
  117. package/dist/shared/components/CivicAuthIframeContainer.d.ts.map +1 -0
  118. package/dist/shared/components/CivicAuthIframeContainer.js +154 -0
  119. package/dist/shared/components/CivicAuthIframeContainer.js.map +1 -0
  120. package/dist/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +1 -0
  121. package/dist/shared/components/CivicAuthLogoutIframeContainer.js +19 -0
  122. package/dist/shared/components/CivicAuthLogoutIframeContainer.js.map +1 -0
  123. package/dist/shared/components/CloseIcon.d.ts.map +1 -0
  124. package/dist/shared/components/CloseIcon.js.map +1 -0
  125. package/dist/shared/components/IFrameAndLoading.d.ts.map +1 -0
  126. package/dist/shared/components/IFrameAndLoading.js.map +1 -0
  127. package/dist/shared/components/LoadingIcon.d.ts.map +1 -0
  128. package/dist/shared/components/LoadingIcon.js.map +1 -0
  129. package/dist/shared/components/SVGLoading.d.ts +4 -0
  130. package/dist/shared/components/SVGLoading.d.ts.map +1 -0
  131. package/dist/shared/components/SVGLoading.js +28 -0
  132. package/dist/shared/components/SVGLoading.js.map +1 -0
  133. package/dist/shared/hooks/index.d.ts.map +1 -0
  134. package/dist/shared/hooks/index.js.map +1 -0
  135. package/dist/shared/hooks/useAuth.d.ts.map +1 -0
  136. package/dist/shared/hooks/useAuth.js.map +1 -0
  137. package/dist/shared/hooks/useCivicAuthConfig.d.ts.map +1 -0
  138. package/dist/shared/hooks/useCivicAuthConfig.js.map +1 -0
  139. package/dist/shared/hooks/useCurrentUrl.d.ts.map +1 -0
  140. package/dist/shared/hooks/useCurrentUrl.js.map +1 -0
  141. package/dist/shared/hooks/useIframe.d.ts.map +1 -0
  142. package/dist/shared/hooks/useIframe.js.map +1 -0
  143. package/dist/shared/hooks/useIsInIframe.d.ts.map +1 -0
  144. package/dist/shared/hooks/useIsInIframe.js.map +1 -0
  145. package/dist/shared/hooks/useOAuthEndpoints.d.ts.map +1 -0
  146. package/dist/shared/hooks/useOAuthEndpoints.js.map +1 -0
  147. package/dist/shared/hooks/useRefresh.d.ts.map +1 -0
  148. package/dist/shared/hooks/useRefresh.js.map +1 -0
  149. package/dist/shared/hooks/useSession.d.ts.map +1 -0
  150. package/dist/shared/hooks/useSession.js.map +1 -0
  151. package/dist/shared/hooks/useSignIn.d.ts.map +1 -0
  152. package/dist/shared/hooks/useSignIn.js +168 -0
  153. package/dist/shared/hooks/useSignIn.js.map +1 -0
  154. package/dist/shared/hooks/useToken.d.ts.map +1 -0
  155. package/dist/shared/hooks/useToken.js.map +1 -0
  156. package/dist/shared/hooks/useWindowFocused.d.ts.map +1 -0
  157. package/dist/shared/hooks/useWindowFocused.js.map +1 -0
  158. package/dist/shared/index.d.ts.map +1 -0
  159. package/dist/shared/index.js.map +1 -0
  160. package/dist/shared/lib/AuthenticationRefresherImpl.d.ts +14 -0
  161. package/dist/shared/lib/AuthenticationRefresherImpl.d.ts.map +1 -0
  162. package/dist/shared/lib/AuthenticationRefresherImpl.js +48 -0
  163. package/dist/shared/lib/AuthenticationRefresherImpl.js.map +1 -0
  164. package/dist/shared/lib/BrowserCookieStorage.d.ts +9 -0
  165. package/dist/shared/lib/BrowserCookieStorage.d.ts.map +1 -0
  166. package/dist/shared/lib/BrowserCookieStorage.js +56 -0
  167. package/dist/shared/lib/BrowserCookieStorage.js.map +1 -0
  168. package/dist/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -0
  169. package/dist/shared/lib/GenericAuthenticationRefresher.js.map +1 -0
  170. package/dist/shared/lib/UserSession.d.ts.map +1 -0
  171. package/dist/shared/lib/UserSession.js.map +1 -0
  172. package/dist/shared/lib/iframeUtils.d.ts.map +1 -0
  173. package/dist/shared/lib/iframeUtils.js.map +1 -0
  174. package/dist/shared/lib/session.d.ts.map +1 -0
  175. package/dist/shared/lib/session.js.map +1 -0
  176. package/dist/shared/lib/storage.d.ts +35 -0
  177. package/dist/shared/lib/storage.d.ts.map +1 -0
  178. package/dist/shared/lib/storage.js.map +1 -0
  179. package/dist/shared/lib/types.d.ts +39 -0
  180. package/dist/shared/lib/types.d.ts.map +1 -0
  181. package/dist/shared/lib/types.js.map +1 -0
  182. package/dist/shared/lib/util.d.ts +40 -0
  183. package/dist/shared/lib/util.d.ts.map +1 -0
  184. package/dist/shared/lib/util.js +187 -0
  185. package/dist/shared/lib/util.js.map +1 -0
  186. package/dist/shared/providers/AuthContext.d.ts.map +1 -0
  187. package/dist/shared/providers/AuthContext.js.map +1 -0
  188. package/dist/shared/providers/CivicAuthConfigContext.d.ts.map +1 -0
  189. package/dist/shared/providers/CivicAuthConfigContext.js.map +1 -0
  190. package/dist/shared/providers/IframeProvider.d.ts +25 -0
  191. package/dist/shared/providers/IframeProvider.d.ts.map +1 -0
  192. package/dist/shared/providers/IframeProvider.js +59 -0
  193. package/dist/shared/providers/IframeProvider.js.map +1 -0
  194. package/dist/shared/providers/SessionProvider.d.ts.map +1 -0
  195. package/dist/shared/providers/SessionProvider.js.map +1 -0
  196. package/dist/shared/providers/TokenProvider.d.ts.map +1 -0
  197. package/dist/shared/providers/TokenProvider.js.map +1 -0
  198. package/dist/shared/providers/UserProvider.d.ts.map +1 -0
  199. package/dist/shared/providers/UserProvider.js.map +1 -0
  200. package/dist/shared/providers/types.d.ts.map +1 -0
  201. package/dist/shared/providers/types.js.map +1 -0
  202. package/dist/shared/version.d.ts +2 -0
  203. package/dist/shared/version.d.ts.map +1 -0
  204. package/dist/shared/version.js +3 -0
  205. package/dist/shared/version.js.map +1 -0
  206. package/dist/types.d.ts +163 -0
  207. package/dist/types.d.ts.map +1 -0
  208. package/dist/types.js.map +1 -0
  209. package/dist/utils.d.ts.map +1 -0
  210. package/dist/utils.js.map +1 -0
  211. package/dist/version.d.ts.map +1 -0
  212. package/dist/version.js.map +1 -0
  213. package/package.json +21 -37
  214. package/dist/cjs/browser/storage.d.ts.map +0 -1
  215. package/dist/cjs/browser/storage.js +0 -24
  216. package/dist/cjs/browser/storage.js.map +0 -1
  217. package/dist/cjs/config.d.ts.map +0 -1
  218. package/dist/cjs/config.js +0 -8
  219. package/dist/cjs/config.js.map +0 -1
  220. package/dist/cjs/constants.d.ts +0 -12
  221. package/dist/cjs/constants.d.ts.map +0 -1
  222. package/dist/cjs/constants.js +0 -38
  223. package/dist/cjs/constants.js.map +0 -1
  224. package/dist/cjs/index.d.ts.map +0 -1
  225. package/dist/cjs/index.js +0 -11
  226. package/dist/cjs/index.js.map +0 -1
  227. package/dist/cjs/lib/cookies.d.ts.map +0 -1
  228. package/dist/cjs/lib/cookies.js +0 -29
  229. package/dist/cjs/lib/cookies.js.map +0 -1
  230. package/dist/cjs/lib/jwt.d.ts.map +0 -1
  231. package/dist/cjs/lib/jwt.js +0 -13
  232. package/dist/cjs/lib/jwt.js.map +0 -1
  233. package/dist/cjs/lib/logger.d.ts.map +0 -1
  234. package/dist/cjs/lib/logger.js +0 -62
  235. package/dist/cjs/lib/logger.js.map +0 -1
  236. package/dist/cjs/lib/oauth.d.ts.map +0 -1
  237. package/dist/cjs/lib/oauth.js +0 -74
  238. package/dist/cjs/lib/oauth.js.map +0 -1
  239. package/dist/cjs/lib/obj.d.ts.map +0 -1
  240. package/dist/cjs/lib/obj.js +0 -21
  241. package/dist/cjs/lib/obj.js.map +0 -1
  242. package/dist/cjs/lib/postMessage.d.ts.map +0 -1
  243. package/dist/cjs/lib/postMessage.js +0 -17
  244. package/dist/cjs/lib/postMessage.js.map +0 -1
  245. package/dist/cjs/lib/windowUtil.d.ts.map +0 -1
  246. package/dist/cjs/lib/windowUtil.js +0 -35
  247. package/dist/cjs/lib/windowUtil.js.map +0 -1
  248. package/dist/cjs/nextjs/GetUser.d.ts +0 -6
  249. package/dist/cjs/nextjs/GetUser.d.ts.map +0 -1
  250. package/dist/cjs/nextjs/GetUser.js +0 -11
  251. package/dist/cjs/nextjs/GetUser.js.map +0 -1
  252. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.d.ts.map +0 -1
  253. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.js +0 -26
  254. package/dist/cjs/nextjs/NextClientAuthenticationRefresher.js.map +0 -1
  255. package/dist/cjs/nextjs/config.d.ts +0 -209
  256. package/dist/cjs/nextjs/config.d.ts.map +0 -1
  257. package/dist/cjs/nextjs/config.js +0 -191
  258. package/dist/cjs/nextjs/config.js.map +0 -1
  259. package/dist/cjs/nextjs/cookies.d.ts +0 -27
  260. package/dist/cjs/nextjs/cookies.d.ts.map +0 -1
  261. package/dist/cjs/nextjs/cookies.js +0 -141
  262. package/dist/cjs/nextjs/cookies.js.map +0 -1
  263. package/dist/cjs/nextjs/hooks/index.d.ts.map +0 -1
  264. package/dist/cjs/nextjs/hooks/index.js +0 -6
  265. package/dist/cjs/nextjs/hooks/index.js.map +0 -1
  266. package/dist/cjs/nextjs/hooks/usePrevious.d.ts.map +0 -1
  267. package/dist/cjs/nextjs/hooks/usePrevious.js +0 -12
  268. package/dist/cjs/nextjs/hooks/usePrevious.js.map +0 -1
  269. package/dist/cjs/nextjs/hooks/useRefresh.d.ts.map +0 -1
  270. package/dist/cjs/nextjs/hooks/useRefresh.js +0 -43
  271. package/dist/cjs/nextjs/hooks/useRefresh.js.map +0 -1
  272. package/dist/cjs/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  273. package/dist/cjs/nextjs/hooks/useUserCookie.js +0 -93
  274. package/dist/cjs/nextjs/hooks/useUserCookie.js.map +0 -1
  275. package/dist/cjs/nextjs/index.d.ts.map +0 -1
  276. package/dist/cjs/nextjs/index.js +0 -27
  277. package/dist/cjs/nextjs/index.js.map +0 -1
  278. package/dist/cjs/nextjs/middleware/index.d.ts.map +0 -1
  279. package/dist/cjs/nextjs/middleware/index.js +0 -10
  280. package/dist/cjs/nextjs/middleware/index.js.map +0 -1
  281. package/dist/cjs/nextjs/middleware.d.ts.map +0 -1
  282. package/dist/cjs/nextjs/middleware.js +0 -111
  283. package/dist/cjs/nextjs/middleware.js.map +0 -1
  284. package/dist/cjs/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  285. package/dist/cjs/nextjs/providers/NextAuthProvider.js +0 -102
  286. package/dist/cjs/nextjs/providers/NextAuthProvider.js.map +0 -1
  287. package/dist/cjs/nextjs/routeHandler.d.ts.map +0 -1
  288. package/dist/cjs/nextjs/routeHandler.js +0 -318
  289. package/dist/cjs/nextjs/routeHandler.js.map +0 -1
  290. package/dist/cjs/nextjs/utils.d.ts.map +0 -1
  291. package/dist/cjs/nextjs/utils.js +0 -9
  292. package/dist/cjs/nextjs/utils.js.map +0 -1
  293. package/dist/cjs/reactjs/components/ButtonContentOrLoader.d.ts.map +0 -1
  294. package/dist/cjs/reactjs/components/ButtonContentOrLoader.js +0 -40
  295. package/dist/cjs/reactjs/components/ButtonContentOrLoader.js.map +0 -1
  296. package/dist/cjs/reactjs/components/SignInButton.d.ts.map +0 -1
  297. package/dist/cjs/reactjs/components/SignInButton.js +0 -31
  298. package/dist/cjs/reactjs/components/SignInButton.js.map +0 -1
  299. package/dist/cjs/reactjs/components/SignOutButton.d.ts.map +0 -1
  300. package/dist/cjs/reactjs/components/SignOutButton.js +0 -27
  301. package/dist/cjs/reactjs/components/SignOutButton.js.map +0 -1
  302. package/dist/cjs/reactjs/components/UserButton.d.ts.map +0 -1
  303. package/dist/cjs/reactjs/components/UserButton.js +0 -146
  304. package/dist/cjs/reactjs/components/UserButton.js.map +0 -1
  305. package/dist/cjs/reactjs/components/index.d.ts.map +0 -1
  306. package/dist/cjs/reactjs/components/index.js +0 -14
  307. package/dist/cjs/reactjs/components/index.js.map +0 -1
  308. package/dist/cjs/reactjs/components/utils.d.ts.map +0 -1
  309. package/dist/cjs/reactjs/components/utils.js +0 -31
  310. package/dist/cjs/reactjs/components/utils.js.map +0 -1
  311. package/dist/cjs/reactjs/hooks/index.d.ts.map +0 -1
  312. package/dist/cjs/reactjs/hooks/index.js +0 -8
  313. package/dist/cjs/reactjs/hooks/index.js.map +0 -1
  314. package/dist/cjs/reactjs/hooks/useAuth.d.ts.map +0 -1
  315. package/dist/cjs/reactjs/hooks/useAuth.js +0 -15
  316. package/dist/cjs/reactjs/hooks/useAuth.js.map +0 -1
  317. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  318. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.js +0 -16
  319. package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  320. package/dist/cjs/reactjs/hooks/useSignIn.d.ts +0 -6
  321. package/dist/cjs/reactjs/hooks/useSignIn.d.ts.map +0 -1
  322. package/dist/cjs/reactjs/hooks/useSignIn.js +0 -38
  323. package/dist/cjs/reactjs/hooks/useSignIn.js.map +0 -1
  324. package/dist/cjs/reactjs/hooks/useUser.d.ts.map +0 -1
  325. package/dist/cjs/reactjs/hooks/useUser.js +0 -15
  326. package/dist/cjs/reactjs/hooks/useUser.js.map +0 -1
  327. package/dist/cjs/reactjs/index.d.ts.map +0 -1
  328. package/dist/cjs/reactjs/index.js +0 -32
  329. package/dist/cjs/reactjs/index.js.map +0 -1
  330. package/dist/cjs/reactjs/providers/AuthProvider.d.ts.map +0 -1
  331. package/dist/cjs/reactjs/providers/AuthProvider.js +0 -91
  332. package/dist/cjs/reactjs/providers/AuthProvider.js.map +0 -1
  333. package/dist/cjs/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  334. package/dist/cjs/reactjs/providers/CivicAuthProvider.js +0 -29
  335. package/dist/cjs/reactjs/providers/CivicAuthProvider.js.map +0 -1
  336. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  337. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.js +0 -147
  338. package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  339. package/dist/cjs/reactjs/providers/index.d.ts.map +0 -1
  340. package/dist/cjs/reactjs/providers/index.js +0 -19
  341. package/dist/cjs/reactjs/providers/index.js.map +0 -1
  342. package/dist/cjs/server/ServerAuthenticationResolver.d.ts.map +0 -1
  343. package/dist/cjs/server/ServerAuthenticationResolver.js +0 -71
  344. package/dist/cjs/server/ServerAuthenticationResolver.js.map +0 -1
  345. package/dist/cjs/server/config.d.ts.map +0 -1
  346. package/dist/cjs/server/config.js +0 -3
  347. package/dist/cjs/server/config.js.map +0 -1
  348. package/dist/cjs/server/index.d.ts.map +0 -1
  349. package/dist/cjs/server/index.js +0 -21
  350. package/dist/cjs/server/index.js.map +0 -1
  351. package/dist/cjs/server/login.d.ts.map +0 -1
  352. package/dist/cjs/server/login.js +0 -42
  353. package/dist/cjs/server/login.js.map +0 -1
  354. package/dist/cjs/server/logout.d.ts.map +0 -1
  355. package/dist/cjs/server/logout.js +0 -26
  356. package/dist/cjs/server/logout.js.map +0 -1
  357. package/dist/cjs/server/refresh.d.ts.map +0 -1
  358. package/dist/cjs/server/refresh.js +0 -16
  359. package/dist/cjs/server/refresh.js.map +0 -1
  360. package/dist/cjs/services/AuthenticationService.d.ts +0 -91
  361. package/dist/cjs/services/AuthenticationService.d.ts.map +0 -1
  362. package/dist/cjs/services/AuthenticationService.js +0 -358
  363. package/dist/cjs/services/AuthenticationService.js.map +0 -1
  364. package/dist/cjs/services/PKCE.d.ts.map +0 -1
  365. package/dist/cjs/services/PKCE.js +0 -50
  366. package/dist/cjs/services/PKCE.js.map +0 -1
  367. package/dist/cjs/services/types.d.ts.map +0 -1
  368. package/dist/cjs/services/types.js +0 -11
  369. package/dist/cjs/services/types.js.map +0 -1
  370. package/dist/cjs/shared/components/BlockDisplay.d.ts.map +0 -1
  371. package/dist/cjs/shared/components/BlockDisplay.js +0 -27
  372. package/dist/cjs/shared/components/BlockDisplay.js.map +0 -1
  373. package/dist/cjs/shared/components/CivicAuthIframe.d.ts.map +0 -1
  374. package/dist/cjs/shared/components/CivicAuthIframe.js +0 -69
  375. package/dist/cjs/shared/components/CivicAuthIframe.js.map +0 -1
  376. package/dist/cjs/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  377. package/dist/cjs/shared/components/CivicAuthIframeContainer.js +0 -159
  378. package/dist/cjs/shared/components/CivicAuthIframeContainer.js.map +0 -1
  379. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  380. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.js +0 -22
  381. package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  382. package/dist/cjs/shared/components/CloseIcon.d.ts.map +0 -1
  383. package/dist/cjs/shared/components/CloseIcon.js +0 -7
  384. package/dist/cjs/shared/components/CloseIcon.js.map +0 -1
  385. package/dist/cjs/shared/components/IFrameAndLoading.d.ts.map +0 -1
  386. package/dist/cjs/shared/components/IFrameAndLoading.js +0 -39
  387. package/dist/cjs/shared/components/IFrameAndLoading.js.map +0 -1
  388. package/dist/cjs/shared/components/LoadingIcon.d.ts.map +0 -1
  389. package/dist/cjs/shared/components/LoadingIcon.js +0 -28
  390. package/dist/cjs/shared/components/LoadingIcon.js.map +0 -1
  391. package/dist/cjs/shared/components/SVGLoading.d.ts +0 -2
  392. package/dist/cjs/shared/components/SVGLoading.d.ts.map +0 -1
  393. package/dist/cjs/shared/components/SVGLoading.js +0 -30
  394. package/dist/cjs/shared/components/SVGLoading.js.map +0 -1
  395. package/dist/cjs/shared/hooks/index.d.ts.map +0 -1
  396. package/dist/cjs/shared/hooks/index.js +0 -24
  397. package/dist/cjs/shared/hooks/index.js.map +0 -1
  398. package/dist/cjs/shared/hooks/useAuth.d.ts +0 -3
  399. package/dist/cjs/shared/hooks/useAuth.d.ts.map +0 -1
  400. package/dist/cjs/shared/hooks/useAuth.js +0 -15
  401. package/dist/cjs/shared/hooks/useAuth.js.map +0 -1
  402. package/dist/cjs/shared/hooks/useCivicAuthConfig.d.ts +0 -3
  403. package/dist/cjs/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  404. package/dist/cjs/shared/hooks/useCivicAuthConfig.js +0 -13
  405. package/dist/cjs/shared/hooks/useCivicAuthConfig.js.map +0 -1
  406. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  407. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  408. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js +0 -16
  409. package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  410. package/dist/cjs/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  411. package/dist/cjs/shared/hooks/useCurrentUrl.js +0 -27
  412. package/dist/cjs/shared/hooks/useCurrentUrl.js.map +0 -1
  413. package/dist/cjs/shared/hooks/useIframe.d.ts.map +0 -1
  414. package/dist/cjs/shared/hooks/useIframe.js +0 -16
  415. package/dist/cjs/shared/hooks/useIframe.js.map +0 -1
  416. package/dist/cjs/shared/hooks/useIsInIframe.d.ts.map +0 -1
  417. package/dist/cjs/shared/hooks/useIsInIframe.js +0 -17
  418. package/dist/cjs/shared/hooks/useIsInIframe.js.map +0 -1
  419. package/dist/cjs/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  420. package/dist/cjs/shared/hooks/useOAuthEndpoints.js +0 -17
  421. package/dist/cjs/shared/hooks/useOAuthEndpoints.js.map +0 -1
  422. package/dist/cjs/shared/hooks/useRefresh.d.ts.map +0 -1
  423. package/dist/cjs/shared/hooks/useRefresh.js +0 -41
  424. package/dist/cjs/shared/hooks/useRefresh.js.map +0 -1
  425. package/dist/cjs/shared/hooks/useSession.d.ts.map +0 -1
  426. package/dist/cjs/shared/hooks/useSession.js +0 -16
  427. package/dist/cjs/shared/hooks/useSession.js.map +0 -1
  428. package/dist/cjs/shared/hooks/useSignIn.d.ts.map +0 -1
  429. package/dist/cjs/shared/hooks/useSignIn.js +0 -168
  430. package/dist/cjs/shared/hooks/useSignIn.js.map +0 -1
  431. package/dist/cjs/shared/hooks/useToken.d.ts.map +0 -1
  432. package/dist/cjs/shared/hooks/useToken.js +0 -15
  433. package/dist/cjs/shared/hooks/useToken.js.map +0 -1
  434. package/dist/cjs/shared/hooks/useWindowFocused.d.ts.map +0 -1
  435. package/dist/cjs/shared/hooks/useWindowFocused.js +0 -24
  436. package/dist/cjs/shared/hooks/useWindowFocused.js.map +0 -1
  437. package/dist/cjs/shared/index.d.ts.map +0 -1
  438. package/dist/cjs/shared/index.js +0 -25
  439. package/dist/cjs/shared/index.js.map +0 -1
  440. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.d.ts +0 -13
  441. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.d.ts.map +0 -1
  442. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.js +0 -47
  443. package/dist/cjs/shared/lib/AuthenticationRefresherImpl.js.map +0 -1
  444. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts +0 -8
  445. package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts.map +0 -1
  446. package/dist/cjs/shared/lib/BrowserCookieStorage.js +0 -56
  447. package/dist/cjs/shared/lib/BrowserCookieStorage.js.map +0 -1
  448. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  449. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js +0 -65
  450. package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  451. package/dist/cjs/shared/lib/UserSession.d.ts.map +0 -1
  452. package/dist/cjs/shared/lib/UserSession.js +0 -27
  453. package/dist/cjs/shared/lib/UserSession.js.map +0 -1
  454. package/dist/cjs/shared/lib/iframeUtils.d.ts.map +0 -1
  455. package/dist/cjs/shared/lib/iframeUtils.js +0 -11
  456. package/dist/cjs/shared/lib/iframeUtils.js.map +0 -1
  457. package/dist/cjs/shared/lib/session.d.ts.map +0 -1
  458. package/dist/cjs/shared/lib/session.js +0 -48
  459. package/dist/cjs/shared/lib/session.js.map +0 -1
  460. package/dist/cjs/shared/lib/storage.d.ts +0 -34
  461. package/dist/cjs/shared/lib/storage.d.ts.map +0 -1
  462. package/dist/cjs/shared/lib/storage.js +0 -21
  463. package/dist/cjs/shared/lib/storage.js.map +0 -1
  464. package/dist/cjs/shared/lib/types.d.ts +0 -38
  465. package/dist/cjs/shared/lib/types.d.ts.map +0 -1
  466. package/dist/cjs/shared/lib/types.js +0 -22
  467. package/dist/cjs/shared/lib/types.js.map +0 -1
  468. package/dist/cjs/shared/lib/util.d.ts +0 -37
  469. package/dist/cjs/shared/lib/util.d.ts.map +0 -1
  470. package/dist/cjs/shared/lib/util.js +0 -204
  471. package/dist/cjs/shared/lib/util.js.map +0 -1
  472. package/dist/cjs/shared/providers/AuthContext.d.ts.map +0 -1
  473. package/dist/cjs/shared/providers/AuthContext.js +0 -7
  474. package/dist/cjs/shared/providers/AuthContext.js.map +0 -1
  475. package/dist/cjs/shared/providers/AuthProvider.d.ts +0 -22
  476. package/dist/cjs/shared/providers/AuthProvider.d.ts.map +0 -1
  477. package/dist/cjs/shared/providers/AuthProvider.js +0 -108
  478. package/dist/cjs/shared/providers/AuthProvider.js.map +0 -1
  479. package/dist/cjs/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  480. package/dist/cjs/shared/providers/CivicAuthConfigContext.js +0 -59
  481. package/dist/cjs/shared/providers/CivicAuthConfigContext.js.map +0 -1
  482. package/dist/cjs/shared/providers/CivicAuthProvider.d.ts +0 -6
  483. package/dist/cjs/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  484. package/dist/cjs/shared/providers/CivicAuthProvider.js +0 -38
  485. package/dist/cjs/shared/providers/CivicAuthProvider.js.map +0 -1
  486. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  487. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  488. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js +0 -168
  489. package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  490. package/dist/cjs/shared/providers/IframeProvider.d.ts +0 -24
  491. package/dist/cjs/shared/providers/IframeProvider.d.ts.map +0 -1
  492. package/dist/cjs/shared/providers/IframeProvider.js +0 -45
  493. package/dist/cjs/shared/providers/IframeProvider.js.map +0 -1
  494. package/dist/cjs/shared/providers/SessionProvider.d.ts.map +0 -1
  495. package/dist/cjs/shared/providers/SessionProvider.js +0 -28
  496. package/dist/cjs/shared/providers/SessionProvider.js.map +0 -1
  497. package/dist/cjs/shared/providers/TokenProvider.d.ts.map +0 -1
  498. package/dist/cjs/shared/providers/TokenProvider.js +0 -39
  499. package/dist/cjs/shared/providers/TokenProvider.js.map +0 -1
  500. package/dist/cjs/shared/providers/UserProvider.d.ts.map +0 -1
  501. package/dist/cjs/shared/providers/UserProvider.js +0 -69
  502. package/dist/cjs/shared/providers/UserProvider.js.map +0 -1
  503. package/dist/cjs/shared/providers/types.d.ts.map +0 -1
  504. package/dist/cjs/shared/providers/types.js +0 -3
  505. package/dist/cjs/shared/providers/types.js.map +0 -1
  506. package/dist/cjs/shared/version.d.ts +0 -2
  507. package/dist/cjs/shared/version.d.ts.map +0 -1
  508. package/dist/cjs/shared/version.js +0 -6
  509. package/dist/cjs/shared/version.js.map +0 -1
  510. package/dist/cjs/types.d.ts +0 -159
  511. package/dist/cjs/types.d.ts.map +0 -1
  512. package/dist/cjs/types.js +0 -20
  513. package/dist/cjs/types.js.map +0 -1
  514. package/dist/cjs/utils.d.ts.map +0 -1
  515. package/dist/cjs/utils.js +0 -47
  516. package/dist/cjs/utils.js.map +0 -1
  517. package/dist/cjs/version.d.ts.map +0 -1
  518. package/dist/cjs/version.js +0 -6
  519. package/dist/cjs/version.js.map +0 -1
  520. package/dist/esm/browser/storage.d.ts +0 -10
  521. package/dist/esm/browser/storage.d.ts.map +0 -1
  522. package/dist/esm/browser/storage.js.map +0 -1
  523. package/dist/esm/config.d.ts +0 -3
  524. package/dist/esm/config.d.ts.map +0 -1
  525. package/dist/esm/config.js.map +0 -1
  526. package/dist/esm/constants.d.ts +0 -12
  527. package/dist/esm/constants.d.ts.map +0 -1
  528. package/dist/esm/constants.js +0 -26
  529. package/dist/esm/constants.js.map +0 -1
  530. package/dist/esm/index.d.ts +0 -8
  531. package/dist/esm/index.d.ts.map +0 -1
  532. package/dist/esm/index.js.map +0 -1
  533. package/dist/esm/lib/cookies.d.ts +0 -7
  534. package/dist/esm/lib/cookies.d.ts.map +0 -1
  535. package/dist/esm/lib/cookies.js.map +0 -1
  536. package/dist/esm/lib/jwt.d.ts +0 -3
  537. package/dist/esm/lib/jwt.d.ts.map +0 -1
  538. package/dist/esm/lib/jwt.js.map +0 -1
  539. package/dist/esm/lib/logger.d.ts +0 -26
  540. package/dist/esm/lib/logger.d.ts.map +0 -1
  541. package/dist/esm/lib/logger.js.map +0 -1
  542. package/dist/esm/lib/oauth.d.ts +0 -19
  543. package/dist/esm/lib/oauth.d.ts.map +0 -1
  544. package/dist/esm/lib/oauth.js.map +0 -1
  545. package/dist/esm/lib/obj.d.ts +0 -3
  546. package/dist/esm/lib/obj.d.ts.map +0 -1
  547. package/dist/esm/lib/obj.js.map +0 -1
  548. package/dist/esm/lib/postMessage.d.ts +0 -4
  549. package/dist/esm/lib/postMessage.d.ts.map +0 -1
  550. package/dist/esm/lib/postMessage.js +0 -14
  551. package/dist/esm/lib/postMessage.js.map +0 -1
  552. package/dist/esm/lib/windowUtil.d.ts +0 -4
  553. package/dist/esm/lib/windowUtil.d.ts.map +0 -1
  554. package/dist/esm/lib/windowUtil.js.map +0 -1
  555. package/dist/esm/nextjs/GetUser.d.ts +0 -6
  556. package/dist/esm/nextjs/GetUser.d.ts.map +0 -1
  557. package/dist/esm/nextjs/GetUser.js +0 -7
  558. package/dist/esm/nextjs/GetUser.js.map +0 -1
  559. package/dist/esm/nextjs/NextClientAuthenticationRefresher.d.ts +0 -9
  560. package/dist/esm/nextjs/NextClientAuthenticationRefresher.d.ts.map +0 -1
  561. package/dist/esm/nextjs/NextClientAuthenticationRefresher.js.map +0 -1
  562. package/dist/esm/nextjs/config.d.ts.map +0 -1
  563. package/dist/esm/nextjs/config.js.map +0 -1
  564. package/dist/esm/nextjs/cookies.d.ts +0 -27
  565. package/dist/esm/nextjs/cookies.d.ts.map +0 -1
  566. package/dist/esm/nextjs/cookies.js +0 -103
  567. package/dist/esm/nextjs/cookies.js.map +0 -1
  568. package/dist/esm/nextjs/hooks/index.d.ts +0 -2
  569. package/dist/esm/nextjs/hooks/index.d.ts.map +0 -1
  570. package/dist/esm/nextjs/hooks/index.js.map +0 -1
  571. package/dist/esm/nextjs/hooks/usePrevious.d.ts +0 -2
  572. package/dist/esm/nextjs/hooks/usePrevious.d.ts.map +0 -1
  573. package/dist/esm/nextjs/hooks/usePrevious.js.map +0 -1
  574. package/dist/esm/nextjs/hooks/useRefresh.d.ts +0 -4
  575. package/dist/esm/nextjs/hooks/useRefresh.d.ts.map +0 -1
  576. package/dist/esm/nextjs/hooks/useRefresh.js.map +0 -1
  577. package/dist/esm/nextjs/hooks/useUserCookie.d.ts +0 -8
  578. package/dist/esm/nextjs/hooks/useUserCookie.d.ts.map +0 -1
  579. package/dist/esm/nextjs/hooks/useUserCookie.js.map +0 -1
  580. package/dist/esm/nextjs/index.d.ts +0 -9
  581. package/dist/esm/nextjs/index.d.ts.map +0 -1
  582. package/dist/esm/nextjs/index.js.map +0 -1
  583. package/dist/esm/nextjs/middleware/index.d.ts +0 -2
  584. package/dist/esm/nextjs/middleware/index.d.ts.map +0 -1
  585. package/dist/esm/nextjs/middleware/index.js.map +0 -1
  586. package/dist/esm/nextjs/middleware.d.ts +0 -57
  587. package/dist/esm/nextjs/middleware.d.ts.map +0 -1
  588. package/dist/esm/nextjs/middleware.js +0 -102
  589. package/dist/esm/nextjs/middleware.js.map +0 -1
  590. package/dist/esm/nextjs/providers/NextAuthProvider.d.ts +0 -9
  591. package/dist/esm/nextjs/providers/NextAuthProvider.d.ts.map +0 -1
  592. package/dist/esm/nextjs/providers/NextAuthProvider.js.map +0 -1
  593. package/dist/esm/nextjs/routeHandler.d.ts +0 -19
  594. package/dist/esm/nextjs/routeHandler.d.ts.map +0 -1
  595. package/dist/esm/nextjs/routeHandler.js +0 -312
  596. package/dist/esm/nextjs/routeHandler.js.map +0 -1
  597. package/dist/esm/nextjs/utils.d.ts +0 -3
  598. package/dist/esm/nextjs/utils.d.ts.map +0 -1
  599. package/dist/esm/nextjs/utils.js.map +0 -1
  600. package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts +0 -17
  601. package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts.map +0 -1
  602. package/dist/esm/reactjs/components/ButtonContentOrLoader.js.map +0 -1
  603. package/dist/esm/reactjs/components/SignInButton.d.ts +0 -9
  604. package/dist/esm/reactjs/components/SignInButton.d.ts.map +0 -1
  605. package/dist/esm/reactjs/components/SignInButton.js.map +0 -1
  606. package/dist/esm/reactjs/components/SignOutButton.d.ts +0 -7
  607. package/dist/esm/reactjs/components/SignOutButton.d.ts.map +0 -1
  608. package/dist/esm/reactjs/components/SignOutButton.js.map +0 -1
  609. package/dist/esm/reactjs/components/UserButton.d.ts +0 -9
  610. package/dist/esm/reactjs/components/UserButton.d.ts.map +0 -1
  611. package/dist/esm/reactjs/components/UserButton.js +0 -143
  612. package/dist/esm/reactjs/components/UserButton.js.map +0 -1
  613. package/dist/esm/reactjs/components/index.d.ts +0 -6
  614. package/dist/esm/reactjs/components/index.d.ts.map +0 -1
  615. package/dist/esm/reactjs/components/index.js.map +0 -1
  616. package/dist/esm/reactjs/components/utils.d.ts +0 -13
  617. package/dist/esm/reactjs/components/utils.d.ts.map +0 -1
  618. package/dist/esm/reactjs/components/utils.js.map +0 -1
  619. package/dist/esm/reactjs/hooks/index.d.ts +0 -3
  620. package/dist/esm/reactjs/hooks/index.d.ts.map +0 -1
  621. package/dist/esm/reactjs/hooks/index.js.map +0 -1
  622. package/dist/esm/reactjs/hooks/useAuth.d.ts +0 -3
  623. package/dist/esm/reactjs/hooks/useAuth.d.ts.map +0 -1
  624. package/dist/esm/reactjs/hooks/useAuth.js.map +0 -1
  625. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.d.ts +0 -3
  626. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  627. package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.js.map +0 -1
  628. package/dist/esm/reactjs/hooks/useSignIn.d.ts +0 -6
  629. package/dist/esm/reactjs/hooks/useSignIn.d.ts.map +0 -1
  630. package/dist/esm/reactjs/hooks/useSignIn.js +0 -34
  631. package/dist/esm/reactjs/hooks/useSignIn.js.map +0 -1
  632. package/dist/esm/reactjs/hooks/useUser.d.ts +0 -4
  633. package/dist/esm/reactjs/hooks/useUser.d.ts.map +0 -1
  634. package/dist/esm/reactjs/hooks/useUser.js.map +0 -1
  635. package/dist/esm/reactjs/index.d.ts +0 -6
  636. package/dist/esm/reactjs/index.d.ts.map +0 -1
  637. package/dist/esm/reactjs/index.js.map +0 -1
  638. package/dist/esm/reactjs/providers/AuthProvider.d.ts +0 -10
  639. package/dist/esm/reactjs/providers/AuthProvider.d.ts.map +0 -1
  640. package/dist/esm/reactjs/providers/AuthProvider.js.map +0 -1
  641. package/dist/esm/reactjs/providers/CivicAuthProvider.d.ts +0 -5
  642. package/dist/esm/reactjs/providers/CivicAuthProvider.d.ts.map +0 -1
  643. package/dist/esm/reactjs/providers/CivicAuthProvider.js.map +0 -1
  644. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  645. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  646. package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  647. package/dist/esm/reactjs/providers/index.d.ts +0 -8
  648. package/dist/esm/reactjs/providers/index.d.ts.map +0 -1
  649. package/dist/esm/reactjs/providers/index.js.map +0 -1
  650. package/dist/esm/server/ServerAuthenticationResolver.d.ts +0 -20
  651. package/dist/esm/server/ServerAuthenticationResolver.d.ts.map +0 -1
  652. package/dist/esm/server/ServerAuthenticationResolver.js +0 -67
  653. package/dist/esm/server/ServerAuthenticationResolver.js.map +0 -1
  654. package/dist/esm/server/config.d.ts +0 -11
  655. package/dist/esm/server/config.d.ts.map +0 -1
  656. package/dist/esm/server/config.js.map +0 -1
  657. package/dist/esm/server/index.d.ts +0 -9
  658. package/dist/esm/server/index.d.ts.map +0 -1
  659. package/dist/esm/server/index.js.map +0 -1
  660. package/dist/esm/server/login.d.ts +0 -17
  661. package/dist/esm/server/login.d.ts.map +0 -1
  662. package/dist/esm/server/login.js.map +0 -1
  663. package/dist/esm/server/logout.d.ts +0 -7
  664. package/dist/esm/server/logout.d.ts.map +0 -1
  665. package/dist/esm/server/logout.js.map +0 -1
  666. package/dist/esm/server/refresh.d.ts +0 -7
  667. package/dist/esm/server/refresh.d.ts.map +0 -1
  668. package/dist/esm/server/refresh.js.map +0 -1
  669. package/dist/esm/services/AuthenticationService.d.ts +0 -91
  670. package/dist/esm/services/AuthenticationService.d.ts.map +0 -1
  671. package/dist/esm/services/AuthenticationService.js +0 -352
  672. package/dist/esm/services/AuthenticationService.js.map +0 -1
  673. package/dist/esm/services/PKCE.d.ts +0 -20
  674. package/dist/esm/services/PKCE.d.ts.map +0 -1
  675. package/dist/esm/services/PKCE.js.map +0 -1
  676. package/dist/esm/services/types.d.ts +0 -24
  677. package/dist/esm/services/types.d.ts.map +0 -1
  678. package/dist/esm/services/types.js.map +0 -1
  679. package/dist/esm/shared/components/BlockDisplay.d.ts +0 -6
  680. package/dist/esm/shared/components/BlockDisplay.d.ts.map +0 -1
  681. package/dist/esm/shared/components/BlockDisplay.js +0 -25
  682. package/dist/esm/shared/components/BlockDisplay.js.map +0 -1
  683. package/dist/esm/shared/components/CivicAuthIframe.d.ts +0 -9
  684. package/dist/esm/shared/components/CivicAuthIframe.d.ts.map +0 -1
  685. package/dist/esm/shared/components/CivicAuthIframe.js +0 -30
  686. package/dist/esm/shared/components/CivicAuthIframe.js.map +0 -1
  687. package/dist/esm/shared/components/CivicAuthIframeContainer.d.ts +0 -14
  688. package/dist/esm/shared/components/CivicAuthIframeContainer.d.ts.map +0 -1
  689. package/dist/esm/shared/components/CivicAuthIframeContainer.js +0 -155
  690. package/dist/esm/shared/components/CivicAuthIframeContainer.js.map +0 -1
  691. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.d.ts +0 -6
  692. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +0 -1
  693. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.js +0 -20
  694. package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.js.map +0 -1
  695. package/dist/esm/shared/components/CloseIcon.d.ts +0 -3
  696. package/dist/esm/shared/components/CloseIcon.d.ts.map +0 -1
  697. package/dist/esm/shared/components/CloseIcon.js.map +0 -1
  698. package/dist/esm/shared/components/IFrameAndLoading.d.ts +0 -7
  699. package/dist/esm/shared/components/IFrameAndLoading.d.ts.map +0 -1
  700. package/dist/esm/shared/components/IFrameAndLoading.js.map +0 -1
  701. package/dist/esm/shared/components/LoadingIcon.d.ts +0 -6
  702. package/dist/esm/shared/components/LoadingIcon.d.ts.map +0 -1
  703. package/dist/esm/shared/components/LoadingIcon.js.map +0 -1
  704. package/dist/esm/shared/components/SVGLoading.d.ts +0 -2
  705. package/dist/esm/shared/components/SVGLoading.d.ts.map +0 -1
  706. package/dist/esm/shared/components/SVGLoading.js +0 -28
  707. package/dist/esm/shared/components/SVGLoading.js.map +0 -1
  708. package/dist/esm/shared/hooks/index.d.ts +0 -11
  709. package/dist/esm/shared/hooks/index.d.ts.map +0 -1
  710. package/dist/esm/shared/hooks/index.js.map +0 -1
  711. package/dist/esm/shared/hooks/useAuth.d.ts +0 -3
  712. package/dist/esm/shared/hooks/useAuth.d.ts.map +0 -1
  713. package/dist/esm/shared/hooks/useAuth.js +0 -12
  714. package/dist/esm/shared/hooks/useAuth.js.map +0 -1
  715. package/dist/esm/shared/hooks/useCivicAuthConfig.d.ts.map +0 -1
  716. package/dist/esm/shared/hooks/useCivicAuthConfig.js.map +0 -1
  717. package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts +0 -3
  718. package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts.map +0 -1
  719. package/dist/esm/shared/hooks/useClientTokenExchangeSession.js +0 -13
  720. package/dist/esm/shared/hooks/useClientTokenExchangeSession.js.map +0 -1
  721. package/dist/esm/shared/hooks/useCurrentUrl.d.ts +0 -3
  722. package/dist/esm/shared/hooks/useCurrentUrl.d.ts.map +0 -1
  723. package/dist/esm/shared/hooks/useCurrentUrl.js.map +0 -1
  724. package/dist/esm/shared/hooks/useIframe.d.ts +0 -3
  725. package/dist/esm/shared/hooks/useIframe.d.ts.map +0 -1
  726. package/dist/esm/shared/hooks/useIframe.js.map +0 -1
  727. package/dist/esm/shared/hooks/useIsInIframe.d.ts +0 -3
  728. package/dist/esm/shared/hooks/useIsInIframe.d.ts.map +0 -1
  729. package/dist/esm/shared/hooks/useIsInIframe.js.map +0 -1
  730. package/dist/esm/shared/hooks/useOAuthEndpoints.d.ts +0 -4
  731. package/dist/esm/shared/hooks/useOAuthEndpoints.d.ts.map +0 -1
  732. package/dist/esm/shared/hooks/useOAuthEndpoints.js.map +0 -1
  733. package/dist/esm/shared/hooks/useRefresh.d.ts +0 -4
  734. package/dist/esm/shared/hooks/useRefresh.d.ts.map +0 -1
  735. package/dist/esm/shared/hooks/useRefresh.js.map +0 -1
  736. package/dist/esm/shared/hooks/useSession.d.ts +0 -3
  737. package/dist/esm/shared/hooks/useSession.d.ts.map +0 -1
  738. package/dist/esm/shared/hooks/useSession.js.map +0 -1
  739. package/dist/esm/shared/hooks/useSignIn.d.ts +0 -17
  740. package/dist/esm/shared/hooks/useSignIn.d.ts.map +0 -1
  741. package/dist/esm/shared/hooks/useSignIn.js +0 -165
  742. package/dist/esm/shared/hooks/useSignIn.js.map +0 -1
  743. package/dist/esm/shared/hooks/useToken.d.ts +0 -3
  744. package/dist/esm/shared/hooks/useToken.d.ts.map +0 -1
  745. package/dist/esm/shared/hooks/useToken.js.map +0 -1
  746. package/dist/esm/shared/hooks/useWindowFocused.d.ts +0 -5
  747. package/dist/esm/shared/hooks/useWindowFocused.d.ts.map +0 -1
  748. package/dist/esm/shared/hooks/useWindowFocused.js.map +0 -1
  749. package/dist/esm/shared/index.d.ts +0 -7
  750. package/dist/esm/shared/index.d.ts.map +0 -1
  751. package/dist/esm/shared/index.js.map +0 -1
  752. package/dist/esm/shared/lib/AuthenticationRefresherImpl.d.ts +0 -13
  753. package/dist/esm/shared/lib/AuthenticationRefresherImpl.d.ts.map +0 -1
  754. package/dist/esm/shared/lib/AuthenticationRefresherImpl.js +0 -43
  755. package/dist/esm/shared/lib/AuthenticationRefresherImpl.js.map +0 -1
  756. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts +0 -8
  757. package/dist/esm/shared/lib/BrowserCookieStorage.d.ts.map +0 -1
  758. package/dist/esm/shared/lib/BrowserCookieStorage.js +0 -52
  759. package/dist/esm/shared/lib/BrowserCookieStorage.js.map +0 -1
  760. package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts +0 -16
  761. package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts.map +0 -1
  762. package/dist/esm/shared/lib/GenericAuthenticationRefresher.js.map +0 -1
  763. package/dist/esm/shared/lib/UserSession.d.ts +0 -17
  764. package/dist/esm/shared/lib/UserSession.d.ts.map +0 -1
  765. package/dist/esm/shared/lib/UserSession.js.map +0 -1
  766. package/dist/esm/shared/lib/iframeUtils.d.ts +0 -6
  767. package/dist/esm/shared/lib/iframeUtils.d.ts.map +0 -1
  768. package/dist/esm/shared/lib/iframeUtils.js.map +0 -1
  769. package/dist/esm/shared/lib/session.d.ts +0 -4
  770. package/dist/esm/shared/lib/session.d.ts.map +0 -1
  771. package/dist/esm/shared/lib/session.js.map +0 -1
  772. package/dist/esm/shared/lib/storage.d.ts +0 -34
  773. package/dist/esm/shared/lib/storage.d.ts.map +0 -1
  774. package/dist/esm/shared/lib/storage.js.map +0 -1
  775. package/dist/esm/shared/lib/types.d.ts +0 -38
  776. package/dist/esm/shared/lib/types.d.ts.map +0 -1
  777. package/dist/esm/shared/lib/types.js.map +0 -1
  778. package/dist/esm/shared/lib/util.d.ts +0 -37
  779. package/dist/esm/shared/lib/util.d.ts.map +0 -1
  780. package/dist/esm/shared/lib/util.js +0 -155
  781. package/dist/esm/shared/lib/util.js.map +0 -1
  782. package/dist/esm/shared/providers/AuthContext.d.ts +0 -12
  783. package/dist/esm/shared/providers/AuthContext.d.ts.map +0 -1
  784. package/dist/esm/shared/providers/AuthContext.js.map +0 -1
  785. package/dist/esm/shared/providers/AuthProvider.d.ts +0 -22
  786. package/dist/esm/shared/providers/AuthProvider.d.ts.map +0 -1
  787. package/dist/esm/shared/providers/AuthProvider.js +0 -72
  788. package/dist/esm/shared/providers/AuthProvider.js.map +0 -1
  789. package/dist/esm/shared/providers/CivicAuthConfigContext.d.ts +0 -19
  790. package/dist/esm/shared/providers/CivicAuthConfigContext.d.ts.map +0 -1
  791. package/dist/esm/shared/providers/CivicAuthConfigContext.js.map +0 -1
  792. package/dist/esm/shared/providers/CivicAuthProvider.d.ts +0 -6
  793. package/dist/esm/shared/providers/CivicAuthProvider.d.ts.map +0 -1
  794. package/dist/esm/shared/providers/CivicAuthProvider.js +0 -32
  795. package/dist/esm/shared/providers/CivicAuthProvider.js.map +0 -1
  796. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts +0 -17
  797. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +0 -1
  798. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js +0 -131
  799. package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js.map +0 -1
  800. package/dist/esm/shared/providers/IframeProvider.d.ts +0 -24
  801. package/dist/esm/shared/providers/IframeProvider.d.ts.map +0 -1
  802. package/dist/esm/shared/providers/IframeProvider.js +0 -41
  803. package/dist/esm/shared/providers/IframeProvider.js.map +0 -1
  804. package/dist/esm/shared/providers/SessionProvider.d.ts +0 -19
  805. package/dist/esm/shared/providers/SessionProvider.d.ts.map +0 -1
  806. package/dist/esm/shared/providers/SessionProvider.js.map +0 -1
  807. package/dist/esm/shared/providers/TokenProvider.d.ts +0 -17
  808. package/dist/esm/shared/providers/TokenProvider.d.ts.map +0 -1
  809. package/dist/esm/shared/providers/TokenProvider.js.map +0 -1
  810. package/dist/esm/shared/providers/UserProvider.d.ts +0 -26
  811. package/dist/esm/shared/providers/UserProvider.d.ts.map +0 -1
  812. package/dist/esm/shared/providers/UserProvider.js.map +0 -1
  813. package/dist/esm/shared/providers/types.d.ts +0 -15
  814. package/dist/esm/shared/providers/types.d.ts.map +0 -1
  815. package/dist/esm/shared/providers/types.js.map +0 -1
  816. package/dist/esm/shared/version.d.ts +0 -2
  817. package/dist/esm/shared/version.d.ts.map +0 -1
  818. package/dist/esm/shared/version.js +0 -3
  819. package/dist/esm/shared/version.js.map +0 -1
  820. package/dist/esm/types.d.ts +0 -159
  821. package/dist/esm/types.d.ts.map +0 -1
  822. package/dist/esm/types.js.map +0 -1
  823. package/dist/esm/utils.d.ts +0 -15
  824. package/dist/esm/utils.d.ts.map +0 -1
  825. package/dist/esm/utils.js.map +0 -1
  826. package/dist/esm/version.d.ts +0 -2
  827. package/dist/esm/version.d.ts.map +0 -1
  828. package/dist/esm/version.js.map +0 -1
  829. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  830. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  831. /package/dist/{cjs/browser → browser}/storage.d.ts +0 -0
  832. /package/dist/{esm/browser → browser}/storage.js +0 -0
  833. /package/dist/{cjs/config.d.ts → config.d.ts} +0 -0
  834. /package/dist/{esm/config.js → config.js} +0 -0
  835. /package/dist/{cjs/index.d.ts → index.d.ts} +0 -0
  836. /package/dist/{esm/index.js → index.js} +0 -0
  837. /package/dist/{cjs/lib → lib}/cookies.d.ts +0 -0
  838. /package/dist/{esm/lib → lib}/cookies.js +0 -0
  839. /package/dist/{cjs/lib → lib}/jwt.d.ts +0 -0
  840. /package/dist/{esm/lib → lib}/jwt.js +0 -0
  841. /package/dist/{cjs/lib → lib}/logger.d.ts +0 -0
  842. /package/dist/{esm/lib → lib}/logger.js +0 -0
  843. /package/dist/{cjs/lib → lib}/oauth.d.ts +0 -0
  844. /package/dist/{esm/lib → lib}/oauth.js +0 -0
  845. /package/dist/{cjs/lib → lib}/obj.d.ts +0 -0
  846. /package/dist/{esm/lib → lib}/obj.js +0 -0
  847. /package/dist/{cjs/lib → lib}/postMessage.d.ts +0 -0
  848. /package/dist/{cjs/lib → lib}/windowUtil.d.ts +0 -0
  849. /package/dist/{esm/lib → lib}/windowUtil.js +0 -0
  850. /package/dist/{cjs/nextjs → nextjs}/NextClientAuthenticationRefresher.d.ts +0 -0
  851. /package/dist/{esm/nextjs → nextjs}/NextClientAuthenticationRefresher.js +0 -0
  852. /package/dist/{esm/nextjs → nextjs}/config.d.ts +0 -0
  853. /package/dist/{esm/nextjs → nextjs}/config.js +0 -0
  854. /package/dist/{cjs/nextjs → nextjs}/hooks/index.d.ts +0 -0
  855. /package/dist/{esm/nextjs → nextjs}/hooks/index.js +0 -0
  856. /package/dist/{cjs/nextjs → nextjs}/hooks/usePrevious.d.ts +0 -0
  857. /package/dist/{esm/nextjs → nextjs}/hooks/usePrevious.js +0 -0
  858. /package/dist/{cjs/nextjs → nextjs}/hooks/useRefresh.d.ts +0 -0
  859. /package/dist/{esm/nextjs → nextjs}/hooks/useRefresh.js +0 -0
  860. /package/dist/{cjs/nextjs → nextjs}/hooks/useUserCookie.d.ts +0 -0
  861. /package/dist/{esm/nextjs → nextjs}/hooks/useUserCookie.js +0 -0
  862. /package/dist/{cjs/nextjs → nextjs}/index.d.ts +0 -0
  863. /package/dist/{esm/nextjs → nextjs}/index.js +0 -0
  864. /package/dist/{cjs/nextjs → nextjs}/middleware/index.d.ts +0 -0
  865. /package/dist/{esm/nextjs → nextjs}/middleware/index.js +0 -0
  866. /package/dist/{cjs/nextjs → nextjs}/middleware.d.ts +0 -0
  867. /package/dist/{cjs/nextjs → nextjs}/providers/NextAuthProvider.d.ts +0 -0
  868. /package/dist/{esm/nextjs → nextjs}/providers/NextAuthProvider.js +0 -0
  869. /package/dist/{cjs/nextjs → nextjs}/routeHandler.d.ts +0 -0
  870. /package/dist/{cjs/nextjs → nextjs}/utils.d.ts +0 -0
  871. /package/dist/{esm/nextjs → nextjs}/utils.js +0 -0
  872. /package/dist/{cjs/reactjs → reactjs}/components/ButtonContentOrLoader.d.ts +0 -0
  873. /package/dist/{esm/reactjs → reactjs}/components/ButtonContentOrLoader.js +0 -0
  874. /package/dist/{cjs/reactjs → reactjs}/components/SignInButton.d.ts +0 -0
  875. /package/dist/{esm/reactjs → reactjs}/components/SignInButton.js +0 -0
  876. /package/dist/{cjs/reactjs → reactjs}/components/SignOutButton.d.ts +0 -0
  877. /package/dist/{esm/reactjs → reactjs}/components/SignOutButton.js +0 -0
  878. /package/dist/{cjs/reactjs → reactjs}/components/UserButton.d.ts +0 -0
  879. /package/dist/{cjs/reactjs → reactjs}/components/index.d.ts +0 -0
  880. /package/dist/{esm/reactjs → reactjs}/components/index.js +0 -0
  881. /package/dist/{cjs/reactjs → reactjs}/components/utils.d.ts +0 -0
  882. /package/dist/{esm/reactjs → reactjs}/components/utils.js +0 -0
  883. /package/dist/{cjs/reactjs → reactjs}/hooks/index.d.ts +0 -0
  884. /package/dist/{esm/reactjs → reactjs}/hooks/index.js +0 -0
  885. /package/dist/{cjs/reactjs → reactjs}/hooks/useClientTokenExchangeSession.d.ts +0 -0
  886. /package/dist/{esm/reactjs → reactjs}/hooks/useClientTokenExchangeSession.js +0 -0
  887. /package/dist/{cjs/reactjs → reactjs}/hooks/useUser.d.ts +0 -0
  888. /package/dist/{esm/reactjs → reactjs}/hooks/useUser.js +0 -0
  889. /package/dist/{cjs/reactjs → reactjs}/index.d.ts +0 -0
  890. /package/dist/{esm/reactjs → reactjs}/index.js +0 -0
  891. /package/dist/{cjs/reactjs → reactjs}/providers/AuthProvider.d.ts +0 -0
  892. /package/dist/{esm/reactjs → reactjs}/providers/AuthProvider.js +0 -0
  893. /package/dist/{cjs/reactjs → reactjs}/providers/CivicAuthProvider.d.ts +0 -0
  894. /package/dist/{esm/reactjs → reactjs}/providers/CivicAuthProvider.js +0 -0
  895. /package/dist/{cjs/reactjs → reactjs}/providers/ClientTokenExchangeSessionProvider.d.ts +0 -0
  896. /package/dist/{esm/reactjs → reactjs}/providers/ClientTokenExchangeSessionProvider.js +0 -0
  897. /package/dist/{cjs/reactjs → reactjs}/providers/index.d.ts +0 -0
  898. /package/dist/{esm/reactjs → reactjs}/providers/index.js +0 -0
  899. /package/dist/{cjs/server → server}/ServerAuthenticationResolver.d.ts +0 -0
  900. /package/dist/{cjs/server → server}/config.d.ts +0 -0
  901. /package/dist/{esm/server → server}/config.js +0 -0
  902. /package/dist/{cjs/server → server}/index.d.ts +0 -0
  903. /package/dist/{esm/server → server}/index.js +0 -0
  904. /package/dist/{cjs/server → server}/login.d.ts +0 -0
  905. /package/dist/{esm/server → server}/login.js +0 -0
  906. /package/dist/{cjs/server → server}/logout.d.ts +0 -0
  907. /package/dist/{esm/server → server}/logout.js +0 -0
  908. /package/dist/{cjs/server → server}/refresh.d.ts +0 -0
  909. /package/dist/{esm/server → server}/refresh.js +0 -0
  910. /package/dist/{cjs/services → services}/PKCE.d.ts +0 -0
  911. /package/dist/{esm/services → services}/PKCE.js +0 -0
  912. /package/dist/{cjs/services → services}/types.d.ts +0 -0
  913. /package/dist/{esm/services → services}/types.js +0 -0
  914. /package/dist/{cjs/shared → shared}/components/BlockDisplay.d.ts +0 -0
  915. /package/dist/{cjs/shared → shared}/components/CivicAuthIframe.d.ts +0 -0
  916. /package/dist/{cjs/shared → shared}/components/CivicAuthIframeContainer.d.ts +0 -0
  917. /package/dist/{cjs/shared → shared}/components/CivicAuthLogoutIframeContainer.d.ts +0 -0
  918. /package/dist/{cjs/shared → shared}/components/CloseIcon.d.ts +0 -0
  919. /package/dist/{esm/shared → shared}/components/CloseIcon.js +0 -0
  920. /package/dist/{cjs/shared → shared}/components/IFrameAndLoading.d.ts +0 -0
  921. /package/dist/{esm/shared → shared}/components/IFrameAndLoading.js +0 -0
  922. /package/dist/{cjs/shared → shared}/components/LoadingIcon.d.ts +0 -0
  923. /package/dist/{esm/shared → shared}/components/LoadingIcon.js +0 -0
  924. /package/dist/{cjs/shared → shared}/hooks/index.d.ts +0 -0
  925. /package/dist/{esm/shared → shared}/hooks/index.js +0 -0
  926. /package/dist/{cjs/reactjs → shared}/hooks/useAuth.d.ts +0 -0
  927. /package/dist/{esm/reactjs → shared}/hooks/useAuth.js +0 -0
  928. /package/dist/{esm/shared → shared}/hooks/useCivicAuthConfig.d.ts +0 -0
  929. /package/dist/{esm/shared → shared}/hooks/useCivicAuthConfig.js +0 -0
  930. /package/dist/{cjs/shared → shared}/hooks/useCurrentUrl.d.ts +0 -0
  931. /package/dist/{esm/shared → shared}/hooks/useCurrentUrl.js +0 -0
  932. /package/dist/{cjs/shared → shared}/hooks/useIframe.d.ts +0 -0
  933. /package/dist/{esm/shared → shared}/hooks/useIframe.js +0 -0
  934. /package/dist/{cjs/shared → shared}/hooks/useIsInIframe.d.ts +0 -0
  935. /package/dist/{esm/shared → shared}/hooks/useIsInIframe.js +0 -0
  936. /package/dist/{cjs/shared → shared}/hooks/useOAuthEndpoints.d.ts +0 -0
  937. /package/dist/{esm/shared → shared}/hooks/useOAuthEndpoints.js +0 -0
  938. /package/dist/{cjs/shared → shared}/hooks/useRefresh.d.ts +0 -0
  939. /package/dist/{esm/shared → shared}/hooks/useRefresh.js +0 -0
  940. /package/dist/{cjs/shared → shared}/hooks/useSession.d.ts +0 -0
  941. /package/dist/{esm/shared → shared}/hooks/useSession.js +0 -0
  942. /package/dist/{cjs/shared → shared}/hooks/useSignIn.d.ts +0 -0
  943. /package/dist/{cjs/shared → shared}/hooks/useToken.d.ts +0 -0
  944. /package/dist/{esm/shared → shared}/hooks/useToken.js +0 -0
  945. /package/dist/{cjs/shared → shared}/hooks/useWindowFocused.d.ts +0 -0
  946. /package/dist/{esm/shared → shared}/hooks/useWindowFocused.js +0 -0
  947. /package/dist/{cjs/shared → shared}/index.d.ts +0 -0
  948. /package/dist/{esm/shared → shared}/index.js +0 -0
  949. /package/dist/{cjs/shared → shared}/lib/GenericAuthenticationRefresher.d.ts +0 -0
  950. /package/dist/{esm/shared → shared}/lib/GenericAuthenticationRefresher.js +0 -0
  951. /package/dist/{cjs/shared → shared}/lib/UserSession.d.ts +0 -0
  952. /package/dist/{esm/shared → shared}/lib/UserSession.js +0 -0
  953. /package/dist/{cjs/shared → shared}/lib/iframeUtils.d.ts +0 -0
  954. /package/dist/{esm/shared → shared}/lib/iframeUtils.js +0 -0
  955. /package/dist/{cjs/shared → shared}/lib/session.d.ts +0 -0
  956. /package/dist/{esm/shared → shared}/lib/session.js +0 -0
  957. /package/dist/{esm/shared → shared}/lib/storage.js +0 -0
  958. /package/dist/{esm/shared → shared}/lib/types.js +0 -0
  959. /package/dist/{cjs/shared → shared}/providers/AuthContext.d.ts +0 -0
  960. /package/dist/{esm/shared → shared}/providers/AuthContext.js +0 -0
  961. /package/dist/{cjs/shared → shared}/providers/CivicAuthConfigContext.d.ts +0 -0
  962. /package/dist/{esm/shared → shared}/providers/CivicAuthConfigContext.js +0 -0
  963. /package/dist/{cjs/shared → shared}/providers/SessionProvider.d.ts +0 -0
  964. /package/dist/{esm/shared → shared}/providers/SessionProvider.js +0 -0
  965. /package/dist/{cjs/shared → shared}/providers/TokenProvider.d.ts +0 -0
  966. /package/dist/{esm/shared → shared}/providers/TokenProvider.js +0 -0
  967. /package/dist/{cjs/shared → shared}/providers/UserProvider.d.ts +0 -0
  968. /package/dist/{esm/shared → shared}/providers/UserProvider.js +0 -0
  969. /package/dist/{cjs/shared → shared}/providers/types.d.ts +0 -0
  970. /package/dist/{esm/shared → shared}/providers/types.js +0 -0
  971. /package/dist/{esm/types.js → types.js} +0 -0
  972. /package/dist/{cjs/utils.d.ts → utils.d.ts} +0 -0
  973. /package/dist/{esm/utils.js → utils.js} +0 -0
  974. /package/dist/{cjs/version.d.ts → version.d.ts} +0 -0
  975. /package/dist/{esm/version.js → version.js} +0 -0
@@ -0,0 +1,154 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
3
+ import React, { useCallback, useEffect, useRef, useState } from "react";
4
+ import { LoadingIcon } from "../../shared/components/LoadingIcon.js";
5
+ import { CloseIcon } from "../../shared/components/CloseIcon.js";
6
+ import { CivicAuthIframe } from "../../shared/components/CivicAuthIframe.js";
7
+ import { useIframe } from "../../shared/hooks/index.js";
8
+ import { TOKEN_EXCHANGE_TRIGGER_TEXT } from "../../constants.js";
9
+ import { useCivicAuthConfig } from "../../shared/hooks/index.js";
10
+ import { useClientTokenExchangeSession } from "../../shared/hooks/index.js";
11
+ import { getIframeRef } from "../lib/iframeUtils.js";
12
+ function NoChrome({ children, }) {
13
+ return (_jsx("div", { "data-testid": "civic-iframe-no-chrome", style: { position: "relative" }, children: children }));
14
+ }
15
+ export function IframeChrome({ children, onClose, isFrameLoaded, }) {
16
+ const { setIframeAborted, iframeMode, backgroundColor } = useIframe();
17
+ const iframeContainerStyleOverrides = iframeMode === "embedded"
18
+ ? {
19
+ paddingTop: "1.5rem",
20
+ borderRadius: "1.5rem",
21
+ }
22
+ : {
23
+ ...(isFrameLoaded
24
+ ? {
25
+ paddingTop: "1.5rem",
26
+ borderRadius: "1.5rem",
27
+ }
28
+ : { borderRadius: "0.5rem", paddingTop: "0" }),
29
+ };
30
+ return (_jsx("div", { style: {
31
+ position: "fixed", // Change to fixed to stay in viewport
32
+ left: 0,
33
+ top: 0,
34
+ zIndex: 50,
35
+ display: "flex",
36
+ height: "100vh",
37
+ width: "100vw",
38
+ alignItems: "center",
39
+ justifyContent: "center",
40
+ backgroundColor: "rgba(17, 24, 39, 0.5)", // Semi-transparent dark background
41
+ backdropFilter: "blur(4px)", // Optional: adds slight blur to background
42
+ }, onClick: () => {
43
+ setIframeAborted(true);
44
+ onClose?.();
45
+ }, children: _jsxs("div", { "data-testid": "iframe-chrome", style: {
46
+ position: "relative",
47
+ overflow: "hidden",
48
+ backgroundColor,
49
+ paddingLeft: "0",
50
+ paddingRight: "0",
51
+ paddingBottom: "0",
52
+ // paddingTop gets added in style overrides
53
+ ...iframeContainerStyleOverrides,
54
+ boxShadow: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",
55
+ minWidth: "20rem",
56
+ }, onClick: (e) => e.stopPropagation(), children: [isFrameLoaded && (_jsx("button", { style: {
57
+ position: "absolute",
58
+ right: "1rem",
59
+ top: "1rem",
60
+ display: "flex",
61
+ cursor: "pointer",
62
+ alignItems: "center",
63
+ justifyContent: "center",
64
+ border: "none",
65
+ backgroundColor: "transparent",
66
+ padding: "0.25rem",
67
+ color: "#9ca3af",
68
+ }, onClick: () => {
69
+ setIframeAborted(true);
70
+ onClose?.();
71
+ }, children: _jsx(CloseIcon, {}) })), children] }) }));
72
+ }
73
+ const CivicAuthIframeContainer = ({ onClose, closeOnRedirect = true, }) => {
74
+ const config = useCivicAuthConfig();
75
+ const [tokenExchangeUrl, setTokenExchangeUrl] = useState(null);
76
+ const { doTokenExchange } = useClientTokenExchangeSession();
77
+ const { iframeRef, iframeMode, backgroundColor } = useIframe();
78
+ useEffect(() => {
79
+ if (tokenExchangeUrl) {
80
+ doTokenExchange?.(tokenExchangeUrl);
81
+ }
82
+ }, [doTokenExchange, tokenExchangeUrl]);
83
+ const processIframeUrl = useCallback(() => {
84
+ if (!config)
85
+ return;
86
+ if (iframeRef && iframeRef.current) {
87
+ const ref = getIframeRef(iframeRef.current);
88
+ if (ref.contentWindow) {
89
+ try {
90
+ const iframeUrl = ref.contentWindow.location.href;
91
+ // we know that oauth has finished when the iframe redirects to our redirectUrl
92
+ if (iframeUrl.startsWith(config.redirectUrl)) {
93
+ const iframeBody = ref.contentWindow.document.body.innerHTML;
94
+ // If we're doing a server token exchange, we need to call the server a second time
95
+ // using a fetch so that we're on the same domain and cookies can be sent and read
96
+ // The server will use the presence of the code_verifier cookie to determine whether to do a token exchange or not.
97
+ // On the initial (3rd party) redirect from the auth server, the cookie won't be sent, so the server-side callback route will just render a blank page,
98
+ // and we'll do the exchange request from here, which will include the cookies.
99
+ if (iframeBody.includes(TOKEN_EXCHANGE_TRIGGER_TEXT)) {
100
+ const params = new URL(iframeUrl).searchParams;
101
+ const appUrl = globalThis.window?.location?.origin;
102
+ fetch(`${config.redirectUrl}?${params.toString()}&appUrl=${appUrl}`);
103
+ }
104
+ else {
105
+ // if we're doing token-exchange in the client, we can just set the authResponseUrl
106
+ // to be handled by the auth provider
107
+ // iframeRef.current.setAttribute("src", "");
108
+ setTokenExchangeUrl(iframeUrl);
109
+ }
110
+ if (closeOnRedirect)
111
+ onClose?.();
112
+ return true; // Successfully processed the URL
113
+ }
114
+ }
115
+ catch {
116
+ // ignore errors while waiting for redirect
117
+ }
118
+ }
119
+ }
120
+ return false; // Haven't processed the URL yet
121
+ }, [closeOnRedirect, config, iframeRef, onClose]);
122
+ const intervalId = useRef();
123
+ const handleEscape = useCallback((event) => {
124
+ if (event.key === "Escape") {
125
+ onClose?.();
126
+ }
127
+ }, [onClose]);
128
+ // handle Escape
129
+ useEffect(() => {
130
+ window.addEventListener("keydown", handleEscape);
131
+ return () => window.removeEventListener("keydown", handleEscape);
132
+ });
133
+ const [isIframeContentLoaded, setIsIframeContentLoaded] = useState(false);
134
+ const handleIframeLoad = useCallback(() => {
135
+ setIsIframeContentLoaded(true);
136
+ const iframeHasUrl = processIframeUrl();
137
+ if (iframeHasUrl && intervalId.current) {
138
+ clearInterval(intervalId.current);
139
+ }
140
+ }, [processIframeUrl, intervalId]);
141
+ const WrapperComponent = iframeMode === "embedded" ? NoChrome : IframeChrome;
142
+ const showLoadingIcon = !isIframeContentLoaded && iframeMode === "embedded";
143
+ return (_jsxs(WrapperComponent, { onClose: onClose, isFrameLoaded: isIframeContentLoaded, children: [showLoadingIcon ? (_jsx("div", { id: "civic-auth-loading-icon-wrapper", style: {
144
+ position: "absolute",
145
+ inset: 0,
146
+ display: "flex",
147
+ alignItems: "center",
148
+ justifyContent: "center",
149
+ backgroundColor,
150
+ borderRadius: "24px",
151
+ }, children: _jsx(LoadingIcon, {}) })) : null, _jsx(CivicAuthIframe, { ref: iframeRef, id: "civic-auth-iframe", onLoad: handleIframeLoad })] }));
152
+ };
153
+ export { CivicAuthIframeContainer };
154
+ //# sourceMappingURL=CivicAuthIframeContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CivicAuthIframeContainer.js","sourceRoot":"","sources":["../../../src/shared/components/CivicAuthIframeContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport { LoadingIcon } from \"@/shared/components/LoadingIcon.js\";\nimport { CloseIcon } from \"@/shared/components/CloseIcon.js\";\nimport { CivicAuthIframe } from \"@/shared/components/CivicAuthIframe.js\";\nimport { useIframe } from \"@/shared/hooks/index.js\";\nimport { TOKEN_EXCHANGE_TRIGGER_TEXT } from \"@/constants.js\";\nimport { useCivicAuthConfig } from \"@/shared/hooks/index.js\";\nimport { useClientTokenExchangeSession } from \"@/shared/hooks/index.js\";\nimport { getIframeRef } from \"../lib/iframeUtils.js\";\n\ntype CivicAuthIframeContainerProps = {\n onClose?: () => void;\n closeOnRedirect?: boolean;\n};\n\nfunction NoChrome({\n children,\n}: {\n children: React.ReactNode;\n onClose?: () => void;\n}) {\n return (\n <div data-testid=\"civic-iframe-no-chrome\" style={{ position: \"relative\" }}>\n {children}\n </div>\n );\n}\n\nexport function IframeChrome({\n children,\n onClose,\n isFrameLoaded,\n}: {\n children: React.ReactNode;\n onClose?: () => void;\n isFrameLoaded: boolean;\n}) {\n const { setIframeAborted, iframeMode, backgroundColor } = useIframe();\n\n const iframeContainerStyleOverrides =\n iframeMode === \"embedded\"\n ? {\n paddingTop: \"1.5rem\",\n borderRadius: \"1.5rem\",\n }\n : {\n ...(isFrameLoaded\n ? {\n paddingTop: \"1.5rem\",\n borderRadius: \"1.5rem\",\n }\n : { borderRadius: \"0.5rem\", paddingTop: \"0\" }),\n };\n return (\n <div\n style={{\n position: \"fixed\", // Change to fixed to stay in viewport\n left: 0,\n top: 0,\n zIndex: 50,\n display: \"flex\",\n height: \"100vh\",\n width: \"100vw\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor: \"rgba(17, 24, 39, 0.5)\", // Semi-transparent dark background\n backdropFilter: \"blur(4px)\", // Optional: adds slight blur to background\n }}\n onClick={() => {\n setIframeAborted(true);\n onClose?.();\n }}\n >\n <div\n data-testid=\"iframe-chrome\"\n style={{\n position: \"relative\",\n overflow: \"hidden\",\n backgroundColor,\n paddingLeft: \"0\",\n paddingRight: \"0\",\n paddingBottom: \"0\",\n // paddingTop gets added in style overrides\n ...iframeContainerStyleOverrides,\n boxShadow:\n \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)\",\n minWidth: \"20rem\",\n }}\n onClick={(e) => e.stopPropagation()}\n >\n {isFrameLoaded && (\n <button\n style={{\n position: \"absolute\",\n right: \"1rem\",\n top: \"1rem\",\n display: \"flex\",\n cursor: \"pointer\",\n alignItems: \"center\",\n justifyContent: \"center\",\n border: \"none\",\n backgroundColor: \"transparent\",\n padding: \"0.25rem\",\n color: \"#9ca3af\",\n }}\n onClick={() => {\n setIframeAborted(true);\n onClose?.();\n }}\n >\n <CloseIcon />\n </button>\n )}\n\n {children}\n </div>\n </div>\n );\n}\n\nconst CivicAuthIframeContainer = ({\n onClose,\n closeOnRedirect = true,\n}: CivicAuthIframeContainerProps) => {\n const config = useCivicAuthConfig();\n const [tokenExchangeUrl, setTokenExchangeUrl] = useState<string | null>(null);\n const { doTokenExchange } = useClientTokenExchangeSession();\n const { iframeRef, iframeMode, backgroundColor } = useIframe();\n\n useEffect(() => {\n if (tokenExchangeUrl) {\n doTokenExchange?.(tokenExchangeUrl);\n }\n }, [doTokenExchange, tokenExchangeUrl]);\n\n const processIframeUrl = useCallback(() => {\n if (!config) return;\n if (iframeRef && iframeRef.current) {\n const ref = getIframeRef(iframeRef.current)!;\n if (ref.contentWindow) {\n try {\n const iframeUrl = ref.contentWindow.location.href;\n // we know that oauth has finished when the iframe redirects to our redirectUrl\n if (iframeUrl.startsWith(config.redirectUrl)) {\n const iframeBody = ref.contentWindow.document.body.innerHTML;\n\n // If we're doing a server token exchange, we need to call the server a second time\n // using a fetch so that we're on the same domain and cookies can be sent and read\n // The server will use the presence of the code_verifier cookie to determine whether to do a token exchange or not.\n // On the initial (3rd party) redirect from the auth server, the cookie won't be sent, so the server-side callback route will just render a blank page,\n // and we'll do the exchange request from here, which will include the cookies.\n if (iframeBody.includes(TOKEN_EXCHANGE_TRIGGER_TEXT)) {\n const params = new URL(iframeUrl).searchParams;\n const appUrl = globalThis.window?.location?.origin;\n fetch(\n `${config.redirectUrl}?${params.toString()}&appUrl=${appUrl}`,\n );\n } else {\n // if we're doing token-exchange in the client, we can just set the authResponseUrl\n // to be handled by the auth provider\n // iframeRef.current.setAttribute(\"src\", \"\");\n setTokenExchangeUrl(iframeUrl);\n }\n\n if (closeOnRedirect) onClose?.();\n return true; // Successfully processed the URL\n }\n } catch {\n // ignore errors while waiting for redirect\n }\n }\n }\n return false; // Haven't processed the URL yet\n }, [closeOnRedirect, config, iframeRef, onClose]);\n\n const intervalId = useRef<NodeJS.Timeout>();\n\n const handleEscape = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n onClose?.();\n }\n },\n [onClose],\n );\n\n // handle Escape\n useEffect(() => {\n window.addEventListener(\"keydown\", handleEscape);\n\n return () => window.removeEventListener(\"keydown\", handleEscape);\n });\n\n const [isIframeContentLoaded, setIsIframeContentLoaded] = useState(false);\n const handleIframeLoad = useCallback(() => {\n setIsIframeContentLoaded(true);\n\n const iframeHasUrl = processIframeUrl();\n if (iframeHasUrl && intervalId.current) {\n clearInterval(intervalId.current);\n }\n }, [processIframeUrl, intervalId]);\n\n const WrapperComponent = iframeMode === \"embedded\" ? NoChrome : IframeChrome;\n\n const showLoadingIcon = !isIframeContentLoaded && iframeMode === \"embedded\";\n return (\n <WrapperComponent onClose={onClose} isFrameLoaded={isIframeContentLoaded}>\n {showLoadingIcon ? (\n <div\n id=\"civic-auth-loading-icon-wrapper\"\n style={{\n position: \"absolute\",\n inset: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n backgroundColor,\n borderRadius: \"24px\",\n }}\n >\n <LoadingIcon />\n </div>\n ) : null}\n <CivicAuthIframe\n ref={iframeRef}\n id={\"civic-auth-iframe\"}\n onLoad={handleIframeLoad}\n />\n </WrapperComponent>\n );\n};\n\nexport type { CivicAuthIframeContainerProps };\n\nexport { CivicAuthIframeContainer };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CivicAuthLogoutIframeContainer.d.ts","sourceRoot":"","sources":["../../../src/shared/components/CivicAuthLogoutIframeContainer.tsx"],"names":[],"mappings":"AAQA,KAAK,mCAAmC,GAAG;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,8BAA8B,mBAEjC,mCAAmC,qDA0BrC,CAAC;AAEF,OAAO,EAAE,8BAA8B,EAAE,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "@emotion/react/jsx-runtime";
3
+ import React from "react";
4
+ import { CivicAuthIframe } from "../../shared/components/CivicAuthIframe.js";
5
+ import { useIframe } from "../../shared/hooks/index.js";
6
+ import { LoadingIcon } from "./LoadingIcon.js";
7
+ import { IframeChrome } from "./CivicAuthIframeContainer.js";
8
+ const CivicAuthLogoutIframeContainer = ({ isLoading = false, }) => {
9
+ const { logoutIframeRef } = useIframe();
10
+ return (_jsxs(IframeChrome, { isFrameLoaded: true, children: [isLoading ? (_jsx("div", { id: "civic-auth-loading-icon-wrapper", style: {
11
+ position: "absolute",
12
+ inset: 0,
13
+ display: "flex",
14
+ alignItems: "center",
15
+ justifyContent: "center",
16
+ }, children: _jsx(LoadingIcon, {}) })) : null, _jsx(CivicAuthIframe, { ref: logoutIframeRef, id: "civic-auth-logout-iframe", onLoad: () => { } })] }));
17
+ };
18
+ export { CivicAuthLogoutIframeContainer };
19
+ //# sourceMappingURL=CivicAuthLogoutIframeContainer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CivicAuthLogoutIframeContainer.js","sourceRoot":"","sources":["../../../src/shared/components/CivicAuthLogoutIframeContainer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAM7D,MAAM,8BAA8B,GAAG,CAAC,EACtC,SAAS,GAAG,KAAK,GACmB,EAAE,EAAE;IACxC,MAAM,EAAE,eAAe,EAAE,GAAG,SAAS,EAAE,CAAC;IAExC,OAAO,CACL,MAAC,YAAY,IAAC,aAAa,EAAE,IAAI,aAC9B,SAAS,CAAC,CAAC,CAAC,CACX,cACE,EAAE,EAAC,iCAAiC,EACpC,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;oBACpB,cAAc,EAAE,QAAQ;iBACzB,YAED,KAAC,WAAW,KAAG,GACX,CACP,CAAC,CAAC,CAAC,IAAI,EACR,KAAC,eAAe,IACd,GAAG,EAAE,eAAe,EACpB,EAAE,EAAE,0BAA0B,EAC9B,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,GAChB,IACW,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,8BAA8B,EAAE,CAAC","sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { CivicAuthIframe } from \"@/shared/components/CivicAuthIframe.js\";\nimport { useIframe } from \"@/shared/hooks/index.js\";\nimport { LoadingIcon } from \"./LoadingIcon.js\";\nimport { IframeChrome } from \"./CivicAuthIframeContainer.js\";\n\ntype CivicAuthLogoutIframeContainerProps = {\n isLoading?: boolean;\n};\n\nconst CivicAuthLogoutIframeContainer = ({\n isLoading = false,\n}: CivicAuthLogoutIframeContainerProps) => {\n const { logoutIframeRef } = useIframe();\n\n return (\n <IframeChrome isFrameLoaded={true}>\n {isLoading ? (\n <div\n id=\"civic-auth-loading-icon-wrapper\"\n style={{\n position: \"absolute\",\n inset: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n }}\n >\n <LoadingIcon />\n </div>\n ) : null}\n <CivicAuthIframe\n ref={logoutIframeRef}\n id={\"civic-auth-logout-iframe\"}\n onLoad={() => {}}\n />\n </IframeChrome>\n );\n};\n\nexport { CivicAuthLogoutIframeContainer };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloseIcon.d.ts","sourceRoot":"","sources":["../../../src/shared/components/CloseIcon.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,SAAS,wDAgBd,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CloseIcon.js","sourceRoot":"","sources":["../../../src/shared/components/CloseIcon.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CACtB,eACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,SAAS,EAAC,iBAAiB,aAE3B,eAAM,CAAC,EAAC,YAAY,GAAG,EACvB,eAAM,CAAC,EAAC,YAAY,GAAG,IACnB,CACP,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC","sourcesContent":["import React from \"react\";\n\nconst CloseIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"lucide lucide-x\"\n >\n <path d=\"M18 6 6 18\" />\n <path d=\"m6 6 12 12\" />\n </svg>\n);\n\nexport { CloseIcon };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IFrameAndLoading.d.ts","sourceRoot":"","sources":["../../../src/shared/components/IFrameAndLoading.tsx"],"names":[],"mappings":"AAQA,QAAA,MAAM,gBAAgB,8CAInB;IACD,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,qDAuEA,CAAC;AACF,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IFrameAndLoading.js","sourceRoot":"","sources":["../../../src/shared/components/IFrameAndLoading.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,MAAM,gBAAgB,GAAG,CAAC,EACxB,KAAK,EACL,SAAS,EACT,kBAAkB,GAAG,KAAK,GAK3B,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,EACJ,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,qBAAqB,GACtB,GAAG,SAAS,EAAE,CAAC;IAChB,MAAM,kBAAkB,GAAG,UAAU,IAAI,SAAS,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,kBAAkB,GAAG,CAAC,KAAmB,EAAE,EAAE;YACjD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9C,IACE,CAAC,CACC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,WAAW,CACvE,EACD,CAAC;gBACD,OAAO;YACT,CAAC;YAED,0EAA0E;YAC1E,IACE,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe;gBACtC,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,YAAY,EACjC,CAAC;gBACD,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACvD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IACzE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,8BACG,YAAY,IAAI,CACf,cACE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAEnE,KAAC,wBAAwB,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAI,GAClE,CACP,EAED,cACE,KAAK,EACH,kBAAkB,IAAI,qBAAqB;oBACzC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;oBACtB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAGzB,KAAC,8BAA8B,IAAC,SAAS,EAAE,mBAAmB,GAAI,GAC9D,EAEL,KAAK,IAAI,CACR,KAAC,YAAY,cACX,qCAAa,KAAK,EAAE,OAAO,IAAO,GACrB,CAChB,EAEA,kBAAkB,IAAI,CAAC,KAAK,IAAI,CAC/B,KAAC,YAAY,cACX,KAAC,WAAW,KAAG,GACF,CAChB,IACA,CACJ,CAAC;AACJ,CAAC,CAAC;AACF,OAAO,EAAE,gBAAgB,EAAE,CAAC","sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { useIframe } from \"../hooks/useIframe.js\";\nimport { useIsInIframe } from \"../hooks/useIsInIframe.js\";\nimport { CivicAuthIframeContainer } from \"./CivicAuthIframeContainer.js\";\nimport { BlockDisplay } from \"./BlockDisplay.js\";\nimport { LoadingIcon } from \"./LoadingIcon.js\";\nimport { CivicAuthLogoutIframeContainer } from \"./CivicAuthLogoutIframeContainer.js\";\n\nconst IFrameAndLoading = ({\n error,\n isLoading,\n showIframeOnLogout = false,\n}: {\n error: Error | null;\n isLoading: boolean;\n showIframeOnLogout?: boolean;\n}) => {\n const isInIframe = useIsInIframe();\n const [logoutIframeLoading, setLogoutIframeLoading] = useState(true);\n const {\n renderIframe,\n iframeIsVisible,\n setIframeIsVisible,\n logoutIframeIsVisible,\n } = useIframe();\n const showLoadingOverlay = isInIframe || isLoading;\n\n useEffect(() => {\n const handleErrorMessage = (event: MessageEvent) => {\n const thisURL = new URL(window.location.href);\n if (\n !(\n event.origin.endsWith(\"civic.com\") || thisURL.hostname === \"localhost\"\n )\n ) {\n return;\n }\n\n // The login app has thrown an error, so we need to show the logout iframe\n if (\n event.data?.source === \"civicloginApp\" &&\n event.data?.type === \"auth_error\"\n ) {\n setLogoutIframeLoading(false);\n return;\n }\n\n setLogoutIframeLoading(true);\n };\n\n window.addEventListener(\"message\", handleErrorMessage);\n return () => window.removeEventListener(\"message\", handleErrorMessage);\n }, []);\n\n return (\n <>\n {renderIframe && (\n <div\n style={iframeIsVisible ? { display: \"block\" } : { display: \"none\" }}\n >\n <CivicAuthIframeContainer onClose={() => setIframeIsVisible(false)} />\n </div>\n )}\n\n <div\n style={\n showIframeOnLogout && logoutIframeIsVisible\n ? { display: \"block\" }\n : { display: \"none\" }\n }\n >\n <CivicAuthLogoutIframeContainer isLoading={logoutIframeLoading} />\n </div>\n\n {error && (\n <BlockDisplay>\n <div>Error: {error?.message}</div>\n </BlockDisplay>\n )}\n\n {showLoadingOverlay && !error && (\n <BlockDisplay>\n <LoadingIcon />\n </BlockDisplay>\n )}\n </>\n );\n};\nexport { IFrameAndLoading };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingIcon.d.ts","sourceRoot":"","sources":["../../../src/shared/components/LoadingIcon.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW;;;sDAgDhB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingIcon.js","sourceRoot":"","sources":["../../../src/shared/components/LoadingIcon.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CACzD,eAAK,EAAE,EAAC,yBAAyB,EAAC,IAAI,EAAC,QAAQ,aAC7C,0BACG;;;;;OAKA,GACK,EACR,8BACc,MAAM,EAClB,KAAK,EAAE;gBACL,OAAO,EAAE,QAAQ;gBACjB,KAAK;gBACL,MAAM;gBACN,SAAS,EAAE,yBAAyB;gBACpC,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;aACjB,EACD,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,aAElC,eACE,CAAC,EAAC,8WAA8W,EAChX,IAAI,EAAC,cAAc,GACnB,EACF,eACE,CAAC,EAAC,+kBAA+kB,EACjlB,IAAI,EAAC,aAAa,GAClB,IACE,EACN,eACE,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,CAAC;gBACV,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,CAAC;aACV,2BAGI,IACH,CACP,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC","sourcesContent":["import React from \"react\";\n\nconst LoadingIcon = ({ width = \"2em\", height = \"2em\" }) => (\n <div id=\"civic-auth-loading-icon\" role=\"status\">\n <style>\n {`\n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n `}\n </style>\n <svg\n aria-hidden=\"true\"\n style={{\n display: \"inline\",\n width,\n height,\n animation: \"spin 1s linear infinite\",\n fill: \"#4b5563\",\n color: \"#e5e7eb\",\n }}\n viewBox=\"0 0 100 101\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n 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\"\n fill=\"currentColor\"\n />\n <path\n 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\"\n fill=\"currentFill\"\n />\n </svg>\n <span\n style={{\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n padding: 0,\n margin: \"-1px\",\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n border: 0,\n }}\n >\n Loading...\n </span>\n </div>\n);\n\nexport { LoadingIcon };\n"]}
@@ -0,0 +1,4 @@
1
+ export default function SVGLoading({ backgroundColor }?: {
2
+ backgroundColor?: string;
3
+ }): JSX.Element;
4
+ //# sourceMappingURL=SVGLoading.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SVGLoading.d.ts","sourceRoot":"","sources":["../../../src/shared/components/SVGLoading.tsx"],"names":[],"mappings":"AAiBA,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,EAAE,eAA2B,EAAE;;CAAiC,GAC/D,GAAG,CAAC,OAAO,CA6Cb"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@emotion/react/jsx-runtime";
2
+ import React from "react";
3
+ const shimmerKeyframes = `
4
+ @keyframes shimmer {
5
+ 0% {
6
+ transform: translate(-328px, 0);
7
+ }
8
+ to {
9
+ transform: translate(328px, 0);
10
+ }
11
+ }
12
+ `;
13
+ const shimmerStyle = {
14
+ animation: "1s linear infinite both shimmer",
15
+ };
16
+ export default function SVGLoading({ backgroundColor = "#ffffff" } = { backgroundColor: "#ffffff" }) {
17
+ return (_jsxs(_Fragment, { children: [_jsx("style", { children: shimmerKeyframes }), _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", viewBox: "0 0 324 28" // Adjusted viewBox height
18
+ , height: "40" // Adjusted height
19
+ , width: "100%", style: {
20
+ position: "absolute",
21
+ top: -6,
22
+ left: 0,
23
+ borderRadius: "0.5rem", // Added borderRadius
24
+ backgroundColor,
25
+ }, className: "svg-loading", children: [_jsx("defs", { children: _jsxs("linearGradient", { id: "Gradient-0", x2: "320", y1: "15", y2: "15", gradientUnits: "userSpaceOnUse", children: [_jsx("stop", { offset: "0", stopColor: backgroundColor }), _jsx("stop", { offset: ".511", stopColor: "#9A9DA6" }), _jsx("stop", { offset: "1", stopColor: backgroundColor })] }) }), _jsx("path", { id: "rect", fill: backgroundColor, d: "M0 0h328v28H0z" }), " ", _jsx("path", { id: "shimmer", fill: "url(#Gradient-0)", d: "M0 0h328v28H0z" // Adjusted height
26
+ , transform: "translate(-328)", style: shimmerStyle })] })] }));
27
+ }
28
+ //# sourceMappingURL=SVGLoading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SVGLoading.js","sourceRoot":"","sources":["../../../src/shared/components/SVGLoading.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,gBAAgB,GAAG;;;;;;;;;CASxB,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB,SAAS,EAAE,iCAAiC;CAC7C,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,EAAE,eAAe,GAAG,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE;IAEhE,OAAO,CACL,8BACE,0BAAQ,gBAAgB,GAAS,EACjC,eACE,KAAK,EAAC,4BAA4B,EAClC,cAAc,EAAC,oBAAoB,EACnC,aAAa,EAAC,oBAAoB,EAClC,OAAO,EAAC,YAAY,CAAC,0BAA0B;kBAC/C,MAAM,EAAC,IAAI,CAAC,kBAAkB;kBAC9B,KAAK,EAAC,MAAM,EACZ,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,CAAC,CAAC;oBACP,IAAI,EAAE,CAAC;oBACP,YAAY,EAAE,QAAQ,EAAE,qBAAqB;oBAC7C,eAAe;iBAChB,EACD,SAAS,EAAC,aAAa,aAEvB,yBACE,0BACE,EAAE,EAAC,YAAY,EACf,EAAE,EAAC,KAAK,EACR,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,aAAa,EAAC,gBAAgB,aAE9B,eAAM,MAAM,EAAC,GAAG,EAAC,SAAS,EAAE,eAAe,GAAI,EAC/C,eAAM,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,GAAG,EAC1C,eAAM,MAAM,EAAC,GAAG,EAAC,SAAS,EAAE,eAAe,GAAI,IAChC,GACZ,EACP,eAAM,EAAE,EAAC,MAAM,EAAC,IAAI,EAAE,eAAe,EAAE,CAAC,EAAC,gBAAgB,GAAG,EAAC,GAAG,EAEhE,eACE,EAAE,EAAC,SAAS,EACZ,IAAI,EAAC,kBAAkB,EACvB,CAAC,EAAC,gBAAgB,CAAC,kBAAkB;0BACrC,SAAS,EAAC,iBAAiB,EAC3B,KAAK,EAAE,YAAY,GACnB,IACE,IACL,CACJ,CAAC;AACJ,CAAC","sourcesContent":["import React from \"react\";\n\nconst shimmerKeyframes = `\n @keyframes shimmer {\n 0% {\n transform: translate(-328px, 0);\n }\n to {\n transform: translate(328px, 0);\n }\n }\n`;\n\nconst shimmerStyle = {\n animation: \"1s linear infinite both shimmer\",\n};\n\nexport default function SVGLoading(\n { backgroundColor = \"#ffffff\" } = { backgroundColor: \"#ffffff\" },\n): JSX.Element {\n return (\n <>\n <style>{shimmerKeyframes}</style>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n shapeRendering=\"geometricPrecision\"\n textRendering=\"geometricPrecision\"\n viewBox=\"0 0 324 28\" // Adjusted viewBox height\n height=\"40\" // Adjusted height\n width=\"100%\"\n style={{\n position: \"absolute\",\n top: -6,\n left: 0,\n borderRadius: \"0.5rem\", // Added borderRadius\n backgroundColor,\n }}\n className=\"svg-loading\"\n >\n <defs>\n <linearGradient\n id=\"Gradient-0\"\n x2=\"320\"\n y1=\"15\"\n y2=\"15\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop offset=\"0\" stopColor={backgroundColor} />\n <stop offset=\".511\" stopColor=\"#9A9DA6\" />\n <stop offset=\"1\" stopColor={backgroundColor} />\n </linearGradient>\n </defs>\n <path id=\"rect\" fill={backgroundColor} d=\"M0 0h328v28H0z\" />{\" \"}\n {/* Adjusted height */}\n <path\n id=\"shimmer\"\n fill=\"url(#Gradient-0)\"\n d=\"M0 0h328v28H0z\" // Adjusted height\n transform=\"translate(-328)\"\n style={shimmerStyle}\n />\n </svg>\n </>\n );\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,6BAA6B,EAAE,MAAM,kDAAkD,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC","sourcesContent":["export { useToken } from \"@/shared/hooks/useToken.js\";\nexport { useAuth } from \"@/shared/hooks/useAuth.js\";\nexport { useIframe } from \"@/shared/hooks/useIframe.js\";\nexport { useSession } from \"@/shared/hooks/useSession.js\";\nexport { useCivicAuthConfig } from \"@/shared/hooks/useCivicAuthConfig.js\";\nexport { useOAuthEndpoints } from \"@/shared/hooks/useOAuthEndpoints.js\";\nexport { useCurrentUrl } from \"@/shared/hooks/useCurrentUrl.js\";\nexport { useClientTokenExchangeSession } from \"@/reactjs/hooks/useClientTokenExchangeSession.js\";\nexport { useWindowFocused } from \"@/shared/hooks/useWindowFocused.js\";\nexport { useRefresh } from \"@/shared/hooks/useRefresh.js\";\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAuth.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/useAuth.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,OAAO,mEAQZ,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAuth.js","sourceRoot":"","sources":["../../../src/shared/hooks/useAuth.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAEhE,MAAM,OAAO,GAAG,GAAG,EAAE;IACnB,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAExC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC","sourcesContent":["\"use client\";\nimport { useContext } from \"react\";\nimport { AuthContext } from \"@/shared/providers/AuthContext.js\";\n\nconst useAuth = () => {\n const context = useContext(AuthContext);\n\n if (!context) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n\n return context;\n};\n\nexport { useAuth };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCivicAuthConfig.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/useCivicAuthConfig.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,kBAAkB,iDAGvB,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCivicAuthConfig.js","sourceRoot":"","sources":["../../../src/shared/hooks/useCivicAuthConfig.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAEtF,gEAAgE;AAChE,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC","sourcesContent":["\"use client\";\nimport { useContext } from \"react\";\nimport { CivicAuthConfigContext } from \"@/shared/providers/CivicAuthConfigContext.js\";\n\n// TokenProvider will use this internal context to access Config\nconst useCivicAuthConfig = () => {\n const context = useContext(CivicAuthConfigContext);\n return context;\n};\n\nexport { useCivicAuthConfig };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCurrentUrl.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/useCurrentUrl.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,aAAa,0BAuBlB,CAAC;AACF,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCurrentUrl.js","sourceRoot":"","sources":["../../../src/shared/hooks/useCurrentUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,EAAsB,CAAC;IACnE,8CAA8C;IAC9C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,eAAe,GAAG,GAAG,EAAE;YAC3B,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACrD,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACtD,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QAEzD,eAAe,EAAE,CAAC;QAElB,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gBAClC,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBACxD,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;gBACzD,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AACF,OAAO,EAAE,aAAa,EAAE,CAAC","sourcesContent":["import { useEffect, useState } from \"react\";\n\nconst useCurrentUrl = () => {\n const [currentUrl, setCurrentUrl] = useState<string | undefined>();\n // update the current url when the url changes\n useEffect(() => {\n const handleUrlChange = () => {\n setCurrentUrl(window.location.href);\n };\n window.addEventListener(\"popstate\", handleUrlChange);\n window.addEventListener(\"pushstate\", handleUrlChange);\n window.addEventListener(\"replacestate\", handleUrlChange);\n\n handleUrlChange();\n\n return () => {\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"popstate\", handleUrlChange);\n window.removeEventListener(\"pushstate\", handleUrlChange);\n window.removeEventListener(\"replacestate\", handleUrlChange);\n }\n };\n }, []);\n\n return currentUrl;\n};\nexport { useCurrentUrl };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIframe.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/useIframe.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,SAAS,2EAMd,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIframe.js","sourceRoot":"","sources":["../../../src/shared/hooks/useIframe.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE,gEAAgE;AAChE,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC","sourcesContent":["\"use client\";\nimport { useContext } from \"react\";\nimport { IframeContext } from \"@/shared/providers/IframeProvider.js\";\n\n// TokenProvider will use this internal context to access Iframe\nconst useIframe = () => {\n const context = useContext(IframeContext);\n if (!context) {\n throw new Error(\"useIframe must be used within an IframeProvider\");\n }\n return context;\n};\n\nexport { useIframe };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsInIframe.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/useIsInIframe.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,aAAa,eASlB,CAAC;AACF,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsInIframe.js","sourceRoot":"","sources":["../../../src/shared/hooks/useIsInIframe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,UAAU,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC7C,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAC1D,aAAa,CAAC,aAAa,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AACF,OAAO,EAAE,aAAa,EAAE,CAAC","sourcesContent":["import { isWindowInIframe } from \"@/lib/windowUtil.js\";\nimport { useEffect, useState } from \"react\";\n\nconst useIsInIframe = () => {\n const [isInIframe, setIsInIframe] = useState(true);\n useEffect(() => {\n if (typeof globalThis.window !== \"undefined\") {\n const isInIframeVal = isWindowInIframe(globalThis.window);\n setIsInIframe(isInIframeVal);\n }\n }, []);\n return isInIframe;\n};\nexport { useIsInIframe };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOAuthEndpoints.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/useOAuthEndpoints.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C,QAAA,MAAM,iBAAiB,iBAAkB,MAAM,qBAW9C,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOAuthEndpoints.js","sourceRoot":"","sources":["../../../src/shared/hooks/useOAuthEndpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,iBAAiB,GAAG,CAAC,WAAoB,EAAE,EAAE;IACjD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IACnE,SAAS,CAAC,GAAG,EAAE;QACb,iBAAiB,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC,IAAI,CACxD,CAAC,kBAAkB,EAAE,EAAE;YACrB,YAAY,CAAC,kBAAkB,CAAC,CAAC;QACnC,CAAC,CACF,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC","sourcesContent":["import { DEFAULT_AUTH_SERVER } from \"@/constants.js\";\nimport { getOauthEndpoints } from \"@/lib/oauth.js\";\nimport type { Endpoints } from \"@/types.js\";\nimport { useEffect, useState } from \"react\";\n\nconst useOAuthEndpoints = (oauthServer?: string) => {\n const [endpoints, setEndpoints] = useState<Endpoints | null>(null);\n useEffect(() => {\n getOauthEndpoints(oauthServer || DEFAULT_AUTH_SERVER).then(\n (retrievedEndpoints) => {\n setEndpoints(retrievedEndpoints);\n },\n );\n }, [oauthServer]);\n\n return endpoints;\n};\n\nexport { useOAuthEndpoints };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRefresh.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/useRefresh.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C,QAAA,MAAM,UAAU,YAAa,WAAW,GAAG,IAAI,SAuC9C,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRefresh.js","sourceRoot":"","sources":["../../../src/shared/hooks/useRefresh.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,UAAU,GAAG,CAAC,OAA2B,EAAE,EAAE;IACjD,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,mBAAmB,EAAE,EAAE,EAAE,CAAC,CAAC;IAE7D,0BAA0B;IAC1B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAExC,SAAS,CAAC,CAAC;IAEb,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,UAAU;YAAE,OAAO;QACxB,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,gBAAgB,GAAG,SAAS,CAAC;QAEnC,2BAA2B,CAAC,KAAK,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC,IAAI,CAChE,CAAC,YAAY,EAAE,EAAE;YACf,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO;YAE3C,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;YACrC,YAAY,CAAC,YAAY,CAAC,CAAC;QAC7B,CAAC,CACF,CAAC;QAEF,OAAO,GAAG,EAAE;YACV,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;QACvC,CAAC,CAAC;QACF,uDAAuD;IACzD,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,uCAAuC;IAElE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,EAAE,aAAa,EAAE,CAAC;YAC3B,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAChC,CAAC;QAED,OAAO,GAAG,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC7C,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC","sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { useCivicAuthConfig } from \"./useCivicAuthConfig.js\";\nimport type { SessionData } from \"@/types.js\";\nimport { AuthenticationRefresherImpl } from \"../lib/AuthenticationRefresherImpl.js\";\nimport { LocalStorageAdapter } from \"@/browser/storage.js\";\n\nconst useRefresh = (session: SessionData | null) => {\n const authConfig = useCivicAuthConfig();\n const storage = useMemo(() => new LocalStorageAdapter(), []);\n\n // setup token autorefresh\n const [refresher, setRefresher] = useState<\n AuthenticationRefresherImpl | undefined\n >(undefined);\n\n useEffect(() => {\n if (!authConfig) return;\n const abortController = new AbortController();\n const currentRefresher = refresher;\n\n AuthenticationRefresherImpl.build({ ...authConfig }, storage).then(\n (newRefresher) => {\n if (abortController.signal.aborted) return;\n\n currentRefresher?.clearAutorefresh();\n setRefresher(newRefresher);\n },\n );\n\n return () => {\n abortController.abort();\n currentRefresher?.clearAutorefresh();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [authConfig, storage]); // Only depend on what actually changes\n\n useEffect(() => {\n if (session?.authenticated) {\n refresher?.setupAutorefresh();\n } else {\n refresher?.clearAutorefresh();\n }\n\n return () => refresher?.clearAutorefresh();\n }, [refresher, session?.authenticated]);\n};\n\nexport { useRefresh };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSession.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/useSession.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,UAAU,6EAMf,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSession.js","sourceRoot":"","sources":["../../../src/shared/hooks/useSession.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEvE,iEAAiE;AACjE,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC","sourcesContent":["\"use client\";\nimport { useContext } from \"react\";\nimport { SessionContext } from \"@/shared/providers/SessionProvider.js\";\n\n// TokenProvider will use this internal context to access session\nconst useSession = () => {\n const context = useContext(SessionContext);\n if (!context) {\n throw new Error(\"useSession must be used within an SessionProvider\");\n }\n return context;\n};\n\nexport { useSession };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSignIn.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/useSignIn.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,UAAU,EACV,KAAK,WAAW,EAEjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOpE,KAAK,WAAW,GAAG;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AACF,QAAA,MAAM,SAAS,4DAKZ,WAAW;kBAuGyB,OAAO,CAAC,IAAI,CAAC;;;;;CAsFnD,CAAC;AACF,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,168 @@
1
+ import { BrowserAuthenticationInitiator } from "../../services/AuthenticationService.js";
2
+ import { BrowserPublicClientPKCEProducer } from "../../services/PKCE.js";
3
+ import { useCivicAuthConfig } from "../../shared/hooks/useCivicAuthConfig.js";
4
+ import { AuthStatus, } from "../../types.js";
5
+ import { useIframe } from "../../shared/hooks/useIframe.js";
6
+ import { useCallback, useEffect, useMemo, useState } from "react";
7
+ import { PopupError } from "../../services/types.js";
8
+ import { useSession } from "./useSession.js";
9
+ import { LocalStorageAdapter } from "../../browser/storage.js";
10
+ import { clearTokens, clearUser } from "../lib/util.js";
11
+ import { useLocalStorage } from "usehooks-ts";
12
+ import { LOGOUT_STATE } from "../../constants.js";
13
+ const useSignIn = ({ pkceConsumer, preSignOut, postSignOut, displayMode, }) => {
14
+ const civicAuthConfig = useCivicAuthConfig();
15
+ const { iframeRef, logoutIframeRef, setIframeIsVisible, iframeIsVisible, setLogoutIframeIsVisible, iframeAborted, setIframeAborted, } = useIframe();
16
+ const { data: session } = useSession();
17
+ const [authStatus, setAuthStatus] = useState(AuthStatus.UNAUTHENTICATED);
18
+ const [, setDesignOption] = useLocalStorage(`loginAppDesign`, { colorMode: "auto" });
19
+ const authInitiator = useMemo(() => {
20
+ if (!civicAuthConfig) {
21
+ return null;
22
+ }
23
+ const { clientId, redirectUrl, logoutUrl, logoutRedirectUrl, nonce, oauthServer, endpoints, scopes, } = civicAuthConfig;
24
+ return new BrowserAuthenticationInitiator({
25
+ pkceConsumer: pkceConsumer || new BrowserPublicClientPKCEProducer(), // generate and retrieve the challenge client-side
26
+ clientId,
27
+ redirectUrl,
28
+ logoutUrl,
29
+ logoutRedirectUrl,
30
+ scopes,
31
+ displayMode,
32
+ oauthServer,
33
+ endpointOverrides: endpoints,
34
+ nonce,
35
+ }, setDesignOption);
36
+ }, [civicAuthConfig, displayMode, pkceConsumer, setDesignOption]);
37
+ useEffect(() => {
38
+ return () => {
39
+ if (authInitiator) {
40
+ authInitiator.cleanup();
41
+ }
42
+ };
43
+ }, [authInitiator]);
44
+ // This effect is used to clear the tokens and user when the user signs out after a redirect
45
+ useEffect(() => {
46
+ const params = new URLSearchParams(window.location.search);
47
+ const state = params.get("state");
48
+ const localStorage = new LocalStorageAdapter();
49
+ localStorage.get(LOGOUT_STATE).then((storedLogoutState) => {
50
+ if (state && state === storedLogoutState) {
51
+ // Clear storage
52
+ clearTokens(localStorage);
53
+ clearUser(localStorage);
54
+ LocalStorageAdapter.emitter.emit("signOut");
55
+ // Clean up storage and URL
56
+ sessionStorage.removeItem(LOGOUT_STATE);
57
+ const cleanUrl = window.location.href.split("?")[0];
58
+ window.history.replaceState({}, document.title, cleanUrl);
59
+ }
60
+ });
61
+ }, []);
62
+ const startSignIn = useCallback(async () => {
63
+ if (!authInitiator)
64
+ return;
65
+ if (authStatus === AuthStatus.AUTHENTICATING) {
66
+ return;
67
+ }
68
+ setAuthStatus(AuthStatus.AUTHENTICATING);
69
+ authInitiator.setDisplayMode(displayMode);
70
+ const useIframeRef = iframeRef?.current || null;
71
+ await authInitiator.signIn(useIframeRef).catch((error) => {
72
+ setAuthStatus(AuthStatus.ERROR);
73
+ console.error("signIn error", {
74
+ error,
75
+ isPopupError: error instanceof PopupError,
76
+ });
77
+ // if we've tried to open a popup and it has failed, then fallback to redirect mode
78
+ if (error instanceof PopupError) {
79
+ setIframeIsVisible(false); // hide the iframe
80
+ authInitiator.cleanup(); // clear any event listeners from before
81
+ authInitiator.setDisplayMode("redirect"); // switch to redirect mode
82
+ authInitiator.signIn(useIframeRef); // retry the sign in
83
+ }
84
+ });
85
+ }, [authInitiator, displayMode, iframeRef, setIframeIsVisible, authStatus]);
86
+ const signIn = useCallback(async () => {
87
+ if (displayMode === "iframe") {
88
+ setIframeIsVisible(true);
89
+ }
90
+ return startSignIn();
91
+ }, [startSignIn, displayMode, setIframeIsVisible]);
92
+ const signOut = useCallback(async () => {
93
+ const idToken = session?.idToken;
94
+ if (!authInitiator)
95
+ return;
96
+ setAuthStatus(AuthStatus.SIGNING_OUT);
97
+ if (displayMode === "iframe") {
98
+ setIframeIsVisible(false);
99
+ setLogoutIframeIsVisible(true);
100
+ }
101
+ try {
102
+ await preSignOut?.();
103
+ const useIframeRef = logoutIframeRef?.current || null;
104
+ await authInitiator.signOut(idToken, useIframeRef).catch((error) => {
105
+ setAuthStatus(AuthStatus.ERROR);
106
+ console.error("signOut error", {
107
+ error,
108
+ isPopupError: error instanceof PopupError,
109
+ });
110
+ // Same popup fallback as signIn
111
+ if (error instanceof PopupError) {
112
+ setLogoutIframeIsVisible(false);
113
+ authInitiator.cleanup();
114
+ authInitiator.setDisplayMode("redirect");
115
+ authInitiator.signOut(idToken, useIframeRef);
116
+ }
117
+ });
118
+ }
119
+ catch (error) {
120
+ console.error("Signout error:", error);
121
+ }
122
+ }, [
123
+ session?.idToken,
124
+ authInitiator,
125
+ displayMode,
126
+ setLogoutIframeIsVisible,
127
+ setIframeIsVisible,
128
+ preSignOut,
129
+ logoutIframeRef,
130
+ ]);
131
+ useEffect(() => {
132
+ if (session?.authenticated) {
133
+ setAuthStatus(AuthStatus.AUTHENTICATED);
134
+ }
135
+ if (displayMode === "iframe" && iframeAborted) {
136
+ setIframeAborted(false);
137
+ if (!session?.authenticated) {
138
+ setAuthStatus(AuthStatus.UNAUTHENTICATED);
139
+ }
140
+ }
141
+ }, [displayMode, iframeAborted, session?.authenticated, setIframeAborted]);
142
+ // handle logout finished
143
+ useEffect(() => {
144
+ if (authStatus === AuthStatus.SIGNING_OUT && !session?.authenticated) {
145
+ setAuthStatus(AuthStatus.UNAUTHENTICATED);
146
+ postSignOut?.().then(() => {
147
+ setLogoutIframeIsVisible(false);
148
+ });
149
+ return;
150
+ }
151
+ }, [
152
+ session,
153
+ postSignOut,
154
+ setLogoutIframeIsVisible,
155
+ displayMode,
156
+ iframeIsVisible,
157
+ authStatus,
158
+ ]);
159
+ return {
160
+ signIn,
161
+ signOut,
162
+ startSignIn,
163
+ authStatus,
164
+ displayMode,
165
+ };
166
+ };
167
+ export { useSignIn };
168
+ //# sourceMappingURL=useSignIn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSignIn.js","sourceRoot":"","sources":["../../../src/shared/hooks/useSignIn.ts"],"names":[],"mappings":"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","sourcesContent":["import { BrowserAuthenticationInitiator } from \"@/services/AuthenticationService.js\";\nimport { BrowserPublicClientPKCEProducer } from \"@/services/PKCE.js\";\nimport { useCivicAuthConfig } from \"@/shared/hooks/useCivicAuthConfig.js\";\nimport {\n AuthStatus,\n type DisplayMode,\n type LoginAppDesignOptions,\n} from \"@/types.js\";\nimport { useIframe } from \"@/shared/hooks/useIframe.js\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { PopupError, type PKCEConsumer } from \"@/services/types.js\";\nimport { useSession } from \"./useSession.js\";\nimport { LocalStorageAdapter } from \"@/browser/storage.js\";\nimport { clearTokens, clearUser } from \"../lib/util.js\";\nimport { useLocalStorage } from \"usehooks-ts\";\nimport { LOGOUT_STATE } from \"@/constants.js\";\n\ntype SignInProps = {\n pkceConsumer?: PKCEConsumer;\n preSignOut?: () => Promise<void>;\n postSignOut?: () => Promise<void>;\n displayMode: DisplayMode;\n};\nconst useSignIn = ({\n pkceConsumer,\n preSignOut,\n postSignOut,\n displayMode,\n}: SignInProps) => {\n const civicAuthConfig = useCivicAuthConfig();\n const {\n iframeRef,\n logoutIframeRef,\n setIframeIsVisible,\n iframeIsVisible,\n setLogoutIframeIsVisible,\n iframeAborted,\n setIframeAborted,\n } = useIframe();\n const { data: session } = useSession();\n const [authStatus, setAuthStatus] = useState(AuthStatus.UNAUTHENTICATED);\n const [, setDesignOption] = useLocalStorage<LoginAppDesignOptions>(\n `loginAppDesign`,\n { colorMode: \"auto\" },\n );\n\n const authInitiator = useMemo(() => {\n if (!civicAuthConfig) {\n return null;\n }\n const {\n clientId,\n redirectUrl,\n logoutUrl,\n logoutRedirectUrl,\n nonce,\n oauthServer,\n endpoints,\n scopes,\n } = civicAuthConfig;\n return new BrowserAuthenticationInitiator(\n {\n pkceConsumer: pkceConsumer || new BrowserPublicClientPKCEProducer(), // generate and retrieve the challenge client-side\n clientId,\n redirectUrl,\n logoutUrl,\n logoutRedirectUrl,\n scopes,\n displayMode,\n oauthServer,\n endpointOverrides: endpoints,\n nonce,\n },\n setDesignOption,\n );\n }, [civicAuthConfig, displayMode, pkceConsumer, setDesignOption]);\n\n useEffect(() => {\n return () => {\n if (authInitiator) {\n authInitiator.cleanup();\n }\n };\n }, [authInitiator]);\n\n // This effect is used to clear the tokens and user when the user signs out after a redirect\n useEffect(() => {\n const params = new URLSearchParams(window.location.search);\n const state = params.get(\"state\");\n const localStorage = new LocalStorageAdapter();\n localStorage.get(LOGOUT_STATE).then((storedLogoutState) => {\n if (state && state === storedLogoutState) {\n // Clear storage\n clearTokens(localStorage);\n clearUser(localStorage);\n LocalStorageAdapter.emitter.emit(\"signOut\");\n\n // Clean up storage and URL\n sessionStorage.removeItem(LOGOUT_STATE);\n const cleanUrl = window.location.href.split(\"?\")[0];\n window.history.replaceState({}, document.title, cleanUrl);\n }\n });\n }, []);\n\n const startSignIn = useCallback(async () => {\n if (!authInitiator) return;\n\n if (authStatus === AuthStatus.AUTHENTICATING) {\n return;\n }\n setAuthStatus(AuthStatus.AUTHENTICATING);\n authInitiator.setDisplayMode(displayMode);\n\n const useIframeRef = iframeRef?.current || null;\n await authInitiator.signIn(useIframeRef).catch((error) => {\n setAuthStatus(AuthStatus.ERROR);\n console.error(\"signIn error\", {\n error,\n isPopupError: error instanceof PopupError,\n });\n // if we've tried to open a popup and it has failed, then fallback to redirect mode\n if (error instanceof PopupError) {\n setIframeIsVisible(false); // hide the iframe\n authInitiator.cleanup(); // clear any event listeners from before\n authInitiator.setDisplayMode(\"redirect\"); // switch to redirect mode\n authInitiator.signIn(useIframeRef); // retry the sign in\n }\n });\n }, [authInitiator, displayMode, iframeRef, setIframeIsVisible, authStatus]);\n\n const signIn = useCallback(async (): Promise<void> => {\n if (displayMode === \"iframe\") {\n setIframeIsVisible(true);\n }\n return startSignIn();\n }, [startSignIn, displayMode, setIframeIsVisible]);\n\n const signOut = useCallback(async () => {\n const idToken = session?.idToken;\n if (!authInitiator) return;\n\n setAuthStatus(AuthStatus.SIGNING_OUT);\n if (displayMode === \"iframe\") {\n setIframeIsVisible(false);\n setLogoutIframeIsVisible(true);\n }\n\n try {\n await preSignOut?.();\n\n const useIframeRef = logoutIframeRef?.current || null;\n await authInitiator.signOut(idToken, useIframeRef).catch((error) => {\n setAuthStatus(AuthStatus.ERROR);\n console.error(\"signOut error\", {\n error,\n isPopupError: error instanceof PopupError,\n });\n\n // Same popup fallback as signIn\n if (error instanceof PopupError) {\n setLogoutIframeIsVisible(false);\n authInitiator.cleanup();\n authInitiator.setDisplayMode(\"redirect\");\n authInitiator.signOut(idToken, useIframeRef);\n }\n });\n } catch (error) {\n console.error(\"Signout error:\", error);\n }\n }, [\n session?.idToken,\n authInitiator,\n displayMode,\n setLogoutIframeIsVisible,\n setIframeIsVisible,\n preSignOut,\n logoutIframeRef,\n ]);\n\n useEffect(() => {\n if (session?.authenticated) {\n setAuthStatus(AuthStatus.AUTHENTICATED);\n }\n if (displayMode === \"iframe\" && iframeAborted) {\n setIframeAborted(false);\n if (!session?.authenticated) {\n setAuthStatus(AuthStatus.UNAUTHENTICATED);\n }\n }\n }, [displayMode, iframeAborted, session?.authenticated, setIframeAborted]);\n\n // handle logout finished\n useEffect(() => {\n if (authStatus === AuthStatus.SIGNING_OUT && !session?.authenticated) {\n setAuthStatus(AuthStatus.UNAUTHENTICATED);\n postSignOut?.().then(() => {\n setLogoutIframeIsVisible(false);\n });\n return;\n }\n }, [\n session,\n postSignOut,\n setLogoutIframeIsVisible,\n displayMode,\n iframeIsVisible,\n authStatus,\n ]);\n\n return {\n signIn,\n signOut,\n startSignIn,\n authStatus,\n displayMode,\n };\n};\nexport { useSignIn };\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToken.d.ts","sourceRoot":"","sources":["../../../src/shared/hooks/useToken.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,QAAQ,sEAQb,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useToken.js","sourceRoot":"","sources":["../../../src/shared/hooks/useToken.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,CAAC","sourcesContent":["\"use client\";\nimport { useContext } from \"react\";\nimport { TokenContext } from \"@/shared/providers/TokenProvider.js\";\n\nconst useToken = () => {\n const context = useContext(TokenContext);\n\n if (!context) {\n throw new Error(\"useToken must be used within a TokenProvider\");\n }\n\n return context;\n};\n\nexport { useToken };\n"]}