@civic/auth 0.4.2-beta.1 → 0.4.3-alpha.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.
- package/CHANGELOG.md +7 -0
- package/dist/cjs/browser/storage.d.ts +10 -0
- package/dist/cjs/browser/storage.d.ts.map +1 -0
- package/dist/cjs/browser/storage.js +24 -0
- package/dist/cjs/browser/storage.js.map +1 -0
- package/dist/cjs/config.d.ts +3 -0
- package/dist/cjs/config.d.ts.map +1 -0
- package/dist/cjs/config.js +8 -0
- package/dist/cjs/config.js.map +1 -0
- package/dist/cjs/constants.d.ts +15 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +44 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +11 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/lib/cookies.d.ts +7 -0
- package/dist/cjs/lib/cookies.d.ts.map +1 -0
- package/dist/cjs/lib/cookies.js +29 -0
- package/dist/cjs/lib/cookies.js.map +1 -0
- package/dist/cjs/lib/jwt.d.ts +3 -0
- package/dist/cjs/lib/jwt.d.ts.map +1 -0
- package/dist/cjs/lib/jwt.js +13 -0
- package/dist/cjs/lib/jwt.js.map +1 -0
- package/dist/cjs/lib/logger.d.ts +26 -0
- package/dist/cjs/lib/logger.d.ts.map +1 -0
- package/dist/cjs/lib/logger.js +62 -0
- package/dist/cjs/lib/logger.js.map +1 -0
- package/dist/cjs/lib/oauth.d.ts +19 -0
- package/dist/cjs/lib/oauth.d.ts.map +1 -0
- package/dist/cjs/lib/oauth.js +74 -0
- package/dist/cjs/lib/oauth.js.map +1 -0
- package/dist/cjs/lib/obj.d.ts +3 -0
- package/dist/cjs/lib/obj.d.ts.map +1 -0
- package/dist/cjs/lib/obj.js +21 -0
- package/dist/cjs/lib/obj.js.map +1 -0
- package/dist/cjs/lib/postMessage.d.ts +4 -0
- package/dist/cjs/lib/postMessage.d.ts.map +1 -0
- package/dist/cjs/lib/postMessage.js +16 -0
- package/dist/cjs/lib/postMessage.js.map +1 -0
- package/dist/cjs/lib/windowUtil.d.ts +4 -0
- package/dist/cjs/lib/windowUtil.d.ts.map +1 -0
- package/dist/cjs/lib/windowUtil.js +35 -0
- package/dist/cjs/lib/windowUtil.js.map +1 -0
- package/dist/cjs/nextjs/GetUser.d.ts +6 -0
- package/dist/cjs/nextjs/GetUser.d.ts.map +1 -0
- package/dist/cjs/nextjs/GetUser.js +11 -0
- package/dist/cjs/nextjs/GetUser.js.map +1 -0
- package/dist/cjs/nextjs/NextAuthenticationRefresherImpl.d.ts +11 -0
- package/dist/cjs/nextjs/NextAuthenticationRefresherImpl.d.ts.map +1 -0
- package/dist/cjs/nextjs/NextAuthenticationRefresherImpl.js +21 -0
- package/dist/cjs/nextjs/NextAuthenticationRefresherImpl.js.map +1 -0
- package/dist/cjs/nextjs/NextClientAuthenticationRefresher.d.ts +8 -0
- package/dist/cjs/nextjs/NextClientAuthenticationRefresher.d.ts.map +1 -0
- package/dist/cjs/nextjs/NextClientAuthenticationRefresher.js +28 -0
- package/dist/cjs/nextjs/NextClientAuthenticationRefresher.js.map +1 -0
- package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.d.ts +12 -0
- package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.d.ts.map +1 -0
- package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.js +29 -0
- package/dist/cjs/nextjs/NextServerAuthenticationRefresherImpl.js.map +1 -0
- package/dist/cjs/nextjs/config.d.ts +209 -0
- package/dist/cjs/nextjs/config.d.ts.map +1 -0
- package/dist/cjs/nextjs/config.js +191 -0
- package/dist/cjs/nextjs/config.js.map +1 -0
- package/dist/cjs/nextjs/cookies.d.ts +16 -0
- package/dist/cjs/nextjs/cookies.d.ts.map +1 -0
- package/dist/cjs/nextjs/cookies.js +44 -0
- package/dist/cjs/nextjs/cookies.js.map +1 -0
- package/dist/cjs/nextjs/hooks/index.d.ts +2 -0
- package/dist/cjs/nextjs/hooks/index.d.ts.map +1 -0
- package/dist/cjs/nextjs/hooks/index.js +6 -0
- package/dist/cjs/nextjs/hooks/index.js.map +1 -0
- package/dist/cjs/nextjs/hooks/usePrevious.d.ts +2 -0
- package/dist/cjs/nextjs/hooks/usePrevious.d.ts.map +1 -0
- package/dist/cjs/nextjs/hooks/usePrevious.js +12 -0
- package/dist/cjs/nextjs/hooks/usePrevious.js.map +1 -0
- package/dist/cjs/nextjs/hooks/useRefresh.d.ts +6 -0
- package/dist/cjs/nextjs/hooks/useRefresh.d.ts.map +1 -0
- package/dist/cjs/nextjs/hooks/useRefresh.js +51 -0
- package/dist/cjs/nextjs/hooks/useRefresh.js.map +1 -0
- package/dist/cjs/nextjs/hooks/useUserCookie.d.ts +8 -0
- package/dist/cjs/nextjs/hooks/useUserCookie.d.ts.map +1 -0
- package/dist/cjs/nextjs/hooks/useUserCookie.js +93 -0
- package/dist/cjs/nextjs/hooks/useUserCookie.js.map +1 -0
- package/dist/cjs/nextjs/index.d.ts +9 -0
- package/dist/cjs/nextjs/index.d.ts.map +1 -0
- package/dist/cjs/nextjs/index.js +27 -0
- package/dist/cjs/nextjs/index.js.map +1 -0
- package/dist/cjs/nextjs/middleware/index.d.ts +2 -0
- package/dist/cjs/nextjs/middleware/index.d.ts.map +1 -0
- package/dist/cjs/nextjs/middleware/index.js +10 -0
- package/dist/cjs/nextjs/middleware/index.js.map +1 -0
- package/dist/cjs/nextjs/middleware.d.ts +57 -0
- package/dist/cjs/nextjs/middleware.d.ts.map +1 -0
- package/dist/cjs/nextjs/middleware.js +110 -0
- package/dist/cjs/nextjs/middleware.js.map +1 -0
- package/dist/cjs/nextjs/providers/NextAuthProvider.d.ts +9 -0
- package/dist/cjs/nextjs/providers/NextAuthProvider.d.ts.map +1 -0
- package/dist/cjs/nextjs/providers/NextAuthProvider.js +108 -0
- package/dist/cjs/nextjs/providers/NextAuthProvider.js.map +1 -0
- package/dist/cjs/nextjs/routeHandler.d.ts +19 -0
- package/dist/cjs/nextjs/routeHandler.d.ts.map +1 -0
- package/dist/cjs/nextjs/routeHandler.js +325 -0
- package/dist/cjs/nextjs/routeHandler.js.map +1 -0
- package/dist/cjs/nextjs/utils.d.ts +3 -0
- package/dist/cjs/nextjs/utils.d.ts.map +1 -0
- package/dist/cjs/nextjs/utils.js +9 -0
- package/dist/cjs/nextjs/utils.js.map +1 -0
- package/dist/cjs/reactjs/components/ButtonContentOrLoader.d.ts +17 -0
- package/dist/cjs/reactjs/components/ButtonContentOrLoader.d.ts.map +1 -0
- package/dist/cjs/reactjs/components/ButtonContentOrLoader.js +40 -0
- package/dist/cjs/reactjs/components/ButtonContentOrLoader.js.map +1 -0
- package/dist/cjs/reactjs/components/LoadingSpinner.d.ts +7 -0
- package/dist/cjs/reactjs/components/LoadingSpinner.d.ts.map +1 -0
- package/dist/cjs/reactjs/components/LoadingSpinner.js +33 -0
- package/dist/cjs/reactjs/components/LoadingSpinner.js.map +1 -0
- package/dist/cjs/reactjs/components/SignInButton.d.ts +9 -0
- package/dist/cjs/reactjs/components/SignInButton.d.ts.map +1 -0
- package/dist/cjs/reactjs/components/SignInButton.js +31 -0
- package/dist/cjs/reactjs/components/SignInButton.js.map +1 -0
- package/dist/cjs/reactjs/components/SignOutButton.d.ts +7 -0
- package/dist/cjs/reactjs/components/SignOutButton.d.ts.map +1 -0
- package/dist/cjs/reactjs/components/SignOutButton.js +27 -0
- package/dist/cjs/reactjs/components/SignOutButton.js.map +1 -0
- package/dist/cjs/reactjs/components/UserButton.d.ts +9 -0
- package/dist/cjs/reactjs/components/UserButton.d.ts.map +1 -0
- package/dist/cjs/reactjs/components/UserButton.js +145 -0
- package/dist/cjs/reactjs/components/UserButton.js.map +1 -0
- package/dist/cjs/reactjs/components/index.d.ts +6 -0
- package/dist/cjs/reactjs/components/index.d.ts.map +1 -0
- package/dist/cjs/reactjs/components/index.js +14 -0
- package/dist/cjs/reactjs/components/index.js.map +1 -0
- package/dist/cjs/reactjs/components/utils.d.ts +13 -0
- package/dist/cjs/reactjs/components/utils.d.ts.map +1 -0
- package/dist/cjs/reactjs/components/utils.js +31 -0
- package/dist/cjs/reactjs/components/utils.js.map +1 -0
- package/dist/cjs/reactjs/hooks/index.d.ts +3 -0
- package/dist/cjs/reactjs/hooks/index.d.ts.map +1 -0
- package/dist/cjs/reactjs/hooks/index.js +8 -0
- package/dist/cjs/reactjs/hooks/index.js.map +1 -0
- package/dist/cjs/reactjs/hooks/useAuth.d.ts +3 -0
- package/dist/cjs/reactjs/hooks/useAuth.d.ts.map +1 -0
- package/dist/cjs/reactjs/hooks/useAuth.js +15 -0
- package/dist/cjs/reactjs/hooks/useAuth.js.map +1 -0
- package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.d.ts +3 -0
- package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +1 -0
- package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.js +16 -0
- package/dist/cjs/reactjs/hooks/useClientTokenExchangeSession.js.map +1 -0
- package/dist/cjs/reactjs/hooks/useSignIn.d.ts +6 -0
- package/dist/cjs/reactjs/hooks/useSignIn.d.ts.map +1 -0
- package/dist/cjs/reactjs/hooks/useSignIn.js +38 -0
- package/dist/cjs/reactjs/hooks/useSignIn.js.map +1 -0
- package/dist/cjs/reactjs/hooks/useUser.d.ts +4 -0
- package/dist/cjs/reactjs/hooks/useUser.d.ts.map +1 -0
- package/dist/cjs/reactjs/hooks/useUser.js +15 -0
- package/dist/cjs/reactjs/hooks/useUser.js.map +1 -0
- package/dist/cjs/reactjs/index.d.ts +6 -0
- package/dist/cjs/reactjs/index.d.ts.map +1 -0
- package/dist/cjs/reactjs/index.js +32 -0
- package/dist/cjs/reactjs/index.js.map +1 -0
- package/dist/cjs/reactjs/providers/AuthProvider.d.ts +10 -0
- package/dist/cjs/reactjs/providers/AuthProvider.d.ts.map +1 -0
- package/dist/cjs/reactjs/providers/AuthProvider.js +99 -0
- package/dist/cjs/reactjs/providers/AuthProvider.js.map +1 -0
- package/dist/cjs/reactjs/providers/CivicAuthProvider.d.ts +5 -0
- package/dist/cjs/reactjs/providers/CivicAuthProvider.d.ts.map +1 -0
- package/dist/cjs/reactjs/providers/CivicAuthProvider.js +29 -0
- package/dist/cjs/reactjs/providers/CivicAuthProvider.js.map +1 -0
- package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +17 -0
- package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +1 -0
- package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.js +146 -0
- package/dist/cjs/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +1 -0
- package/dist/cjs/reactjs/providers/index.d.ts +8 -0
- package/dist/cjs/reactjs/providers/index.d.ts.map +1 -0
- package/dist/cjs/reactjs/providers/index.js +19 -0
- package/dist/cjs/reactjs/providers/index.js.map +1 -0
- package/dist/cjs/server/ServerAuthenticationResolver.d.ts +20 -0
- package/dist/cjs/server/ServerAuthenticationResolver.d.ts.map +1 -0
- package/dist/cjs/server/ServerAuthenticationResolver.js +71 -0
- package/dist/cjs/server/ServerAuthenticationResolver.js.map +1 -0
- package/dist/cjs/server/config.d.ts +11 -0
- package/dist/cjs/server/config.d.ts.map +1 -0
- package/dist/cjs/server/config.js +3 -0
- package/dist/cjs/server/config.js.map +1 -0
- package/dist/cjs/server/index.d.ts +9 -0
- package/dist/cjs/server/index.d.ts.map +1 -0
- package/dist/cjs/server/index.js +21 -0
- package/dist/cjs/server/index.js.map +1 -0
- package/dist/cjs/server/login.d.ts +17 -0
- package/dist/cjs/server/login.d.ts.map +1 -0
- package/dist/cjs/server/login.js +42 -0
- package/dist/cjs/server/login.js.map +1 -0
- package/dist/cjs/server/logout.d.ts +7 -0
- package/dist/cjs/server/logout.d.ts.map +1 -0
- package/dist/cjs/server/logout.js +26 -0
- package/dist/cjs/server/logout.js.map +1 -0
- package/dist/cjs/server/refresh.d.ts +7 -0
- package/dist/cjs/server/refresh.d.ts.map +1 -0
- package/dist/cjs/server/refresh.js +19 -0
- package/dist/cjs/server/refresh.js.map +1 -0
- package/dist/cjs/services/AuthenticationService.d.ts +93 -0
- package/dist/cjs/services/AuthenticationService.d.ts.map +1 -0
- package/dist/cjs/services/AuthenticationService.js +367 -0
- package/dist/cjs/services/AuthenticationService.js.map +1 -0
- package/dist/cjs/services/PKCE.d.ts +20 -0
- package/dist/cjs/services/PKCE.d.ts.map +1 -0
- package/dist/cjs/services/PKCE.js +50 -0
- package/dist/cjs/services/PKCE.js.map +1 -0
- package/dist/cjs/services/types.d.ts +24 -0
- package/dist/cjs/services/types.d.ts.map +1 -0
- package/dist/cjs/services/types.js +11 -0
- package/dist/cjs/services/types.js.map +1 -0
- package/dist/cjs/shared/components/BlockDisplay.d.ts +6 -0
- package/dist/cjs/shared/components/BlockDisplay.d.ts.map +1 -0
- package/dist/cjs/shared/components/BlockDisplay.js +32 -0
- package/dist/cjs/shared/components/BlockDisplay.js.map +1 -0
- package/dist/cjs/shared/components/CivicAuthIframe.d.ts +9 -0
- package/dist/cjs/shared/components/CivicAuthIframe.d.ts.map +1 -0
- package/dist/cjs/shared/components/CivicAuthIframe.js +72 -0
- package/dist/cjs/shared/components/CivicAuthIframe.js.map +1 -0
- package/dist/cjs/shared/components/CivicAuthIframeContainer.d.ts +14 -0
- package/dist/cjs/shared/components/CivicAuthIframeContainer.d.ts.map +1 -0
- package/dist/cjs/shared/components/CivicAuthIframeContainer.js +158 -0
- package/dist/cjs/shared/components/CivicAuthIframeContainer.js.map +1 -0
- package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.d.ts +6 -0
- package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +1 -0
- package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.js +21 -0
- package/dist/cjs/shared/components/CivicAuthLogoutIframeContainer.js.map +1 -0
- package/dist/cjs/shared/components/CloseIcon.d.ts +3 -0
- package/dist/cjs/shared/components/CloseIcon.d.ts.map +1 -0
- package/dist/cjs/shared/components/CloseIcon.js +7 -0
- package/dist/cjs/shared/components/CloseIcon.js.map +1 -0
- package/dist/cjs/shared/components/IFrameAndLoading.d.ts +7 -0
- package/dist/cjs/shared/components/IFrameAndLoading.d.ts.map +1 -0
- package/dist/cjs/shared/components/IFrameAndLoading.js +39 -0
- package/dist/cjs/shared/components/IFrameAndLoading.js.map +1 -0
- package/dist/cjs/shared/components/LoadingIcon.d.ts +6 -0
- package/dist/cjs/shared/components/LoadingIcon.d.ts.map +1 -0
- package/dist/cjs/shared/components/LoadingIcon.js +28 -0
- package/dist/cjs/shared/components/LoadingIcon.js.map +1 -0
- package/dist/cjs/shared/components/SVGLoading.d.ts +4 -0
- package/dist/cjs/shared/components/SVGLoading.d.ts.map +1 -0
- package/dist/cjs/shared/components/SVGLoading.js +30 -0
- package/dist/cjs/shared/components/SVGLoading.js.map +1 -0
- package/dist/cjs/shared/hooks/index.d.ts +11 -0
- package/dist/cjs/shared/hooks/index.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/index.js +24 -0
- package/dist/cjs/shared/hooks/index.js.map +1 -0
- package/dist/cjs/shared/hooks/useAuth.d.ts +3 -0
- package/dist/cjs/shared/hooks/useAuth.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useAuth.js +15 -0
- package/dist/cjs/shared/hooks/useAuth.js.map +1 -0
- package/dist/cjs/shared/hooks/useCivicAuthConfig.d.ts +3 -0
- package/dist/cjs/shared/hooks/useCivicAuthConfig.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useCivicAuthConfig.js +13 -0
- package/dist/cjs/shared/hooks/useCivicAuthConfig.js.map +1 -0
- package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts +3 -0
- package/dist/cjs/shared/hooks/useClientTokenExchangeSession.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js +16 -0
- package/dist/cjs/shared/hooks/useClientTokenExchangeSession.js.map +1 -0
- package/dist/cjs/shared/hooks/useCurrentUrl.d.ts +3 -0
- package/dist/cjs/shared/hooks/useCurrentUrl.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useCurrentUrl.js +27 -0
- package/dist/cjs/shared/hooks/useCurrentUrl.js.map +1 -0
- package/dist/cjs/shared/hooks/useIframe.d.ts +3 -0
- package/dist/cjs/shared/hooks/useIframe.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useIframe.js +16 -0
- package/dist/cjs/shared/hooks/useIframe.js.map +1 -0
- package/dist/cjs/shared/hooks/useIsInIframe.d.ts +3 -0
- package/dist/cjs/shared/hooks/useIsInIframe.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useIsInIframe.js +17 -0
- package/dist/cjs/shared/hooks/useIsInIframe.js.map +1 -0
- package/dist/cjs/shared/hooks/useOAuthEndpoints.d.ts +4 -0
- package/dist/cjs/shared/hooks/useOAuthEndpoints.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useOAuthEndpoints.js +17 -0
- package/dist/cjs/shared/hooks/useOAuthEndpoints.js.map +1 -0
- package/dist/cjs/shared/hooks/useRefresh.d.ts +6 -0
- package/dist/cjs/shared/hooks/useRefresh.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useRefresh.js +49 -0
- package/dist/cjs/shared/hooks/useRefresh.js.map +1 -0
- package/dist/cjs/shared/hooks/useSession.d.ts +3 -0
- package/dist/cjs/shared/hooks/useSession.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useSession.js +16 -0
- package/dist/cjs/shared/hooks/useSession.js.map +1 -0
- package/dist/cjs/shared/hooks/useSignIn.d.ts +17 -0
- package/dist/cjs/shared/hooks/useSignIn.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useSignIn.js +171 -0
- package/dist/cjs/shared/hooks/useSignIn.js.map +1 -0
- package/dist/cjs/shared/hooks/useToken.d.ts +3 -0
- package/dist/cjs/shared/hooks/useToken.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useToken.js +15 -0
- package/dist/cjs/shared/hooks/useToken.js.map +1 -0
- package/dist/cjs/shared/hooks/useWindowFocused.d.ts +5 -0
- package/dist/cjs/shared/hooks/useWindowFocused.d.ts.map +1 -0
- package/dist/cjs/shared/hooks/useWindowFocused.js +24 -0
- package/dist/cjs/shared/hooks/useWindowFocused.js.map +1 -0
- package/dist/cjs/shared/index.d.ts +7 -0
- package/dist/cjs/shared/index.d.ts.map +1 -0
- package/dist/cjs/shared/index.js +25 -0
- package/dist/cjs/shared/index.js.map +1 -0
- package/dist/cjs/shared/lib/AuthenticationRefresherImpl.d.ts +14 -0
- package/dist/cjs/shared/lib/AuthenticationRefresherImpl.d.ts.map +1 -0
- package/dist/cjs/shared/lib/AuthenticationRefresherImpl.js +55 -0
- package/dist/cjs/shared/lib/AuthenticationRefresherImpl.js.map +1 -0
- package/dist/cjs/shared/lib/BrowserAuthenticationRefresher.d.ts +11 -0
- package/dist/cjs/shared/lib/BrowserAuthenticationRefresher.d.ts.map +1 -0
- package/dist/cjs/shared/lib/BrowserAuthenticationRefresher.js +63 -0
- package/dist/cjs/shared/lib/BrowserAuthenticationRefresher.js.map +1 -0
- package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts +9 -0
- package/dist/cjs/shared/lib/BrowserCookieStorage.d.ts.map +1 -0
- package/dist/cjs/shared/lib/BrowserCookieStorage.js +60 -0
- package/dist/cjs/shared/lib/BrowserCookieStorage.js.map +1 -0
- package/dist/cjs/shared/lib/GenericAuthenticationRefresher copy.d.ts +18 -0
- package/dist/cjs/shared/lib/GenericAuthenticationRefresher copy.d.ts.map +1 -0
- package/dist/cjs/shared/lib/GenericAuthenticationRefresher copy.js +85 -0
- package/dist/cjs/shared/lib/GenericAuthenticationRefresher copy.js.map +1 -0
- package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts +14 -0
- package/dist/cjs/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -0
- package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js +38 -0
- package/dist/cjs/shared/lib/GenericAuthenticationRefresher.js.map +1 -0
- package/dist/cjs/shared/lib/UserSession.d.ts +17 -0
- package/dist/cjs/shared/lib/UserSession.d.ts.map +1 -0
- package/dist/cjs/shared/lib/UserSession.js +27 -0
- package/dist/cjs/shared/lib/UserSession.js.map +1 -0
- package/dist/cjs/shared/lib/iframeUtils.d.ts +6 -0
- package/dist/cjs/shared/lib/iframeUtils.d.ts.map +1 -0
- package/dist/cjs/shared/lib/iframeUtils.js +11 -0
- package/dist/cjs/shared/lib/iframeUtils.js.map +1 -0
- package/dist/cjs/shared/lib/session.d.ts +4 -0
- package/dist/cjs/shared/lib/session.d.ts.map +1 -0
- package/dist/cjs/shared/lib/session.js +48 -0
- package/dist/cjs/shared/lib/session.js.map +1 -0
- package/dist/cjs/shared/lib/storage.d.ts +35 -0
- package/dist/cjs/shared/lib/storage.d.ts.map +1 -0
- package/dist/cjs/shared/lib/storage.js +21 -0
- package/dist/cjs/shared/lib/storage.js.map +1 -0
- package/dist/cjs/shared/lib/types.d.ts +39 -0
- package/dist/cjs/shared/lib/types.d.ts.map +1 -0
- package/dist/cjs/shared/lib/types.js +22 -0
- package/dist/cjs/shared/lib/types.js.map +1 -0
- package/dist/cjs/shared/lib/util.d.ts +40 -0
- package/dist/cjs/shared/lib/util.d.ts.map +1 -0
- package/dist/cjs/shared/lib/util.js +252 -0
- package/dist/cjs/shared/lib/util.js.map +1 -0
- package/dist/cjs/shared/providers/AuthContext.d.ts +12 -0
- package/dist/cjs/shared/providers/AuthContext.d.ts.map +1 -0
- package/dist/cjs/shared/providers/AuthContext.js +7 -0
- package/dist/cjs/shared/providers/AuthContext.js.map +1 -0
- package/dist/cjs/shared/providers/AuthProvider.d.ts +22 -0
- package/dist/cjs/shared/providers/AuthProvider.d.ts.map +1 -0
- package/dist/cjs/shared/providers/AuthProvider.js +108 -0
- package/dist/cjs/shared/providers/AuthProvider.js.map +1 -0
- package/dist/cjs/shared/providers/CivicAuthConfigContext.d.ts +19 -0
- package/dist/cjs/shared/providers/CivicAuthConfigContext.d.ts.map +1 -0
- package/dist/cjs/shared/providers/CivicAuthConfigContext.js +59 -0
- package/dist/cjs/shared/providers/CivicAuthConfigContext.js.map +1 -0
- package/dist/cjs/shared/providers/CivicAuthProvider.d.ts +6 -0
- package/dist/cjs/shared/providers/CivicAuthProvider.d.ts.map +1 -0
- package/dist/cjs/shared/providers/CivicAuthProvider.js +38 -0
- package/dist/cjs/shared/providers/CivicAuthProvider.js.map +1 -0
- package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts +17 -0
- package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +1 -0
- package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js +168 -0
- package/dist/cjs/shared/providers/ClientTokenExchangeSessionProvider.js.map +1 -0
- package/dist/cjs/shared/providers/IframeProvider.d.ts +25 -0
- package/dist/cjs/shared/providers/IframeProvider.d.ts.map +1 -0
- package/dist/cjs/shared/providers/IframeProvider.js +63 -0
- package/dist/cjs/shared/providers/IframeProvider.js.map +1 -0
- package/dist/cjs/shared/providers/SessionProvider.d.ts +19 -0
- package/dist/cjs/shared/providers/SessionProvider.d.ts.map +1 -0
- package/dist/cjs/shared/providers/SessionProvider.js +28 -0
- package/dist/cjs/shared/providers/SessionProvider.js.map +1 -0
- package/dist/cjs/shared/providers/TokenProvider.d.ts +17 -0
- package/dist/cjs/shared/providers/TokenProvider.d.ts.map +1 -0
- package/dist/cjs/shared/providers/TokenProvider.js +39 -0
- package/dist/cjs/shared/providers/TokenProvider.js.map +1 -0
- package/dist/cjs/shared/providers/UserProvider.d.ts +26 -0
- package/dist/cjs/shared/providers/UserProvider.d.ts.map +1 -0
- package/dist/cjs/shared/providers/UserProvider.js +69 -0
- package/dist/cjs/shared/providers/UserProvider.js.map +1 -0
- package/dist/cjs/shared/providers/types.d.ts +15 -0
- package/dist/cjs/shared/providers/types.d.ts.map +1 -0
- package/dist/cjs/shared/providers/types.js +3 -0
- package/dist/cjs/shared/providers/types.js.map +1 -0
- package/dist/cjs/shared/version.d.ts +2 -0
- package/dist/cjs/shared/version.d.ts.map +1 -0
- package/dist/cjs/shared/version.js +6 -0
- package/dist/cjs/shared/version.js.map +1 -0
- package/dist/cjs/types.d.ts +163 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +20 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/utils.d.ts +15 -0
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/cjs/utils.js +47 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/cjs/version.d.ts +2 -0
- package/dist/cjs/version.d.ts.map +1 -0
- package/dist/cjs/version.js +6 -0
- package/dist/cjs/version.js.map +1 -0
- package/dist/esm/browser/storage.d.ts +10 -0
- package/dist/esm/browser/storage.d.ts.map +1 -0
- package/dist/esm/browser/storage.js +20 -0
- package/dist/esm/browser/storage.js.map +1 -0
- package/dist/esm/config.d.ts +3 -0
- package/dist/esm/config.d.ts.map +1 -0
- package/dist/esm/config.js +5 -0
- package/dist/esm/config.js.map +1 -0
- package/dist/esm/constants.d.ts +15 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +29 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/cookies.d.ts +7 -0
- package/dist/esm/lib/cookies.d.ts.map +1 -0
- package/dist/esm/lib/cookies.js +26 -0
- package/dist/esm/lib/cookies.js.map +1 -0
- package/dist/esm/lib/jwt.d.ts +3 -0
- package/dist/esm/lib/jwt.d.ts.map +1 -0
- package/dist/esm/lib/jwt.js +9 -0
- package/dist/esm/lib/jwt.js.map +1 -0
- package/dist/esm/lib/logger.d.ts +26 -0
- package/dist/esm/lib/logger.d.ts.map +1 -0
- package/dist/esm/lib/logger.js +55 -0
- package/dist/esm/lib/logger.js.map +1 -0
- package/dist/esm/lib/oauth.d.ts +19 -0
- package/dist/esm/lib/oauth.d.ts.map +1 -0
- package/dist/esm/lib/oauth.js +67 -0
- package/dist/esm/lib/oauth.js.map +1 -0
- package/dist/esm/lib/obj.d.ts +3 -0
- package/dist/esm/lib/obj.d.ts.map +1 -0
- package/dist/esm/lib/obj.js +18 -0
- package/dist/esm/lib/obj.js.map +1 -0
- package/dist/esm/lib/postMessage.d.ts +4 -0
- package/dist/esm/lib/postMessage.d.ts.map +1 -0
- package/dist/esm/lib/postMessage.js +13 -0
- package/dist/esm/lib/postMessage.js.map +1 -0
- package/dist/esm/lib/windowUtil.d.ts +4 -0
- package/dist/esm/lib/windowUtil.d.ts.map +1 -0
- package/dist/esm/lib/windowUtil.js +31 -0
- package/dist/esm/lib/windowUtil.js.map +1 -0
- package/dist/esm/nextjs/GetUser.d.ts +6 -0
- package/dist/esm/nextjs/GetUser.d.ts.map +1 -0
- package/dist/esm/nextjs/GetUser.js +7 -0
- package/dist/esm/nextjs/GetUser.js.map +1 -0
- package/dist/esm/nextjs/NextClientAuthenticationRefresher.d.ts +8 -0
- package/dist/esm/nextjs/NextClientAuthenticationRefresher.d.ts.map +1 -0
- package/dist/esm/nextjs/NextClientAuthenticationRefresher.js +24 -0
- package/dist/esm/nextjs/NextClientAuthenticationRefresher.js.map +1 -0
- package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.d.ts +12 -0
- package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.d.ts.map +1 -0
- package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.js +25 -0
- package/dist/esm/nextjs/NextServerAuthenticationRefresherImpl.js.map +1 -0
- package/dist/esm/nextjs/config.d.ts +209 -0
- package/dist/esm/nextjs/config.d.ts.map +1 -0
- package/dist/esm/nextjs/config.js +186 -0
- package/dist/esm/nextjs/config.js.map +1 -0
- package/dist/esm/nextjs/cookies.d.ts +16 -0
- package/dist/esm/nextjs/cookies.d.ts.map +1 -0
- package/dist/esm/nextjs/cookies.js +41 -0
- package/dist/esm/nextjs/cookies.js.map +1 -0
- package/dist/esm/nextjs/hooks/index.d.ts +2 -0
- package/dist/esm/nextjs/hooks/index.d.ts.map +1 -0
- package/dist/esm/nextjs/hooks/index.js +2 -0
- package/dist/esm/nextjs/hooks/index.js.map +1 -0
- package/dist/esm/nextjs/hooks/usePrevious.d.ts +2 -0
- package/dist/esm/nextjs/hooks/usePrevious.d.ts.map +1 -0
- package/dist/esm/nextjs/hooks/usePrevious.js +9 -0
- package/dist/esm/nextjs/hooks/usePrevious.js.map +1 -0
- package/dist/esm/nextjs/hooks/useRefresh.d.ts +6 -0
- package/dist/esm/nextjs/hooks/useRefresh.d.ts.map +1 -0
- package/dist/esm/nextjs/hooks/useRefresh.js +48 -0
- package/dist/esm/nextjs/hooks/useRefresh.js.map +1 -0
- package/dist/esm/nextjs/hooks/useUserCookie.d.ts +8 -0
- package/dist/esm/nextjs/hooks/useUserCookie.d.ts.map +1 -0
- package/dist/esm/nextjs/hooks/useUserCookie.js +89 -0
- package/dist/esm/nextjs/hooks/useUserCookie.js.map +1 -0
- package/dist/esm/nextjs/index.d.ts +9 -0
- package/dist/esm/nextjs/index.d.ts.map +1 -0
- package/dist/esm/nextjs/index.js +17 -0
- package/dist/esm/nextjs/index.js.map +1 -0
- package/dist/esm/nextjs/middleware/index.d.ts +2 -0
- package/dist/esm/nextjs/middleware/index.d.ts.map +1 -0
- package/dist/esm/nextjs/middleware/index.js +4 -0
- package/dist/esm/nextjs/middleware/index.js.map +1 -0
- package/dist/esm/nextjs/middleware.d.ts +57 -0
- package/dist/esm/nextjs/middleware.d.ts.map +1 -0
- package/dist/esm/nextjs/middleware.js +101 -0
- package/dist/esm/nextjs/middleware.js.map +1 -0
- package/dist/esm/nextjs/providers/NextAuthProvider.d.ts +9 -0
- package/dist/esm/nextjs/providers/NextAuthProvider.d.ts.map +1 -0
- package/dist/esm/nextjs/providers/NextAuthProvider.js +105 -0
- package/dist/esm/nextjs/providers/NextAuthProvider.js.map +1 -0
- package/dist/esm/nextjs/routeHandler.d.ts +19 -0
- package/dist/esm/nextjs/routeHandler.d.ts.map +1 -0
- package/dist/esm/nextjs/routeHandler.js +319 -0
- package/dist/esm/nextjs/routeHandler.js.map +1 -0
- package/dist/esm/nextjs/utils.d.ts +3 -0
- package/dist/esm/nextjs/utils.d.ts.map +1 -0
- package/dist/esm/nextjs/utils.js +5 -0
- package/dist/esm/nextjs/utils.js.map +1 -0
- package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts +17 -0
- package/dist/esm/reactjs/components/ButtonContentOrLoader.d.ts.map +1 -0
- package/dist/esm/reactjs/components/ButtonContentOrLoader.js +37 -0
- package/dist/esm/reactjs/components/ButtonContentOrLoader.js.map +1 -0
- package/dist/esm/reactjs/components/SignInButton.d.ts +9 -0
- package/dist/esm/reactjs/components/SignInButton.d.ts.map +1 -0
- package/dist/esm/reactjs/components/SignInButton.js +28 -0
- package/dist/esm/reactjs/components/SignInButton.js.map +1 -0
- package/dist/esm/reactjs/components/SignOutButton.d.ts +7 -0
- package/dist/esm/reactjs/components/SignOutButton.d.ts.map +1 -0
- package/dist/esm/reactjs/components/SignOutButton.js +24 -0
- package/dist/esm/reactjs/components/SignOutButton.js.map +1 -0
- package/dist/esm/reactjs/components/UserButton.d.ts +9 -0
- package/dist/esm/reactjs/components/UserButton.d.ts.map +1 -0
- package/dist/esm/reactjs/components/UserButton.js +142 -0
- package/dist/esm/reactjs/components/UserButton.js.map +1 -0
- package/dist/esm/reactjs/components/index.d.ts +6 -0
- package/dist/esm/reactjs/components/index.d.ts.map +1 -0
- package/dist/esm/reactjs/components/index.js +6 -0
- package/dist/esm/reactjs/components/index.js.map +1 -0
- package/dist/esm/reactjs/components/utils.d.ts +13 -0
- package/dist/esm/reactjs/components/utils.d.ts.map +1 -0
- package/dist/esm/reactjs/components/utils.js +27 -0
- package/dist/esm/reactjs/components/utils.js.map +1 -0
- package/dist/esm/reactjs/hooks/index.d.ts +3 -0
- package/dist/esm/reactjs/hooks/index.d.ts.map +1 -0
- package/dist/esm/reactjs/hooks/index.js +3 -0
- package/dist/esm/reactjs/hooks/index.js.map +1 -0
- package/dist/esm/reactjs/hooks/useAuth.d.ts +3 -0
- package/dist/esm/reactjs/hooks/useAuth.d.ts.map +1 -0
- package/dist/esm/reactjs/hooks/useAuth.js +12 -0
- package/dist/esm/reactjs/hooks/useAuth.js.map +1 -0
- package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.d.ts +3 -0
- package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.d.ts.map +1 -0
- package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.js +13 -0
- package/dist/esm/reactjs/hooks/useClientTokenExchangeSession.js.map +1 -0
- package/dist/esm/reactjs/hooks/useSignIn.d.ts +6 -0
- package/dist/esm/reactjs/hooks/useSignIn.d.ts.map +1 -0
- package/dist/esm/reactjs/hooks/useSignIn.js +34 -0
- package/dist/esm/reactjs/hooks/useSignIn.js.map +1 -0
- package/dist/esm/reactjs/hooks/useUser.d.ts +4 -0
- package/dist/esm/reactjs/hooks/useUser.d.ts.map +1 -0
- package/dist/esm/reactjs/hooks/useUser.js +12 -0
- package/dist/esm/reactjs/hooks/useUser.js.map +1 -0
- package/dist/esm/reactjs/index.d.ts +6 -0
- package/dist/esm/reactjs/index.d.ts.map +1 -0
- package/dist/esm/reactjs/index.js +10 -0
- package/dist/esm/reactjs/index.js.map +1 -0
- package/dist/esm/reactjs/providers/AuthProvider.d.ts +10 -0
- package/dist/esm/reactjs/providers/AuthProvider.d.ts.map +1 -0
- package/dist/esm/reactjs/providers/AuthProvider.js +97 -0
- package/dist/esm/reactjs/providers/AuthProvider.js.map +1 -0
- package/dist/esm/reactjs/providers/CivicAuthProvider.d.ts +5 -0
- package/dist/esm/reactjs/providers/CivicAuthProvider.d.ts.map +1 -0
- package/dist/esm/reactjs/providers/CivicAuthProvider.js +27 -0
- package/dist/esm/reactjs/providers/CivicAuthProvider.js.map +1 -0
- package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts +17 -0
- package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.d.ts.map +1 -0
- package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.js +142 -0
- package/dist/esm/reactjs/providers/ClientTokenExchangeSessionProvider.js.map +1 -0
- package/dist/esm/reactjs/providers/index.d.ts +8 -0
- package/dist/esm/reactjs/providers/index.d.ts.map +1 -0
- package/dist/esm/reactjs/providers/index.js +7 -0
- package/dist/esm/reactjs/providers/index.js.map +1 -0
- package/dist/esm/server/ServerAuthenticationResolver.d.ts +20 -0
- package/dist/esm/server/ServerAuthenticationResolver.d.ts.map +1 -0
- package/dist/esm/server/ServerAuthenticationResolver.js +67 -0
- package/dist/esm/server/ServerAuthenticationResolver.js.map +1 -0
- package/dist/esm/server/config.d.ts +11 -0
- package/dist/esm/server/config.d.ts.map +1 -0
- package/dist/esm/server/config.js +2 -0
- package/dist/esm/server/config.js.map +1 -0
- package/dist/esm/server/index.d.ts +9 -0
- package/dist/esm/server/index.d.ts.map +1 -0
- package/dist/esm/server/index.js +9 -0
- package/dist/esm/server/index.js.map +1 -0
- package/dist/esm/server/login.d.ts +17 -0
- package/dist/esm/server/login.d.ts.map +1 -0
- package/dist/esm/server/login.js +37 -0
- package/dist/esm/server/login.js.map +1 -0
- package/dist/esm/server/logout.d.ts +7 -0
- package/dist/esm/server/logout.d.ts.map +1 -0
- package/dist/esm/server/logout.js +23 -0
- package/dist/esm/server/logout.js.map +1 -0
- package/dist/esm/server/refresh.d.ts +7 -0
- package/dist/esm/server/refresh.d.ts.map +1 -0
- package/dist/esm/server/refresh.js +16 -0
- package/dist/esm/server/refresh.js.map +1 -0
- package/dist/esm/services/AuthenticationService.d.ts +93 -0
- package/dist/esm/services/AuthenticationService.d.ts.map +1 -0
- package/dist/esm/services/AuthenticationService.js +361 -0
- package/dist/esm/services/AuthenticationService.js.map +1 -0
- package/dist/esm/services/PKCE.d.ts +20 -0
- package/dist/esm/services/PKCE.d.ts.map +1 -0
- package/dist/esm/services/PKCE.js +44 -0
- package/dist/esm/services/PKCE.js.map +1 -0
- package/dist/esm/services/types.d.ts +24 -0
- package/dist/esm/services/types.d.ts.map +1 -0
- package/dist/esm/services/types.js +7 -0
- package/dist/esm/services/types.js.map +1 -0
- package/dist/esm/shared/components/BlockDisplay.d.ts +6 -0
- package/dist/esm/shared/components/BlockDisplay.d.ts.map +1 -0
- package/dist/esm/shared/components/BlockDisplay.js +29 -0
- package/dist/esm/shared/components/BlockDisplay.js.map +1 -0
- package/dist/esm/shared/components/CivicAuthIframe.d.ts +9 -0
- package/dist/esm/shared/components/CivicAuthIframe.d.ts.map +1 -0
- package/dist/esm/shared/components/CivicAuthIframe.js +33 -0
- package/dist/esm/shared/components/CivicAuthIframe.js.map +1 -0
- package/dist/esm/shared/components/CivicAuthIframeContainer.d.ts +14 -0
- package/dist/esm/shared/components/CivicAuthIframeContainer.d.ts.map +1 -0
- package/dist/esm/shared/components/CivicAuthIframeContainer.js +154 -0
- package/dist/esm/shared/components/CivicAuthIframeContainer.js.map +1 -0
- package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.d.ts +6 -0
- package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.d.ts.map +1 -0
- package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.js +19 -0
- package/dist/esm/shared/components/CivicAuthLogoutIframeContainer.js.map +1 -0
- package/dist/esm/shared/components/CloseIcon.d.ts +3 -0
- package/dist/esm/shared/components/CloseIcon.d.ts.map +1 -0
- package/dist/esm/shared/components/CloseIcon.js +5 -0
- package/dist/esm/shared/components/CloseIcon.js.map +1 -0
- package/dist/esm/shared/components/IFrameAndLoading.d.ts +7 -0
- package/dist/esm/shared/components/IFrameAndLoading.d.ts.map +1 -0
- package/dist/esm/shared/components/IFrameAndLoading.js +36 -0
- package/dist/esm/shared/components/IFrameAndLoading.js.map +1 -0
- package/dist/esm/shared/components/LoadingIcon.d.ts +6 -0
- package/dist/esm/shared/components/LoadingIcon.d.ts.map +1 -0
- package/dist/esm/shared/components/LoadingIcon.js +26 -0
- package/dist/esm/shared/components/LoadingIcon.js.map +1 -0
- package/dist/esm/shared/components/SVGLoading.d.ts +4 -0
- package/dist/esm/shared/components/SVGLoading.d.ts.map +1 -0
- package/dist/esm/shared/components/SVGLoading.js +28 -0
- package/dist/esm/shared/components/SVGLoading.js.map +1 -0
- package/dist/esm/shared/hooks/index.d.ts +11 -0
- package/dist/esm/shared/hooks/index.d.ts.map +1 -0
- package/dist/esm/shared/hooks/index.js +11 -0
- package/dist/esm/shared/hooks/index.js.map +1 -0
- package/dist/esm/shared/hooks/useAuth.d.ts +3 -0
- package/dist/esm/shared/hooks/useAuth.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useAuth.js +12 -0
- package/dist/esm/shared/hooks/useAuth.js.map +1 -0
- package/dist/esm/shared/hooks/useCivicAuthConfig.d.ts +3 -0
- package/dist/esm/shared/hooks/useCivicAuthConfig.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useCivicAuthConfig.js +10 -0
- package/dist/esm/shared/hooks/useCivicAuthConfig.js.map +1 -0
- package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts +3 -0
- package/dist/esm/shared/hooks/useClientTokenExchangeSession.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useClientTokenExchangeSession.js +13 -0
- package/dist/esm/shared/hooks/useClientTokenExchangeSession.js.map +1 -0
- package/dist/esm/shared/hooks/useCurrentUrl.d.ts +3 -0
- package/dist/esm/shared/hooks/useCurrentUrl.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useCurrentUrl.js +24 -0
- package/dist/esm/shared/hooks/useCurrentUrl.js.map +1 -0
- package/dist/esm/shared/hooks/useIframe.d.ts +3 -0
- package/dist/esm/shared/hooks/useIframe.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useIframe.js +13 -0
- package/dist/esm/shared/hooks/useIframe.js.map +1 -0
- package/dist/esm/shared/hooks/useIsInIframe.d.ts +3 -0
- package/dist/esm/shared/hooks/useIsInIframe.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useIsInIframe.js +14 -0
- package/dist/esm/shared/hooks/useIsInIframe.js.map +1 -0
- package/dist/esm/shared/hooks/useOAuthEndpoints.d.ts +4 -0
- package/dist/esm/shared/hooks/useOAuthEndpoints.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useOAuthEndpoints.js +14 -0
- package/dist/esm/shared/hooks/useOAuthEndpoints.js.map +1 -0
- package/dist/esm/shared/hooks/useRefresh.d.ts +6 -0
- package/dist/esm/shared/hooks/useRefresh.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useRefresh.js +46 -0
- package/dist/esm/shared/hooks/useRefresh.js.map +1 -0
- package/dist/esm/shared/hooks/useSession.d.ts +3 -0
- package/dist/esm/shared/hooks/useSession.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useSession.js +13 -0
- package/dist/esm/shared/hooks/useSession.js.map +1 -0
- package/dist/esm/shared/hooks/useSignIn.d.ts +17 -0
- package/dist/esm/shared/hooks/useSignIn.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useSignIn.js +168 -0
- package/dist/esm/shared/hooks/useSignIn.js.map +1 -0
- package/dist/esm/shared/hooks/useToken.d.ts +3 -0
- package/dist/esm/shared/hooks/useToken.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useToken.js +12 -0
- package/dist/esm/shared/hooks/useToken.js.map +1 -0
- package/dist/esm/shared/hooks/useWindowFocused.d.ts +5 -0
- package/dist/esm/shared/hooks/useWindowFocused.d.ts.map +1 -0
- package/dist/esm/shared/hooks/useWindowFocused.js +21 -0
- package/dist/esm/shared/hooks/useWindowFocused.js.map +1 -0
- package/dist/esm/shared/index.d.ts +7 -0
- package/dist/esm/shared/index.d.ts.map +1 -0
- package/dist/esm/shared/index.js +18 -0
- package/dist/esm/shared/index.js.map +1 -0
- package/dist/esm/shared/lib/AuthenticationRefresherImpl.d.ts +14 -0
- package/dist/esm/shared/lib/AuthenticationRefresherImpl.d.ts.map +1 -0
- package/dist/esm/shared/lib/AuthenticationRefresherImpl.js +51 -0
- package/dist/esm/shared/lib/AuthenticationRefresherImpl.js.map +1 -0
- package/dist/esm/shared/lib/BrowserAuthenticationRefresher.d.ts +11 -0
- package/dist/esm/shared/lib/BrowserAuthenticationRefresher.d.ts.map +1 -0
- package/dist/esm/shared/lib/BrowserAuthenticationRefresher.js +59 -0
- package/dist/esm/shared/lib/BrowserAuthenticationRefresher.js.map +1 -0
- package/dist/esm/shared/lib/BrowserCookieStorage.d.ts +9 -0
- package/dist/esm/shared/lib/BrowserCookieStorage.d.ts.map +1 -0
- package/dist/esm/shared/lib/BrowserCookieStorage.js +56 -0
- package/dist/esm/shared/lib/BrowserCookieStorage.js.map +1 -0
- package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts +14 -0
- package/dist/esm/shared/lib/GenericAuthenticationRefresher.d.ts.map +1 -0
- package/dist/esm/shared/lib/GenericAuthenticationRefresher.js +34 -0
- package/dist/esm/shared/lib/GenericAuthenticationRefresher.js.map +1 -0
- package/dist/esm/shared/lib/UserSession.d.ts +17 -0
- package/dist/esm/shared/lib/UserSession.d.ts.map +1 -0
- package/dist/esm/shared/lib/UserSession.js +23 -0
- package/dist/esm/shared/lib/UserSession.js.map +1 -0
- package/dist/esm/shared/lib/iframeUtils.d.ts +6 -0
- package/dist/esm/shared/lib/iframeUtils.d.ts.map +1 -0
- package/dist/esm/shared/lib/iframeUtils.js +7 -0
- package/dist/esm/shared/lib/iframeUtils.js.map +1 -0
- package/dist/esm/shared/lib/session.d.ts +4 -0
- package/dist/esm/shared/lib/session.d.ts.map +1 -0
- package/dist/esm/shared/lib/session.js +44 -0
- package/dist/esm/shared/lib/session.js.map +1 -0
- package/dist/esm/shared/lib/storage.d.ts +35 -0
- package/dist/esm/shared/lib/storage.d.ts.map +1 -0
- package/dist/esm/shared/lib/storage.js +17 -0
- package/dist/esm/shared/lib/storage.js.map +1 -0
- package/dist/esm/shared/lib/types.d.ts +39 -0
- package/dist/esm/shared/lib/types.d.ts.map +1 -0
- package/dist/esm/shared/lib/types.js +19 -0
- package/dist/esm/shared/lib/types.js.map +1 -0
- package/dist/esm/shared/lib/util.d.ts +40 -0
- package/dist/esm/shared/lib/util.d.ts.map +1 -0
- package/dist/esm/shared/lib/util.js +200 -0
- package/dist/esm/shared/lib/util.js.map +1 -0
- package/dist/esm/shared/providers/AuthContext.d.ts +12 -0
- package/dist/esm/shared/providers/AuthContext.d.ts.map +1 -0
- package/dist/esm/shared/providers/AuthContext.js +4 -0
- package/dist/esm/shared/providers/AuthContext.js.map +1 -0
- package/dist/esm/shared/providers/AuthProvider.d.ts +22 -0
- package/dist/esm/shared/providers/AuthProvider.d.ts.map +1 -0
- package/dist/esm/shared/providers/AuthProvider.js +72 -0
- package/dist/esm/shared/providers/AuthProvider.js.map +1 -0
- package/dist/esm/shared/providers/CivicAuthConfigContext.d.ts +19 -0
- package/dist/esm/shared/providers/CivicAuthConfigContext.d.ts.map +1 -0
- package/dist/esm/shared/providers/CivicAuthConfigContext.js +55 -0
- package/dist/esm/shared/providers/CivicAuthConfigContext.js.map +1 -0
- package/dist/esm/shared/providers/CivicAuthProvider.d.ts +6 -0
- package/dist/esm/shared/providers/CivicAuthProvider.d.ts.map +1 -0
- package/dist/esm/shared/providers/CivicAuthProvider.js +32 -0
- package/dist/esm/shared/providers/CivicAuthProvider.js.map +1 -0
- package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts +17 -0
- package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.d.ts.map +1 -0
- package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js +131 -0
- package/dist/esm/shared/providers/ClientTokenExchangeSessionProvider.js.map +1 -0
- package/dist/esm/shared/providers/IframeProvider.d.ts +25 -0
- package/dist/esm/shared/providers/IframeProvider.d.ts.map +1 -0
- package/dist/esm/shared/providers/IframeProvider.js +59 -0
- package/dist/esm/shared/providers/IframeProvider.js.map +1 -0
- package/dist/esm/shared/providers/SessionProvider.d.ts +19 -0
- package/dist/esm/shared/providers/SessionProvider.d.ts.map +1 -0
- package/dist/esm/shared/providers/SessionProvider.js +24 -0
- package/dist/esm/shared/providers/SessionProvider.js.map +1 -0
- package/dist/esm/shared/providers/TokenProvider.d.ts +17 -0
- package/dist/esm/shared/providers/TokenProvider.d.ts.map +1 -0
- package/dist/esm/shared/providers/TokenProvider.js +35 -0
- package/dist/esm/shared/providers/TokenProvider.js.map +1 -0
- package/dist/esm/shared/providers/UserProvider.d.ts +26 -0
- package/dist/esm/shared/providers/UserProvider.d.ts.map +1 -0
- package/dist/esm/shared/providers/UserProvider.js +65 -0
- package/dist/esm/shared/providers/UserProvider.js.map +1 -0
- package/dist/esm/shared/providers/types.d.ts +15 -0
- package/dist/esm/shared/providers/types.d.ts.map +1 -0
- package/dist/esm/shared/providers/types.js +2 -0
- package/dist/esm/shared/providers/types.js.map +1 -0
- package/dist/esm/shared/version.d.ts +2 -0
- package/dist/esm/shared/version.d.ts.map +1 -0
- package/dist/esm/shared/version.js +3 -0
- package/dist/esm/shared/version.js.map +1 -0
- package/dist/esm/types.d.ts +163 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +17 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/utils.d.ts +15 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +42 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/esm/version.d.ts +2 -0
- package/dist/esm/version.d.ts.map +1 -0
- package/dist/esm/version.js +3 -0
- package/dist/esm/version.js.map +1 -0
- package/dist/shared/components/CivicAuthIframe.d.ts.map +1 -1
- package/dist/shared/components/CivicAuthIframe.js +17 -17
- package/dist/shared/components/CivicAuthIframe.js.map +1 -1
- package/dist/shared/components/CivicAuthIframeContainer.d.ts.map +1 -1
- package/dist/shared/components/CivicAuthIframeContainer.js +42 -39
- package/dist/shared/components/CivicAuthIframeContainer.js.map +1 -1
- package/dist/shared/components/LoadingIcon.d.ts +7 -4
- package/dist/shared/components/LoadingIcon.d.ts.map +1 -1
- package/dist/shared/components/LoadingIcon.js +3 -2
- package/dist/shared/components/LoadingIcon.js.map +1 -1
- package/dist/shared/lib/iframeUtils.d.ts +1 -5
- package/dist/shared/lib/iframeUtils.d.ts.map +1 -1
- package/dist/shared/lib/iframeUtils.js +3 -1
- package/dist/shared/lib/iframeUtils.js.map +1 -1
- package/dist/shared/providers/IframeProvider.js +1 -1
- package/dist/shared/providers/IframeProvider.js.map +1 -1
- package/dist/shared/version.d.ts +1 -1
- package/dist/shared/version.d.ts.map +1 -1
- package/dist/shared/version.js +1 -1
- package/dist/shared/version.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.CivicAuthIframe = void 0;
|
|
41
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
42
|
+
const react_1 = __importStar(require("react"));
|
|
43
|
+
const react_2 = __importDefault(require("@iframe-resizer/react"));
|
|
44
|
+
const SVGLoading_js_1 = __importDefault(require("./SVGLoading.js"));
|
|
45
|
+
const useIframe_js_1 = require("../hooks/useIframe.js");
|
|
46
|
+
const CivicAuthIframe = (0, react_1.forwardRef)(({ onLoad, id }, ref) => {
|
|
47
|
+
const [isLoaded, setIsLoaded] = react_1.default.useState(false);
|
|
48
|
+
const { iframeMode, backgroundColor } = (0, useIframe_js_1.useIframe)();
|
|
49
|
+
const [isClient, setIsClient] = (0, react_1.useState)(false);
|
|
50
|
+
(0, react_1.useEffect)(() => {
|
|
51
|
+
// only runs on client
|
|
52
|
+
setIsClient(true);
|
|
53
|
+
}, []);
|
|
54
|
+
// don't render on the server as the appearance changes when the iframe is loaded from login-app post-messages
|
|
55
|
+
return !isClient ? null : ((0, jsx_runtime_1.jsxs)("div", { children: [isLoaded ? null : ((0, jsx_runtime_1.jsx)("span", { "data-testid": "iframe-shimmer-loader", children: iframeMode !== "embedded" && ((0, jsx_runtime_1.jsx)(SVGLoading_js_1.default, { backgroundColor: backgroundColor })) })), (0, jsx_runtime_1.jsx)(react_2.default, { inPageLinks: true, license: "1jy4dww5qzv-s54r73oxcn-v59f4kfgfz", id: id, forwardRef: ref, "data-testid": "civic-auth-iframe-with-resizer", style: {
|
|
56
|
+
// we don't want the letterbox effect in embedded mode
|
|
57
|
+
height: iframeMode !== "embedded" ? "26px" : "24rem",
|
|
58
|
+
width: "100%",
|
|
59
|
+
border: "none",
|
|
60
|
+
minWidth: "100%",
|
|
61
|
+
backgroundColor,
|
|
62
|
+
transition: "height 0.25s ease",
|
|
63
|
+
pointerEvents: "auto",
|
|
64
|
+
borderRadius: "24px",
|
|
65
|
+
}, checkOrigin: false, onLoad: () => {
|
|
66
|
+
setIsLoaded(true);
|
|
67
|
+
onLoad?.();
|
|
68
|
+
}, allow: "camera; screen-wake-lock", allowFullScreen: true, direction: "vertical", warningTimeout: 0 })] }));
|
|
69
|
+
});
|
|
70
|
+
exports.CivicAuthIframe = CivicAuthIframe;
|
|
71
|
+
CivicAuthIframe.displayName = "CivicAuthIframe";
|
|
72
|
+
//# sourceMappingURL=CivicAuthIframe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CivicAuthIframe.js","sourceRoot":"","sources":["../../../../src/shared/components/CivicAuthIframe.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACb,+CAA+D;AAC/D,kEAAkD;AAClD,oEAAyC;AACzC,wDAAkD;AAOlD,MAAM,eAAe,GAAG,IAAA,kBAAU,EAChC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;IACtB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,IAAA,wBAAS,GAAE,CAAC;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAChD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,sBAAsB;QACtB,WAAW,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,8GAA8G;IAC9G,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACxB,4CACG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACjB,gDAAkB,uBAAuB,YACtC,UAAU,KAAK,UAAU,IAAI,CAC5B,uBAAC,uBAAU,IAAC,eAAe,EAAE,eAAe,GAAI,CACjD,GACI,CACR,EACD,uBAAC,eAAa,IACZ,WAAW,QACX,OAAO,EAAC,mCAAmC,EAC3C,EAAE,EAAE,EAAE,EACN,UAAU,EAAE,GAAG,iBACF,gCAAgC,EAC7C,KAAK,EAAE;oBACL,sDAAsD;oBACtD,MAAM,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;oBACpD,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,QAAQ,EAAE,MAAM;oBAChB,eAAe;oBACf,UAAU,EAAE,mBAAmB;oBAC/B,aAAa,EAAE,MAAM;oBACrB,YAAY,EAAE,MAAM;iBACrB,EACD,WAAW,EAAE,KAAK,EAClB,MAAM,EAAE,GAAG,EAAE;oBACX,WAAW,CAAC,IAAI,CAAC,CAAC;oBAClB,MAAM,EAAE,EAAE,CAAC;gBACb,CAAC,EACD,KAAK,EAAC,0BAA0B,EAChC,eAAe,QACf,SAAS,EAAC,UAAU,EACpB,cAAc,EAAE,CAAC,GACjB,IACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAMO,0CAAe;AAJxB,eAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC","sourcesContent":["\"use client\";\nimport React, { forwardRef, useEffect, useState } from \"react\";\nimport IframeResizer from \"@iframe-resizer/react\";\nimport SVGLoading from \"./SVGLoading.js\";\nimport { useIframe } from \"../hooks/useIframe.js\";\n\ntype CivicAuthIframeProps = {\n onLoad?: () => void;\n id: string;\n};\n\nconst CivicAuthIframe = forwardRef<HTMLIFrameElement, CivicAuthIframeProps>(\n ({ onLoad, id }, ref) => {\n const [isLoaded, setIsLoaded] = React.useState(false);\n const { iframeMode, backgroundColor } = useIframe();\n const [isClient, setIsClient] = useState(false);\n useEffect(() => {\n // only runs on client\n setIsClient(true);\n }, []);\n // don't render on the server as the appearance changes when the iframe is loaded from login-app post-messages\n return !isClient ? null : (\n <div>\n {isLoaded ? null : (\n <span data-testid=\"iframe-shimmer-loader\">\n {iframeMode !== \"embedded\" && (\n <SVGLoading backgroundColor={backgroundColor} />\n )}\n </span>\n )}\n <IframeResizer\n inPageLinks\n license=\"1jy4dww5qzv-s54r73oxcn-v59f4kfgfz\"\n id={id}\n forwardRef={ref}\n data-testid={\"civic-auth-iframe-with-resizer\"}\n style={{\n // we don't want the letterbox effect in embedded mode\n height: iframeMode !== \"embedded\" ? \"26px\" : \"24rem\",\n width: \"100%\",\n border: \"none\",\n minWidth: \"100%\",\n backgroundColor,\n transition: \"height 0.25s ease\",\n pointerEvents: \"auto\",\n borderRadius: \"24px\",\n }}\n checkOrigin={false}\n onLoad={() => {\n setIsLoaded(true);\n onLoad?.();\n }}\n allow=\"camera; screen-wake-lock\"\n allowFullScreen\n direction=\"vertical\"\n warningTimeout={0}\n />\n </div>\n );\n },\n);\n\nCivicAuthIframe.displayName = \"CivicAuthIframe\";\n\nexport type { CivicAuthIframeProps };\n\nexport { CivicAuthIframe };\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
type CivicAuthIframeContainerProps = {
|
|
3
|
+
onClose?: () => void;
|
|
4
|
+
closeOnRedirect?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare function IframeChrome({ children, onClose, isFrameLoaded, }: {
|
|
7
|
+
children: React.ReactNode;
|
|
8
|
+
onClose?: () => void;
|
|
9
|
+
isFrameLoaded: boolean;
|
|
10
|
+
}): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
11
|
+
declare const CivicAuthIframeContainer: ({ onClose, closeOnRedirect, }: CivicAuthIframeContainerProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
12
|
+
export type { CivicAuthIframeContainerProps };
|
|
13
|
+
export { CivicAuthIframeContainer };
|
|
14
|
+
//# sourceMappingURL=CivicAuthIframeContainer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CivicAuthIframeContainer.d.ts","sourceRoot":"","sources":["../../../../src/shared/components/CivicAuthIframeContainer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAUxE,KAAK,6BAA6B,GAAG;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAeF,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,OAAO,EACP,aAAa,GACd,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;CACxB,oDAkFA;AAED,QAAA,MAAM,wBAAwB,kCAG3B,6BAA6B,qDA4G/B,CAAC;AAEF,YAAY,EAAE,6BAA6B,EAAE,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.CivicAuthIframeContainer = void 0;
|
|
5
|
+
exports.IframeChrome = IframeChrome;
|
|
6
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const LoadingIcon_js_1 = require("../../shared/components/LoadingIcon.js");
|
|
9
|
+
const CloseIcon_js_1 = require("../../shared/components/CloseIcon.js");
|
|
10
|
+
const CivicAuthIframe_js_1 = require("../../shared/components/CivicAuthIframe.js");
|
|
11
|
+
const index_js_1 = require("../../shared/hooks/index.js");
|
|
12
|
+
const constants_js_1 = require("../../constants.js");
|
|
13
|
+
const index_js_2 = require("../../shared/hooks/index.js");
|
|
14
|
+
const index_js_3 = require("../../shared/hooks/index.js");
|
|
15
|
+
const iframeUtils_js_1 = require("../lib/iframeUtils.js");
|
|
16
|
+
function NoChrome({ children, }) {
|
|
17
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-testid": "civic-iframe-no-chrome", style: { position: "relative" }, children: children }));
|
|
18
|
+
}
|
|
19
|
+
function IframeChrome({ children, onClose, isFrameLoaded, }) {
|
|
20
|
+
const { setIframeAborted, iframeMode, backgroundColor } = (0, index_js_1.useIframe)();
|
|
21
|
+
const iframeContainerStyleOverrides = iframeMode === "embedded"
|
|
22
|
+
? {
|
|
23
|
+
paddingTop: "1.5rem",
|
|
24
|
+
borderRadius: "1.5rem",
|
|
25
|
+
}
|
|
26
|
+
: {
|
|
27
|
+
...(isFrameLoaded
|
|
28
|
+
? {
|
|
29
|
+
paddingTop: "1.5rem",
|
|
30
|
+
borderRadius: "1.5rem",
|
|
31
|
+
}
|
|
32
|
+
: { borderRadius: "0.5rem", paddingTop: "0" }),
|
|
33
|
+
};
|
|
34
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: {
|
|
35
|
+
position: "fixed", // Change to fixed to stay in viewport
|
|
36
|
+
left: 0,
|
|
37
|
+
top: 0,
|
|
38
|
+
zIndex: 50,
|
|
39
|
+
display: "flex",
|
|
40
|
+
height: "100vh",
|
|
41
|
+
width: "100vw",
|
|
42
|
+
alignItems: "center",
|
|
43
|
+
justifyContent: "center",
|
|
44
|
+
backgroundColor: "rgba(17, 24, 39, 0.5)", // Semi-transparent dark background
|
|
45
|
+
backdropFilter: "blur(4px)", // Optional: adds slight blur to background
|
|
46
|
+
}, onClick: () => {
|
|
47
|
+
setIframeAborted(true);
|
|
48
|
+
onClose?.();
|
|
49
|
+
}, children: (0, jsx_runtime_1.jsxs)("div", { "data-testid": "iframe-chrome", style: {
|
|
50
|
+
position: "relative",
|
|
51
|
+
overflow: "hidden",
|
|
52
|
+
backgroundColor,
|
|
53
|
+
paddingLeft: "0",
|
|
54
|
+
paddingRight: "0",
|
|
55
|
+
paddingBottom: "0",
|
|
56
|
+
// paddingTop gets added in style overrides
|
|
57
|
+
...iframeContainerStyleOverrides,
|
|
58
|
+
boxShadow: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",
|
|
59
|
+
minWidth: "20rem",
|
|
60
|
+
}, onClick: (e) => e.stopPropagation(), children: [isFrameLoaded && ((0, jsx_runtime_1.jsx)("button", { style: {
|
|
61
|
+
position: "absolute",
|
|
62
|
+
right: "1rem",
|
|
63
|
+
top: "1rem",
|
|
64
|
+
display: "flex",
|
|
65
|
+
cursor: "pointer",
|
|
66
|
+
alignItems: "center",
|
|
67
|
+
justifyContent: "center",
|
|
68
|
+
border: "none",
|
|
69
|
+
backgroundColor: "transparent",
|
|
70
|
+
padding: "0.25rem",
|
|
71
|
+
color: "#9ca3af",
|
|
72
|
+
}, onClick: () => {
|
|
73
|
+
setIframeAborted(true);
|
|
74
|
+
onClose?.();
|
|
75
|
+
}, children: (0, jsx_runtime_1.jsx)(CloseIcon_js_1.CloseIcon, {}) })), children] }) }));
|
|
76
|
+
}
|
|
77
|
+
const CivicAuthIframeContainer = ({ onClose, closeOnRedirect = true, }) => {
|
|
78
|
+
const config = (0, index_js_2.useCivicAuthConfig)();
|
|
79
|
+
const [tokenExchangeUrl, setTokenExchangeUrl] = (0, react_1.useState)(null);
|
|
80
|
+
const { doTokenExchange } = (0, index_js_3.useClientTokenExchangeSession)();
|
|
81
|
+
const { iframeRef, iframeMode, backgroundColor } = (0, index_js_1.useIframe)();
|
|
82
|
+
(0, react_1.useEffect)(() => {
|
|
83
|
+
if (tokenExchangeUrl) {
|
|
84
|
+
doTokenExchange?.(tokenExchangeUrl);
|
|
85
|
+
}
|
|
86
|
+
}, [doTokenExchange, tokenExchangeUrl]);
|
|
87
|
+
const processIframeUrl = (0, react_1.useCallback)(() => {
|
|
88
|
+
if (!config)
|
|
89
|
+
return;
|
|
90
|
+
if (iframeRef && iframeRef.current) {
|
|
91
|
+
const ref = (0, iframeUtils_js_1.getIframeRef)(iframeRef.current);
|
|
92
|
+
if (ref.contentWindow) {
|
|
93
|
+
try {
|
|
94
|
+
const iframeUrl = ref.contentWindow.location.href;
|
|
95
|
+
// we know that oauth has finished when the iframe redirects to our redirectUrl
|
|
96
|
+
if (iframeUrl.startsWith(config.redirectUrl)) {
|
|
97
|
+
const iframeBody = ref.contentWindow.document.body.innerHTML;
|
|
98
|
+
// If we're doing a server token exchange, we need to call the server a second time
|
|
99
|
+
// using a fetch so that we're on the same domain and cookies can be sent and read
|
|
100
|
+
// The server will use the presence of the code_verifier cookie to determine whether to do a token exchange or not.
|
|
101
|
+
// 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,
|
|
102
|
+
// and we'll do the exchange request from here, which will include the cookies.
|
|
103
|
+
if (iframeBody.includes(constants_js_1.TOKEN_EXCHANGE_TRIGGER_TEXT)) {
|
|
104
|
+
const params = new URL(iframeUrl).searchParams;
|
|
105
|
+
const appUrl = globalThis.window?.location?.origin;
|
|
106
|
+
fetch(`${config.redirectUrl}?${params.toString()}&appUrl=${appUrl}`);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
// if we're doing token-exchange in the client, we can just set the authResponseUrl
|
|
110
|
+
// to be handled by the auth provider
|
|
111
|
+
// iframeRef.current.setAttribute("src", "");
|
|
112
|
+
setTokenExchangeUrl(iframeUrl);
|
|
113
|
+
}
|
|
114
|
+
if (closeOnRedirect)
|
|
115
|
+
onClose?.();
|
|
116
|
+
return true; // Successfully processed the URL
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
// ignore errors while waiting for redirect
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return false; // Haven't processed the URL yet
|
|
125
|
+
}, [closeOnRedirect, config, iframeRef, onClose]);
|
|
126
|
+
const intervalId = (0, react_1.useRef)();
|
|
127
|
+
const handleEscape = (0, react_1.useCallback)((event) => {
|
|
128
|
+
if (event.key === "Escape") {
|
|
129
|
+
onClose?.();
|
|
130
|
+
}
|
|
131
|
+
}, [onClose]);
|
|
132
|
+
// handle Escape
|
|
133
|
+
(0, react_1.useEffect)(() => {
|
|
134
|
+
window.addEventListener("keydown", handleEscape);
|
|
135
|
+
return () => window.removeEventListener("keydown", handleEscape);
|
|
136
|
+
});
|
|
137
|
+
const [isIframeContentLoaded, setIsIframeContentLoaded] = (0, react_1.useState)(false);
|
|
138
|
+
const handleIframeLoad = (0, react_1.useCallback)(() => {
|
|
139
|
+
setIsIframeContentLoaded(true);
|
|
140
|
+
const iframeHasUrl = processIframeUrl();
|
|
141
|
+
if (iframeHasUrl && intervalId.current) {
|
|
142
|
+
clearInterval(intervalId.current);
|
|
143
|
+
}
|
|
144
|
+
}, [processIframeUrl, intervalId]);
|
|
145
|
+
const WrapperComponent = iframeMode === "embedded" ? NoChrome : IframeChrome;
|
|
146
|
+
const showLoadingIcon = !isIframeContentLoaded && iframeMode === "embedded";
|
|
147
|
+
return ((0, jsx_runtime_1.jsxs)(WrapperComponent, { onClose: onClose, isFrameLoaded: isIframeContentLoaded, children: [showLoadingIcon ? ((0, jsx_runtime_1.jsx)("div", { id: "civic-auth-loading-icon-wrapper", style: {
|
|
148
|
+
position: "absolute",
|
|
149
|
+
inset: 0,
|
|
150
|
+
display: "flex",
|
|
151
|
+
alignItems: "center",
|
|
152
|
+
justifyContent: "center",
|
|
153
|
+
backgroundColor,
|
|
154
|
+
borderRadius: "24px",
|
|
155
|
+
}, children: (0, jsx_runtime_1.jsx)(LoadingIcon_js_1.LoadingIcon, {}) })) : null, (0, jsx_runtime_1.jsx)(CivicAuthIframe_js_1.CivicAuthIframe, { ref: iframeRef, id: "civic-auth-iframe", onLoad: handleIframeLoad })] }));
|
|
156
|
+
};
|
|
157
|
+
exports.CivicAuthIframeContainer = CivicAuthIframeContainer;
|
|
158
|
+
//# sourceMappingURL=CivicAuthIframeContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CivicAuthIframeContainer.js","sourceRoot":"","sources":["../../../../src/shared/components/CivicAuthIframeContainer.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;AA8Bb,oCA0FC;;AAtHD,iCAAwE;AACxE,uEAAiE;AACjE,mEAA6D;AAC7D,+EAAyE;AACzE,sDAAoD;AACpD,iDAA6D;AAC7D,sDAA6D;AAC7D,sDAAwE;AACxE,0DAAqD;AAOrD,SAAS,QAAQ,CAAC,EAChB,QAAQ,GAIT;IACC,OAAO,CACL,+CAAiB,wBAAwB,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,YACtE,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,SAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,OAAO,EACP,aAAa,GAKd;IACC,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,IAAA,oBAAS,GAAE,CAAC;IAEtE,MAAM,6BAA6B,GACjC,UAAU,KAAK,UAAU;QACvB,CAAC,CAAC;YACE,UAAU,EAAE,QAAQ;YACpB,YAAY,EAAE,QAAQ;SACvB;QACH,CAAC,CAAC;YACE,GAAG,CAAC,aAAa;gBACf,CAAC,CAAC;oBACE,UAAU,EAAE,QAAQ;oBACpB,YAAY,EAAE,QAAQ;iBACvB;gBACH,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;SACjD,CAAC;IACR,OAAO,CACL,gCACE,KAAK,EAAE;YACL,QAAQ,EAAE,OAAO,EAAE,sCAAsC;YACzD,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;YACN,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,OAAO;YACd,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,eAAe,EAAE,uBAAuB,EAAE,mCAAmC;YAC7E,cAAc,EAAE,WAAW,EAAE,2CAA2C;SACzE,EACD,OAAO,EAAE,GAAG,EAAE;YACZ,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO,EAAE,EAAE,CAAC;QACd,CAAC,YAED,gDACc,eAAe,EAC3B,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,eAAe;gBACf,WAAW,EAAE,GAAG;gBAChB,YAAY,EAAE,GAAG;gBACjB,aAAa,EAAE,GAAG;gBAClB,2CAA2C;gBAC3C,GAAG,6BAA6B;gBAChC,SAAS,EACP,yEAAyE;gBAC3E,QAAQ,EAAE,OAAO;aAClB,EACD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,aAElC,aAAa,IAAI,CAChB,mCACE,KAAK,EAAE;wBACL,QAAQ,EAAE,UAAU;wBACpB,KAAK,EAAE,MAAM;wBACb,GAAG,EAAE,MAAM;wBACX,OAAO,EAAE,MAAM;wBACf,MAAM,EAAE,SAAS;wBACjB,UAAU,EAAE,QAAQ;wBACpB,cAAc,EAAE,QAAQ;wBACxB,MAAM,EAAE,MAAM;wBACd,eAAe,EAAE,aAAa;wBAC9B,OAAO,EAAE,SAAS;wBAClB,KAAK,EAAE,SAAS;qBACjB,EACD,OAAO,EAAE,GAAG,EAAE;wBACZ,gBAAgB,CAAC,IAAI,CAAC,CAAC;wBACvB,OAAO,EAAE,EAAE,CAAC;oBACd,CAAC,YAED,uBAAC,wBAAS,KAAG,GACN,CACV,EAEA,QAAQ,IACL,GACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,wBAAwB,GAAG,CAAC,EAChC,OAAO,EACP,eAAe,GAAG,IAAI,GACQ,EAAE,EAAE;IAClC,MAAM,MAAM,GAAG,IAAA,6BAAkB,GAAE,CAAC;IACpC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAgB,IAAI,CAAC,CAAC;IAC9E,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,wCAA6B,GAAE,CAAC;IAC5D,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,IAAA,oBAAS,GAAE,CAAC;IAE/D,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,gBAAgB,EAAE,CAAC;YACrB,eAAe,EAAE,CAAC,gBAAgB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAExC,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACxC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,SAAS,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,IAAA,6BAAY,EAAC,SAAS,CAAC,OAAO,CAAE,CAAC;YAC7C,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;gBACtB,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAClD,+EAA+E;oBAC/E,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;wBAE7D,mFAAmF;wBACnF,kFAAkF;wBAClF,mHAAmH;wBACnH,uJAAuJ;wBACvJ,+EAA+E;wBAC/E,IAAI,UAAU,CAAC,QAAQ,CAAC,0CAA2B,CAAC,EAAE,CAAC;4BACrD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC;4BAC/C,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;4BACnD,KAAK,CACH,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,QAAQ,EAAE,WAAW,MAAM,EAAE,CAC9D,CAAC;wBACJ,CAAC;6BAAM,CAAC;4BACN,mFAAmF;4BACnF,qCAAqC;4BACrC,6CAA6C;4BAC7C,mBAAmB,CAAC,SAAS,CAAC,CAAC;wBACjC,CAAC;wBAED,IAAI,eAAe;4BAAE,OAAO,EAAE,EAAE,CAAC;wBACjC,OAAO,IAAI,CAAC,CAAC,iCAAiC;oBAChD,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,2CAA2C;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,CAAC,gCAAgC;IAChD,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAElD,MAAM,UAAU,GAAG,IAAA,cAAM,GAAkB,CAAC;IAE5C,MAAM,YAAY,GAAG,IAAA,mBAAW,EAC9B,CAAC,KAAoB,EAAE,EAAE;QACvB,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,gBAAgB;IAChB,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAEjD,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC1E,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QACxC,wBAAwB,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;QACxC,IAAI,YAAY,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YACvC,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnC,MAAM,gBAAgB,GAAG,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;IAE7E,MAAM,eAAe,GAAG,CAAC,qBAAqB,IAAI,UAAU,KAAK,UAAU,CAAC;IAC5E,OAAO,CACL,wBAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,qBAAqB,aACrE,eAAe,CAAC,CAAC,CAAC,CACjB,gCACE,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;oBACxB,eAAe;oBACf,YAAY,EAAE,MAAM;iBACrB,YAED,uBAAC,4BAAW,KAAG,GACX,CACP,CAAC,CAAC,CAAC,IAAI,EACR,uBAAC,oCAAe,IACd,GAAG,EAAE,SAAS,EACd,EAAE,EAAE,mBAAmB,EACvB,MAAM,EAAE,gBAAgB,GACxB,IACe,CACpB,CAAC;AACJ,CAAC,CAAC;AAIO,4DAAwB","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,6 @@
|
|
|
1
|
+
type CivicAuthLogoutIframeContainerProps = {
|
|
2
|
+
isLoading?: boolean;
|
|
3
|
+
};
|
|
4
|
+
declare const CivicAuthLogoutIframeContainer: ({ isLoading, }: CivicAuthLogoutIframeContainerProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
5
|
+
export { CivicAuthLogoutIframeContainer };
|
|
6
|
+
//# sourceMappingURL=CivicAuthLogoutIframeContainer.d.ts.map
|
|
@@ -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,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.CivicAuthLogoutIframeContainer = void 0;
|
|
5
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
6
|
+
const CivicAuthIframe_js_1 = require("../../shared/components/CivicAuthIframe.js");
|
|
7
|
+
const index_js_1 = require("../../shared/hooks/index.js");
|
|
8
|
+
const LoadingIcon_js_1 = require("./LoadingIcon.js");
|
|
9
|
+
const CivicAuthIframeContainer_js_1 = require("./CivicAuthIframeContainer.js");
|
|
10
|
+
const CivicAuthLogoutIframeContainer = ({ isLoading = false, }) => {
|
|
11
|
+
const { logoutIframeRef } = (0, index_js_1.useIframe)();
|
|
12
|
+
return ((0, jsx_runtime_1.jsxs)(CivicAuthIframeContainer_js_1.IframeChrome, { isFrameLoaded: true, children: [isLoading ? ((0, jsx_runtime_1.jsx)("div", { id: "civic-auth-loading-icon-wrapper", style: {
|
|
13
|
+
position: "absolute",
|
|
14
|
+
inset: 0,
|
|
15
|
+
display: "flex",
|
|
16
|
+
alignItems: "center",
|
|
17
|
+
justifyContent: "center",
|
|
18
|
+
}, children: (0, jsx_runtime_1.jsx)(LoadingIcon_js_1.LoadingIcon, {}) })) : null, (0, jsx_runtime_1.jsx)(CivicAuthIframe_js_1.CivicAuthIframe, { ref: logoutIframeRef, id: "civic-auth-logout-iframe", onLoad: () => { } })] }));
|
|
19
|
+
};
|
|
20
|
+
exports.CivicAuthLogoutIframeContainer = CivicAuthLogoutIframeContainer;
|
|
21
|
+
//# 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;;;;AAGb,+EAAyE;AACzE,sDAAoD;AACpD,qDAA+C;AAC/C,+EAA6D;AAM7D,MAAM,8BAA8B,GAAG,CAAC,EACtC,SAAS,GAAG,KAAK,GACmB,EAAE,EAAE;IACxC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,oBAAS,GAAE,CAAC;IAExC,OAAO,CACL,wBAAC,0CAAY,IAAC,aAAa,EAAE,IAAI,aAC9B,SAAS,CAAC,CAAC,CAAC,CACX,gCACE,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,uBAAC,4BAAW,KAAG,GACX,CACP,CAAC,CAAC,CAAC,IAAI,EACR,uBAAC,oCAAe,IACd,GAAG,EAAE,eAAe,EACpB,EAAE,EAAE,0BAA0B,EAC9B,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,GAChB,IACW,CAChB,CAAC;AACJ,CAAC,CAAC;AAEO,wEAA8B","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,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CloseIcon = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
5
|
+
const CloseIcon = () => ((0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "lucide lucide-x", children: [(0, jsx_runtime_1.jsx)("path", { d: "M18 6 6 18" }), (0, jsx_runtime_1.jsx)("path", { d: "m6 6 12 12" })] }));
|
|
6
|
+
exports.CloseIcon = CloseIcon;
|
|
7
|
+
//# sourceMappingURL=CloseIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CloseIcon.js","sourceRoot":"","sources":["../../../../src/shared/components/CloseIcon.tsx"],"names":[],"mappings":";;;;AAEA,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CACtB,iCACE,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,iCAAM,CAAC,EAAC,YAAY,GAAG,EACvB,iCAAM,CAAC,EAAC,YAAY,GAAG,IACnB,CACP,CAAC;AAEO,8BAAS","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,7 @@
|
|
|
1
|
+
declare const IFrameAndLoading: ({ error, isLoading, showIframeOnLogout, }: {
|
|
2
|
+
error: Error | null;
|
|
3
|
+
isLoading: boolean;
|
|
4
|
+
showIframeOnLogout?: boolean;
|
|
5
|
+
}) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
6
|
+
export { IFrameAndLoading };
|
|
7
|
+
//# sourceMappingURL=IFrameAndLoading.d.ts.map
|
|
@@ -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,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IFrameAndLoading = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const useIframe_js_1 = require("../hooks/useIframe.js");
|
|
7
|
+
const useIsInIframe_js_1 = require("../hooks/useIsInIframe.js");
|
|
8
|
+
const CivicAuthIframeContainer_js_1 = require("./CivicAuthIframeContainer.js");
|
|
9
|
+
const BlockDisplay_js_1 = require("./BlockDisplay.js");
|
|
10
|
+
const LoadingIcon_js_1 = require("./LoadingIcon.js");
|
|
11
|
+
const CivicAuthLogoutIframeContainer_js_1 = require("./CivicAuthLogoutIframeContainer.js");
|
|
12
|
+
const IFrameAndLoading = ({ error, isLoading, showIframeOnLogout = false, }) => {
|
|
13
|
+
const isInIframe = (0, useIsInIframe_js_1.useIsInIframe)();
|
|
14
|
+
const [logoutIframeLoading, setLogoutIframeLoading] = (0, react_1.useState)(true);
|
|
15
|
+
const { renderIframe, iframeIsVisible, setIframeIsVisible, logoutIframeIsVisible, } = (0, useIframe_js_1.useIframe)();
|
|
16
|
+
const showLoadingOverlay = isInIframe || isLoading;
|
|
17
|
+
(0, react_1.useEffect)(() => {
|
|
18
|
+
const handleErrorMessage = (event) => {
|
|
19
|
+
const thisURL = new URL(window.location.href);
|
|
20
|
+
if (!(event.origin.endsWith("civic.com") || thisURL.hostname === "localhost")) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
// The login app has thrown an error, so we need to show the logout iframe
|
|
24
|
+
if (event.data?.source === "civicloginApp" &&
|
|
25
|
+
event.data?.type === "auth_error") {
|
|
26
|
+
setLogoutIframeLoading(false);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
setLogoutIframeLoading(true);
|
|
30
|
+
};
|
|
31
|
+
window.addEventListener("message", handleErrorMessage);
|
|
32
|
+
return () => window.removeEventListener("message", handleErrorMessage);
|
|
33
|
+
}, []);
|
|
34
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [renderIframe && ((0, jsx_runtime_1.jsx)("div", { style: iframeIsVisible ? { display: "block" } : { display: "none" }, children: (0, jsx_runtime_1.jsx)(CivicAuthIframeContainer_js_1.CivicAuthIframeContainer, { onClose: () => setIframeIsVisible(false) }) })), (0, jsx_runtime_1.jsx)("div", { style: showIframeOnLogout && logoutIframeIsVisible
|
|
35
|
+
? { display: "block" }
|
|
36
|
+
: { display: "none" }, children: (0, jsx_runtime_1.jsx)(CivicAuthLogoutIframeContainer_js_1.CivicAuthLogoutIframeContainer, { isLoading: logoutIframeLoading }) }), error && ((0, jsx_runtime_1.jsx)(BlockDisplay_js_1.BlockDisplay, { children: (0, jsx_runtime_1.jsxs)("div", { children: ["Error: ", error?.message] }) })), showLoadingOverlay && !error && ((0, jsx_runtime_1.jsx)(BlockDisplay_js_1.BlockDisplay, { children: (0, jsx_runtime_1.jsx)(LoadingIcon_js_1.LoadingIcon, {}) }))] }));
|
|
37
|
+
};
|
|
38
|
+
exports.IFrameAndLoading = IFrameAndLoading;
|
|
39
|
+
//# sourceMappingURL=IFrameAndLoading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IFrameAndLoading.js","sourceRoot":"","sources":["../../../../src/shared/components/IFrameAndLoading.tsx"],"names":[],"mappings":";;;;AAAA,iCAAmD;AACnD,wDAAkD;AAClD,gEAA0D;AAC1D,+EAAyE;AACzE,uDAAiD;AACjD,qDAA+C;AAC/C,2FAAqF;AAErF,MAAM,gBAAgB,GAAG,CAAC,EACxB,KAAK,EACL,SAAS,EACT,kBAAkB,GAAG,KAAK,GAK3B,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,IAAA,gCAAa,GAAE,CAAC;IACnC,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IACrE,MAAM,EACJ,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,qBAAqB,GACtB,GAAG,IAAA,wBAAS,GAAE,CAAC;IAChB,MAAM,kBAAkB,GAAG,UAAU,IAAI,SAAS,CAAC;IAEnD,IAAA,iBAAS,EAAC,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,6DACG,YAAY,IAAI,CACf,gCACE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAEnE,uBAAC,sDAAwB,IAAC,OAAO,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAI,GAClE,CACP,EAED,gCACE,KAAK,EACH,kBAAkB,IAAI,qBAAqB;oBACzC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;oBACtB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,YAGzB,uBAAC,kEAA8B,IAAC,SAAS,EAAE,mBAAmB,GAAI,GAC9D,EAEL,KAAK,IAAI,CACR,uBAAC,8BAAY,cACX,uDAAa,KAAK,EAAE,OAAO,IAAO,GACrB,CAChB,EAEA,kBAAkB,IAAI,CAAC,KAAK,IAAI,CAC/B,uBAAC,8BAAY,cACX,uBAAC,4BAAW,KAAG,GACF,CAChB,IACA,CACJ,CAAC;AACJ,CAAC,CAAC;AACO,4CAAgB","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,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LoadingIcon = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
5
|
+
const LoadingIcon = ({ width = "2em", height = "2em" }) => ((0, jsx_runtime_1.jsxs)("div", { id: "civic-auth-loading-icon", role: "status", children: [(0, jsx_runtime_1.jsx)("style", { children: `
|
|
6
|
+
@keyframes spin {
|
|
7
|
+
0% { transform: rotate(0deg); }
|
|
8
|
+
100% { transform: rotate(360deg); }
|
|
9
|
+
}
|
|
10
|
+
` }), (0, jsx_runtime_1.jsxs)("svg", { "aria-hidden": "true", style: {
|
|
11
|
+
display: "inline",
|
|
12
|
+
width,
|
|
13
|
+
height,
|
|
14
|
+
animation: "spin 1s linear infinite",
|
|
15
|
+
fill: "#4b5563",
|
|
16
|
+
color: "#e5e7eb",
|
|
17
|
+
}, viewBox: "0 0 100 101", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [(0, jsx_runtime_1.jsx)("path", { 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", fill: "currentColor" }), (0, jsx_runtime_1.jsx)("path", { 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", fill: "currentFill" })] }), (0, jsx_runtime_1.jsx)("span", { style: {
|
|
18
|
+
position: "absolute",
|
|
19
|
+
width: "1px",
|
|
20
|
+
height: "1px",
|
|
21
|
+
padding: 0,
|
|
22
|
+
margin: "-1px",
|
|
23
|
+
overflow: "hidden",
|
|
24
|
+
clip: "rect(0, 0, 0, 0)",
|
|
25
|
+
border: 0,
|
|
26
|
+
}, children: "Loading..." })] }));
|
|
27
|
+
exports.LoadingIcon = LoadingIcon;
|
|
28
|
+
//# sourceMappingURL=LoadingIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadingIcon.js","sourceRoot":"","sources":["../../../../src/shared/components/LoadingIcon.tsx"],"names":[],"mappings":";;;;AAEA,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CACzD,iCAAK,EAAE,EAAC,yBAAyB,EAAC,IAAI,EAAC,QAAQ,aAC7C,4CACG;;;;;OAKA,GACK,EACR,gDACc,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,iCACE,CAAC,EAAC,8WAA8W,EAChX,IAAI,EAAC,cAAc,GACnB,EACF,iCACE,CAAC,EAAC,+kBAA+kB,EACjlB,IAAI,EAAC,aAAa,GAClB,IACE,EACN,iCACE,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;AAEO,kCAAW","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 @@
|
|
|
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,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = SVGLoading;
|
|
4
|
+
const jsx_runtime_1 = require("@emotion/react/jsx-runtime");
|
|
5
|
+
const shimmerKeyframes = `
|
|
6
|
+
@keyframes shimmer {
|
|
7
|
+
0% {
|
|
8
|
+
transform: translate(-328px, 0);
|
|
9
|
+
}
|
|
10
|
+
to {
|
|
11
|
+
transform: translate(328px, 0);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
15
|
+
const shimmerStyle = {
|
|
16
|
+
animation: "1s linear infinite both shimmer",
|
|
17
|
+
};
|
|
18
|
+
function SVGLoading({ backgroundColor = "#ffffff" } = { backgroundColor: "#ffffff" }) {
|
|
19
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("style", { children: shimmerKeyframes }), (0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", shapeRendering: "geometricPrecision", textRendering: "geometricPrecision", viewBox: "0 0 324 28" // Adjusted viewBox height
|
|
20
|
+
, height: "40" // Adjusted height
|
|
21
|
+
, width: "100%", style: {
|
|
22
|
+
position: "absolute",
|
|
23
|
+
top: -6,
|
|
24
|
+
left: 0,
|
|
25
|
+
borderRadius: "0.5rem", // Added borderRadius
|
|
26
|
+
backgroundColor,
|
|
27
|
+
}, className: "svg-loading", children: [(0, jsx_runtime_1.jsx)("defs", { children: (0, jsx_runtime_1.jsxs)("linearGradient", { id: "Gradient-0", x2: "320", y1: "15", y2: "15", gradientUnits: "userSpaceOnUse", children: [(0, jsx_runtime_1.jsx)("stop", { offset: "0", stopColor: backgroundColor }), (0, jsx_runtime_1.jsx)("stop", { offset: ".511", stopColor: "#9A9DA6" }), (0, jsx_runtime_1.jsx)("stop", { offset: "1", stopColor: backgroundColor })] }) }), (0, jsx_runtime_1.jsx)("path", { id: "rect", fill: backgroundColor, d: "M0 0h328v28H0z" }), " ", (0, jsx_runtime_1.jsx)("path", { id: "shimmer", fill: "url(#Gradient-0)", d: "M0 0h328v28H0z" // Adjusted height
|
|
28
|
+
, transform: "translate(-328)", style: shimmerStyle })] })] }));
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=SVGLoading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SVGLoading.js","sourceRoot":"","sources":["../../../../src/shared/components/SVGLoading.tsx"],"names":[],"mappings":";;AAiBA,6BA+CC;;AA9DD,MAAM,gBAAgB,GAAG;;;;;;;;;CASxB,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB,SAAS,EAAE,iCAAiC;CAC7C,CAAC;AAEF,SAAwB,UAAU,CAChC,EAAE,eAAe,GAAG,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE;IAEhE,OAAO,CACL,6DACE,4CAAQ,gBAAgB,GAAS,EACjC,iCACE,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,2CACE,4CACE,EAAE,EAAC,YAAY,EACf,EAAE,EAAC,KAAK,EACR,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,aAAa,EAAC,gBAAgB,aAE9B,iCAAM,MAAM,EAAC,GAAG,EAAC,SAAS,EAAE,eAAe,GAAI,EAC/C,iCAAM,MAAM,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,GAAG,EAC1C,iCAAM,MAAM,EAAC,GAAG,EAAC,SAAS,EAAE,eAAe,GAAI,IAChC,GACZ,EACP,iCAAM,EAAE,EAAC,MAAM,EAAC,IAAI,EAAE,eAAe,EAAE,CAAC,EAAC,gBAAgB,GAAG,EAAC,GAAG,EAEhE,iCACE,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,11 @@
|
|
|
1
|
+
export { useToken } from "../../shared/hooks/useToken.js";
|
|
2
|
+
export { useAuth } from "../../shared/hooks/useAuth.js";
|
|
3
|
+
export { useIframe } from "../../shared/hooks/useIframe.js";
|
|
4
|
+
export { useSession } from "../../shared/hooks/useSession.js";
|
|
5
|
+
export { useCivicAuthConfig } from "../../shared/hooks/useCivicAuthConfig.js";
|
|
6
|
+
export { useOAuthEndpoints } from "../../shared/hooks/useOAuthEndpoints.js";
|
|
7
|
+
export { useCurrentUrl } from "../../shared/hooks/useCurrentUrl.js";
|
|
8
|
+
export { useClientTokenExchangeSession } from "../../reactjs/hooks/useClientTokenExchangeSession.js";
|
|
9
|
+
export { useWindowFocused } from "../../shared/hooks/useWindowFocused.js";
|
|
10
|
+
export { useRefresh } from "../../shared/hooks/useRefresh.js";
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -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,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useRefresh = exports.useWindowFocused = exports.useClientTokenExchangeSession = exports.useCurrentUrl = exports.useOAuthEndpoints = exports.useCivicAuthConfig = exports.useSession = exports.useIframe = exports.useAuth = exports.useToken = void 0;
|
|
4
|
+
var useToken_js_1 = require("../../shared/hooks/useToken.js");
|
|
5
|
+
Object.defineProperty(exports, "useToken", { enumerable: true, get: function () { return useToken_js_1.useToken; } });
|
|
6
|
+
var useAuth_js_1 = require("../../shared/hooks/useAuth.js");
|
|
7
|
+
Object.defineProperty(exports, "useAuth", { enumerable: true, get: function () { return useAuth_js_1.useAuth; } });
|
|
8
|
+
var useIframe_js_1 = require("../../shared/hooks/useIframe.js");
|
|
9
|
+
Object.defineProperty(exports, "useIframe", { enumerable: true, get: function () { return useIframe_js_1.useIframe; } });
|
|
10
|
+
var useSession_js_1 = require("../../shared/hooks/useSession.js");
|
|
11
|
+
Object.defineProperty(exports, "useSession", { enumerable: true, get: function () { return useSession_js_1.useSession; } });
|
|
12
|
+
var useCivicAuthConfig_js_1 = require("../../shared/hooks/useCivicAuthConfig.js");
|
|
13
|
+
Object.defineProperty(exports, "useCivicAuthConfig", { enumerable: true, get: function () { return useCivicAuthConfig_js_1.useCivicAuthConfig; } });
|
|
14
|
+
var useOAuthEndpoints_js_1 = require("../../shared/hooks/useOAuthEndpoints.js");
|
|
15
|
+
Object.defineProperty(exports, "useOAuthEndpoints", { enumerable: true, get: function () { return useOAuthEndpoints_js_1.useOAuthEndpoints; } });
|
|
16
|
+
var useCurrentUrl_js_1 = require("../../shared/hooks/useCurrentUrl.js");
|
|
17
|
+
Object.defineProperty(exports, "useCurrentUrl", { enumerable: true, get: function () { return useCurrentUrl_js_1.useCurrentUrl; } });
|
|
18
|
+
var useClientTokenExchangeSession_js_1 = require("../../reactjs/hooks/useClientTokenExchangeSession.js");
|
|
19
|
+
Object.defineProperty(exports, "useClientTokenExchangeSession", { enumerable: true, get: function () { return useClientTokenExchangeSession_js_1.useClientTokenExchangeSession; } });
|
|
20
|
+
var useWindowFocused_js_1 = require("../../shared/hooks/useWindowFocused.js");
|
|
21
|
+
Object.defineProperty(exports, "useWindowFocused", { enumerable: true, get: function () { return useWindowFocused_js_1.useWindowFocused; } });
|
|
22
|
+
var useRefresh_js_1 = require("../../shared/hooks/useRefresh.js");
|
|
23
|
+
Object.defineProperty(exports, "useRefresh", { enumerable: true, get: function () { return useRefresh_js_1.useRefresh; } });
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/shared/hooks/index.ts"],"names":[],"mappings":";;;AAAA,0DAAsD;AAA7C,uGAAA,QAAQ,OAAA;AACjB,wDAAoD;AAA3C,qGAAA,OAAO,OAAA;AAChB,4DAAwD;AAA/C,yGAAA,SAAS,OAAA;AAClB,8DAA0D;AAAjD,2GAAA,UAAU,OAAA;AACnB,8EAA0E;AAAjE,2HAAA,kBAAkB,OAAA;AAC3B,4EAAwE;AAA/D,yHAAA,iBAAiB,OAAA;AAC1B,oEAAgE;AAAvD,iHAAA,aAAa,OAAA;AACtB,qGAAiG;AAAxF,iJAAA,6BAA6B,OAAA;AACtC,0EAAsE;AAA7D,uHAAA,gBAAgB,OAAA;AACzB,8DAA0D;AAAjD,2GAAA,UAAU,OAAA","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,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.useAuth = void 0;
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
const AuthContext_js_1 = require("../../shared/providers/AuthContext.js");
|
|
7
|
+
const useAuth = () => {
|
|
8
|
+
const context = (0, react_1.useContext)(AuthContext_js_1.AuthContext);
|
|
9
|
+
if (!context) {
|
|
10
|
+
throw new Error("useAuth must be used within an AuthProvider");
|
|
11
|
+
}
|
|
12
|
+
return context;
|
|
13
|
+
};
|
|
14
|
+
exports.useAuth = useAuth;
|
|
15
|
+
//# sourceMappingURL=useAuth.js.map
|